From 3ca71791b839d7c9731643a8653c0b6fe1c6233a Mon Sep 17 00:00:00 2001
From: lzhe <lzhe@example.com>
Date: 星期三, 10 四月 2024 17:08:19 +0800
Subject: [PATCH] 1

---
 src/views/login/components/passwordForm.vue |  126 +++++++++++++++++++++++------------------
 1 files changed, 70 insertions(+), 56 deletions(-)

diff --git a/src/views/login/components/passwordForm.vue b/src/views/login/components/passwordForm.vue
index 924bd4b..96aeeb0 100644
--- a/src/views/login/components/passwordForm.vue
+++ b/src/views/login/components/passwordForm.vue
@@ -20,7 +20,7 @@
 				userType: 'admin',
 				form: {
 					user: "admin",
-					password: "admin",
+					password: "123456",
 					autologin: false
 				},
 				rules: {
@@ -61,40 +61,7 @@
 					grant_type: "password",
 					scope: "all"
 				}
-				//鑾峰彇鑿滃崟
-				// var menu = null
-				// if(this.form.user == 'admin'){
-				// 	menu = await this.$API.system.menu.myMenus.get()
-				// }else{
-				// 	menu = await this.$API.demo.menu.get()
-				// }
-				// if(menu.code == 200){
-				// 	if(menu.data.menu.length==0){
-				// 		this.islogin = false
-				// 		this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
-				// 			type: 'error',
-				// 			center: true
-				// 		})
-				// 		return false
-				// 	}
-				// 	this.$TOOL.data.set("MENU", menu.data.menu)
-				// 	this.$TOOL.data.set("PERMISSIONS", menu.data.permissions)
-				// 	this.$TOOL.data.set("DASHBOARDGRID", menu.data.dashboardGrid)
-				// }else{
-				// 	this.islogin = false
-				// 	this.$message.warning(menu.message)
-				// 	return false
-				// }
-
-				// this.$router.replace({
-				// 	path: '/'
-				// })
-				// this.$message.success("Login Success 鐧诲綍鎴愬姛")
-				// this.islogin = false
-
-
-
-				this.$HTTP.postJ("/api/blade-auth/oauth/token",data).then(res=> {
+				await this.$HTTP.postJ("/api/blade-auth/oauth/token?" + this.$TOOL.qsStringify(data)).then(res=> {
 					if(res.user_id) {
 						//鑾峰彇token
 						this.$TOOL.cookie.set("TOKEN", res.access_token, {
@@ -105,27 +72,8 @@
 						res.dashboard = "0";
 						res.userId =  "1";
 						this.$TOOL.data.set("USER_INFO", res);
-						//鑾峰彇鑿滃崟
-						this.$API.system.menu.myMenus.get().then(resp=> {
-							if(resp.data.menu.length==0){
-								this.islogin = false
-								this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
-									type: 'error',
-									center: true
-								})
-								return false
-							}
-							this.$TOOL.data.set("MENU", resp.data.menu)
-							this.$TOOL.data.set("PERMISSIONS", resp.data.permissions)
-							this.$TOOL.data.set("DASHBOARDGRID", resp.data.dashboardGrid)
-						});
-						this.$router.replace({
-							path: '/'
-						})
-						this.$message.success("Login Success 鐧诲綍鎴愬姛")
-						this.islogin = false
-					}else {
 						this.islogin = false;
+					}else {
 						this.$message({
 				          showClose: true,
 				          message: res.error_description,
@@ -133,7 +81,73 @@
 				        });
 					}
 				})
-			},
+				await this.$HTTP.get("/api/blade-system/menu/routes?" + this.$TOOL.qsStringify({"appCode": "CPS"})).then(res=> {
+					if(res.data.length==0){
+						this.islogin = false
+						this.$alert("褰撳墠鐢ㄦ埛鏃犱换浣曡彍鍗曟潈闄愶紝璇疯仈绯荤郴缁熺鐞嗗憳", "鏃犳潈闄愯闂�", {
+							type: 'error',
+							center: true
+						})
+						return false
+					} 
+					//寮�濮�
+					function addComponentToLastLevel(items) {  
+						return items.map((item) => {  
+							// 澶嶅埗褰撳墠椤癸紝閬垮厤鐩存帴淇敼鍘熷瀵硅薄  
+							const clonedItem = { ...item };  
+					
+							// 妫�鏌ュ綋鍓嶉」鏄惁鏈� children 灞炴��  
+							if (clonedItem.children) {  
+								// 閫掑綊澶勭悊 children  
+								clonedItem.children = addComponentToLastLevel(clonedItem.children);  
+							} else {  
+								// 濡傛灉娌℃湁 children 灞炴�э紝璇存槑鏄渶鍚庝竴绾э紝娣诲姞 component 瀵硅薄  
+								var len = clonedItem.path.length;
+								if(item.name == "浠诲姟璋冨害") {
+									//clonedItem.component = clonedItem.path;   //鏈塩omponent涓嶅彲浠ヤ娇鐢╥frame
+								}else {
+									clonedItem.component = clonedItem.path.substring(1,len); 
+								}
+							} 
+							if(item.name == "浠诲姟璋冨害") {
+								clonedItem.meta = {title: clonedItem.name,icon: "el-icon-takeaway-box", type: "iframe"}
+							}else {
+								clonedItem.meta = {title: clonedItem.name,icon: "el-icon-takeaway-box", type: "menu"}
+							}
+							return clonedItem;
+						});  
+					}   
+					var transformedArray = addComponentToLastLevel(res.data); 
+					transformedArray[0].path = "/home";
+					transformedArray[0].children = [{
+						component: "home",
+						meta: {title: "宸ヤ綔鍙�", icon: 'el-icon-menu', affix: true},
+						name: "宸ヤ綔鍙�",
+						path: "/dashboard"
+					}] 
+					//缁撴潫
+					var obj = {
+						dashboardGrid: ["welcome", "ver", "time", "progress", "echarts", "about"],
+						menu: transformedArray,
+						permissions: ["list.add", "list.edit", "list.delete", "user.add", "user.edit", "user.delete"]
+					}
+					console.log(obj.menu)
+					// this.$API.system.menu.myMenus.get().then(resp=> {
+					// 	Object.assign({},transformedArray,resp.data.menu);
+					// 	this.$TOOL.data.set("MENU", obj.menu)
+					// 	this.$TOOL.data.set("PERMISSIONS", obj.permissions)
+					// 	this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
+					// });
+					this.$TOOL.data.set("MENU", obj.menu)
+					this.$TOOL.data.set("PERMISSIONS", obj.permissions)
+					this.$TOOL.data.set("DASHBOARDGRID", obj.dashboardGrid)
+				})
+				this.$router.replace({
+					path: '/'
+				})
+				this.$message.success("Login Success 鐧诲綍鎴愬姛")
+				this.islogin = false;
+			}
 		}
 	}
 </script>

--
Gitblit v1.9.3