Browse Source

fix(app): 优化个人信息页面背景和头像上传逻辑

EvilDragon 5 months ago
parent
commit
5270264a74

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

@@ -124,7 +124,7 @@ onPageScroll(({ scrollTop }: { scrollTop: number }) => {
       </div>
     </StartMenuButton> -->
     <div
-      class="bg-black/30 backdrop-blur-[60px] flex flex-col justify-end box-border"
+      class="bg-black/30 backdrop-blur-[60px] flex flex-col justify-end box-border bg-[url(https://image.zhuchaohui.com/zhucaohui/723968e69b86768f546f5df6cf03f25e2aa5c989e4f781a4fe90079dedd39fdd.jpg)]"
       :class="[userInfo.userStatusEnabled ? 'aspect-[0.94/1] pb-44' : 'aspect-[1.15/1] pb-20']"
     >
       <div class="my-6.5 px-3.5 flex">

+ 23 - 5
packages/app/src/pages/mine/setting/index.vue

@@ -9,15 +9,33 @@ import { updateMemberUserInfo } from '../../../core/libs/requests'
 
 const userStore = useUserStore()
 const { userInfo } = storeToRefs(userStore)
+const { setUserInfo } = userStore
 const handleChooseAvatar = async ({ detail: { avatarUrl } }) => {
-  console.log(avatarUrl)
-  const { code, msg } = await updateMemberUserInfo({ avatar: avatarUrl })
-  code !== 0 &&
+  const { data } = await uni.uploadFile({
+    url: '/app-api/infra/file/upload',
+    filePath: avatarUrl,
+    name: 'file',
+  })
+  const { data: url } = JSON.parse(data)
+  console.log(url)
+
+  const { code, msg } = await updateMemberUserInfo({ avatar: url })
+  if (code === 0) {
     uni.showToast({
-      title: msg,
+      title: '修改成功',
       icon: 'none',
-      mask: true,
     })
+    setUserInfo({
+      ...userInfo.value,
+      avatar: url,
+    })
+    return
+  }
+  uni.showToast({
+    title: msg,
+    icon: 'none',
+    mask: true,
+  })
 }
 </script>
 <template>