hookehuyr

fix(profile): 添加确认对话框的按钮文本和颜色

refactor(checkin): 移除未使用的文件预览函数代码
docs(vant): 为弹出框添加注释说明
/*
* @Date: 2025-03-24 13:44:27
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-04-16 18:28:45
* @LastEditTime: 2025-12-16 20:00:58
* @FilePath: /mlaj/src/vant.config.js
* @Description: 文件描述
*/
......@@ -52,4 +52,6 @@ export const themeVars = {
// Picker 选择器
pickerConfirmActionColor: '#22c55e',
// 弹出框
};
......
......@@ -691,86 +691,86 @@ const onClickPreview = (file, detail) => {
* 预览文件
* @param {Object} item - 文件项
*/
const previewFile = (item) => {
console.log('previewFile - item:', item)
console.log('previewFile - item对象的所有属性:', Object.keys(item))
// const previewFile = (item) => {
// console.log('previewFile - item:', item)
// console.log('previewFile - item对象的所有属性:', Object.keys(item))
const fileName = item.name || item.file?.name || ''
// const fileName = item.name || item.file?.name || ''
// 尝试多种方式获取文件URL
let fileUrl = ''
// // 尝试多种方式获取文件URL
// let fileUrl = ''
// 方式1: 直接从item对象获取
if (item.url) {
fileUrl = item.url
console.log('从item.url获取URL:', fileUrl)
}
// 方式2: 从item.value获取
else if (item.value) {
fileUrl = item.value
console.log('从item.value获取URL:', fileUrl)
}
// 方式3: 从item.content获取
else if (item.content) {
fileUrl = item.content
console.log('从item.content获取URL:', fileUrl)
}
// 方式4: 从item.objectURL获取
else if (item.objectURL) {
fileUrl = item.objectURL
console.log('从item.objectURL获取URL:', fileUrl)
}
// 方式5: 从item.file获取
else if (item.file) {
if (item.file.url) {
fileUrl = item.file.url
console.log('从item.file.url获取URL:', fileUrl)
} else {
// 创建临时URL
try {
fileUrl = URL.createObjectURL(item.file)
console.log('通过URL.createObjectURL创建URL:', fileUrl)
} catch (error) {
console.error('创建ObjectURL失败:', error)
}
}
}
// 方式6: 检查是否有其他可能的URL字段
else {
const possibleUrlFields = ['src', 'path', 'href', 'link', 'downloadUrl', 'previewUrl']
for (const field of possibleUrlFields) {
if (item[field]) {
fileUrl = item[field]
console.log(`从item.${field}获取URL:`, fileUrl)
break
}
}
}
// // 方式1: 直接从item对象获取
// if (item.url) {
// fileUrl = item.url
// console.log('从item.url获取URL:', fileUrl)
// }
// // 方式2: 从item.value获取
// else if (item.value) {
// fileUrl = item.value
// console.log('从item.value获取URL:', fileUrl)
// }
// // 方式3: 从item.content获取
// else if (item.content) {
// fileUrl = item.content
// console.log('从item.content获取URL:', fileUrl)
// }
// // 方式4: 从item.objectURL获取
// else if (item.objectURL) {
// fileUrl = item.objectURL
// console.log('从item.objectURL获取URL:', fileUrl)
// }
// // 方式5: 从item.file获取
// else if (item.file) {
// if (item.file.url) {
// fileUrl = item.file.url
// console.log('从item.file.url获取URL:', fileUrl)
// } else {
// // 创建临时URL
// try {
// fileUrl = URL.createObjectURL(item.file)
// console.log('通过URL.createObjectURL创建URL:', fileUrl)
// } catch (error) {
// console.error('创建ObjectURL失败:', error)
// }
// }
// }
// // 方式6: 检查是否有其他可能的URL字段
// else {
// const possibleUrlFields = ['src', 'path', 'href', 'link', 'downloadUrl', 'previewUrl']
// for (const field of possibleUrlFields) {
// if (item[field]) {
// fileUrl = item[field]
// console.log(`从item.${field}获取URL:`, fileUrl)
// break
// }
// }
// }
console.log('最终提取的文件名:', fileName)
console.log('最终提取的文件URL:', fileUrl)
// console.log('最终提取的文件名:', fileName)
// console.log('最终提取的文件URL:', fileUrl)
if (!fileUrl) {
console.warn('文件URL不存在,文件对象完整结构:', JSON.stringify(item, null, 2))
showToast('无法获取文件URL,请检查文件是否上传成功')
return
}
// if (!fileUrl) {
// console.warn('文件URL不存在,文件对象完整结构:', JSON.stringify(item, null, 2))
// showToast('无法获取文件URL,请检查文件是否上传成功')
// return
// }
// 根据打卡类型或文件扩展名判断文件类型
if (activeType.value === 'audio' || isAudioFile(fileName)) {
console.log('准备播放音频:', fileName, fileUrl)
showAudio(fileName, fileUrl)
} else if (activeType.value === 'video' || isVideoFile(fileName)) {
console.log('准备播放视频:', fileName, fileUrl)
showVideo(fileName, fileUrl)
} else if (activeType.value === 'image' || isImageFile(fileName)) {
console.log('准备预览图片:', fileName, fileUrl)
showImage(fileUrl)
} else {
console.log('该文件类型不支持预览,文件名:', fileName, '打卡类型:', activeType.value)
showToast('该文件类型不支持预览')
}
}
// // 根据打卡类型或文件扩展名判断文件类型
// if (activeType.value === 'audio' || isAudioFile(fileName)) {
// console.log('准备播放音频:', fileName, fileUrl)
// showAudio(fileName, fileUrl)
// } else if (activeType.value === 'video' || isVideoFile(fileName)) {
// console.log('准备播放视频:', fileName, fileUrl)
// showVideo(fileName, fileUrl)
// } else if (activeType.value === 'image' || isImageFile(fileName)) {
// console.log('准备预览图片:', fileName, fileUrl)
// showImage(fileUrl)
// } else {
// console.log('该文件类型不支持预览,文件名:', fileName, '打卡类型:', activeType.value)
// showToast('该文件类型不支持预览')
// }
// }
/**
* 判断是否为音频文件
......
<!--
* @Date: 2025-03-24 13:04:21
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-12-04 10:32:03
* @LastEditTime: 2025-12-16 20:00:23
* @FilePath: /mlaj/src/views/profile/SettingsPage.vue
* @Description: 用户设置页面
-->
......@@ -145,6 +145,9 @@ const handleLogout = () => {
showConfirmDialog({
title: '提示',
message: '确定要退出登录吗?',
confirmButtonText: '确定',
cancelButtonText: '取消',
confirmButtonColor: '#22c55e',
})
.then(() => {
// 确认退出
......