zhengyiming
2025-02-19 c8724a3d88607516fe95ffb91e4b52c99405d063
apps/cMiniApp/src/stores/modules/user.ts
@@ -26,7 +26,7 @@
  LocationUtils,
} from '@12333/utils';
import DefaultAvatar from '@/assets/components/icon-default-avatar.png';
import { MatchMakingIdentityEnum, WxMiniAppEnum } from '@12333/constants';
import { WxMiniAppEnum } from '@12333/constants';
import { myClient } from '@/constants/query';
import { globalEventEmitter } from '@12333/hooks';
@@ -36,9 +36,6 @@
  refreshToken?: Nullable<string>;
  userDetail?: Nullable<API.UserInfoV2>;
  firstGetUserDetail?: boolean;
  matchMakingIdentity?: MatchMakingIdentityEnum;
  /**是否有设置过身份 */
  isSetMatchMakingIdentity?: boolean;
  locationCity?: string;
  locationProvince?: string;
@@ -61,18 +58,6 @@
  }
);
function initMatchMakingIdentity(userDetail: API.UserInfoV2): MatchMakingIdentityEnum {
  if (!userDetail) {
    const cacheMatchMakingIdentity = getMatchMakingIdentity();
    return cacheMatchMakingIdentity
      ? cacheMatchMakingIdentity
      : MatchMakingIdentityEnum.Contributors;
  } else if (!userDetail?.matchMakingIdentity) {
    return MatchMakingIdentityEnum.Contributors;
  }
  return userDetail?.matchMakingIdentity;
}
export const useUserStore = defineStore({
  id: 'app-user',
  state: (): UserState => {
@@ -89,10 +74,6 @@
      refreshToken: userInfo?.refreshToken ?? '',
      userDetail: userDetail,
      firstGetUserDetail: true,
      matchMakingIdentity: initMatchMakingIdentity(userDetail),
      isSetMatchMakingIdentity: userDetail
        ? !!userDetail.matchMakingIdentity || !!getMatchMakingIdentity()
        : !!getMatchMakingIdentity(),
      locationCity: storageLocation?.city ?? '北京市',
      locationProvince: storageLocation?.province ?? '北京',
      firstSetLocation: true,
@@ -134,7 +115,7 @@
            sessionKey: wxMiniAppUserLoginRes.sessionKey,
            encryptedData: detail.encryptedData,
            iv: detail.iv,
            wxMiniApp: WxMiniAppEnum.人单合一,
            wxMiniApp: WxMiniAppEnum.C端小程序,
          };
          res = await accountServices.wxMiniAppPhoneAuthLogin(params);
          this.loginSuccess(res);
@@ -208,7 +189,7 @@
          sessionKey: wxIndentityRes.sessionKey,
          encryptedData: detail.encryptedData,
          iv: detail.iv,
          wxMiniApp: WxMiniAppEnum.人单合一,
          wxMiniApp: WxMiniAppEnum.C端小程序,
        });
        this.loginSuccess(res);
        return res;
@@ -227,8 +208,6 @@
          res.avatarUrl = res.avatarUrl ? setOSSLink(res.avatarUrl) : DefaultAvatar;
          this.setUserDetail(res);
          this.firstGetUserDetail = false;
          this.matchMakingIdentity = initMatchMakingIdentity(res);
          this.isSetMatchMakingIdentity = true;
        }
      } catch (error) {}
    },
@@ -309,38 +288,16 @@
      }
    },
    async setMatchMakingIdentity(params: API.SetMatchMakingIdentityInput) {
      try {
        let res = 1;
        if (this.userDetail) {
          res = await userServices.setMatchMakingIdentity(params);
        }
        if (res) {
          if (!this.userDetail) {
            setMatchMakingIdentity(params.matchMakingIdentity);
          }
          this.matchMakingIdentity = params.matchMakingIdentity;
          this.isSetMatchMakingIdentity = true;
          return res;
        }
      } 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;
    },
  },