Explorar o código

feat: 更新权限管理逻辑,添加确认订单页面路由;优化首页数据请求逻辑以支持用户登录状态

EvilDragon hai 1 mes
pai
achega
5e9c5ae88e

+ 13 - 1
packages/app/src/composables/permissions.ts

@@ -1,6 +1,7 @@
 import { useUserStore } from '../store'
 import { storeToRefs } from 'pinia'
-import {computed}  from "vue";
+import { computed } from 'vue'
+import { path } from 'node:path'
 export const usePermissions = () => {
   const userStore = useUserStore()
   const { isLogined, isDesigner, userInfo } = storeToRefs(userStore)
@@ -50,6 +51,10 @@ export const usePermissions = () => {
       path: '/pages/mine/invite/index',
       meta: { canNotLogin: false, canNotDesigner: false, toLogin: true },
     },
+    {
+      path: '/pages/mall/confirm-order/index',
+      meta: { canNotLogin: false, canNotDesigner: true, toLogin: true },
+    },
   ]
   const features = computed(() => ({
     /**
@@ -59,6 +64,13 @@ export const usePermissions = () => {
     toDesignerHomePage: isLogined.value,
     checkInAtStoreTask: isDesigner.value,
     shareMoment: isLogined.value && isDesigner.value && userInfo.value.level.level > 1,
+    /**
+     * 微信代运营兑换
+     */
+    // wechatAgentExchange: isLogined.value,
+    /**
+     * 案例拍摄兑换
+     */
   }))
   return { isLogined, isDesigner, routes, features }
 }

+ 6 - 2
packages/app/src/pages/home/index.vue

@@ -47,7 +47,7 @@ useMessage()
 const { show } = useHonorDialog()
 const userStore = useUserStore()
 const { userInfo } = storeToRefs(userStore)
-const { features } = usePermissions()
+const { features, isLogined } = usePermissions()
 const pageHelperRef = ref<ComponentExposed<typeof PageHelperEvo>>()
 const { data: indexConfigsData, run: setIndexConfigsData } = useRequest(
   () => getSetIndexConfigs(),
@@ -105,7 +105,11 @@ const handlePlay = async (id) => {
 }
 onShow(async () => {
   pageHelperRef.value?.reload()
-  await Promise.all([setHotActivities(), setStudyTours()])
+  const reqs = [setHotActivities()]
+  if (isLogined.value) {
+    reqs.push(setStudyTours())
+  }
+  await Promise.all(reqs)
 })
 onLoad(async () => {
   await Promise.all([setIndexConfigsData()])

+ 1 - 1
packages/app/src/utils/http.ts

@@ -46,7 +46,7 @@ export const http = async <T>(options: CustomRequestOptions) => {
             resolve(res.data as IResData<T>)
           } else if ((res.data as IResData<T>).code === 401) {
             userStore.clearUserInfo()
-            // uni.navigateTo({ url: '/pages/login/index' })
+            uni.navigateTo({ url: '/pages/login/index' })
             reject(res)
           } else {
             !options.hideErrorToast &&