Bläddra i källkod

fix: 收益中心和我的不需要登录进入

liangan 1 månad sedan
förälder
incheckning
ca785e4064
4 ändrade filer med 37 tillägg och 11 borttagningar
  1. 0 2
      pages.config.ts
  2. 0 2
      src/pages.json
  3. 17 2
      src/pages/income/income.vue
  4. 20 5
      src/pages/mine/mine.vue

+ 0 - 2
pages.config.ts

@@ -94,7 +94,6 @@ export default defineUniPages({
       path: 'pages/income/income',
       type: 'page',
       layout: 'tabbar',
-      needLogin: true,
       style: {
         navigationBarTitleText: '%income.title%',
         navigationBarBackgroundColor: '#fff',
@@ -130,7 +129,6 @@ export default defineUniPages({
       path: 'pages/mine/mine',
       type: 'page',
       layout: 'tabbar',
-      needLogin: true,
       style: {
         navigationStyle: 'custom',
       },

+ 0 - 2
src/pages.json

@@ -80,7 +80,6 @@
       "path": "pages/income/income",
       "type": "page",
       "layout": "tabbar",
-      "needLogin": true,
       "style": {
         "navigationBarTitleText": "%income.title%",
         "navigationBarBackgroundColor": "#fff"
@@ -116,7 +115,6 @@
       "path": "pages/mine/mine",
       "type": "page",
       "layout": "tabbar",
-      "needLogin": true,
       "style": {
         "navigationStyle": "custom"
       }

+ 17 - 2
src/pages/income/income.vue

@@ -1,7 +1,6 @@
 <route lang="json5">
   {
     layout: 'tabbar',
-    needLogin: true,
     style: {
       navigationBarTitleText: '%income.title%',
       navigationBarBackgroundColor: '#fff',
@@ -16,6 +15,7 @@ import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging.js'
 
 import { getEnum as _getEnum } from '@/api/common'
 import { getAccountInfo as _getAccountInfo, envelopeList } from '@/api/wallet'
+import { useUserStore } from '@/store/user'
 import { formatNumber } from '@/utils'
 import { toPage } from '@/utils/page'
 
@@ -30,6 +30,9 @@ useZPaging(paging)
 
 const dayType = ref(1)
 
+const userStore = useUserStore()
+const isLoggedIn = computed(() => !!userStore.token)
+
 // 搜索结果
 const statusEnum = ref<any[]>([])
 const typeEnum = ref<any[]>([])
@@ -45,6 +48,8 @@ async function getEnum(id: number) {
   }
 }
 async function getAccountInfo() {
+  if (!isLoggedIn.value)
+    return
   const res = await _getAccountInfo()
   console.log(res)
   if (res.code === '200') {
@@ -52,6 +57,10 @@ async function getAccountInfo() {
   }
 }
 async function queryList(pageNo: number, pageSize: number) {
+  if (!isLoggedIn.value) {
+    paging.value.complete([])
+    return
+  }
   const data = {
     page: pageNo,
     size: pageSize,
@@ -68,7 +77,13 @@ async function queryList(pageNo: number, pageSize: number) {
 onShow(() => {
   getEnum(4)
   getEnum(5)
-  getAccountInfo()
+  if (isLoggedIn.value) {
+    getAccountInfo()
+  }
+  else {
+    walletInfo.value = {}
+    paging.value?.complete([])
+  }
 })
 </script>
 

+ 20 - 5
src/pages/mine/mine.vue

@@ -1,7 +1,6 @@
 <route lang="json5">
   {
     layout: 'tabbar',
-    needLogin: true,
     style: {
       navigationStyle: 'custom',
     },
@@ -146,6 +145,8 @@ async function menuClick(item: any) {
 }
 const walletInfo = ref<any>({})
 async function getWalletInfo() {
+  if (!isLoggedIn.value)
+    return
   // 获取钱包信息-查询余额
   const res = await getWalletAccountInfo()
   console.log(res)
@@ -154,6 +155,8 @@ async function getWalletInfo() {
 
 const pendingRedDotsData = ref<any>({})
 async function getPendingRedDots() {
+  if (!isLoggedIn.value)
+    return
   try {
     const res = await pendingRedDots()
     if (res.code === '200') {
@@ -166,6 +169,12 @@ async function getPendingRedDots() {
 
 // 下拉刷新时调用
 async function handleRefresh() {
+  if (!isLoggedIn.value) {
+    walletInfo.value = {}
+    pendingRedDotsData.value = {}
+    paging.value?.complete()
+    return
+  }
   await Promise.all([
     getWalletInfo(),
     getPendingRedDots(),
@@ -175,14 +184,20 @@ async function handleRefresh() {
 }
 
 onShow(() => {
-  getWalletInfo()
-  getPendingRedDots()
-  userStore.getUserInfo()
+  if (isLoggedIn.value) {
+    getWalletInfo()
+    getPendingRedDots()
+    userStore.getUserInfo()
+  }
+  else {
+    walletInfo.value = {}
+    pendingRedDotsData.value = {}
+  }
 })
 </script>
 
 <template>
-  <z-paging ref="paging" refresher-only use-page-scroll @refresh="handleRefresh">
+  <z-paging ref="paging" use-page-scroll refresher-only @refresh="handleRefresh">
     <view
       class="flex items-center justify-between bg-[rgba(var(--wot-color-theme-rgb),0.3)] pb-72rpx pl-24rpx pr-54rpx"
       :style="{ paddingTop: `${safeAreaInsets?.top + 24}px` }"