添加管理员逻辑
This commit is contained in:
82
miniprogram/pages/staff/staff.ts
Normal file
82
miniprogram/pages/staff/staff.ts
Normal file
@@ -0,0 +1,82 @@
|
||||
// 员工管理主界面 - 根据用户角色跳转到不同界面
|
||||
import { UserInfo } from '../../types';
|
||||
|
||||
Page({
|
||||
data: {
|
||||
userInfo: null as UserInfo | null,
|
||||
isAdmin: false,
|
||||
loading: true
|
||||
},
|
||||
|
||||
onLoad() {
|
||||
// 获取用户信息
|
||||
this.getUserInfo();
|
||||
},
|
||||
|
||||
onShow() {
|
||||
// 页面显示时重新获取用户信息
|
||||
this.getUserInfo();
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取用户信息并判断角色
|
||||
*/
|
||||
getUserInfo() {
|
||||
this.setData({ loading: true });
|
||||
|
||||
// 从全局数据获取用户信息
|
||||
const app = getApp<any>();
|
||||
if (app.globalData.userInfo) {
|
||||
const userInfo = app.globalData.userInfo;
|
||||
const isAdmin = userInfo.role === 'ADMIN';
|
||||
|
||||
this.setData({
|
||||
userInfo,
|
||||
isAdmin,
|
||||
loading: false
|
||||
});
|
||||
|
||||
// 根据角色自动跳转到对应界面
|
||||
this.redirectToRolePage();
|
||||
} else {
|
||||
// 如果没有用户信息,跳转到登录页面
|
||||
wx.redirectTo({
|
||||
url: '/pages/index/index'
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据用户角色跳转到对应页面
|
||||
*/
|
||||
redirectToRolePage() {
|
||||
const { isAdmin } = this.data;
|
||||
|
||||
if (isAdmin) {
|
||||
// 管理员跳转到管理员界面
|
||||
wx.redirectTo({
|
||||
url: '/pages/staff/admin-dashboard'
|
||||
});
|
||||
} else {
|
||||
// 员工跳转到员工界面
|
||||
wx.redirectTo({
|
||||
url: '/pages/staff/employee-dashboard'
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 手动选择界面(用于测试或特殊情况)
|
||||
*/
|
||||
goToAdminPage() {
|
||||
wx.redirectTo({
|
||||
url: '/pages/staff/admin-dashboard'
|
||||
});
|
||||
},
|
||||
|
||||
goToEmployeePage() {
|
||||
wx.redirectTo({
|
||||
url: '/pages/staff/employee-dashboard'
|
||||
});
|
||||
}
|
||||
});
|
Reference in New Issue
Block a user