zhengyiming
2025-12-02 0763efd91867241c173135916806f41f7f9b177b
apps/bMiniApp/src/subpackages/login/authorization/authorization.vue
@@ -57,11 +57,11 @@
import { CommonEventFunction, ButtonProps } from '@tarojs/components';
import Taro from '@tarojs/taro';
import { useLoginedJump } from '@/hooks';
import * as accountServices from '@12333/services/api/Account';
import IconCaptcha from '@/assets/login/icon-btn-captcha.png';
import IconPassword from '@/assets/login/icon-btn-password.png';
import { LoginFormTabs } from '../constants';
import { WxMiniAppEnum } from '@12333/constants';
import { subscribeMessageTemplateIdsForB } from '@12333/constants';
import * as authServices from '@12333/services/apiV2/auth';
defineOptions({
  name: 'authorization',
@@ -90,8 +90,8 @@
    RouterPath.authorization.includes(launchOptions.path) && launchOptions.scene === 1047 && uuid
);
const wxIndentityRes = ref<API.WxMiniAppIndentityInfo>();
const wxMiniAppUserLoginRes = ref<API.IdentityModelTokenCacheItem>();
const wxIndentityRes = ref<API.LoginCommandCallback>();
const wxMiniAppUserLoginRes = ref<API.LoginCommandCallback>();
const isAccount = ref(false);
@@ -99,21 +99,21 @@
  try {
    let loginRes = await Taro.login();
    if (isLoginByWeb.value) {
      const wxIndentity = await accountServices.getWxIndentity({
        code: loginRes.code,
        wxMiniApp: WxMiniAppEnum.人单合一,
      });
      wxIndentityRes.value = wxIndentity;
      if (wxIndentityRes.value.userName) {
        isAccount.value = true;
      }
      // const wxIndentity = await authServices.wxmpLogin({
      //   code: loginRes.code,
      //   type: AppLocalConfig.userType,
      // });
      // wxIndentityRes.value = wxIndentity;
      // if (wxIndentityRes.value.isBindPhoneNumber) {
      //   isAccount.value = true;
      // }
    } else {
      const params: API.APIwxMiniAppUserLoginParams = {
      const params: API.WxmpLoginCommand = {
        code: loginRes.code,
        wxMiniApp: WxMiniAppEnum.人单合一,
        type: AppLocalConfig.userType,
      };
      wxMiniAppUserLoginRes.value = await accountServices.wxMiniAppUserLogin(params);
      if (wxMiniAppUserLoginRes.value.accessToken) {
      wxMiniAppUserLoginRes.value = await authServices.wxmpLogin(params);
      if (wxMiniAppUserLoginRes.value?.isBindPhoneNumber) {
        isAccount.value = true;
      }
    }
@@ -126,14 +126,14 @@
    console.log('errMsg: ', errMsg, isLoginByWeb.value);
    if (errMsg === 'getPhoneNumber:ok') {
      if (isLoginByWeb.value) {
        let res = await userStore.wxMiniAppPhoneAuthLoginFromScan(
          ev.detail,
          wxIndentityRes.value,
          uuid
        );
        if (res) {
          handleLoginSuccess();
        }
        // let res = await userStore.wxMiniAppPhoneAuthLoginFromScan(
        //   ev.detail,
        //   wxIndentityRes.value,
        //   uuid
        // );
        // if (res) {
        //   handleLoginSuccess();
        // }
      } else {
        let res = await userStore.getTokenByPhone(ev.detail, wxMiniAppUserLoginRes.value);
        if (res) {
@@ -153,10 +153,10 @@
    if (state.policyChecked) {
      if (isLoginByWeb.value) {
        console.log('uuid: ', uuid);
        let res = await userStore.wxMiniAppUserLoginFromScan(wxIndentityRes.value, uuid);
        if (res) {
          handleLoginSuccess();
        }
        // let res = await userStore.wxMiniAppUserLoginFromScan(wxIndentityRes.value, uuid);
        // if (res) {
        //   handleLoginSuccess();
        // }
      } else {
        userStore.loginSuccess(wxMiniAppUserLoginRes.value);
        handleLoginSuccess();
@@ -167,12 +167,34 @@
  } catch (error) {}
}
function handleLoginSuccess() {
  Message.success('授权登录成功', {
    onClosed: () => {
      jump();
    },
  });
async function handleLoginSuccess() {
  try {
    if (!Taro.requestSubscribeMessage) {
      await Message.confirm({ message: '你的微信版本过低,不支持订阅消息,是否继续报名' });
    }
    const res = await Taro.getSetting({
      withSubscriptions: true,
    });
    let setting: boolean[] = [];
    if (res.subscriptionsSetting && res.subscriptionsSetting.itemSettings) {
      setting = subscribeMessageTemplateIdsForB
        .map((id) => res.subscriptionsSetting.itemSettings[id] !== 'accept')
        .filter(Boolean);
    }
    if (setting.length > 0) {
      Taro.requestSubscribeMessage({
        tmplIds: subscribeMessageTemplateIdsForB,
        success: function (res) {
          console.log('res: ', res);
        },
      });
    }
    Message.success('授权登录成功', {
      onClosed: () => {
        jump();
      },
    });
  } catch (error) {}
}
function goLoginByForm(tab = LoginFormTabs.VerificationCodeLogin) {