Browse Source

feat(member-levels): 添加会员头像框功能

EvilDragon 2 months ago
parent
commit
f52a11a453

+ 10 - 2
packages/app/src/components/moment-item.vue

@@ -31,7 +31,7 @@ const emits = defineEmits<{
 const router = useRouter()
 const { features, clickByPermission } = usePermissions()
 const memberLevelsStore = useMemberLevelsStore()
-const { getMemberLevelLogo } = memberLevelsStore
+const { getMemberLevelLogo, getMemberAvatarFrame } = memberLevelsStore
 const dictStore = useDictStore()
 const { getOptionLabel } = dictStore
 const imgClass = ref('')
@@ -76,7 +76,7 @@ onMounted(async () => {
     <Card>
       <view class="flex items-center gap-2">
         <view
-          class="overflow-hidden rounded-full"
+          class="relative"
           @click.stop="
             features.toDesignerHomePage &&
             ['1', '2'].includes(options?.circleType) &&
@@ -88,9 +88,17 @@ onMounted(async () => {
             custom-class="vertical-bottom"
             :width="35"
             :height="35"
+            round
             :src="props.options.headUrl || NetImages.DefaultAvatar"
             mode="scaleToFill"
           />
+          <wd-img
+            v-if="getMemberAvatarFrame(options?.levelId)"
+            custom-class="vertical-bottom absolute! top--1.25 left--1.25"
+            :width="40"
+            :height="40"
+            :src="getMemberAvatarFrame(options?.levelId) || ''"
+          ></wd-img>
         </view>
         <view class="">{{ props.options.stylistName || props.options.marketing }}</view>
         <template v-if="getMemberLevelLogo(options?.levelId)">

+ 1 - 0
packages/app/src/core/libs/requests.ts

@@ -861,6 +861,7 @@ export const getAppMemberLevelConfigs = () =>
       status: number
       createTime: string
       logo: string
+      avatar?: string
       setMemberRights: {
         createTime: string
         updateTime: string

+ 3 - 0
packages/app/src/store/member-levles.ts

@@ -10,11 +10,14 @@ export const useMemberLevelsStore = defineStore('', () => {
   )
   const memberLevelsById = (id: number) => memberLevels.value.find((item) => item.id === id)
   const getMemberLevelLogo = (id: number) => memberLevelsById(id)?.logo
+  // 获取头像框
+  const getMemberAvatarFrame = (id: number) => memberLevelsById(id)?.avatar
   fetchMemberLevels().then()
   return {
     memberLevels,
     fetchMemberLevels,
     memberLevelsById,
     getMemberLevelLogo,
+    getMemberAvatarFrame,
   }
 })