فهرست منبع

微单点功能打通,全局跳转功能添加

asd26269546 2 سال پیش
والد
کامیت
7c154f7d6d
5فایلهای تغییر یافته به همراه72 افزوده شده و 41 حذف شده
  1. 6 2
      src/libs/micros.js
  2. 1 35
      src/main.js
  3. 1 1
      src/router/index.js
  4. 12 2
      src/views/login.vue
  5. 52 1
      src/views/main.vue

+ 6 - 2
src/libs/micros.js

@@ -1,11 +1,15 @@
 import { initGlobalState, MicroAppStateActions } from 'qiankun';
-const state = {
+
+const state = JSON.parse(window.localStorage.getItem('state')) || {
 	token: null,
 	theme: null,
 }
+console.log(state)
 const actions = initGlobalState(state)
 actions.onGlobalStateChange((state, prev) => {
 	// state: 变更后的状态; prev 变更前的状态
+	window.localStorage.setItem('state',JSON.stringify(state))
+	state = state
 	console.log(state, prev, '123123123');
 });
 const setToken = ((token) => {
@@ -16,7 +20,7 @@ const setTheme = ((theme) => {
 })
 
 const getAll = () =>{
-	return state
+	return JSON.parse(window.localStorage.getItem('state')) || state
 }
 export {
 	setToken,

+ 1 - 35
src/main.js

@@ -14,7 +14,7 @@ import 'element-ui/lib/theme-chalk/index.css';
 Vue.use(ElementUI);
 Vue.prototype.$get = httpServer.get;
 Vue.prototype.$post = httpServer.post;
-import { registerMicroApps, start } from 'qiankun'
+
 Vue.config.productionTip = false
 
 
@@ -24,40 +24,6 @@ new Vue({
 	render: h => h(App)
 }).$mount("#app");
 
-import { getAll } from '@/libs/micros'
-console.log(getAll())
-
-registerMicroApps([
-	{
-		name: 'app-vue-hash',
-		entry: 'http://localhost:8081',
-		container: '#appContainer',
-		activeRule: '/main/app-vue-hash',
-		props: { data: { store, router } }
-	},
-	{
-		name: 'fjhxCloudVue',
-		entry: 'http://localhost:1777',
-		container: '#appContainer',
-		activeRule: '/main/fjhxCloudVue',
-		props: { data: { store, router } }
-	},
-	{
-		name: 'iotPlatformRoom',
-		entry: 'http://localhost:1888',
-		container: '#appContainer',
-		activeRule: '/main/iotPlatformRoom',
-		props: { data: { store, router } }
-	},
-	{
-		name: 'canvas',
-		entry: 'http://localhost:8080',
-		container: '#appContainer',
-		activeRule: '/main/canvas',
-		props: { data: store }
-	},
-]);
 
-start();
 
 

+ 1 - 1
src/router/index.js

@@ -13,7 +13,7 @@ const routes = [
   {
     path: '/',
     name: '登录',
-    component: () => import('../views/main.vue')
+    component: () => import('../views/login.vue')
   },
   {
     path: '/main',

+ 12 - 2
src/views/login.vue

@@ -8,6 +8,8 @@
 <script>
 import axios from 'axios';
 import md5 from 'js-md5';
+import { getAll,setToken } from '@/libs/micros'
+import { Alert } from 'element-ui';
 export default {
 	data() {
 		return {
@@ -51,8 +53,16 @@ export default {
 					'Tenant-Id': this.loginForm.tenantId
 				},
 			}).then(res=>{
-				window.localStorage.setItem("token",JSON.stringify(res.data))
-                v.$router.push("/emailHome")
+				console.log(res)
+				if(res.status == 200 && res.data){
+					setToken(res.data)
+					alert('登录成功')
+					setTimeout(()=>{
+						v.$router.push("/main")
+					},1000)
+				}
+				// window.localStorage.setItem("token",JSON.stringify(res.data))
+                // v.$router.push("/emailHome")
 			})
 			
 		},

+ 52 - 1
src/views/main.vue

@@ -10,7 +10,7 @@
           <router-link to="/main/canvas/">canvas</router-link>
         </li>
         <li>
-          <router-link to="/main/fjhxCloudVue/#/login">云帆</router-link>
+          <router-link to="/main/iotPlatformRoom/#/wel/index">云帆</router-link>
         </li>
         <li>
           <router-link to="/main/about">主服务about</router-link>
@@ -64,6 +64,57 @@
 
 <script>
 import leftMneu from '@/components/left-menu'
+import { registerMicroApps, start } from 'qiankun'
+import { getAll } from '@/libs/micros'
+import router from '../router'
+import store from '../store'
+console.log(getAll())
+const state = getAll()
+state.router = router
+registerMicroApps([
+	{
+		name: 'app-vue-hash',
+		entry: 'http://localhost:8081',
+		container: '#appContainer',
+		activeRule: '/main/app-vue-hash',
+		props:{
+			data:getAll(),
+			router:router,
+			store:store,
+		},
+	},
+	{
+		name: 'fjhxCloudVue',
+		entry: 'http://localhost:1777',
+		container: '#appContainer',
+		activeRule: '/main/fjhxCloudVue',
+		props:{
+			data:getAll(),
+			router:router,
+			store:store,
+		},
+	},
+	{
+		name: 'iotPlatformRoom',
+		entry: 'http://localhost:1888',
+		container: '#appContainer',
+		activeRule: '/main/iotPlatformRoom',
+		props:{
+			data:state,
+		},
+	},
+	{
+		name: 'canvas',
+		entry: 'http://localhost:8080',
+		container: '#appContainer',
+		activeRule: '/main/canvas',
+		props:{
+			data:getAll()
+		},
+	},
+]);
+
+start();
 export default {
 	components:{
 		leftMneu