Selaa lähdekoodia

feat: 对部分页面、功能添加登录校验

YuJing 1 kuukausi sitten
vanhempi
commit
ac11fd22c5

+ 15 - 0
commons/basic/src/main/ets/utils/arkts/utils/YTRouter.ets

@@ -2,6 +2,7 @@ import { IBestToast } from '@ibestservices/ibest-ui'
 import { BasicType, DelPhotoParam } from '../../../models'
 import { BookItem } from '../../../models/BookModel'
 import { NavDiaLogModel } from '../../../models/NavDiaLogModel'
+import { userInfo } from '../../../models/UserInfo'
 
 class YTRouter extends NavPathStack {
   private static declare instance: YTRouter
@@ -26,6 +27,16 @@ class YTRouter extends NavPathStack {
     return this.tabsController
   }
 
+  changeIndex(index: number){
+    if (!userInfo.checkLogin() && index == 2) {
+      yTRouter.router2LoginPage(true)
+      return
+    }
+    yTRouter.clear()
+    yTRouter.pop()
+    this.tabsController?.changeIndex(index)
+  }
+
   router2SettingPage() {
     yTRouter.pushPathByName('SettingPage', '')
   }
@@ -114,6 +125,10 @@ class YTRouter extends NavPathStack {
 
   /** 前往订单管理页面 - 我的借阅 */
   router2OrderManagementPage(targetIndex?: number){
+    if (!userInfo.checkLogin()) {
+      yTRouter.router2LoginPage(true)
+      return
+    }
     this.pushPathByName('OrderManagementPage', targetIndex)
   }
 

+ 1 - 3
features/feature/src/main/ets/components/SchoolBag.ets

@@ -13,9 +13,7 @@ export struct SchoolBag {
 
   // 前往书包
   toSchoolBag(){
-    yTRouter.getTabControl().changeIndex(2)
-    yTRouter.clear()
-    yTRouter.pop()
+    yTRouter.changeIndex(2)
   }
 
   build() {

+ 2 - 5
features/feature/src/main/ets/pages/Order/BorrowingProcessPage.ets

@@ -8,7 +8,6 @@ struct BorrowingProcessPage {
 
   tabControl: TabsController = new TabsController()
   safeBottom: number = AppStorage.get(YTAvoid.SAFE_BOTTOM_KEY) as number
-  tabsController: TabsController = yTRouter.getTabControl()
 
 
   iconForEach: Array<BasicType> = [
@@ -21,12 +20,10 @@ struct BorrowingProcessPage {
 
   pngList: Array<BasicType> = [
     { text: '1.选择图书,加入背包', message: '找到喜欢的书,在图书详情页点击加入背包', src: $r('[basic].media.png_process1') , date: '去选书', click: () => {
-      this.tabsController.changeIndex(1)
-      yTRouter.pop(true)
+      yTRouter.changeIndex(1)
     }},
     { text: '2.勾选图书,下单借阅', message: '在书包勾选图书,点击立即借阅,确认后点击(提交订单)即可。', src: $r('[basic].media.png_process2') , date: '去下单', click: () => {
-      this.tabsController.changeIndex(2)
-      yTRouter.pop(true)
+      yTRouter.changeIndex(2)
     }},
     { text: '3.快速到家,快速阅读', message: '订单提交成功后,等待快递送书上门,即开启快乐的阅读时光。', src: $r('[basic].media.png_process3') , date: '查看物流', click: () => {
       yTRouter.pop()

+ 6 - 3
products/entry/src/main/ets/pages/Index.ets

@@ -1,5 +1,5 @@
 import {
-  BasicType, ContextHelper, TkBannerAdComp, TkStartAdComp, YTAvoid, yTRouter
+  BasicType, ContextHelper, TkBannerAdComp, TkStartAdComp, userInfo, YTAvoid, yTRouter
 } from 'basic';
 import { Mine } from 'user/src/main/ets/views/Mine';
 import { MainView, SecondView, ThirdView } from 'feature';
@@ -33,7 +33,6 @@ struct Index {
     }
   ]
 
-
   tabsController: TabsController = yTRouter.getTabControl()
 
   aboutToAppear(): void {
@@ -80,7 +79,6 @@ struct Index {
           .justifyContent(FlexAlign.SpaceAround)
           .width('100%')
           .padding({ bottom: this.bottom })
-          // .shadow({ offsetY: -13, radius: 16, color: '#0A000000' })
           .border({width: { top: 1 }, color: '#E2E2E2'})
         }
         .width('100%')
@@ -111,6 +109,11 @@ struct Index {
     }
     .margin({ top: 18 })
     .onClick(() => {
+      if (item.index == 2 && !userInfo.checkLogin()) {
+        yTRouter.router2LoginPage(true)
+        return
+      }
+
       this.currentIndex = item.index!
       this.tabsController.changeIndex(this.currentIndex)
     })