zhengyiming
5 天以前 dd0a3e0ed394983c4fbacdab64cad6f8de5b4884
apps/cMiniApp/src/stores/modules/user.ts
@@ -8,9 +8,6 @@
  setUserDetail,
  getUserDetail,
  removeUserDetail,
  removeMatchMakingIdentity,
  getMatchMakingIdentity,
  setMatchMakingIdentity,
} from '@/utils/storage/auth';
import * as accountServices from '@12333/services/api/Account';
import * as userServices from '@12333/services/api/User';
@@ -24,14 +21,17 @@
  setOSSLink,
  getUserCertificationFrontStatusAdapter,
  LocationUtils,
  md5Encrypt,
} from '@12333/utils';
import DefaultAvatar from '@/assets/components/icon-default-avatar.png';
import { WxMiniAppEnum } from '@12333/constants';
import { myClient } from '@/constants/query';
import { globalEventEmitter } from '@12333/hooks';
import * as authServices from '@12333/services/apiV2/auth';
import { AppLocalConfig } from '@/constants';
interface UserState {
  userInfo?: Nullable<API.IdentityModelTokenCacheItem>;
  userInfo?: Nullable<API.PasswordLoginCommandCallback>;
  token?: Nullable<string>;
  refreshToken?: Nullable<string>;
  userDetail?: Nullable<API.UserInfoV2>;
@@ -80,15 +80,6 @@
    };
  },
  getters: {
    cacheToken: (state) => {
      if (!state.token) {
        const storageToken = getCacheToken() as API.IdentityModelTokenCacheItem;
        state.token = storageToken.accessToken;
      }
      return state.token || null;
    },
    cacheRefreshToken: (state) => {
      return state.refreshToken;
    },
@@ -96,10 +87,6 @@
    accountInfo(): Partial<AccountInfo> {
      return getAccountInfoFromAccessToken(this.userInfo?.accessToken);
    },
    // matchMakingIdentity(state): MatchMakingIdentityEnum {
    // },
  },
  actions: {
    // 手机号授权Code登录
@@ -115,7 +102,7 @@
            sessionKey: wxMiniAppUserLoginRes.sessionKey,
            encryptedData: detail.encryptedData,
            iv: detail.iv,
            wxMiniApp: WxMiniAppEnum.人单合一,
            wxMiniApp: WxMiniAppEnum.C端小程序,
          };
          res = await accountServices.wxMiniAppPhoneAuthLogin(params);
          this.loginSuccess(res);
@@ -143,11 +130,13 @@
    },
    // 用户账号密码登入
    async loginByPassword(data: API.AccessRequestDto) {
      let res = await accountServices.passwordLogin(
    async loginByPassword(params: API.PasswordLoginCommand) {
      let res = await authServices.passwordLogin(
        {
          loginName: data.userName,
          password: data.userPassword,
          userName: params.userName,
          password: md5Encrypt(params.password),
          type: AppLocalConfig.userType,
          clientType: AppLocalConfig.clientType,
        },
        { showLoading: false }
      );
@@ -157,7 +146,7 @@
      return res;
    },
    async loginSuccess(res: API.IdentityModelTokenCacheItem) {
    async loginSuccess(res: API.PasswordLoginCommandCallback) {
      try {
        this.setUserInfoAction(res);
        this.setTokenAction(res);
@@ -189,7 +178,7 @@
          sessionKey: wxIndentityRes.sessionKey,
          encryptedData: detail.encryptedData,
          iv: detail.iv,
          wxMiniApp: WxMiniAppEnum.人单合一,
          wxMiniApp: WxMiniAppEnum.C端小程序,
        });
        this.loginSuccess(res);
        return res;
@@ -200,24 +189,24 @@
      try {
        let res = await userServices.getUserInfo({ showLoading: false });
        if (res) {
          res.frontStatus = getUserCertificationFrontStatusAdapter(
            res.userCertificationStatus,
            res.userCertificationAuditStatus
          );
          res.originalAvatarUrl = res.avatarUrl;
          res.avatarUrl = res.avatarUrl ? setOSSLink(res.avatarUrl) : DefaultAvatar;
          this.setUserDetail(res);
          this.firstGetUserDetail = false;
          // res.frontStatus = getUserCertificationFrontStatusAdapter(
          //   res.userCertificationStatus,
          //   res.userCertificationAuditStatus
          // );
          // res.originalAvatarUrl = res.avatarUrl;
          // res.avatarUrl = res.avatarUrl ? setOSSLink(res.avatarUrl) : DefaultAvatar;
          // this.setUserDetail(res);
          // this.firstGetUserDetail = false;
        }
      } catch (error) {}
    },
    setTokenAction(tokenInfo: API.IdentityModelTokenCacheItem) {
    setTokenAction(tokenInfo: API.PasswordLoginCommandCallback) {
      this.token = tokenInfo?.accessToken;
      this.refreshToken = tokenInfo.refreshToken ?? '';
    },
    setUserInfoAction(info: API.IdentityModelTokenCacheItem) {
    setUserInfoAction(info: API.PasswordLoginCommandCallback) {
      this.userInfo = info;
      setUserInfo(info);
    },
@@ -234,7 +223,6 @@
      this.userDetail = null;
      removeUserInfo();
      removeUserDetail();
      removeMatchMakingIdentity();
    },
    /**
@@ -271,36 +259,16 @@
      }
    },
    async getTokenByRefreshToken(params: API.AccessRefreshToken) {
      try {
        const res = await accountServices.getTokenByRefreshToken(params, {
          showLoading: false,
        });
        if (res) {
          this.setTokenAction(res);
          this.setUserInfoAction(res);
          return res;
        } else {
          throw new Error('刷新token失败');
        }
      } catch (error) {
        throw new Error('error');
      }
    },
    setLocationCity(cityName: string, provinceName: string) {
      this.locationCity = cityName;
      this.locationProvince = provinceName;
      this.firstSetLocation = false;
      setStorageLocationCity({ city: cityName, province: provinceName });
      if (LocationUtils.isProvinceChange(provinceName)) {
        this.resetState();
        myClient.removeQueries();
        globalEventEmitter.trigger('logout/refresh');
        // myClient.invalidateQueries({
        //   queryKey: ['logout/refresh'],
        // });
      }
      // if (LocationUtils.isProvinceChange(provinceName)) {
      //   this.resetState();
      //   myClient.removeQueries();
      //   globalEventEmitter.trigger('logout/refresh');
      // }
      LocationUtils.currentProvinceName = provinceName;
    },
  },