From afb9410b3794275c180cdd66e3ca54fd32888d33 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 14 八月 2025 16:00:27 +0800
Subject: [PATCH] fix: 灵工管理
---
apps/bMiniApp/src/hooks/user.ts | 12 ++--
apps/bMiniApp/src/stores/modules/user.ts | 42 +++++++------
apps/bMiniApp/src/pages/mine/index.vue | 23 +++++--
apps/bMiniApp/src/utils/storage/auth.ts | 4
apps/cMiniApp/src/hooks/user.ts | 2
packages/services/apiV2/typings.d.ts | 3 +
apps/cMiniApp/src/utils/storage/auth.ts | 4
apps/cMiniApp/src/stores/modules/user.ts | 33 +++++-----
apps/cMiniApp/src/pages/mine/index.vue | 32 ++--------
types/api.d.ts | 13 +++
10 files changed, 85 insertions(+), 83 deletions(-)
diff --git a/apps/bMiniApp/src/hooks/user.ts b/apps/bMiniApp/src/hooks/user.ts
index 28b1083..8e97ad1 100644
--- a/apps/bMiniApp/src/hooks/user.ts
+++ b/apps/bMiniApp/src/hooks/user.ts
@@ -11,9 +11,9 @@
const { userDetail, userInfo, locationCity } = storeToRefs(userStore);
- // function updateUserInfo() {
- // return userStore.getCurrentUserInfo();
- // }
+ function updateUserInfo() {
+ return userStore.getCurrentUserInfo();
+ }
// const isCompanyAudited = computed(() => {
// return userDetail.value?.openHRSiteStatus === ParkOrHRStatus.Running;
@@ -31,13 +31,13 @@
// });
const isCertified = computed(() => {
- return false;
+ return userDetail.value?.isReal;
});
return {
user: userInfo,
userDetail: userDetail,
- // updateUserInfo,
+ updateUserInfo,
// isCompletePersonalInfo,
// isCompanyAudited,
isCertified,
@@ -67,7 +67,7 @@
Taro.useReady(async () => {
if (isLogin.value && userStore.firstGetUserDetail) {
- // userStore.getCurrentUserInfo();
+ userStore.getCurrentUserInfo();
}
if (needAuth && !isLogin.value) {
Taro.navigateTo({
diff --git a/apps/bMiniApp/src/pages/mine/index.vue b/apps/bMiniApp/src/pages/mine/index.vue
index 66b072b..27499bb 100644
--- a/apps/bMiniApp/src/pages/mine/index.vue
+++ b/apps/bMiniApp/src/pages/mine/index.vue
@@ -17,17 +17,25 @@
<UserAvatar :size="60" class="mine-avatar" />
<div class="user-info" v-if="isLogin">
<div class="user-info-item">
- <div class="user-info-item-name">{{ userDetail?.userName ?? '123' }}</div>
+ <div class="user-info-item-name">{{ userDetail?.name ?? '' }}</div>
<div class="user-info-item-gender">
- <img v-if="1" :src="IconMale" class="user-info-item-gender-icon" />
- <img v-else :src="IconFemale" class="user-info-item-gender-icon" />
+ <img
+ v-if="userDetail?.gender === EnumUserGender.Male"
+ :src="IconMale"
+ class="user-info-item-gender-icon"
+ />
+ <img
+ v-else-if="userDetail?.gender === EnumUserGender.Female"
+ :src="IconFemale"
+ class="user-info-item-gender-icon"
+ />
</div>
- <div class="user-info-item-position">绠$悊鍛�</div>
+ <div class="user-info-item-position">{{ (userDetail?.roles ?? []).join(',') }}</div>
</div>
<div class="user-info-item">
<template v-if="isCertified">
<div class="user-info-certified-text">
- {{ userDetail?.customerName ?? '123' }}
+ {{ userDetail?.enterpriseName ?? '' }}
</div>
<div class="user-info-certified-btn">宸茶璇�</div>
</template>
@@ -112,6 +120,7 @@
import { useUserStore } from '@/stores/modules/user';
import { useQueryClient } from '@tanstack/vue-query';
import { TaskDetailWelfareItem } from '@12333/components';
+import { EnumUserGender } from '@12333/constants';
const userStore = useUserStore();
const queryClient = useQueryClient();
@@ -144,9 +153,9 @@
Taro.useShareAppMessage((res) => {
return {
- title: `${userDetail.value?.contacter}鍚嶇墖`,
+ title: `${userDetail.value?.name}鍚嶇墖`,
// path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`,
- imageUrl: userDetail.value?.avatarUrl,
+ imageUrl: userDetail.value?.avatar,
};
});
diff --git a/apps/bMiniApp/src/stores/modules/user.ts b/apps/bMiniApp/src/stores/modules/user.ts
index 3683e94..af03a0b 100644
--- a/apps/bMiniApp/src/stores/modules/user.ts
+++ b/apps/bMiniApp/src/stores/modules/user.ts
@@ -31,7 +31,7 @@
userInfo?: Nullable<API.LoginCommandCallback>;
token?: Nullable<string>;
refreshToken?: Nullable<string>;
- userDetail?: Nullable<API.UserInfoV2>;
+ userDetail?: Nullable<API.GetEnterpriseLoginInfoQueryResult>;
firstGetUserDetail?: boolean;
locationCity?: string;
@@ -83,6 +83,10 @@
accountInfo(): Partial<AccountInfo> {
return getAccountInfoFromAccessToken(this.userInfo?.accessToken);
+ },
+
+ userId: (state) => {
+ return state.userDetail?.id;
},
// matchMakingIdentity(state): MatchMakingIdentityEnum {
@@ -152,9 +156,7 @@
try {
this.setUserInfoAction(res);
this.setTokenAction(res);
- console.log('22', 22);
- myClient.refetchQueries();
- // await this.getCurrentUserInfo();
+ await this.getCurrentUserInfo();
} catch (error) {}
},
@@ -189,21 +191,21 @@
// } catch (error) {}
},
- // async getCurrentUserInfo() {
- // 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;
- // }
- // } catch (error) {}
- // },
+ async getCurrentUserInfo() {
+ try {
+ let res = await authServices.getEnterpriseLoginInfo({}, { showLoading: false });
+ if (res) {
+ // res.frontStatus = getUserCertificationFrontStatusAdapter(
+ // res.userCertificationStatus,
+ // res.userCertificationAuditStatus
+ // );
+ res.originalAvatar = res.avatar;
+ res.avatar = res.avatar ? setOSSLink(res.avatar) : DefaultAvatar;
+ this.setUserDetail(res);
+ this.firstGetUserDetail = false;
+ }
+ } catch (error) {}
+ },
setTokenAction(tokenInfo: API.IdentityModelTokenCacheItem) {
this.token = tokenInfo?.accessToken;
@@ -215,7 +217,7 @@
setUserInfo(info);
},
- setUserDetail(detail: API.UserInfoV2) {
+ setUserDetail(detail: API.GetEnterpriseLoginInfoQueryResult) {
this.userDetail = detail;
setUserDetail(detail);
},
diff --git a/apps/bMiniApp/src/utils/storage/auth.ts b/apps/bMiniApp/src/utils/storage/auth.ts
index ecf237f..e5e8fda 100644
--- a/apps/bMiniApp/src/utils/storage/auth.ts
+++ b/apps/bMiniApp/src/utils/storage/auth.ts
@@ -29,10 +29,10 @@
}
export function getUserDetail() {
- return storageLocal.getItem<API.UserInfoV2>(StorageKey.USER_DETAIL_KEY);
+ return storageLocal.getItem<API.GetEnterpriseLoginInfoQueryResult>(StorageKey.USER_DETAIL_KEY);
}
-export function setUserDetail(userDetail: API.UserInfoV2) {
+export function setUserDetail(userDetail: API.GetEnterpriseLoginInfoQueryResult) {
return storageLocal.setItem(StorageKey.USER_DETAIL_KEY, userDetail);
}
diff --git a/apps/cMiniApp/src/hooks/user.ts b/apps/cMiniApp/src/hooks/user.ts
index a0d6025..e78bd97 100644
--- a/apps/cMiniApp/src/hooks/user.ts
+++ b/apps/cMiniApp/src/hooks/user.ts
@@ -33,7 +33,7 @@
});
const isCertified = computed(() => {
- return false;
+ return userDetail.value?.isReal;
});
return {
diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 0c53077..7bddbbd 100644
--- a/apps/cMiniApp/src/pages/mine/index.vue
+++ b/apps/cMiniApp/src/pages/mine/index.vue
@@ -16,7 +16,7 @@
<div class="mine-avatar-wrapper" @click="goLogin">
<UserAvatar :size="52" class="mine-avatar" />
<div class="user-info" v-if="isLogin">
- <div class="user-info-item">{{ detail?.name ?? '' }}</div>
+ <div class="user-info-item">{{ userDetail?.name ?? '' }}</div>
<div class="user-info-auth">
<div class="user-info-auth-item">
<div class="user-info-unCertified" v-if="isCertified">
@@ -67,7 +67,7 @@
<nut-badge
class="mine-order-list-item"
top="8"
- :value="detail?.taskCount ?? 0"
+ :value="userDetail?.taskCount ?? 0"
@click="goMineSign"
>
<img :src="IconOrderSign" class="mine-order-list-icon" />
@@ -76,7 +76,7 @@
<nut-badge
class="mine-order-list-item"
top="8"
- :value="detail?.hirePassTaskCount ?? 0"
+ :value="userDetail?.hirePassTaskCount ?? 0"
@click="goMineHire"
>
<img :src="IconOrderHire" class="mine-order-list-icon" />
@@ -85,7 +85,7 @@
<nut-badge
class="mine-order-list-item"
top="8"
- :value="detail?.hireRefuseTaskCount ?? 0"
+ :value="userDetail?.hireRefuseTaskCount ?? 0"
@click="goMineCancel"
>
<img :src="IconOrderCancel" class="mine-order-list-icon" />
@@ -124,35 +124,15 @@
import { useQuery } from '@tanstack/vue-query';
import * as authServices from '@12333/services/apiV2/auth';
-const { userDetail, isCertified } = useUser();
-console.log('isCertified: ', isCertified);
+const { userDetail, isCertified, updateUserInfo } = useUser();
const isLogin = useIsLogin();
const systemStore = useSystemStore();
const { goLoginFn } = useGoLogin();
const bgHeight = computed(() => 133 + systemStore.navHeight);
-const {
- isLoading,
- isError,
- data: detail,
- refetch,
-} = useQuery({
- queryKey: ['authServices/getPersonalLoginInfo'],
- queryFn: async () => {
- return await authServices.getPersonalLoginInfo(
- {},
- {
- showLoading: false,
- }
- );
- },
- placeholderData: () => ({} as API.GetPersonalLoginInfoQueryResult),
- enabled: isLogin,
-});
-
Taro.useDidShow(() => {
- refetch();
+ updateUserInfo();
});
function goLogin() {
diff --git a/apps/cMiniApp/src/stores/modules/user.ts b/apps/cMiniApp/src/stores/modules/user.ts
index e654cf3..1606ae7 100644
--- a/apps/cMiniApp/src/stores/modules/user.ts
+++ b/apps/cMiniApp/src/stores/modules/user.ts
@@ -31,7 +31,7 @@
userInfo?: Nullable<API.LoginCommandCallback>;
token?: Nullable<string>;
refreshToken?: Nullable<string>;
- userDetail?: Nullable<API.UserInfoV2>;
+ userDetail?: Nullable<API.GetPersonalLoginInfoQueryResult>;
firstGetUserDetail?: boolean;
locationCity?: string;
@@ -86,7 +86,7 @@
},
userId: (state) => {
- return state.userInfo?.id ?? '';
+ return state.userDetail?.id ?? '';
},
},
actions: {
@@ -152,7 +152,6 @@
try {
this.setUserInfoAction(res);
this.setTokenAction(res);
- myClient.refetchQueries();
await this.getCurrentUserInfo();
} catch (error) {}
},
@@ -189,19 +188,19 @@
},
async getCurrentUserInfo() {
- // 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;
- // }
- // } catch (error) {}
+ try {
+ let res = await authServices.getPersonalLoginInfo({}, { showLoading: false });
+ if (res) {
+ // res.frontStatus = getUserCertificationFrontStatusAdapter(
+ // res.userCertificationStatus,
+ // res.userCertificationAuditStatus
+ // );
+ res.originalAvatar = res.avatar;
+ res.avatar = res.avatar ? setOSSLink(res.avatar) : DefaultAvatar;
+ this.setUserDetail(res);
+ this.firstGetUserDetail = false;
+ }
+ } catch (error) {}
},
setTokenAction(tokenInfo: API.LoginCommandCallback) {
@@ -217,7 +216,7 @@
setUserInfo(this.userInfo);
},
- setUserDetail(detail: API.UserInfoV2) {
+ setUserDetail(detail: API.GetPersonalLoginInfoQueryResult) {
this.userDetail = detail;
setUserDetail(detail);
},
diff --git a/apps/cMiniApp/src/utils/storage/auth.ts b/apps/cMiniApp/src/utils/storage/auth.ts
index ecf237f..d82d35c 100644
--- a/apps/cMiniApp/src/utils/storage/auth.ts
+++ b/apps/cMiniApp/src/utils/storage/auth.ts
@@ -29,10 +29,10 @@
}
export function getUserDetail() {
- return storageLocal.getItem<API.UserInfoV2>(StorageKey.USER_DETAIL_KEY);
+ return storageLocal.getItem<API.GetPersonalLoginInfoQueryResult>(StorageKey.USER_DETAIL_KEY);
}
-export function setUserDetail(userDetail: API.UserInfoV2) {
+export function setUserDetail(userDetail: API.GetPersonalLoginInfoQueryResult) {
return storageLocal.setItem(StorageKey.USER_DETAIL_KEY, userDetail);
}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index e209d27..073461a 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -1936,6 +1936,7 @@
avatar?: string;
/** 濮撳悕 */
name?: string;
+ gender?: EnumUserGender;
/** 浼佷笟鍏ㄧО */
enterpriseName?: string;
/** 瑙掕壊 */
@@ -2324,6 +2325,8 @@
interface GetPersonalLoginInfoQueryResult {
/** Id */
id?: string;
+ /** 澶村儚 */
+ avatar?: string;
/** 濮撳悕 */
name?: string;
/** 鏄惁瀹炲悕 */
diff --git a/types/api.d.ts b/types/api.d.ts
index f610eb0..03f010b 100644
--- a/types/api.d.ts
+++ b/types/api.d.ts
@@ -20,13 +20,22 @@
*/
frontStatus?: number
}
- interface UserInfoV2 {
+ interface GetEnterpriseLoginInfoQueryResult {
/**
* 鍓嶇鐢ㄤ簬鍒ゆ柇鐘舵�佺殑status
*/
frontStatus?: number
/**鎺ュ彛杩斿洖鐨勫師濮嬪ご鍍� */
- originalAvatarUrl?: string
+ originalAvatar?: string
+ }
+
+ interface GetPersonalLoginInfoQueryResult {
+ /**
+ * 鍓嶇鐢ㄤ簬鍒ゆ柇鐘舵�佺殑status
+ */
+ frontStatus?: number
+ /**鎺ュ彛杩斿洖鐨勫師濮嬪ご鍍� */
+ originalAvatar?: string
}
interface SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOptionMap{
--
Gitblit v1.9.1