陶杰
2025-01-08 41e93a627b6643b04b1b0217c5309121f1697125
store/index.js
@@ -19,6 +19,7 @@
      leftWinActive: '/pages/component/view/view',
      activeOpen: '',
      menu: [],
      appMenu: [],
      univerifyErrorMsg: '',
      currentInfo: {}, //个人用户信息
      cache_address: {},
@@ -30,9 +31,18 @@
         'shopping': 0,
         'follow': 0,
         'delivery': 0,
         'order': 0
         'order': 0,
         'shopnum': 0,
         'coupon': 0,
         'cache_topay':0,
      },
      defaultaddress: {}
      cache: {
         coupon: {},
         goods:[],
         cache_coupon_select_cancel:0
      },
      defaultaddress: {},
      addressDesc:'',
   },
   mutations: {
@@ -40,6 +50,7 @@
         console.log('updateLogin', provider)
         state.hasLogin = provider && true || false;
         if (!state.hasLogin) {
            state.currentInfo = {}
            storage.removeItem('token')
         }
      },
@@ -51,23 +62,23 @@
         state.hasLogin = false
         state.openid = null
         state.currentInfo = {}
         state.appMenu=[]
         storage.removeItem('token')
         storage.removeItem('appMenu');
         message.showToast('退出登录成功')
         // #ifdef APP
         var KeepAliveModule = uni.requireNativePlugin("yh-nl") //保活组件
         let ret = KeepAliveModule.stopLocation();
         console.log('ret', ret)
         // #endif
         uni.redirectTo({
            url: '/views/login/login'
         })
      },
      setOpenid(state, openid) {
         state.openid = openid
      },
      setDefaultAddress(state, defaultaddress) {
         state.defaultaddress = defaultaddress
      },
      setAddressDesc(state, addressDesc) {
         console.log('setAddressDesc',addressDesc)
         state.addressDesc = addressDesc
         storage.setItem("defaultaddress",addressDesc || "")
      },
      setTestTrue(state) {
         state.testvuex = true
@@ -108,6 +119,16 @@
         console.log('sign_add', key)
         state.sign[key] = 1
      },
      // sign_add_value: async function({
      //    commit,
      //    state
      // }, {
      //    key,
      //    value
      // }) {
      //    console.log('sign_add', key)
      //    state.sign[key] = value || 0
      // },
      sign_clear: async function({
         commit,
         state
@@ -115,6 +136,27 @@
         console.log('sign_clear', key)
         state.sign[key] = 0
      },
      cache_coupon_select: async function({
         commit,
         state
      }, dto) {
         state.cache['coupon'] = dto || {}
      },
      cache_coupon_select_cancel: async function({
         commit,
         state
      }, val) {
         state.cache['cache_coupon_select_cancel'] = val || 0
      },
      cache_goods_select: async function({
         commit,
         state
      }, goods) {
         state.cache['goods'] = goods || []
      },
      // lazy loading openid
      logout: async function({
         commit,
@@ -157,6 +199,7 @@
      }) {
         //把权限获取到
         // console.log('getCurrentInfo,getCurrentInfo')
         const currentInfo = await http.request('get', '/api/current/user', {})
         if (currentInfo && currentInfo.code == 0) {
            // state.cMenu = cMenu
@@ -173,6 +216,81 @@
            //这种情况就是要跳转到登录页面
         }
      },
      getSwitchSubAccount: async function({commit,state},payload) {
         //把权限获取到
         // console.log('getCurrentInfo,getCurrentInfo')
         const currentInfo = await http.request('get', '/api/supplierSub/getSwitchById', {
            params: {
               id:payload.id,
               type:payload.type
            }
         })
         if (currentInfo && currentInfo.code == 0) {
            state.currentInfo = currentInfo.data || {}
            state.type = currentInfo.data.type || ''
            state.spacecode = currentInfo.data.spacecode || ''
            commit("updateLogin", true)
         } else {
            commit("updateLogin", false)
            //这种情况就是要跳转到登录页面
         }
         return currentInfo;
      },
      getAppMenu: async function({
         commit,
         state
      }) {
         //把权限获取到
         const menu = await http.request('get', '/api/app/menu/permission/menu', {})
         storage.setItem('appMenu', []);
         if (menu && menu.code == 0) {
            const appMenu = menu.data || []
            storage.setItem('appMenu', appMenu);
            // commit("updateLogin", true)
         } else {
            // commit("updateLogin", false)
            //这种情况就是要跳转到登录页面
         }
      },
      getAppMenuSupplier: async function({
         commit,
         state
      }) {
         //把权限获取到
         const menu = await http.request('get', '/api/app/menu/supplier/permission/menu', {})
         storage.setItem('appMenu', []);
         if (menu && menu.code == 0) {
            const appMenu = menu.data || []
            storage.setItem('appMenu', appMenu);
         } else {
         }
      },
      getAppMenuPartner: async function({
         commit,
         state
      }) {
         //把权限获取到
         const menu = await http.request('get', '/api/app/menu/partner/permission/menu', {})
         storage.setItem('appMenu', []);
         if (menu && menu.code == 0) {
            const appMenu = menu.data || []
            storage.setItem('appMenu', appMenu);
         } else {
         }
      },
      loginwx: async function({
         dispatch,
         commit,
@@ -186,7 +304,9 @@
               code: code,
               imgurl: data.imgurl || '',
               nickname: data.nickname || '',
               inviter: inviter
               inviter: inviter,
               phoneNumber:data.phoneNumber || '',
               purePhoneNumber: data.purePhoneNumber || '',
            },
            // params:{
            //    code:code
@@ -263,6 +383,8 @@
               storage.setItem('token', resp.data.access_token)
               commit("updateLogin", true)
               await dispatch('getCurrentInfo')
               // 获取所有权限菜单
               await dispatch('getAppMenuPartner')
               uni.reLaunch({
                  url: '/pages/home/supplier-home'
               })
@@ -328,6 +450,8 @@
               storage.setItem('token', resp.data.access_token)
               commit("updateLogin", true)
               await dispatch('getCurrentInfo')
               // 获取所有供应商权限菜单
               await dispatch('getAppMenuSupplier')
               console.log('login,reLaunch')
               // #ifdef APP
@@ -348,9 +472,7 @@
                  console.log("启用结果2:", ret);
               });
               // #endif
               // uni.redirectTo({
               //    url: '/views/app/app-home/app-home'
               // })
               uni.reLaunch({
                  url: '/pages/home/supplier-home'
               })
@@ -387,6 +509,31 @@
               storage.setItem('token', resp.data.access_token)
               commit("updateLogin", true)
               await dispatch('getCurrentInfo')
               //todo 登录后可能需要进行绑定
               try {
                  var sharePartnerUserId = storage.getItem('cache_sharePartnerUserId')
                  if (sharePartnerUserId) {
                     //试图绑定
                     storage.removeItem('cache_sharePartnerUserId')
                     if (state.currentInfo.customerDTO && !state.currentInfo.customerDTO.partnerId) {
                        message.showLoading()
                        const bindres = await http.request('post', '/api/customer/bind/partner', {
                           data: {
                              partnerUserId: sharePartnerUserId
                           }
                        })
                        message.hideLoading()
                        if (bindres.code == 0) {
                           message.showToast(`绑定合伙人成功`)
                           await dispatch('getCurrentInfo')
                        }
                     }
                  }
               } catch (e) {
                  console.error('login ', e)
               }
               uni.reLaunch({
                  url: '/pages/home/home'
               })
@@ -506,7 +653,11 @@
         state
      }, data) {
         if (state.currentInfo.id) {
            const resp = await http.request('get', '/api/customer/flower/cart/flower/count', {})
            const resp = await http.request('get', '/api/customer/flower/cart/flower/count', {
               params: {
                  // flowerId: data || null
               }
            })
            if (resp && resp.code === 0) {
               return resp.data || 0
            } else {