1. 管理员管理模块拆分

2. 图片上传自动压缩(大于850kb)
3. 省市区选择组件重构,支持搜索
This commit is contained in:
李琦
2026-05-27 09:34:08 +08:00
parent 68fd7b0045
commit 402da17e3d
56 changed files with 4188 additions and 13664 deletions

View File

@@ -43,6 +43,7 @@ const QuickReplyBubbles = computed(() => {
import CustomTextarea from './CustomTextarea.vue';
import EmojiPicker from './EmojiPicker.vue';
import FileUploadPreview from './FileUploadPreview.vue';
import { prepareImageForUpload } from '#/utils/prepare-image-upload';
// 定义 props
const props = defineProps({
@@ -226,7 +227,7 @@ const handlePasteFile = (file) => {
};
// 处理粘贴的文件
const handleFileFromPaste = (file, type) => {
const handleFileFromPaste = async (file, type) => {
// 文件大小检查
const maxSize = type === 'image' ? 10 * 1024 * 1024 : 50 * 1024 * 1024;
if (file.size > maxSize) {
@@ -237,14 +238,27 @@ const handleFileFromPaste = (file, type) => {
return;
}
let uploadFile = file;
let compressMeta = null;
if (type === 'image') {
const prepared = await prepareImageForUpload(file);
if (!prepared.file) {
return;
}
uploadFile = prepared.file;
compressMeta = prepared.meta;
}
const reader = new FileReader();
reader.addEventListener('load', (e) => {
uploadPreview.value = {
type,
url: e.target.result,
name: file.nick_name,
size: file.size,
file,
name: file.name,
size: uploadFile.size,
file: uploadFile,
compressMeta,
};
});