2 Star 1 Fork 1

UCEEDU/六安生鲜-admin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
App.vue 4.16 KB
一键复制 编辑 原始数据 按行查看 历史
UCEEDU 提交于 2023-09-28 14:40 . 提交
<script>
import config from "@/app.config.js";
export default {
computed: {},
methods: {
// 菜单权限初始化
init() {
let that = this;
let { vk } = that;
// 如果token失效,直接跳登录页面
if (!vk.callFunctionUtil.checkToken()) {
vk.reLaunch(config.login.url);
return false;
}
if (!that.isAllowLoginBackground()) {
vk.alert("您的账户无登陆权限", () => {
vk.reLaunch(config.login.url);
});
return false;
}
vk.userCenter.getMenu({
success: (data) => {
// 初始化菜单
let { menus = [] } = data;
// 合并去重
menus = vk.pubfn.arr_concat(menus, config.sideBar.staticMenu, "menu_id");
// 排序
menus.sort((a, b) => {
let sortA = a.sort || 0;
let sortB = b.sort || 0;
return sortA - sortB;
});
if (JSON.stringify(menus) !== JSON.stringify(vk.getVuex("$app.navMenu"))) {
vk.setVuex("$app.navMenu", menus);
}
// 将树形结构转成数组结构
let menuList = vk.pubfn.treeToArray(menus, {
id: "menu_id",
parent_id: "parent_id",
children: "children"
});
if (JSON.stringify(menuList) !== JSON.stringify(vk.getVuex("$app.menuList"))) {
vk.setVuex("$app.menuList", menuList);
}
vk.setVuex("$app.inited", true);
vk.setVuex("$user.userInfo", data.userInfo);
vk.setVuex("$user.permission", data.userInfo.permission);
that.checkCurrentAppId();
}
});
},
// 系统环境变量初始化
initApp() {
uni.getSystemInfo().then(([err, res]) => {
let isPC = res.model && res.model != "PC" ? false : true;
vk.setVuex("$app.isPC", isPC);
vk.setVuex("$app.width", res.windowWidth);
vk.setVuex("$app.height", res.windowHeight);
});
uni.onWindowResize(res => {
vk.pubfn.debounce(() => {
vk.setVuex("$app.width", res.size.windowWidth);
vk.setVuex("$app.height", res.size.windowHeight);
let isPC = res.size.windowWidth > 768 ? true : false;
vk.setVuex("$app.isPC", isPC);
}, 50, false, "app-onresize");
});
},
// 检查是否允许登录admin后台
isAllowLoginBackground(userInfo) {
let that = this;
let { vk } = that;
if (!userInfo) userInfo = vk.getVuex("$user.userInfo");
let key = true;
if (vk.pubfn.isNotNull(userInfo)) {
let { role = [], allow_login_background = false } = userInfo;
if (role.indexOf("admin") == -1 && !allow_login_background) {
key = false;
}
}
return key;
},
// 检测当前应用appid是否已添加到应用管理中
checkCurrentAppId(){
let that = this;
let { vk } = that;
let systemInfo = uni.getSystemInfoSync();
if (systemInfo.appId) {
vk.callFunction({
url: 'admin/system/app/sys/getInfo',
data: {
appid: systemInfo.appId,
},
success: (data) => {
if (!data.info || data.info.appid !== systemInfo.appId) {
vk.confirm(`您当前登录的应用【${systemInfo.appId}】未在已有应用列表中,是否需要去添加?`, '提示', '前往应用管理', '取消', res => {
if (res.confirm) {
vk.navigateTo('/pages_plugs/system/app/list');
}
});
}
}
});
}
},
// 获取商家信息
getMchInfo() {
vk.callFunction({
url: "client/pub.getMchInfo",
debug: false,
data: {},
success: (data) => {
vk.setVuex("$user.mchInfo", data.mchInfo);
}
});
},
},
// 监听 - 页面404
onPageNotFound(e) {
uni.redirectTo({
url: config.error.url
});
},
// 监听 - 应用启动时
onLaunch: function() {
let that = this;
// 获取商家信息
that.getMchInfo();
that.vk.pubfn.needInit({
that,
config,
success: () => {
that.init();
}
});
that.initApp();
},
onShow: function() {
console.log("App Show");
},
onHide: function() {
console.log("App Hide");
}
};
</script>
<style lang="scss">
/* 此为uni-admin的样式,如果你不使用uni-admin的官方插件,可以不需要加载这些样式 */
@import '@/common/uni-admin/css/uni.css';
@import '@/common/uni-admin/css/uni-icons.css';
/* 此为uni-admin的样式,如果你不使用uni-admin的官方插件,可以不需要加载这些样式 */
</style>
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/cc391518330/luan-fresh-admin.git
git@gitee.com:cc391518330/luan-fresh-admin.git
cc391518330
luan-fresh-admin
六安生鲜-admin
master

搜索帮助