From a3be4bd8a96df6b27e4f0d3883d661d9cb64d1fc Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 21 二月 2025 14:47:05 +0800
Subject: [PATCH] fix: 页面
---
apps/taro/src/subpackages/recharge/phoneBillRecharge/phoneBillRecharge.vue | 2
apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue | 2
apps/taro/src/subpackages/recharge/rechargeResult/rechargeResult.vue | 2
apps/taro/src/stores/modules/user.ts | 33 ++++++++--
packages/components/src/utils/types.ts | 6 +
apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue | 20 +++++-
apps/taro/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue | 2
apps/taro/src/app.ts | 5 +
apps/taro/src/hooks/user.ts | 11 ++-
apps/taro/src/utils/storage/auth.ts | 12 ++++
apps/taro/src/hooks/access.ts | 3
apps/taro/src/pages/home/index.vue | 14 +---
packages/components/src/utils/lifeRecharge.ts | 23 ++++++-
apps/taro/src/utils/blLifeRecharge.ts | 2
14 files changed, 98 insertions(+), 39 deletions(-)
diff --git a/apps/taro/src/app.ts b/apps/taro/src/app.ts
index 2531ecd..d2b1804 100644
--- a/apps/taro/src/app.ts
+++ b/apps/taro/src/app.ts
@@ -12,6 +12,7 @@
import { myClient } from '@/constants/query';
import { VueLifeRechargePlugin } from '@life-payment/components';
import { blLifeRecharge } from '@/utils/blLifeRecharge';
+import { isWeChat } from '@/utils/env';
window.uni = Taro;
@@ -64,7 +65,9 @@
// 瀵瑰簲 onShow
onShow(options) {
- updateVersions();
+ if (isWeChat) {
+ updateVersions();
+ }
},
// 瀵瑰簲 onHide
diff --git a/apps/taro/src/hooks/access.ts b/apps/taro/src/hooks/access.ts
index d763657..6154a8f 100644
--- a/apps/taro/src/hooks/access.ts
+++ b/apps/taro/src/hooks/access.ts
@@ -14,7 +14,8 @@
if (!isLogin.value) {
Message.confirm({ message: '璇峰墠寰�鐧诲綍' }).then(() => {
Taro.navigateTo({
- url: `${RouterPath.authorization}`,
+ // url: `${RouterPath.authorization}`,
+ url: `${RouterPath.loginByForm}`,
});
});
return;
diff --git a/apps/taro/src/hooks/user.ts b/apps/taro/src/hooks/user.ts
index a25b33a..29a6ef4 100644
--- a/apps/taro/src/hooks/user.ts
+++ b/apps/taro/src/hooks/user.ts
@@ -11,7 +11,7 @@
export function useUser() {
const userStore = useUserStore();
- const { userDetail, userInfo, locationCity } = storeToRefs(userStore);
+ const { userDetail, userInfo, locationCity, virtualUserId } = storeToRefs(userStore);
function updateUserInfo() {
return userStore.getCurrentUserInfo();
@@ -22,13 +22,14 @@
userDetail: userDetail,
updateUserInfo,
locationCity,
+ virtualUserId,
};
}
export function useIsLogin() {
- const { user, userDetail } = useUser();
- return computed(() => !!user.value);
- // return user?.isPersonal ? !!user : !!user && !!enterpriseInfo;
+ const { virtualUserId } = useUser();
+ // return computed(() => !!user.value);
+ return computed(() => !!virtualUserId.value);
}
type UseAuthOptions = {
@@ -47,7 +48,7 @@
Taro.useReady(async () => {
if (isLogin.value && userStore.firstGetUserDetail) {
- userStore.getCurrentUserInfo();
+ // userStore.getCurrentUserInfo();
}
if (needAuth && !isLogin.value) {
Taro.navigateTo({
diff --git a/apps/taro/src/pages/home/index.vue b/apps/taro/src/pages/home/index.vue
index f92134b..e349db9 100644
--- a/apps/taro/src/pages/home/index.vue
+++ b/apps/taro/src/pages/home/index.vue
@@ -7,24 +7,18 @@
</template>
<script setup lang="ts">
-import { useUser, useInfiniteLoading } from '@/hooks';
+import { useUser, useAccessLogin } from '@/hooks';
import { useUserStore } from '@/stores/modules/user';
import Taro from '@tarojs/taro';
import IconLogo from '@/assets/home/icon-logo.png';
import { OrderInputType } from '@life-payment/constants';
import { RechargeGrid } from '@life-payment/components';
-function goPhoneBillRecharge() {
+const goPhoneBillRecharge = useAccessLogin(() => {
Taro.navigateTo({
url: `${RouterPath.phoneBillRecharge}`,
- })
- .then(() => {
- console.log('Navigate successfully');
- })
- .catch((err) => {
- console.error('Navigation failed:', err);
- });
-}
+ });
+});
</script>
<style lang="scss">
diff --git a/apps/taro/src/stores/modules/user.ts b/apps/taro/src/stores/modules/user.ts
index 24f87f0..29663e5 100644
--- a/apps/taro/src/stores/modules/user.ts
+++ b/apps/taro/src/stores/modules/user.ts
@@ -8,6 +8,9 @@
setUserDetail,
getUserDetail,
removeUserDetail,
+ setStorageVirtualUserId,
+ getStorageVirtualUserId,
+ removeStorageVirtualUserId,
} from '@/utils/storage/auth';
import * as accountServices from '@life-payment/services/api/Account';
import * as userServices from '@life-payment/services/api/User';
@@ -29,6 +32,8 @@
locationCity?: string;
locationProvince?: string;
firstSetLocation?: boolean;
+
+ virtualUserId?: string;
}
const goAuthorization = debounce(
@@ -62,6 +67,8 @@
refreshToken: userInfo?.refreshToken ?? '',
userDetail: userDetail,
firstGetUserDetail: true,
+
+ virtualUserId: getStorageVirtualUserId() ?? '',
};
},
getters: {
@@ -122,7 +129,7 @@
);
if (res) {
- this.loginSuccess(res);
+ this.loginVirtualSuccess(res);
}
return res;
},
@@ -142,13 +149,24 @@
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(virtualUserId: string) {
+ try {
+ this.setVirtualUserId(virtualUserId);
+ } catch (error) {}
+ },
+
+ setVirtualUserId(virtualUserId: string) {
+ this.virtualUserId = virtualUserId;
+ setStorageVirtualUserId(virtualUserId);
},
async wxMiniAppUserLoginFromScan(wxIndentityRes: API.WxMiniAppIndentityInfo, uuid: string) {
@@ -216,6 +234,7 @@
this.userDetail = null;
removeUserInfo();
removeUserDetail();
+ removeStorageVirtualUserId();
},
/**
diff --git a/apps/taro/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue b/apps/taro/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue
index f3bd97e..bdf169d 100644
--- a/apps/taro/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue
+++ b/apps/taro/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue
@@ -7,7 +7,7 @@
<img :src="OssAssets.login.AuthBg" class="authorization-page-auth" />
</template>
- <div class="authorization-page-title">娆㈣繋浣跨敤818骞冲彴</div>
+ <div class="authorization-page-title">娆㈣繋浣跨敤鐢熸椿缂磋垂骞冲彴</div>
<slot></slot>
</PageLayout>
diff --git a/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue b/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue
index eb62297..ea7179d 100644
--- a/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue
+++ b/apps/taro/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue
@@ -40,6 +40,7 @@
import { useLoginedJump } from '@/hooks';
import { useUserStore } from '@/stores/modules/user';
import Taro from '@tarojs/taro';
+import { useLifeRechargeContext } from '@life-payment/components';
defineOptions({
name: 'verificationCodeLoginForm',
@@ -52,6 +53,7 @@
const props = withDefaults(defineProps<Props>(), {});
const userStore = useUserStore();
+const { blLifeRecharge } = useLifeRechargeContext();
const { jump } = useLoginedJump();
@@ -87,10 +89,20 @@
const { valid } = await formRef.value.validate();
if (valid) {
form.loading = true;
- await userStore.loginByUsername({
- phoneNumber: form.phoneNumber,
- code: form.verificationCode,
- });
+ // await userStore.loginByUsername({
+ // phoneNumber: form.phoneNumber,
+ // code: form.verificationCode,
+ // });
+ let res = await blLifeRecharge.login(
+ {
+ phoneNumber: form.phoneNumber,
+ code: form.verificationCode,
+ },
+ {
+ showLoading: false,
+ }
+ );
+ userStore.loginVirtualSuccess(res);
jump();
}
} else {
diff --git a/apps/taro/src/subpackages/recharge/phoneBillRecharge/phoneBillRecharge.vue b/apps/taro/src/subpackages/recharge/phoneBillRecharge/phoneBillRecharge.vue
index 7b21ce8..1a6a678 100644
--- a/apps/taro/src/subpackages/recharge/phoneBillRecharge/phoneBillRecharge.vue
+++ b/apps/taro/src/subpackages/recharge/phoneBillRecharge/phoneBillRecharge.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayout title="璇濊垂鍏呭��" class="phoneBillRecharge-page-wrapper" hasBorder :need-auth="false">
+ <PageLayout title="璇濊垂鍏呭��" class="phoneBillRecharge-page-wrapper" hasBorder>
<InnerPage />
</PageLayout>
</template>
diff --git a/apps/taro/src/subpackages/recharge/rechargeResult/rechargeResult.vue b/apps/taro/src/subpackages/recharge/rechargeResult/rechargeResult.vue
index 69046ef..48002a0 100644
--- a/apps/taro/src/subpackages/recharge/rechargeResult/rechargeResult.vue
+++ b/apps/taro/src/subpackages/recharge/rechargeResult/rechargeResult.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayout title="鍏呭�兼垚鍔�" class="rechargeResult-page-wrapper" hasBorder :need-auth="false">
+ <PageLayout title="鍏呭�兼垚鍔�" class="rechargeResult-page-wrapper" hasBorder>
<ContentScrollView>
<RechargeResultView style="margin-top: 40px" @go-back-home="goHome()" />
</ContentScrollView>
diff --git a/apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue b/apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue
index 201fa1d..dc2ab46 100644
--- a/apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue
+++ b/apps/taro/src/subpackages/recharge/selectPayType/selectPayType.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayout title="璇濊垂鍏呭��" class="selectPayType-page-wrapper" hasBorder :need-auth="false">
+ <PageLayout title="璇濊垂鍏呭��" class="selectPayType-page-wrapper" hasBorder>
<InnerPage />
</PageLayout>
</template>
diff --git a/apps/taro/src/utils/blLifeRecharge.ts b/apps/taro/src/utils/blLifeRecharge.ts
index 3c0b7f8..a030b56 100644
--- a/apps/taro/src/utils/blLifeRecharge.ts
+++ b/apps/taro/src/utils/blLifeRecharge.ts
@@ -1,6 +1,8 @@
import { BlLifeRecharge } from '@life-payment/components';
import { request } from './request';
+import { getStorageVirtualUserId } from './storage';
export const blLifeRecharge = new BlLifeRecharge({
request,
+ userId: getStorageVirtualUserId() ?? '',
});
diff --git a/apps/taro/src/utils/storage/auth.ts b/apps/taro/src/utils/storage/auth.ts
index db841e3..85c6baf 100644
--- a/apps/taro/src/utils/storage/auth.ts
+++ b/apps/taro/src/utils/storage/auth.ts
@@ -6,6 +6,7 @@
USER_DETAIL_KEY: 'USER_DETAIL_KEY',
MatchMakingIdentity_KEY: 'MatchMakingIdentity_KEY',
LocationCity_KEY: 'LocationCity_KEY',
+ VirtualUserId_KEY: 'VirtualUserId_KEY',
};
export function getToken() {
@@ -40,6 +41,17 @@
return storageLocal.removeItem(StorageKey.USER_DETAIL_KEY);
}
+export function getStorageVirtualUserId() {
+ return storageLocal.getItem<string>(StorageKey.VirtualUserId_KEY);
+}
+
+export function setStorageVirtualUserId(virtualUserId: string) {
+ return storageLocal.setItem(StorageKey.VirtualUserId_KEY, virtualUserId);
+}
+
+export function removeStorageVirtualUserId() {
+ return storageLocal.removeItem(StorageKey.VirtualUserId_KEY);
+}
type StorageLocation = {
city: string;
diff --git a/packages/components/src/utils/lifeRecharge.ts b/packages/components/src/utils/lifeRecharge.ts
index 68a5e06..36714ce 100644
--- a/packages/components/src/utils/lifeRecharge.ts
+++ b/packages/components/src/utils/lifeRecharge.ts
@@ -1,20 +1,33 @@
-import { BlLifeRechargeServices, PhoneMesssageCodeLoginInput } from './lifeRechargeServices';
+import {
+ BlLifeRechargeServices,
+ PhoneMesssageCodeLoginInput,
+ RequestConfig,
+} from './lifeRechargeServices';
import { IRequest, BlLifeRechargeOptions } from './types';
export class BlLifeRecharge<T extends IRequest = IRequest> {
services: BlLifeRechargeServices<T>;
- isLogin = false;
+ userId = '';
constructor(options: BlLifeRechargeOptions<T>) {
this.services = new BlLifeRechargeServices(options);
+ this.userId = options.userId || '';
}
- login(body: PhoneMesssageCodeLoginInput) {
- let res = this.services.lifePayPhoneMesssageCodeLogin(body);
- this.isLogin = true;
+ async login(body: PhoneMesssageCodeLoginInput, options?: RequestConfig) {
+ let res = await this.services.lifePayPhoneMesssageCodeLogin(body, options);
+ this.userId = res;
return res;
}
+ loginout() {
+ this.userId = '';
+ }
+
+ isLogin() {
+ return !!this.userId;
+ }
+
getRechargeParValue(amount: number, rate: number) {
return (amount * rate).toFixed(2);
}
diff --git a/packages/components/src/utils/types.ts b/packages/components/src/utils/types.ts
index 61f3690..f28bcae 100644
--- a/packages/components/src/utils/types.ts
+++ b/packages/components/src/utils/types.ts
@@ -3,11 +3,13 @@
export interface IRequestOptions extends AxiosRequestConfig {}
export interface IRequest {
- <T = any>(url: string, opts: IRequestOptions): Promise<AxiosResponse<T>>;
+ <T = any>(url: string, opts: IRequestOptions): Promise<T>;
}
export type BlLifeRechargeServicesOptions<T extends IRequest> = {
request: T;
};
-export type BlLifeRechargeOptions<T extends IRequest> = BlLifeRechargeServicesOptions<T> & {};
+export type BlLifeRechargeOptions<T extends IRequest> = BlLifeRechargeServicesOptions<T> & {
+ userId?: string;
+};
--
Gitblit v1.9.1