Ver código fonte

fix(app/mine): 新增认证功能及个人主页入口

EvilDragon 5 meses atrás
pai
commit
fa21ee5633

+ 2 - 0
packages/app/src/core/libs/svgs.ts

@@ -31,6 +31,7 @@ import route from '@/assets/svgs/route.svg'
 import system from '@/assets/svgs/system.svg'
 import interact from '@/assets/svgs/interact.svg'
 import success from '@/assets/svgs/success.svg'
+import scan from '@/assets/svgs/scan.svg'
 export {
   polygon16,
   frame,
@@ -65,4 +66,5 @@ export {
   system,
   interact,
   success,
+  scan,
 }

+ 8 - 1
packages/app/src/pages/mine/authentication/index.vue

@@ -9,6 +9,7 @@ import DataForm from '@/components/data-form.vue'
 import SectionHeading from '@/components/section-heading.vue'
 import StartMenuButton from '@/components/start-menu-button.vue'
 import { createUserAuthInfo, getByDictType } from '@/core/libs/requests'
+import { scan } from '@/core/libs/svgs'
 import { useUserStore } from '@/store'
 import { storeToRefs } from 'pinia'
 import { useMessage, useToast } from 'wot-design-uni'
@@ -72,6 +73,7 @@ const handleSubmit = async () => {
   const { code, msg } = await createUserAuthInfo({
     gender: userInfo.value.sex,
     attachment: 'https://via.placeholder.com/319x204',
+    userId: userInfo.value.userId,
     ...formData.value,
   })
   if (code === 0) {
@@ -89,7 +91,12 @@ onMounted(async () => {
 </script>
 <template>
   <div class="flex-grow flex flex-col p-3.5 gap-3.5">
-    <StartMenuButton />
+    <StartMenuButton>
+      1
+      <!-- <wd-button type="icon">
+        <wd-img wdith="25" height="25" :src="scan"></wd-img>
+      </wd-button> -->
+    </StartMenuButton>
     <Card>
       <SectionHeading size="base" title="基本信息"></SectionHeading>
       <DataForm v-model="formData" :schema="schema" direction="horizontal"></DataForm>

+ 24 - 2
packages/app/src/pages/mine/index.vue

@@ -8,7 +8,7 @@ import CardMenu from '@/components/card-menu.vue'
 import SectionHeading from '@/components/section-heading.vue'
 import StartMenuButton from '@/components/start-menu-button.vue'
 import { designer, settled, treaty, vipBg } from '@/core/libs/pngs'
-import { integral, coupon, order, agent, setting, vip } from '@/core/libs/svgs'
+import { integral, coupon, order, agent, setting, vip, scan } from '@/core/libs/svgs'
 import { getMemberUserInfo } from '@/core/libs/requests'
 import { useUserStore } from '@/store'
 import { storeToRefs } from 'pinia'
@@ -76,6 +76,9 @@ const handleToAuthentication = () => {
   if (!isLogined.value) return
   uni.navigateTo({ url: '/pages/mine/authentication/index' })
 }
+const handleToHomepage = () => {
+  uni.navigateTo({ url: '/pages/mine/homepage/index' })
+}
 onMounted(async () => {
   // await run()
   // console.log(data.value)
@@ -85,7 +88,13 @@ onMounted(async () => {
 <template>
   <view>
     <div class="bg-black/30 backdrop-blur-[60px] aspect-[1.15/1]">
-      <StartMenuButton />
+      <StartMenuButton>
+        <div class="flex">
+          <wd-button type="text" size="small" custom-class="p-0!" :round="false">
+            <wd-img width="25" height="25" :src="scan" custom-class="vertical-bottom"></wd-img>
+          </wd-button>
+        </div>
+      </StartMenuButton>
       <div class="my-6.5 px-3.5 flex">
         <img class="w-[72px] h-[72px] rounded-full border border-white" :src="avatar" />
         <div class="ms-3.5 ml-3.5">
@@ -96,6 +105,7 @@ onMounted(async () => {
             {{ !isLogined ? '请点击登录' : userInfo?.nickname }}
           </div>
           <div
+            v-if="!userInfo.userStatusEnabled"
             class="mt-2 w-[63px] h-[26px] bg-black/10 rounded-[20px] border border-white/60 flex items-center justify-center"
           >
             <div
@@ -104,6 +114,18 @@ onMounted(async () => {
               未认证
             </div>
           </div>
+          <div
+            v-if="userInfo.userStatusEnabled"
+            class="flex items-center text-white"
+            @click="handleToHomepage"
+          >
+            <div
+              class="text-center text-white text-sm font-normal font-['PingFang SC'] leading-normal"
+            >
+              个人主页
+            </div>
+            <wd-icon name="arrow-right"></wd-icon>
+          </div>
         </div>
       </div>
       <div class="px-3.5 flex items-center">