闫增涛
2025-04-14 d7e53e63dd6c435e226d9f08cde31ca35131c911
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
import { registerMicroApps, setDefaultMountApp, start } from 'qiankun'
import { initGlobalState } from 'qiankun'
import state from './qiankunState/state'
 
const actions = initGlobalState(state)
 
// actions.onGlobalStateChange((state, prev) => {
//   console.log("父层变化:",state, prev)
//   // window.qiankunState = state;
// })
 
export const microApps = {
  childHealth: {
    // - 必选,微应用的名称,微应用之间必须确保唯一
    name: 'app-content',
    // - 必选,微应用的入口
    entry: '//jsek.bnuic.com/books/book/childHealth',
    // - 必选,微应用的容器节点的选择器或者 Element 实例
    container: '#container',
    // - 必选,微应用的激活规则
    //支持直接配置字符串或字符串数组,如 activeRule: '/app1' 或 activeRule: ['/app1', '/app2'],当配置为字符串时会直接跟 url 中的路径部分做前缀匹配,匹配成功表明当前应用会被激活。
    //支持配置一个 active function 函数或一组 active function。函数会传入当前 location 作为参数,函数返回 true 时表明当前微应用会被激活。如 location => location.pathname.startsWith('/app1')。
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
    //loader - (loading: boolean) => void - 可选,loading 状态发生变化时会调用的方法。
  },
  artAndDance: {
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/artAndDance',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  english: {
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/english',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  lifeCare: {
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/lifeCare',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  sportsAndHealth: {
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/sportsAndHealth',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  mathBook: {
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/mathBook',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  artAndDrama: {
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/artAndDrama',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  civilAviation:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/civilAviation',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  civilServices:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/civilServices',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  meetingPlanners:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/meetingPlanners',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  aviationBasicSkills:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/aviationBasicSkills',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  aviationSafety:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/aviationSafety',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  aviationEtiquette:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/aviationEtiquette',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  toddlerGameImplementation:{
    name: 'app-content',
    entry: '//jsek.bnuic.com/books/book/toddlerGameImplementation',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  botany:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/botany',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  aurturingAndEducationAged0to3:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/aurturingAndEducationAged0to3',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  childcareInstitutionsManagement:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/childcareInstitutionsManagement',
    container: '#container',
    activeRule: '/home' //匹配所有以/subPath开头的为子应用
  },
  preschoolGameGuidance:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/preschoolGameGuidance',
    container: '#container',
    activeRule: '/home'
  },
  kindergartenLanguageActivity:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/kindergartenLanguageActivity',
    container: '#container',
    activeRule: '/home'
  },
  preschoolEvaluation:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/preschoolEvaluation',
    container: '#container',
    activeRule: '/home'
  },
  preschoolBasicKnowledge:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/preschoolBasicKnowledge',
    container: '#container',
    activeRule: '/home'
  },
  kindergartenActivitiesDesignGuidance:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/kindergartenActivitiesDesignGuidance',
    container: '#container',
    activeRule: '/home'
  },
  policiesAndRegulations:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/policiesAndRegulations',
    container: '#container',
    activeRule: '/home'
  },
  OralAndBroadcasting:{
    name: 'app-content',
    entry: '//182.92.203.7:3007/books/book/OralAndBroadcasting',
    container: '#container',
    activeRule: '/home'
  }
}
 
window.qiankunActions = actions
 
export default actions
 
// actions.offGlobalStateChange()
 
// 乾坤提供的子应用生命周期钩子  可用于加载loading
// const mount = {
//   beforeLoad: () => {
//     //开始加载loading
//     console.log('子应用加载前')
//   },
//   beforeMount: () => {
//     console.log('子应用挂载前')
//   },
//   afterMount: () => {
//     //结束加载loading
//     console.log('子应用挂载后')
//   },
//   beforeUnmount: () => {
//     console.log('子应用卸载前')
//   },
//   afterUnmount: () => {
//     console.log('子应用卸载后')
//   }
// }
//注册子应用
// registerMicroApps(microApps, mount)
//设置默认启动子应用
// setDefaultMountApp('/home')
//启动qiankun | 不可重复启动 | 如果子应用入口在app.vue里可以在这启动否则会报错找不到子应用结点
// start()