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