添加onPageLoadInitAuth函数判断登录
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { loginStatusPage, post } from '@/utils/https';
|
||||
import { onPageLoadInitAuth, post } from '@/utils/https';
|
||||
import { getAuthInfo, toArray } from '@/utils/util';
|
||||
|
||||
Page({
|
||||
@@ -8,53 +8,62 @@ Page({
|
||||
data: {
|
||||
list: [] as any[],
|
||||
group_id: '',
|
||||
isLogin: false,
|
||||
},
|
||||
handleLogin(e: any) {
|
||||
this.setData({ isLogin: e.detail });
|
||||
if (e.detail) {
|
||||
this.init();
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
init() {
|
||||
this.setData({ authInfo: getAuthInfo() });
|
||||
this.getList();
|
||||
},
|
||||
|
||||
getList() {
|
||||
post('Groups/getGrpRights', { group_id: this.data.group_id }).then((res: any) => {
|
||||
const list = toArray(res.right_tree);
|
||||
const rights = `${res.rights || ''}`.split(',');
|
||||
this.data.list.length = 0;
|
||||
return new Promise<void>((resolve, reject) => {
|
||||
post('Groups/getGrpRights', { group_id: this.data.group_id })
|
||||
.then((res: any) => {
|
||||
const list = toArray(res.right_tree);
|
||||
const rights = `${res.rights || ''}`.split(',');
|
||||
this.data.list.length = 0;
|
||||
|
||||
toArray(list).forEach((menu) => {
|
||||
const arr: any[] = [];
|
||||
toArray(menu.children).forEach((menu2) => {
|
||||
let flag = false;
|
||||
toArray(menu2.children).forEach((fun) => {
|
||||
fun.web_checked = rights.includes(`${fun.function_id}`);
|
||||
if (fun.web_checked) {
|
||||
flag = true;
|
||||
toArray(list).forEach((menu) => {
|
||||
const arr: any[] = [];
|
||||
toArray(menu.children).forEach((menu2) => {
|
||||
let flag = false;
|
||||
toArray(menu2.children).forEach((fun) => {
|
||||
fun.web_checked = rights.includes(`${fun.function_id}`);
|
||||
if (fun.web_checked) {
|
||||
flag = true;
|
||||
}
|
||||
});
|
||||
|
||||
if (flag) {
|
||||
arr.push({
|
||||
menu_ch_name: menu2.menu_ch_name,
|
||||
menu_id: menu2.menu_id,
|
||||
functions: toArray(menu2.children),
|
||||
});
|
||||
}
|
||||
});
|
||||
if (arr.length) {
|
||||
this.data.list.push({
|
||||
menu_ch_name: menu.menu_ch_name,
|
||||
menu_id: menu.menu_id,
|
||||
children: arr,
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (flag) {
|
||||
arr.push({
|
||||
menu_ch_name: menu2.menu_ch_name,
|
||||
menu_id: menu2.menu_id,
|
||||
functions: toArray(menu2.children),
|
||||
});
|
||||
}
|
||||
// console.log(this.data.list);
|
||||
this.setData({ list: this.data.list, isLogin: true });
|
||||
resolve(res);
|
||||
})
|
||||
.catch((res) => {
|
||||
this.setData({ isLogin: false });
|
||||
reject(res);
|
||||
});
|
||||
if (arr.length) {
|
||||
this.data.list.push({
|
||||
menu_ch_name: menu.menu_ch_name,
|
||||
menu_id: menu.menu_id,
|
||||
children: arr,
|
||||
});
|
||||
}
|
||||
});
|
||||
// console.log(this.data.list);
|
||||
this.setData({ list: this.data.list });
|
||||
});
|
||||
},
|
||||
|
||||
@@ -65,7 +74,7 @@ Page({
|
||||
this.data.group_id = `${options.group_id}`;
|
||||
wx.setNavigationBarTitle({ title: `${decodeURIComponent(`${options.name}`)} 权限` });
|
||||
|
||||
loginStatusPage(this);
|
||||
onPageLoadInitAuth(this, () => this.getList());
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user