| | |
| | | import { useRefeshDidShow } from './infiniteLoading'; |
| | | import { LoginFormTabs } from '@/subpackages/login/constants'; |
| | | import { useLoginedJump } from './login'; |
| | | import { useLifeRechargeContext, APIgetLifePayWxIndentityParams } from '@life-payment/core-vue'; |
| | | import { isInWeChat } from '@/utils/env'; |
| | | |
| | | export function useUser() { |
| | | const userStore = useUserStore(); |
| | | |
| | | const { userDetail, userInfo, locationCity, virtualUserId, virtualPhoneNumber } = |
| | | storeToRefs(userStore); |
| | | const { |
| | | userDetail, |
| | | userInfo, |
| | | locationCity, |
| | | virtualUserId, |
| | | virtualPhoneNumber, |
| | | wxCode, |
| | | wxOpenId, |
| | | } = storeToRefs(userStore); |
| | | |
| | | function updateUserInfo() { |
| | | return userStore.getCurrentUserInfo(); |
| | |
| | | locationCity, |
| | | virtualUserId, |
| | | virtualPhoneNumber, |
| | | wxCode, |
| | | wxOpenId, |
| | | }; |
| | | } |
| | | |
| | |
| | | const isAuth = computed(() => !needAuth || isLogin.value); |
| | | |
| | | const router = Taro.useRouter(); |
| | | useInitWeixinJSBridge(); |
| | | |
| | | Taro.useReady(async () => { |
| | | if (isLogin.value && userStore.firstGetUserDetail) { |
| | |
| | | return { isAuth }; |
| | | } |
| | | |
| | | export function useInitWeixinJSBridge() { |
| | | const { wxCode } = useUser(); |
| | | |
| | | const userStore = useUserStore(); |
| | | const router = Taro.useRouter(); |
| | | |
| | | const code = router.params.code ?? ''; |
| | | |
| | | const { blLifeRecharge } = useLifeRechargeContext(); |
| | | |
| | | Taro.useReady(async () => { |
| | | try { |
| | | //@ts-ignore |
| | | if (!code && isInWeChat && !wxCode.value) { |
| | | location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf940ff1d35a98493&redirect_uri=${location.href}&response_type=code&scope=snsapi_base#wechat_redirect`; |
| | | } |
| | | if (!!code && !wxCode.value) { |
| | | userStore.setWxCode(router.params.code ?? ''); |
| | | let res = await getLifePayWxIndentity(); |
| | | userStore.setWxOpenId(res.openId); |
| | | } |
| | | } catch (error) {} |
| | | }); |
| | | |
| | | async function getLifePayWxIndentity() { |
| | | try { |
| | | let params: APIgetLifePayWxIndentityParams = { |
| | | code: code, |
| | | }; |
| | | let res = await blLifeRecharge.services.getLifePayWxIndentity(params, { |
| | | showLoading: false, |
| | | }); |
| | | return res; |
| | | } catch (error) {} |
| | | } |
| | | } |
| | | |
| | | export function useGoLogin() { |
| | | const router = Taro.useRouter(); |
| | | const { redirectParams } = useLoginedJump(); |