公众号登录

This commit is contained in:
zhanglipeng
2021-04-22 16:34:49 +08:00
parent 2870de3d22
commit 2758850d1f
17 changed files with 909 additions and 447 deletions

View File

@ -1,153 +1,176 @@
import request from '@/utils/request'
import request from "@/utils/request";
import { praseStrEmpty } from "@/utils/ruoyi";
// 查询用户列表
export function listUser(query) {
return request({
url: '/system/user/list',
method: 'get',
params: query
})
return request({
url: "/system/user/list",
method: "get",
params: query
});
}
// 查询用户列表
export function listlrrUser(query) {
return request({
url: '/system/user/lrrlist',
method: 'get',
params: query
})
return request({
url: "/system/user/lrrlist",
method: "get",
params: query
});
}
// 查询用户详细
export function getUser(userId) {
return request({
url: '/system/user/' + praseStrEmpty(userId),
method: 'get'
})
return request({
url: "/system/user/" + praseStrEmpty(userId),
method: "get"
});
}
// 查询用户列表根据roleId
export function getUsersByRoleId() {
return request({
url: '/system/user/listbyroleid',
method: 'get'
})
return request({
url: "/system/user/listbyroleid",
method: "get"
});
}
// 根据roleid查询用户列表
export function getUserOnlyByRoleId(roleId) {
return request({
url: '/system/user/onlybyroleid/' + roleId,
method: 'get'
})
return request({
url: "/system/user/onlybyroleid/" + roleId,
method: "get"
});
}
// 新增用户
export function addUser(data) {
return request({
url: '/system/user',
method: 'post',
data: data
})
return request({
url: "/system/user",
method: "post",
data: data
});
}
// 修改用户
export function updateUser(data) {
return request({
url: '/system/user',
method: 'put',
data: data
})
return request({
url: "/system/user",
method: "put",
data: data
});
}
// 删除用户
export function delUser(userId) {
return request({
url: '/system/user/' + userId,
method: 'delete'
})
return request({
url: "/system/user/" + userId,
method: "delete"
});
}
// 绑定微信
export function bindwx(code) {
return request({
url: "/system/user/bindwx/" + code,
method: "post"
});
}
// 是否已经绑定微信
export function isbindwx() {
return request({
url: "/system/user/isbindwx",
method: "get"
});
}
// 导出用户
export function exportUser(query) {
return request({
url: '/system/user/export',
method: 'get',
params: query
})
return request({
url: "/system/user/export",
method: "get",
params: query
});
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
const data = {
userId,
password
};
return request({
url: "/system/user/resetPwd",
method: "put",
data: data
});
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
})
const data = {
userId,
status
};
return request({
url: "/system/user/changeStatus",
method: "put",
data: data
});
}
// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile',
method: 'get'
})
return request({
url: "/system/user/profile",
method: "get"
});
}
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
})
return request({
url: "/system/user/profile",
method: "put",
data: data
});
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
params: data
})
const data = {
oldPassword,
newPassword
};
return request({
url: "/system/user/profile/updatePwd",
method: "put",
params: data
});
}
// 用户头像上传
export function uploadAvatar(data) {
return request({
url: '/system/user/profile/avatar',
method: 'post',
data: data
})
return request({
url: "/system/user/profile/avatar",
method: "post",
data: data
});
}
// 下载用户导入模板
export function importTemplate() {
return request({
url: '/system/user/importTemplate',
method: 'get'
})
}
return request({
url: "/system/user/importTemplate",
method: "get"
});
}
// 登录方法
export function wxlogin(code) {
return request({
url: "/wxlogin/" + code,
method: "post"
});
}

View File

@ -42,6 +42,9 @@
<el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item>
<!-- <router-link to="/user/bind/wx">
<el-dropdown-item>绑定微信</el-dropdown-item>
</router-link> -->
<el-dropdown-item divided @click.native="logout">
<span>退出登录</span>
</el-dropdown-item>

View File

@ -22,7 +22,7 @@ NProgress.configure({
})
//const whiteList = ['/login', '/auth-redirect', '/bind', '/register']
const whiteList = ['/login', '/experience/apply/', '/experience/result/', '/experience/content/', '/benyi_child/child_preserve']
const whiteList = ['/login','/wxlogin', '/experience/apply/', '/experience/result/', '/experience/content/', '/benyi_child/child_preserve']
router.beforeEach((to, from, next) => {
NProgress.start()

View File

@ -41,6 +41,12 @@ export const constantRoutes = [{
import ('@/views/login'),
hidden: true
},
{
path: '/wxlogin',
component: () =>
import ('@/views/wxlogin'),
hidden: true
},
{
path: '/404',
component: () =>
@ -153,6 +159,22 @@ export const constantRoutes = [{
}
}]
},
{
path: '/user/bind',
component: Layout,
hidden: true,
redirect: 'noredirect',
children: [{
path: 'wx',
component: () =>
import ('@/views/system/user/wx/index'),
name: 'Wx',
meta: {
title: '绑定微信',
icon: ''
}
}]
},
{
path: '/user/change',
component: Layout,
@ -165,7 +187,7 @@ export const constantRoutes = [{
name: 'Changedept',
meta: {
title: '切换岗位',
icon: 'user'
icon: ''
}
}]
},

View File

@ -55,6 +55,7 @@ import RaddarChart from "./dashboard/RaddarChart";
import PieChart from "./dashboard/PieChart";
import BarChart from "./dashboard/BarChart";
import LineChart from "./dashboard/LineChart";
import { bindwx, isbindwx, wxlogin } from "@/api/system/user";
//import { getSchoolCalendars } from "@/api/benyi/schoolcalendar";
//备用进行班级园历显示操作import { getSchoolCalendarsClass } from "@/api/benyi/schoolcalendarclass";
@ -69,6 +70,7 @@ export default {
},
data() {
return {
code: "",
calendarData: [],
value: new Date(),
// 查询参数
@ -77,9 +79,31 @@ export default {
};
},
created() {
this.code = this.$route.query.code;
//console.log(this.code);
this.bindWxInfo();
//this.getSchoolCalendarList();
},
methods: {
async bindWxInfo() {
await isbindwx().then((res) => {
if (this.code != "" && this.code != null && res.msg == "1") {
//console.log("绑定微信");
this.$confirm("当前账号要绑定微信登录吗?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
return bindwx(this.code);
})
.then(() => {
this.msgSuccess("绑定成功");
})
.catch(function () {});
}
});
},
/** 查询园历列表 */
// getSchoolCalendarList() {
// getSchoolCalendars(this.queryParams).then(response => {

View File

@ -0,0 +1,86 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<el-col :xs="24" :sm="12" :md="8">
<el-card class="box-card">
<div slot="header" class="clearfix">
<span>个人信息</span>
</div>
<div>
<ul class="list-group list-group-striped">
<li class="list-group-item">
<svg-icon icon-class="user" />用户名称
<div class="pull-right">{{ user.userName }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="phone" />手机号码
<div class="pull-right">{{ user.phonenumber }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="email" />用户邮箱
<div class="pull-right">{{ user.email }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="tree" />所属部门
<div class="pull-right" v-if="user.dept">
{{ user.dept.deptName }} / {{ postGroup }}
</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="peoples" />所属角色
<div class="pull-right">{{ roleGroup }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="date" />创建日期
<div class="pull-right">{{ user.createTime }}</div>
</li>
<li class="list-group-item">
<svg-icon icon-class="star" />是否绑定微信
<div class="pull-right">{{ wxOpenId }}</div>
</li>
</ul>
<el-button
v-if="!wxOpenId"
type="primary"
size="mini"
@click="submit"
>绑定</el-button
>
</div>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import { getUserProfile } from "@/api/system/user";
export default {
name: "Profile",
data() {
return {
code: "",
user: {},
roleGroup: {},
postGroup: {},
wxOpenId: "",
};
},
created() {
this.getUser();
},
methods: {
getUser() {
getUserProfile().then((response) => {
this.user = response.data;
// console.log(this.user);
this.wxOpenId = this.user.openId;
this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup;
});
},
submit() {},
},
};
</script>

View File

@ -0,0 +1,39 @@
<template>
<div class="dashboard-editor-container"></div>
</template>
<script>
import { wxlogin } from "@/api/system/user";
import { getToken, setToken, removeToken } from "@/utils/auth";
export default {
name: "wxLogin",
data() {
return {
code: "",
};
},
created() {
this.code = this.$route.query.code;
this.wxLogin();
},
methods: {
wxLogin() {
if(getToken()){
this.$router.push({ path: "/index?code="+this.code });
return;
}
if (this.code != "" && this.code != null) {
//console.log("zhixing");
wxlogin(this.code).then((res) => {
console.log(res);
if (res.code == "200") {
setToken(res.token);
this.$router.push({ path: "/index" });
}
});
}
},
},
};
</script>