From f2025539d8bf4798b90a5ab8a47c5a379ab68e9b Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 11 三月 2025 17:51:43 +0800
Subject: [PATCH] fix: 二期需求

---
 apps/taro/src/stores/modules/user.ts |   51 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 48 insertions(+), 3 deletions(-)

diff --git a/apps/taro/src/stores/modules/user.ts b/apps/taro/src/stores/modules/user.ts
index 7c3f0ab..f6d8ac5 100644
--- a/apps/taro/src/stores/modules/user.ts
+++ b/apps/taro/src/stores/modules/user.ts
@@ -8,6 +8,10 @@
   setUserDetail,
   getUserDetail,
   removeUserDetail,
+  setStorageVirtualUserId,
+  getStorageVirtualUserId,
+  removeStorageVirtualUserId,
+  LoginVirtualRes,
 } from '@/utils/storage/auth';
 import * as accountServices from '@life-payment/services/api/Account';
 import * as userServices from '@life-payment/services/api/User';
@@ -29,6 +33,12 @@
   locationCity?: string;
   locationProvince?: string;
   firstSetLocation?: boolean;
+
+  virtualUserId?: string;
+  virtualPhoneNumber?: string;
+
+  wxCode?: string;
+  wxOpenId?: string;
 }
 
 const goAuthorization = debounce(
@@ -52,6 +62,7 @@
   state: (): UserState => {
     const userInfo = getCacheUserInfo();
     const userDetail = getUserDetail();
+    const storageVirtualUser = getStorageVirtualUserId();
 
     return {
       // user info
@@ -62,6 +73,12 @@
       refreshToken: userInfo?.refreshToken ?? '',
       userDetail: userDetail,
       firstGetUserDetail: true,
+
+      virtualUserId: storageVirtualUser?.virtualUserId ?? '',
+      virtualPhoneNumber: storageVirtualUser?.virtualPhoneNumber ?? '',
+
+      wxCode: '',
+      wxOpenId: '',
     };
   },
   getters: {
@@ -113,7 +130,7 @@
 
     // 鐢ㄦ埛鎵嬫満楠岃瘉鐮佺櫥鍏�
     async loginByUsername(data: API.PhoneMesssageCodeLoginInput) {
-      let res = await accountServices.phoneMesssageCodeLogin(
+      let res = await accountServices.lifePayPhoneMesssageCodeLogin(
         {
           phoneNumber: data.phoneNumber,
           code: data.code,
@@ -122,7 +139,10 @@
       );
 
       if (res) {
-        this.loginSuccess(res);
+        this.loginVirtualSuccess({
+          virtualUserId: res,
+          virtualPhoneNumber: data.phoneNumber,
+        });
       }
       return res;
     },
@@ -143,11 +163,24 @@
     },
 
     async loginSuccess(res: API.IdentityModelTokenCacheItem) {
+      console.log('res: ', res);
       try {
         this.setUserInfoAction(res);
         this.setTokenAction(res);
         await this.getCurrentUserInfo();
       } catch (error) {}
+    },
+
+    async loginVirtualSuccess(virtualUserRes: LoginVirtualRes) {
+      try {
+        this.setVirtualUserId(virtualUserRes);
+      } catch (error) {}
+    },
+
+    setVirtualUserId(virtualUserRes: LoginVirtualRes) {
+      this.virtualUserId = virtualUserRes.virtualUserId;
+      this.virtualPhoneNumber = virtualUserRes.virtualPhoneNumber;
+      setStorageVirtualUserId(virtualUserRes);
     },
 
     async wxMiniAppUserLoginFromScan(wxIndentityRes: API.WxMiniAppIndentityInfo, uuid: string) {
@@ -208,13 +241,25 @@
       setUserDetail(detail);
     },
 
+    setWxCode(code: string) {
+      this.wxCode = code;
+    },
+    setWxOpenId(openId: string) {
+      this.wxOpenId = openId;
+    },
+
     resetState() {
       this.userInfo = null;
       this.token = '';
       this.refreshToken = '';
       this.userDetail = null;
+      this.virtualUserId = '';
+      this.virtualPhoneNumber = '';
+      this.wxCode = '';
+      this.wxOpenId = '';
       removeUserInfo();
       removeUserDetail();
+      removeStorageVirtualUserId();
     },
 
     /**
@@ -223,7 +268,7 @@
     logout() {
       this.resetState();
       myClient.removeQueries();
-      goAuthorization();
+      // goAuthorization();
     },
 
     logoutAndToHome() {

--
Gitblit v1.9.1