From 21b418f4ffb8e76d72819e8d489b3179154cb0c1 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 24 三月 2025 15:46:54 +0800
Subject: [PATCH] fix: 三期需求
---
apps/taro/src/hooks/user.ts | 33 ++++++++++++++++++++++++++++++---
1 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/apps/taro/src/hooks/user.ts b/apps/taro/src/hooks/user.ts
index f76e73d..dfabcc6 100644
--- a/apps/taro/src/hooks/user.ts
+++ b/apps/taro/src/hooks/user.ts
@@ -83,6 +83,8 @@
const { blLifeRecharge } = useLifeRechargeContext();
+ const { getLifePayWxIndentity } = useLifePayWxIndentity();
+
Taro.useReady(async () => {
try {
//@ts-ignore
@@ -93,13 +95,17 @@
}
if (!!code && !wxCode.value) {
userStore.setWxCode(router.params.code ?? '');
- let res = await getLifePayWxIndentity();
- userStore.setWxOpenId(res.openId);
+ // getLifePayWxIndentity(code);
}
} catch (error) {}
});
+}
- async function getLifePayWxIndentity() {
+export function useLifePayWxIndentity() {
+ const { blLifeRecharge } = useLifeRechargeContext();
+ const userStore = useUserStore();
+
+ async function getLifePayWxIndentity(code: string) {
try {
let params: APIgetLifePayWxIndentityParams = {
code: code,
@@ -107,9 +113,30 @@
let res = await blLifeRecharge.services.getLifePayWxIndentity(params, {
showLoading: false,
});
+ if (res.openId) {
+ userStore.setWxOpenId(res.openId);
+ }
return res;
} catch (error) {}
}
+
+ return { getLifePayWxIndentity };
+}
+
+export function useEnsureOpenId() {
+ const { wxCode, wxOpenId } = useUser();
+ const { getLifePayWxIndentity } = useLifePayWxIndentity();
+
+ async function ensureOpenId() {
+ if (wxOpenId.value) {
+ return wxOpenId.value;
+ } else {
+ let rea = await getLifePayWxIndentity(wxCode.value);
+ return rea.openId ? rea.openId : wxOpenId.value;
+ }
+ }
+
+ return { ensureOpenId };
}
export function useGoLogin() {
--
Gitblit v1.10.0