fix(upload): 更新头像上传逻辑,使用环境变量作为上传地址,增强成功回调处理
This commit is contained in:
parent
b5a71b7788
commit
008a1cc58a
@ -88,7 +88,7 @@
|
||||
<script lang="ts" setup>
|
||||
import { useUserStore } from '@/store'
|
||||
import { useToast } from 'wot-design-uni'
|
||||
import { uploadFileUrl, useUpload } from '@/utils/uploadFile'
|
||||
import { useUpload } from '@/utils/uploadFile'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { IUploadSuccessInfo } from '@/api/login.typings'
|
||||
|
||||
@ -106,10 +106,13 @@ onShow((options) => {
|
||||
// #ifndef MP-WEIXIN
|
||||
// 上传头像
|
||||
const { run } = useUpload<IUploadSuccessInfo>(
|
||||
uploadFileUrl.USER_AVATAR,
|
||||
import.meta.env.VITE_UPLOAD_BASEURL,
|
||||
{},
|
||||
{
|
||||
onSuccess: (res) => useUserStore().getUserInfo(),
|
||||
onSuccess: (res: string) => {
|
||||
console.log('头像上传成功', res)
|
||||
useUserStore().setUserAvatar(res)
|
||||
},
|
||||
},
|
||||
)
|
||||
// #endif
|
||||
|
@ -34,6 +34,9 @@ export const useUserStore = defineStore(
|
||||
}
|
||||
userInfo.value = val
|
||||
}
|
||||
const setUserAvatar = (avatar: string) => {
|
||||
userInfo.value.avatar = avatar
|
||||
}
|
||||
// 删除用户信息
|
||||
const removeUserInfo = () => {
|
||||
userInfo.value = { ...userInfoState }
|
||||
@ -94,6 +97,7 @@ export const useUserStore = defineStore(
|
||||
login,
|
||||
wxLogin,
|
||||
getUserInfo,
|
||||
setUserAvatar,
|
||||
logout,
|
||||
}
|
||||
},
|
||||
|
@ -61,7 +61,7 @@ export interface UploadOptions {
|
||||
/** 上传进度回调函数 */
|
||||
onProgress?: (progress: number) => void
|
||||
/** 上传成功回调函数 */
|
||||
onSuccess?: (res: UniApp.UploadFileSuccessCallbackResult) => void
|
||||
onSuccess?: (res: string) => void
|
||||
/** 上传失败回调函数 */
|
||||
onError?: (err: Error | UniApp.GeneralCallbackResult) => void
|
||||
/** 上传完成回调函数(无论成功失败) */
|
||||
@ -248,7 +248,7 @@ interface UploadFileOptions<T> {
|
||||
/** 上传进度回调 */
|
||||
onProgress?: (progress: number) => void
|
||||
/** 上传成功回调 */
|
||||
onSuccess?: (res: UniApp.UploadFileSuccessCallbackResult) => void
|
||||
onSuccess?: (res: string) => void
|
||||
/** 上传失败回调 */
|
||||
onError?: (err: Error | UniApp.GeneralCallbackResult) => void
|
||||
/** 上传完成回调 */
|
||||
@ -288,19 +288,13 @@ function uploadFile<T>({
|
||||
},
|
||||
// 确保文件名称合法
|
||||
success: (uploadFileRes) => {
|
||||
console.log('上传文件成功:', uploadFileRes)
|
||||
try {
|
||||
// 解析响应数据
|
||||
const result = JSON.parse(uploadFileRes.data)
|
||||
if (result.code === 1) {
|
||||
const result = uploadFileRes.data
|
||||
// 上传成功
|
||||
data.value = result.data as T
|
||||
onSuccess?.(uploadFileRes)
|
||||
} else {
|
||||
// 业务错误
|
||||
const err = new Error(result.message || '上传失败')
|
||||
error.value = true
|
||||
onError?.(err)
|
||||
}
|
||||
data.value = result as T
|
||||
onSuccess?.(result)
|
||||
} catch (err) {
|
||||
// 响应解析错误
|
||||
console.error('解析上传响应失败:', err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user