@lambo-design/shared 1.0.0-beta.243 → 1.0.0-beta.246

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/config/config.js +51 -51
  2. package/config/env.js +4 -4
  3. package/config/index.js +7 -7
  4. package/config/themes/atrovirens/atrovirens.css +576 -575
  5. package/config/themes/atrovirens/atrovirens.css.map +1 -1
  6. package/config/themes/atrovirens/atrovirens.less +668 -667
  7. package/config/themes/atrovirens/var.less +675 -674
  8. package/config/themes/blue/blue.css +576 -575
  9. package/config/themes/blue/blue.css.map +1 -1
  10. package/config/themes/blue/blue.less +670 -669
  11. package/config/themes/blue/var.less +678 -677
  12. package/config/themes/blue-white/blue-white.css +576 -575
  13. package/config/themes/blue-white/blue-white.css.map +1 -1
  14. package/config/themes/blue-white/blue-white.less +670 -669
  15. package/config/themes/blue-white/var.less +677 -676
  16. package/config/themes/blue-white-tight/blue-white-tight.css +577 -576
  17. package/config/themes/blue-white-tight/blue-white-tight.css.map +1 -1
  18. package/config/themes/blue-white-tight/blue-white-tight.less +672 -672
  19. package/config/themes/blue-white-tight/var.less +678 -677
  20. package/config/themes/danqing/danqing.css +576 -575
  21. package/config/themes/danqing/danqing.css.map +1 -1
  22. package/config/themes/danqing/danqing.less +669 -668
  23. package/config/themes/danqing/danqing.wxss +576 -572
  24. package/config/themes/danqing/var.less +680 -679
  25. package/config/themes/deep/deep.css +576 -575
  26. package/config/themes/deep/deep.css.map +1 -1
  27. package/config/themes/deep/deep.less +670 -669
  28. package/config/themes/deep/var.less +678 -677
  29. package/config/themes/default/default.css +576 -575
  30. package/config/themes/default/default.css.map +1 -1
  31. package/config/themes/default/default.less +672 -671
  32. package/config/themes/default/var.less +678 -677
  33. package/config/themes/eap/eap.css +576 -575
  34. package/config/themes/eap/eap.css.map +1 -1
  35. package/config/themes/eap/eap.less +672 -671
  36. package/config/themes/eap/var.less +678 -677
  37. package/config/themes/gold/gold.css +576 -575
  38. package/config/themes/gold/gold.css.map +1 -1
  39. package/config/themes/gold/gold.less +672 -671
  40. package/config/themes/gold/var.less +678 -677
  41. package/config/themes/index.js +28 -28
  42. package/config/themes/lime/lime.css +576 -575
  43. package/config/themes/lime/lime.css.map +1 -1
  44. package/config/themes/lime/lime.less +672 -671
  45. package/config/themes/lime/var.less +679 -678
  46. package/config/themes/orange/orange.css +576 -575
  47. package/config/themes/orange/orange.css.map +1 -1
  48. package/config/themes/orange/orange.less +672 -671
  49. package/config/themes/orange/var.less +679 -678
  50. package/config/themes/red/red.css +576 -575
  51. package/config/themes/red/red.css.map +1 -1
  52. package/config/themes/red/red.less +672 -671
  53. package/config/themes/red/var.less +678 -677
  54. package/config/themes/theme-atrovirens.js +559 -558
  55. package/config/themes/theme-blue.js +559 -558
  56. package/config/themes/theme-bw.js +559 -558
  57. package/config/themes/theme-bwt.js +561 -559
  58. package/config/themes/theme-danqing.js +559 -558
  59. package/config/themes/theme-deep.js +559 -558
  60. package/config/themes/theme-default.js +559 -558
  61. package/config/themes/theme-eap.js +559 -558
  62. package/config/themes/theme-gold.js +559 -558
  63. package/config/themes/theme-lime.js +559 -558
  64. package/config/themes/theme-orange.js +560 -559
  65. package/config/themes/theme-red.js +559 -558
  66. package/config/themes/theme-white.js +558 -557
  67. package/config/themes/white/var.less +676 -675
  68. package/config/themes/white/white.css +576 -575
  69. package/config/themes/white/white.css.map +1 -1
  70. package/config/themes/white/white.less +669 -668
  71. package/directives/index.js +23 -23
  72. package/directives/module/draggable.js +56 -56
  73. package/directives/module/permission.js +49 -49
  74. package/directives/module/print.js +1 -1
  75. package/directives/module/vue-print-nb/README.md +63 -63
  76. package/directives/module/vue-print-nb/print.js +94 -94
  77. package/directives/module/vue-print-nb/printarea.js +532 -532
  78. package/index.js +10 -10
  79. package/nstyles/common.less +197 -197
  80. package/nstyles/components/404.less +46 -46
  81. package/nstyles/components/button.less +34 -34
  82. package/nstyles/components/date-picker.less +37 -37
  83. package/nstyles/components/drawer.less +20 -20
  84. package/nstyles/components/dropdown.less +18 -18
  85. package/nstyles/components/excel-flow.less +72 -72
  86. package/nstyles/components/form.less +313 -313
  87. package/nstyles/components/index.less +23 -23
  88. package/nstyles/components/layout/collect.less +10 -10
  89. package/nstyles/components/layout/detail-view.less +107 -107
  90. package/nstyles/components/layout/full-screen.less +7 -7
  91. package/nstyles/components/layout/index.less +7 -7
  92. package/nstyles/components/layout/other-menu.less +142 -142
  93. package/nstyles/components/layout/page-view.less +101 -101
  94. package/nstyles/components/layout/sider-trigger.less +41 -41
  95. package/nstyles/components/layout/tags-nav.less +113 -113
  96. package/nstyles/components/modal.less +85 -85
  97. package/nstyles/components/n-button.less +131 -131
  98. package/nstyles/components/n-image-preview.less +131 -131
  99. package/nstyles/components/n-model/index.less +19 -19
  100. package/nstyles/components/n-model/report-index.less +43 -43
  101. package/nstyles/components/n-panel.less +40 -40
  102. package/nstyles/components/n-picker.less +37 -37
  103. package/nstyles/components/n-sign.less +17 -17
  104. package/nstyles/components/n-tooltip.less +10 -10
  105. package/nstyles/components/panel.less +31 -31
  106. package/nstyles/components/select.less +3 -3
  107. package/nstyles/components/sign.less +27 -27
  108. package/nstyles/components/table.less +315 -315
  109. package/nstyles/components/tree.less +158 -158
  110. package/nstyles/components/upload.less +164 -164
  111. package/nstyles/index.less +5 -5
  112. package/nstyles/reset.less +65 -65
  113. package/nstyles/third/ag.less +174 -174
  114. package/nstyles/third/index.less +11 -11
  115. package/nstyles/third/view-design.less +366 -366
  116. package/nstyles/variables/base.less +143 -143
  117. package/nstyles/variables/index.less +4 -4
  118. package/nstyles/variables/theme/default/button.less +7 -7
  119. package/nstyles/variables/theme/default/common.less +57 -57
  120. package/nstyles/variables/theme/default/index.less +7 -7
  121. package/nstyles/variables/theme/default/layout.less +40 -40
  122. package/nstyles/variables/theme/default/table.less +37 -37
  123. package/nstyles/variables/theme/default/tag.less +3 -3
  124. package/nstyles/variables/theme/default/upload.less +3 -3
  125. package/nstyles/variables/theme/index.less +13 -13
  126. package/nstyles/variables/theme/lsv/button.less +7 -0
  127. package/nstyles/variables/theme/lsv/common.less +39 -0
  128. package/nstyles/variables/theme/lsv/index.less +5 -0
  129. package/nstyles/variables/theme/lsv/layout.less +21 -0
  130. package/nstyles/variables/theme/lsv/table.less +20 -0
  131. package/nstyles/variables/theme/lsv/tag.less +3 -0
  132. package/nstyles/variables/theme/small/button.less +7 -7
  133. package/nstyles/variables/theme/small/common.less +39 -39
  134. package/nstyles/variables/theme/small/index.less +5 -5
  135. package/nstyles/variables/theme/small/layout.less +21 -21
  136. package/nstyles/variables/theme/small/table.less +17 -17
  137. package/nstyles/variables/theme/small/tag.less +3 -3
  138. package/package.json +1 -1
  139. package/plugin/index.js +12 -12
  140. package/plugin/module/date-format.js +30 -30
  141. package/plugin/module/loading.js +26 -26
  142. package/plugin/module/warn-handler.js +11 -11
  143. package/styles/variables.less +21 -21
  144. package/utils/ajax/cacheconf.js +19 -19
  145. package/utils/ajax/content-type.js +30 -30
  146. package/utils/ajax/index.js +12 -12
  147. package/utils/ajax/interceptors.js +97 -97
  148. package/utils/ajax/sseFetchUtil.js +71 -71
  149. package/utils/assist.js +147 -147
  150. package/utils/base64.js +126 -126
  151. package/utils/blob.js +47 -47
  152. package/utils/bus.js +3 -3
  153. package/utils/crypto/index.js +48 -48
  154. package/utils/crypto/md5.js +152 -152
  155. package/utils/crypto/sm3.js +235 -235
  156. package/utils/date.js +381 -381
  157. package/utils/dict/built-in-dict.js +20 -20
  158. package/utils/dict/index.js +167 -167
  159. package/utils/dom.js +38 -38
  160. package/utils/event.js +72 -72
  161. package/utils/excel.js +655 -655
  162. package/utils/file.js +19 -19
  163. package/utils/form/validate.js +29 -29
  164. package/utils/half-year.js +68 -68
  165. package/utils/index.js +41 -41
  166. package/utils/json.js +29 -29
  167. package/utils/lodop.js +165 -165
  168. package/utils/menu/before-close.js +17 -17
  169. package/utils/menu/index.js +395 -395
  170. package/utils/mime_type.js +67 -67
  171. package/utils/modelerUtil.js +227 -227
  172. package/utils/n/api.js +22 -22
  173. package/utils/n/date.js +57 -57
  174. package/utils/n/index.js +9 -9
  175. package/utils/n/is-type.js +176 -176
  176. package/utils/n/number.js +144 -144
  177. package/utils/n/permission-cache.js +11 -11
  178. package/utils/n/reuqest/axiosN.js +17 -17
  179. package/utils/n/reuqest/content-type.js +19 -19
  180. package/utils/n/reuqest/interceptors.js +95 -95
  181. package/utils/n/reuqest/url-params.js +12 -12
  182. package/utils/n/storage.js +51 -51
  183. package/utils/n/token.js +51 -51
  184. package/utils/n/user-cache.js +11 -11
  185. package/utils/n/user.js +34 -34
  186. package/utils/n/uuid.js +16 -16
  187. package/utils/n-generator-routers.js +208 -208
  188. package/utils/n-router.js +205 -205
  189. package/utils/n-theme.js +30 -30
  190. package/utils/number.js +180 -180
  191. package/utils/oss.js +57 -57
  192. package/utils/platform.js +1343 -1334
  193. package/utils/quarter.js +58 -58
  194. package/utils/storage.js +198 -198
  195. package/utils/theme.js +138 -138
  196. package/utils/transform.js +204 -204
  197. package/utils/type.js +102 -102
  198. package/utils/util.js +795 -795
  199. package/utils/validator.js +181 -181
  200. package/utils/vxetable/index.js +25 -25
  201. package/utils/zoomScroll.js +9 -9
package/utils/n-router.js CHANGED
@@ -1,205 +1,205 @@
1
- // import { config } from '@indfnd/utils'
2
-
3
- const hasChild = (item) => {
4
- return item.children && item.children.length
5
- }
6
-
7
- /**
8
- * @param {Array} target 目标数组
9
- * @param {Array} arr 需要查询的数组
10
- * @description 判断要查询的数组是否至少有一个元素包含在目标数组中
11
- */
12
- const hasOneOf = (targetArr, arr) => {
13
- return targetArr.some((_) => arr.includes(_))
14
- }
15
-
16
- const showThisMenuEle = (item, access) => {
17
- if (item.meta && item.meta.access && item.meta.access.length) {
18
- if (hasOneOf(item.meta.access, access)) return true
19
- else return false
20
- } else return true
21
- }
22
-
23
- /**
24
- * @param {Number} times 回调函数需要执行的次数
25
- * @param {Function} callback 回调函数
26
- */
27
- const doCustomTimes = (times, callback) => {
28
- let i = -1
29
- while (++i < times) {
30
- callback(i)
31
- }
32
- }
33
-
34
- export const getRouteTitleHandled = (route) => {
35
- let router = { ...route }
36
- let meta = { ...route.meta }
37
- let title = ''
38
- if (meta.title) {
39
- if (typeof meta.title === 'function') {
40
- meta.__titleIsFunction__ = true
41
- title = meta.title(router)
42
- } else title = meta.title
43
- }
44
- meta.title = title
45
- router.meta = meta
46
- return router
47
- }
48
-
49
- /**
50
- * @description 根据当前跳转的路由设置显示在浏览器标签的title
51
- * 标签名字不允许改变,固定为 营销业务一体化平台
52
- * @param {Object} routeItem 路由对象
53
- */
54
- export const setTitle = (/*routeItem*/) => {
55
- // const pageTitle = getRouteTitleHandled(routeItem).meta.title
56
- // window.document.title = pageTitle ? `${config.title} - ${pageTitle}` : config.title
57
- }
58
-
59
- /**
60
- * @param {Array} list 通过路由列表得到菜单列表
61
- * @returns {Array}
62
- */
63
- export const getMenuByRouter = (list, access) => {
64
- let res = []
65
- _forEach(list, (item) => {
66
- if (!item.meta || (item.meta && !item.meta.hideInMenu)) {
67
- let obj = {
68
- icon: (item.meta && item.meta.icon) || '',
69
- name: item.name,
70
- meta: item.meta,
71
- }
72
- if (
73
- (hasChild(item) || (item.meta && item.meta.showAlways)) &&
74
- showThisMenuEle(item, access)
75
- ) {
76
- obj.children = getMenuByRouter(item.children, access)
77
- }
78
- if (item.meta && item.meta.href) obj.href = item.meta.href
79
- if (showThisMenuEle(item, access)) res.push(obj)
80
- }
81
- })
82
- return res
83
- }
84
-
85
- /**
86
- * @param {Array} routeMetched 当前路由metched
87
- * @returns {Array}
88
- */
89
- export const getBreadCrumbList = (route, homeRoute) => {
90
- let homeItem = { ...homeRoute, icon: homeRoute.meta.icon }
91
- const { crumbs } = route.meta
92
- if (crumbs && crumbs.length > 0) {
93
- crumbs.forEach((item) => {
94
- item.meta = {
95
- title: item.title,
96
- }
97
- if (item.type === 2) {
98
- item.to = item.name
99
- }
100
- })
101
- }
102
- let breadCrumbList = [{ ...homeItem, to: homeRoute.name }]
103
- if (crumbs && crumbs.length > 0) {
104
- breadCrumbList = breadCrumbList.concat(crumbs)
105
- }
106
- return breadCrumbList
107
- }
108
-
109
- export const showTitle = (item) => {
110
- return item.meta.title
111
- }
112
-
113
- /**
114
- * @description 本地存储和获取标签导航列表
115
- */
116
- export const setTagNavListInLocalstorage = (list) => {
117
- sessionStorage.tagNaveList = JSON.stringify(list)
118
- }
119
- /**
120
- * @returns {Array} 其中的每个元素只包含路由原信息中的name, path, meta三项
121
- */
122
- export const getTagNavListFromLocalstorage = () => {
123
- const list = sessionStorage.tagNaveList
124
- return list ? JSON.parse(list) : []
125
- }
126
-
127
- /**
128
- * @param {Array} routers 路由列表数组
129
- * @description 用于找到路由列表中name为home的对象
130
- */
131
- export const getHomeRoute = (routers, homeRouteName = 'home') => {
132
- let i = -1
133
- let len = routers.length
134
- let homeRoute = {}
135
- while (++i < len) {
136
- let item = routers[i]
137
- if (item.children && item.children.length) {
138
- let res = getHomeRoute(item.children, homeRouteName)
139
- if (res.name) return res
140
- } else {
141
- if (item.name === homeRouteName) homeRoute = item
142
- }
143
- }
144
- return homeRoute
145
- }
146
-
147
- /**
148
- * @param {Array} list 标签列表
149
- * @param {String} name 当前关闭的标签的name
150
- */
151
- export const getNextRoute = (list, route) => {
152
- let res = {}
153
- if (list.length === 2) {
154
- res = getHomeRoute(list)
155
- } else {
156
- const index = list.findIndex((item) => routeEqual(item, route))
157
- if (index === list.length - 1) res = list[list.length - 2]
158
- else res = list[index + 1]
159
- }
160
- return res
161
- }
162
-
163
- /**
164
- * 判断打开的标签列表里是否已存在这个新添加的路由对象
165
- */
166
- export const routeHasExist = (tagNavList, routeItem) => {
167
- let len = tagNavList.length
168
- let res = false
169
- doCustomTimes(len, (index) => {
170
- if (routeEqual(tagNavList[index], routeItem)) res = true
171
- })
172
- return res
173
- }
174
-
175
- /**
176
- * @description 根据name/params/query判断两个路由对象是否相等
177
- * @param {*} route1 路由对象
178
- * @param {*} route2 路由对象
179
- */
180
- export const routeEqual = (route1, route2) => {
181
- return route1.name === route2.name
182
- }
183
-
184
- /**
185
- * @param {*} list 现有标签导航列表
186
- * @param {*} newRoute 新添加的路由原信息对象
187
- * @description 如果该newRoute已经存在则不再添加
188
- */
189
- export const getNewTagList = (list, newRoute) => {
190
- const { name, path, meta } = newRoute
191
- let newList = [...list]
192
- if (newList.findIndex((item) => item.name === name) >= 0) return newList
193
- else newList.push({ name, path, meta })
194
- return newList
195
- }
196
-
197
- function _forEach(arr, fn) {
198
- if (!arr.length || !fn) return
199
- let i = -1
200
- let len = arr.length
201
- while (++i < len) {
202
- let item = arr[i]
203
- fn(item, i, arr)
204
- }
205
- }
1
+ // import { config } from '@indfnd/utils'
2
+
3
+ const hasChild = (item) => {
4
+ return item.children && item.children.length
5
+ }
6
+
7
+ /**
8
+ * @param {Array} target 目标数组
9
+ * @param {Array} arr 需要查询的数组
10
+ * @description 判断要查询的数组是否至少有一个元素包含在目标数组中
11
+ */
12
+ const hasOneOf = (targetArr, arr) => {
13
+ return targetArr.some((_) => arr.includes(_))
14
+ }
15
+
16
+ const showThisMenuEle = (item, access) => {
17
+ if (item.meta && item.meta.access && item.meta.access.length) {
18
+ if (hasOneOf(item.meta.access, access)) return true
19
+ else return false
20
+ } else return true
21
+ }
22
+
23
+ /**
24
+ * @param {Number} times 回调函数需要执行的次数
25
+ * @param {Function} callback 回调函数
26
+ */
27
+ const doCustomTimes = (times, callback) => {
28
+ let i = -1
29
+ while (++i < times) {
30
+ callback(i)
31
+ }
32
+ }
33
+
34
+ export const getRouteTitleHandled = (route) => {
35
+ let router = { ...route }
36
+ let meta = { ...route.meta }
37
+ let title = ''
38
+ if (meta.title) {
39
+ if (typeof meta.title === 'function') {
40
+ meta.__titleIsFunction__ = true
41
+ title = meta.title(router)
42
+ } else title = meta.title
43
+ }
44
+ meta.title = title
45
+ router.meta = meta
46
+ return router
47
+ }
48
+
49
+ /**
50
+ * @description 根据当前跳转的路由设置显示在浏览器标签的title
51
+ * 标签名字不允许改变,固定为 营销业务一体化平台
52
+ * @param {Object} routeItem 路由对象
53
+ */
54
+ export const setTitle = (/*routeItem*/) => {
55
+ // const pageTitle = getRouteTitleHandled(routeItem).meta.title
56
+ // window.document.title = pageTitle ? `${config.title} - ${pageTitle}` : config.title
57
+ }
58
+
59
+ /**
60
+ * @param {Array} list 通过路由列表得到菜单列表
61
+ * @returns {Array}
62
+ */
63
+ export const getMenuByRouter = (list, access) => {
64
+ let res = []
65
+ _forEach(list, (item) => {
66
+ if (!item.meta || (item.meta && !item.meta.hideInMenu)) {
67
+ let obj = {
68
+ icon: (item.meta && item.meta.icon) || '',
69
+ name: item.name,
70
+ meta: item.meta,
71
+ }
72
+ if (
73
+ (hasChild(item) || (item.meta && item.meta.showAlways)) &&
74
+ showThisMenuEle(item, access)
75
+ ) {
76
+ obj.children = getMenuByRouter(item.children, access)
77
+ }
78
+ if (item.meta && item.meta.href) obj.href = item.meta.href
79
+ if (showThisMenuEle(item, access)) res.push(obj)
80
+ }
81
+ })
82
+ return res
83
+ }
84
+
85
+ /**
86
+ * @param {Array} routeMetched 当前路由metched
87
+ * @returns {Array}
88
+ */
89
+ export const getBreadCrumbList = (route, homeRoute) => {
90
+ let homeItem = { ...homeRoute, icon: homeRoute.meta.icon }
91
+ const { crumbs } = route.meta
92
+ if (crumbs && crumbs.length > 0) {
93
+ crumbs.forEach((item) => {
94
+ item.meta = {
95
+ title: item.title,
96
+ }
97
+ if (item.type === 2) {
98
+ item.to = item.name
99
+ }
100
+ })
101
+ }
102
+ let breadCrumbList = [{ ...homeItem, to: homeRoute.name }]
103
+ if (crumbs && crumbs.length > 0) {
104
+ breadCrumbList = breadCrumbList.concat(crumbs)
105
+ }
106
+ return breadCrumbList
107
+ }
108
+
109
+ export const showTitle = (item) => {
110
+ return item.meta.title
111
+ }
112
+
113
+ /**
114
+ * @description 本地存储和获取标签导航列表
115
+ */
116
+ export const setTagNavListInLocalstorage = (list) => {
117
+ sessionStorage.tagNaveList = JSON.stringify(list)
118
+ }
119
+ /**
120
+ * @returns {Array} 其中的每个元素只包含路由原信息中的name, path, meta三项
121
+ */
122
+ export const getTagNavListFromLocalstorage = () => {
123
+ const list = sessionStorage.tagNaveList
124
+ return list ? JSON.parse(list) : []
125
+ }
126
+
127
+ /**
128
+ * @param {Array} routers 路由列表数组
129
+ * @description 用于找到路由列表中name为home的对象
130
+ */
131
+ export const getHomeRoute = (routers, homeRouteName = 'home') => {
132
+ let i = -1
133
+ let len = routers.length
134
+ let homeRoute = {}
135
+ while (++i < len) {
136
+ let item = routers[i]
137
+ if (item.children && item.children.length) {
138
+ let res = getHomeRoute(item.children, homeRouteName)
139
+ if (res.name) return res
140
+ } else {
141
+ if (item.name === homeRouteName) homeRoute = item
142
+ }
143
+ }
144
+ return homeRoute
145
+ }
146
+
147
+ /**
148
+ * @param {Array} list 标签列表
149
+ * @param {String} name 当前关闭的标签的name
150
+ */
151
+ export const getNextRoute = (list, route) => {
152
+ let res = {}
153
+ if (list.length === 2) {
154
+ res = getHomeRoute(list)
155
+ } else {
156
+ const index = list.findIndex((item) => routeEqual(item, route))
157
+ if (index === list.length - 1) res = list[list.length - 2]
158
+ else res = list[index + 1]
159
+ }
160
+ return res
161
+ }
162
+
163
+ /**
164
+ * 判断打开的标签列表里是否已存在这个新添加的路由对象
165
+ */
166
+ export const routeHasExist = (tagNavList, routeItem) => {
167
+ let len = tagNavList.length
168
+ let res = false
169
+ doCustomTimes(len, (index) => {
170
+ if (routeEqual(tagNavList[index], routeItem)) res = true
171
+ })
172
+ return res
173
+ }
174
+
175
+ /**
176
+ * @description 根据name/params/query判断两个路由对象是否相等
177
+ * @param {*} route1 路由对象
178
+ * @param {*} route2 路由对象
179
+ */
180
+ export const routeEqual = (route1, route2) => {
181
+ return route1.name === route2.name
182
+ }
183
+
184
+ /**
185
+ * @param {*} list 现有标签导航列表
186
+ * @param {*} newRoute 新添加的路由原信息对象
187
+ * @description 如果该newRoute已经存在则不再添加
188
+ */
189
+ export const getNewTagList = (list, newRoute) => {
190
+ const { name, path, meta } = newRoute
191
+ let newList = [...list]
192
+ if (newList.findIndex((item) => item.name === name) >= 0) return newList
193
+ else newList.push({ name, path, meta })
194
+ return newList
195
+ }
196
+
197
+ function _forEach(arr, fn) {
198
+ if (!arr.length || !fn) return
199
+ let i = -1
200
+ let len = arr.length
201
+ while (++i < len) {
202
+ let item = arr[i]
203
+ fn(item, i, arr)
204
+ }
205
+ }
package/utils/n-theme.js CHANGED
@@ -1,30 +1,30 @@
1
- import classnames from 'classnames'
2
- import config from "@lambo-design/shared/config/config"
3
-
4
- export const THEME_KEY = 'ind-theme'
5
- export const THEME_LIST = ['ind-default-theme', 'ind-small-theme']
6
- const defaultTheme = 'ind-small-theme' //'ind-default-theme'
7
-
8
- export function getDefaultTheme() {
9
- return /*getLocalStorage(THEME_KEY) ||*/ defaultTheme
10
- }
11
-
12
- export function doChangeTheme(theme) {
13
- const body = document.getElementsByTagName('body') && document.getElementsByTagName('body')[0]
14
- if (body) {
15
- let cls = (body.className && body.className.split(' ')) || []
16
- const nowCls = cls.reduce((rlt, item) => ({ ...rlt, [item]: true }), {
17
- 'ind-theme': true,
18
- 'ind-default-theme': true,
19
- 'ibp-mode': !config.showMenus,
20
- })
21
-
22
- let removeCls = {}
23
- const nowTheme = body.getAttribute(THEME_KEY)
24
- if (nowTheme && nowTheme !== defaultTheme) {
25
- removeCls = { [nowTheme]: false }
26
- }
27
- body.setAttribute(THEME_KEY, theme)
28
- body.className = classnames({ ...nowCls, ...removeCls }, theme)
29
- }
30
- }
1
+ import classnames from 'classnames'
2
+ import config from "@lambo-design/shared/config/config"
3
+
4
+ export const THEME_KEY = 'ind-theme'
5
+ export const THEME_LIST = ['ind-default-theme', 'ind-small-theme']
6
+ const defaultTheme = 'ind-small-theme' //'ind-default-theme'
7
+
8
+ export function getDefaultTheme() {
9
+ return /*getLocalStorage(THEME_KEY) ||*/ defaultTheme
10
+ }
11
+
12
+ export function doChangeTheme(theme) {
13
+ const body = document.getElementsByTagName('body') && document.getElementsByTagName('body')[0]
14
+ if (body) {
15
+ let cls = (body.className && body.className.split(' ')) || []
16
+ const nowCls = cls.reduce((rlt, item) => ({ ...rlt, [item]: true }), {
17
+ 'ind-theme': true,
18
+ 'ind-default-theme': true,
19
+ 'ibp-mode': !config.showMenus,
20
+ })
21
+
22
+ let removeCls = {}
23
+ const nowTheme = body.getAttribute(THEME_KEY)
24
+ if (nowTheme && nowTheme !== defaultTheme) {
25
+ removeCls = { [nowTheme]: false }
26
+ }
27
+ body.setAttribute(THEME_KEY, theme)
28
+ body.className = classnames({ ...nowCls, ...removeCls }, theme)
29
+ }
30
+ }