Procházet zdrojové kódy

Merge remote-tracking branch 'origin/master' into feature/temp/桌面卡片-抽离ijkplayer播放控制

chendeben před 1 rokem
rodič
revize
ea24c70aff

+ 18 - 19
entry/src/main/ets/common/util/UserUtil.ets

@@ -383,25 +383,24 @@ export default class UserUtil {
     }
   }
 
-  // 华为登录错误处理
-  static dealHuaweiLoginError(error: BusinessError): void {
-    if (error.code === 1001) {
-      ToastUtil.showToast('未登录华为账号');
-    } else if (error.code === 1002) {
-      ToastUtil.showToast('网络异常');
-    } else if (error.code === 1003) {
-      ToastUtil.showToast('内部错误');
-    } else if (error.code === 1004) {
-      ToastUtil.showToast('用户取消授权');
-    } else if (error.code === 1005) {
-      ToastUtil.showToast('系统服务异常');
-    } else if (error.code === 1006) {
-      ToastUtil.showToast('请求被拒绝');
-    } else if (error.code === 1007) {
-      ToastUtil.showToast('无权限');
-    } else {
-      ToastUtil.showToast('登录失败');
-    }
+
+  /**
+   * 退出登录
+   * 清除用户登录状态和相关信息
+   */
+  static logout(): boolean {
+    // 清除登录状态
+    PreferencesUtil.deleteSync('isLogin');
+    PreferencesUtil.deleteSync('userId');
+    PreferencesUtil.deleteSync('userName');
+    PreferencesUtil.deleteSync('userAvatarUrl');
+    PreferencesUtil.deleteSync('subscriptionName');
+    PreferencesUtil.deleteSync('subscriptionEndDate');
+    PreferencesUtil.deleteSync('hasActiveSubscription');
+    PreferencesUtil.deleteSync('userToken');
+    PreferencesUtil.deleteSync('isForever');
+    // 显示退出登录提示
+    return true;
   }
 
   /**

+ 5 - 11
entry/src/main/ets/pages/UserCenter.ets

@@ -129,6 +129,7 @@ export struct UserCenter {
   @State hasActiveSubscription: boolean = false;
   @State subscriptionName: string = '';
   @State subscriptionEndDate: string = '';
+  @State isForever: boolean = false;
   @StorageProp('currentBreakpoint') currentBreakpoint: string = BreakpointTypeEnum.MD;
   @State vipFeatures: VipFeature[] = [
     {
@@ -437,7 +438,7 @@ export struct UserCenter {
       Scroll() {
         Column() {
           this.buildUserInfoCard()
-          if(!Utility.isForever()){
+          if(!this.isForever){
             this.buildVipPlans()
           }
           this.buildVipFeatures()
@@ -552,15 +553,8 @@ export struct UserCenter {
                 this.hasActiveSubscription = false;
                 this.subscriptionName = '';
                 this.subscriptionEndDate = '';
-                PreferencesUtil.putSync('isLogin', false);
-                PreferencesUtil.putSync('userId', 0);
-                PreferencesUtil.putSync('userName', '未登录用户');
-                PreferencesUtil.putSync('userAvatarUrl', '');
-                PreferencesUtil.putSync('subscriptionName', '');
-                PreferencesUtil.putSync('subscriptionEndDate', '');
-                PreferencesUtil.putSync('hasActiveSubscription', false);
-                PreferencesUtil.putSync('userToken', '');
-                PreferencesUtil.putSync('isForever', false);
+                this.isForever=false;
+                UserUtil.logout();
                 emitter.emit({ eventId: 1001 }, {})
                 ToastUtil.showToast('已退出登录')
               })
@@ -1178,7 +1172,7 @@ export struct UserCenter {
     this.subscriptionName = PreferencesUtil.getStringSync('subscriptionName', '');
     this.subscriptionEndDate = PreferencesUtil.getStringSync('subscriptionEndDate', '');
     this.hasActiveSubscription = PreferencesUtil.getBooleanSync('hasActiveSubscription', false);
-    // console.log('Heanup hasActiveSubscription:' + this.hasActiveSubscription)
+    this.isForever= PreferencesUtil.getBooleanSync('isForever', false);
     // 新增:同步线上会员状态到本地,便于 Utility.isNoble 全局判断
     PreferencesUtil.putSync('hasActiveSubscription', this.hasActiveSubscription);
   }