|
@@ -1,5 +1,6 @@
|
|
|
// commpents/mobile-frame/mobile-main.js
|
|
|
-const app = getApp()
|
|
|
+const app = getApp();
|
|
|
+import { system } from "../../utils/dict";
|
|
|
Component({
|
|
|
/**
|
|
|
* 组件的属性列表
|
|
@@ -22,27 +23,10 @@ Component({
|
|
|
* 组件的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
+ // 当前选中菜单
|
|
|
active: 0,
|
|
|
- one: {
|
|
|
- normal: '/image/shouye.png',
|
|
|
- active: '/image/shouye-01.png',
|
|
|
- },
|
|
|
- two: {
|
|
|
- normal: '/image/saishi.png',
|
|
|
- active: '/image/saishi-01.png',
|
|
|
- },
|
|
|
- three: {
|
|
|
- normal: '/image/miaobiao.png',
|
|
|
- active: '/image/miaobiao-01.png',
|
|
|
- },
|
|
|
- four: {
|
|
|
- normal: '/image/duiwu.png',
|
|
|
- active: '/image/duiwu-01.png',
|
|
|
- },
|
|
|
- five: {
|
|
|
- normal: '/image/wodexiao.png',
|
|
|
- active: '/image/wodexiao-01.png',
|
|
|
- },
|
|
|
+ // 菜单列表
|
|
|
+ menuList: []
|
|
|
},
|
|
|
/**
|
|
|
* 组件的方法列表
|
|
@@ -50,24 +34,31 @@ Component({
|
|
|
methods: {
|
|
|
// 跳转
|
|
|
tabPath(e) {
|
|
|
- this.setData({ active: e.detail })
|
|
|
- let route = e.detail == 0 ? 'home' : e.detail == 1 ? 'search' : e.detail == '2' ? 'administration' : e.detail == '3' ? 'team' : e.detail == '4' ? 'me' : '';
|
|
|
- this.triggerEvent('tabPath', route)
|
|
|
+ const that = this;
|
|
|
+ that.setData({ active: e.detail });
|
|
|
+ let route = that.data.menuList[e.detail];
|
|
|
+ if (route) that.triggerEvent('tabPath', route)
|
|
|
},
|
|
|
search() {
|
|
|
- let pages = getCurrentPages();
|
|
|
- let currentPage = pages[pages.length - 1];
|
|
|
- if (currentPage.route == 'pages/home/index') {
|
|
|
- this.setData({ active: 0 })
|
|
|
- } else if (currentPage.route == 'pages/search/index') {
|
|
|
- this.setData({ active: 1 })
|
|
|
- } else if (currentPage.route == 'pages/administration/index') {
|
|
|
- this.setData({ active: 2 })
|
|
|
- } else if (currentPage.route == 'pages/team/index') {
|
|
|
- this.setData({ active: 3 })
|
|
|
- } else if (currentPage.route == 'pages/me/index') {
|
|
|
- this.setData({ active: 4 })
|
|
|
- }
|
|
|
+ const that = this;
|
|
|
+ // 监听用户是否登录
|
|
|
+ wx.getStorage({
|
|
|
+ key: 'token',
|
|
|
+ success: res => {
|
|
|
+ // 获取当前路由地址
|
|
|
+ let pages = getCurrentPages();
|
|
|
+ let currentPage = pages[pages.length - 1];
|
|
|
+ let menu = system.filter((i) => i.type.includes(res.data.type));
|
|
|
+ if (menu) {
|
|
|
+ that.setData({ menuList: menu });
|
|
|
+ let index = menu.findIndex((i) => i.route == currentPage.route);
|
|
|
+ if (index) that.setData({ active: index });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: res => {
|
|
|
+ return wx.redirectTo({ url: '/pages/login/index', })
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
})
|