Эх сурвалжийг харах

😎1、修复个人中心头像上传bug 2、升级npm包依赖

zuohuaijun 1 жил өмнө
parent
commit
e850edcfea

+ 10 - 10
Web/package.json

@@ -2,7 +2,7 @@
 	"name": "admin.net",
 	"type": "module",
 	"version": "2.4.33",
-	"lastBuildTime": "2024.09.01",
+	"lastBuildTime": "2024.09.05",
 	"description": "Admin.NET 站在巨人肩膀上的 .NET 通用权限开发框架",
 	"author": "zuohuaijun",
 	"license": "MIT",
@@ -49,14 +49,14 @@
 		"push.js": "^1.0.12",
 		"qrcodejs2-fixes": "^0.0.2",
 		"qs": "^6.13.0",
-		"relation-graph": "^2.2.3",
+		"relation-graph": "^2.2.4",
 		"screenfull": "^6.0.2",
 		"sm-crypto-v2": "^1.9.2",
-		"sortablejs": "^1.15.2",
+		"sortablejs": "^1.15.3",
 		"splitpanes": "^3.1.5",
 		"vcrontab-3": "^3.3.22",
 		"vform3-builds": "^3.0.10",
-		"vue": "^3.4.38",
+		"vue": "^3.5.1",
 		"vue-clipboard3": "^2.0.0",
 		"vue-demi": "^0.14.6",
 		"vue-draggable-plus": "^0.5.3",
@@ -75,22 +75,22 @@
 		"@types/node": "^20.14.15",
 		"@types/nprogress": "^0.2.3",
 		"@types/sortablejs": "^1.15.8",
-		"@typescript-eslint/eslint-plugin": "^8.3.0",
-		"@typescript-eslint/parser": "^8.3.0",
+		"@typescript-eslint/eslint-plugin": "^8.4.0",
+		"@typescript-eslint/parser": "^8.4.0",
 		"@vitejs/plugin-vue": "^5.1.3",
 		"@vitejs/plugin-vue-jsx": "^4.0.1",
-		"@vue/compiler-sfc": "^3.4.38",
+		"@vue/compiler-sfc": "^3.5.1",
 		"code-inspector-plugin": "^0.16.1",
 		"eslint": "^9.9.1",
-		"eslint-plugin-vue": "^9.27.0",
+		"eslint-plugin-vue": "^9.28.0",
 		"globals": "^15.9.0",
 		"less": "^4.2.0",
 		"prettier": "^3.3.3",
 		"rollup-plugin-visualizer": "^5.12.0",
-		"sass": "^1.77.8",
+		"sass": "^1.78.0",
 		"terser": "^5.31.6",
 		"typescript": "^5.5.4",
-		"vite": "^5.4.2",
+		"vite": "^5.4.3",
 		"vite-plugin-cdn-import": "^1.0.1",
 		"vite-plugin-compression2": "^1.2.0",
 		"vite-plugin-vue-setup-extend": "^0.4.0",

+ 12 - 7
Web/src/views/system/user/component/userCenter.vue

@@ -165,7 +165,7 @@ import { storeToRefs } from 'pinia';
 import { ElForm, ElMessageBox, genFileId } from 'element-plus';
 import type { UploadInstance, UploadProps, UploadRawFile } from 'element-plus';
 import { useUserInfo } from '/@/stores/userInfo';
-import { base64ToFile } from '/@/utils/base64Conver';
+import { base64ToFile, blobToFile } from '/@/utils/base64Conver';
 import OrgTree from '/@/views/system/user/component/orgTree.vue';
 import CropperDialog from '/@/components/cropper/index.vue';
 import VueGridLayout from 'vue-grid-layout';
@@ -214,8 +214,9 @@ watch(state.signOptions, () => {
 
 // 上传头像图片
 const uploadCropperImg = async (e: any) => {
-	var res = await getAPI(SysFileApi).apiSysFileUploadAvatarPostForm(e.img);
+	var res = await getAPI(SysFileApi).apiSysFileUploadAvatarPostForm(blobToFile(e.img, userInfos.value.account + '.png'));
 	userInfos.value.avatar = getFileUrl(res.data.result!);
+	state.ruleFormBase.avatar = userInfos.value.avatar;
 };
 
 // 打开电子签名页面
@@ -226,11 +227,14 @@ const openSignDialog = () => {
 // 保存并上传电子签名
 const saveUploadSign = async () => {
 	const { isEmpty, data } = signaturePadRef.value.saveSignature();
-	if (isEmpty) return;
-
-	var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(base64ToFile(data, userInfos.value.account + '.png'));
-	userInfos.value.signature = getFileUrl(res.data.result!);
-
+	if (isEmpty) {
+		userInfos.value.signature = null;
+		state.ruleFormBase.signature = null;
+	} else {
+		var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(base64ToFile(data, userInfos.value.account + '.png'));
+		userInfos.value.signature = getFileUrl(res.data.result!);
+		state.ruleFormBase.signature = userInfos.value.signature;
+	}
 	clearSign();
 	state.signDialogVisible = false;
 };
@@ -249,6 +253,7 @@ const clearSign = () => {
 const uploadSignFile = async (file: any) => {
 	var res = await getAPI(SysFileApi).apiSysFileUploadSignaturePostForm(file.raw);
 	userInfos.value.signature = res.data.result?.url;
+	state.ruleFormBase.signature = userInfos.value.signature;
 };
 
 // 获得电子签名文件列表