From 8bb9173a95a87e3ceab4f48b5b34041af38b7c70 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 28 三月 2025 15:23:14 +0800 Subject: [PATCH] fix: 四期需求 --- apps/taro/src/stores/modules/user.ts | 170 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 110 insertions(+), 60 deletions(-) diff --git a/apps/taro/src/stores/modules/user.ts b/apps/taro/src/stores/modules/user.ts index 24f87f0..65c9724 100644 --- a/apps/taro/src/stores/modules/user.ts +++ b/apps/taro/src/stores/modules/user.ts @@ -8,9 +8,12 @@ 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'; import Taro, { useRouter } from '@tarojs/taro'; import { ButtonProps } from '@tarojs/components'; import { debounce } from 'lodash'; @@ -18,6 +21,8 @@ import { getAccountInfoFromAccessToken, AccountInfo, setOSSLink } from '@life-payment/utils'; import DefaultAvatar from '@/assets/components/icon-default-avatar.png'; import { myClient } from '@/constants/query'; +import { blLifeRecharge } from '@/utils/blLifeRecharge'; +import { LifePayPhoneMesssageCodeLoginOutput } from '@life-payment/core-vue'; interface UserState { userInfo?: Nullable<API.IdentityModelTokenCacheItem>; @@ -29,13 +34,21 @@ locationCity?: string; locationProvince?: string; firstSetLocation?: boolean; + + virtualUserId?: string; + virtualPhoneNumber?: string; + + wxCode?: string; + wxOpenId?: string; + + virtualUserInfo?: LifePayPhoneMesssageCodeLoginOutput; } const goAuthorization = debounce( () => { const route = Taro.getCurrentInstance().router; if (route.path !== RouterPath.authorization) { - Taro.navigateTo({ + RouteHelper.navigateTo({ url: RouterPath.authorization, }); } @@ -52,6 +65,7 @@ state: (): UserState => { const userInfo = getCacheUserInfo(); const userDetail = getUserDetail(); + const storageVirtualUser = getStorageVirtualUserId(); return { // user info @@ -62,6 +76,12 @@ refreshToken: userInfo?.refreshToken ?? '', userDetail: userDetail, firstGetUserDetail: true, + + virtualUserId: storageVirtualUser?.virtualUserId ?? '', + virtualPhoneNumber: storageVirtualUser?.virtualPhoneNumber ?? '', + + wxCode: '', + wxOpenId: '', }; }, getters: { @@ -93,73 +113,91 @@ wxMiniAppUserLoginRes: any ) { try { - let res: API.IdentityModelTokenCacheItem; - if (!wxMiniAppUserLoginRes.accessToken) { - let params: API.WxMiniAppPhoneLoginInput = { - openId: wxMiniAppUserLoginRes.openId, - sessionKey: wxMiniAppUserLoginRes.sessionKey, - encryptedData: detail.encryptedData, - iv: detail.iv, - // wxMiniApp: WxMiniAppEnum.C绔皬绋嬪簭, - }; - res = await accountServices.wxMiniAppPhoneAuthLogin(params); - this.loginSuccess(res); - } - return res; + // let res: API.IdentityModelTokenCacheItem; + // if (!wxMiniAppUserLoginRes.accessToken) { + // let params: API.WxMiniAppPhoneLoginInput = { + // openId: wxMiniAppUserLoginRes.openId, + // sessionKey: wxMiniAppUserLoginRes.sessionKey, + // encryptedData: detail.encryptedData, + // iv: detail.iv, + // // wxMiniApp: WxMiniAppEnum.C绔皬绋嬪簭, + // }; + // res = await accountServices.wxMiniAppPhoneAuthLogin(params); + // this.loginSuccess(res); + // } + // return res; + return 1; } catch (error) { console.log('error3: ', error); } }, // 鐢ㄦ埛鎵嬫満楠岃瘉鐮佺櫥鍏� - async loginByUsername(data: API.PhoneMesssageCodeLoginInput) { + async loginByUsername(data: any) { let res = await accountServices.lifePayPhoneMesssageCodeLogin( { phoneNumber: data.phoneNumber, - code: data.code, + // code: data.code, }, { showLoading: false } ); if (res) { - this.loginSuccess(res); + this.loginVirtualSuccess({ + virtualUserId: res.userId, + virtualPhoneNumber: data.phoneNumber, + }); } return res; }, // 鐢ㄦ埛璐﹀彿瀵嗙爜鐧诲叆 async loginByPassword(data: API.AccessRequestDto) { - let res = await accountServices.passwordLogin( - { - loginName: data.userName, - password: data.userPassword, - }, - { showLoading: false } - ); - if (res) { - this.loginSuccess(res); - } - return res; + // let res = await accountServices.passwordLogin( + // { + // loginName: data.userName, + // password: data.userPassword, + // }, + // { showLoading: false } + // ); + // if (res) { + // this.loginSuccess(res); + // } + // return res; }, - async loginSuccess(res: API.IdentityModelTokenCacheItem | string) { + async loginSuccess(res: API.IdentityModelTokenCacheItem) { console.log('res: ', res); - // try { - // this.setUserInfoAction(res); - // this.setTokenAction(res); - // await this.getCurrentUserInfo(); - // } catch (error) {} + try { + this.setUserInfoAction(res); + this.setTokenAction(res); + await this.getCurrentUserInfo(); + } catch (error) {} + }, + + async loginVirtualSuccess(virtualUserRes: LoginVirtualRes) { + try { + this.setVirtualUserId(virtualUserRes); + this.getCurrentUserInfo(); + } catch (error) {} + }, + + setVirtualUserId(virtualUserRes: LoginVirtualRes) { + this.virtualUserId = virtualUserRes.virtualUserId; + this.virtualPhoneNumber = virtualUserRes.virtualPhoneNumber; + setStorageVirtualUserId(virtualUserRes); }, async wxMiniAppUserLoginFromScan(wxIndentityRes: API.WxMiniAppIndentityInfo, uuid: string) { try { - let res = await accountServices.wxMiniAppUserLoginFromScan({ - uId: uuid, - userName: wxIndentityRes.userName, - openId: wxIndentityRes.openId, - }); - this.loginSuccess(res); - return res; + // let res = await accountServices.wxMiniAppUserLoginFromScan({ + // uId: uuid, + // userName: wxIndentityRes.userName, + // openId: wxIndentityRes.openId, + // }); + // this.loginSuccess(res); + // return res; + return 1; } catch (error) {} }, @@ -169,28 +207,28 @@ uuid: string ) { try { - let res = await accountServices.wxMiniAppPhoneAuthLoginFromScan({ - uId: uuid, - openId: wxIndentityRes.openId, - sessionKey: wxIndentityRes.sessionKey, - encryptedData: detail.encryptedData, - iv: detail.iv, - // wxMiniApp: WxMiniAppEnum.C绔皬绋嬪簭, - }); - this.loginSuccess(res); - return res; + // let res = await accountServices.wxMiniAppPhoneAuthLoginFromScan({ + // uId: uuid, + // openId: wxIndentityRes.openId, + // sessionKey: wxIndentityRes.sessionKey, + // encryptedData: detail.encryptedData, + // iv: detail.iv, + // // wxMiniApp: WxMiniAppEnum.C绔皬绋嬪簭, + // }); + // this.loginSuccess(res); + // return res; + return 1; } catch (error) {} }, async getCurrentUserInfo() { try { - let res = await userServices.getUserInfo({ showLoading: false }); - if (res) { - res.originalAvatarUrl = res.avatarUrl; - res.avatarUrl = res.avatarUrl ? setOSSLink(res.avatarUrl) : DefaultAvatar; - this.setUserDetail(res); - this.firstGetUserDetail = false; - } + // let res = await blLifeRecharge.accountModel.getUserInfo(this.virtualUserId); + // if (res) { + // // this.setUserDetail(res); + // this.virtualUserInfo = res; + // this.firstGetUserDetail = false; + // } } catch (error) {} }, @@ -209,13 +247,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(); }, /** @@ -224,7 +274,7 @@ logout() { this.resetState(); myClient.removeQueries(); - goAuthorization(); + // goAuthorization(); }, logoutAndToHome() { -- Gitblit v1.9.1