eoss 0.1.0-alpha.37 → 0.1.0-alpha.38
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.
- package/lib/eoss.common.js +51 -24
- package/lib/index.js +1 -1
- package/lib/main.js +38 -11
- package/lib/menu-item-group.js +4 -4
- package/lib/menu.js +10 -10
- package/lib/submenu.js +4 -4
- package/package.json +1 -1
- package/packages/main/src/components/pages.vue +35 -4
- package/packages/menu/src/menu.vue +1 -1
- package/packages/menu/src/mixins.js +4 -4
- package/src/index.js +1 -1
package/lib/main.js
CHANGED
|
@@ -14489,8 +14489,8 @@ var notice_component = Object(componentNormalizer["a" /* default */])(
|
|
|
14489
14489
|
)
|
|
14490
14490
|
|
|
14491
14491
|
/* harmony default export */ var notice = (notice_component.exports);
|
|
14492
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/components/pages.vue?vue&type=template&id=
|
|
14493
|
-
var
|
|
14492
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/components/pages.vue?vue&type=template&id=0340e2fa&scoped=true&
|
|
14493
|
+
var pagesvue_type_template_id_0340e2fa_scoped_true_render = function () {
|
|
14494
14494
|
var _vm = this
|
|
14495
14495
|
var _h = _vm.$createElement
|
|
14496
14496
|
var _c = _vm._self._c || _h
|
|
@@ -14720,11 +14720,11 @@ var pagesvue_type_template_id_35e35b04_scoped_true_render = function () {
|
|
|
14720
14720
|
1
|
|
14721
14721
|
)
|
|
14722
14722
|
}
|
|
14723
|
-
var
|
|
14724
|
-
|
|
14723
|
+
var pagesvue_type_template_id_0340e2fa_scoped_true_staticRenderFns = []
|
|
14724
|
+
pagesvue_type_template_id_0340e2fa_scoped_true_render._withStripped = true
|
|
14725
14725
|
|
|
14726
14726
|
|
|
14727
|
-
// CONCATENATED MODULE: ./packages/main/src/components/pages.vue?vue&type=template&id=
|
|
14727
|
+
// CONCATENATED MODULE: ./packages/main/src/components/pages.vue?vue&type=template&id=0340e2fa&scoped=true&
|
|
14728
14728
|
|
|
14729
14729
|
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/main/src/components/router-page.vue?vue&type=template&id=bcc739f0&
|
|
14730
14730
|
var router_pagevue_type_template_id_bcc739f0_render = function () {
|
|
@@ -15073,6 +15073,20 @@ var pagesvue_type_script_lang_js_extends = Object.assign || function (target) {
|
|
|
15073
15073
|
|
|
15074
15074
|
|
|
15075
15075
|
|
|
15076
|
+
|
|
15077
|
+
/**
|
|
15078
|
+
* @desc: Unicode 安全的 base64 编码,兼容中文等非 Latin1 字符
|
|
15079
|
+
* @param {any} val 任意值,null/undefined 返回空串
|
|
15080
|
+
* @return {string}
|
|
15081
|
+
**/
|
|
15082
|
+
var base64 = function base64(val) {
|
|
15083
|
+
if (val === null || val === undefined) return '';
|
|
15084
|
+
try {
|
|
15085
|
+
return window.btoa(unescape(encodeURIComponent(String(val))));
|
|
15086
|
+
} catch (e) {
|
|
15087
|
+
return '';
|
|
15088
|
+
}
|
|
15089
|
+
};
|
|
15076
15090
|
/* harmony default export */ var pagesvue_type_script_lang_js_ = ({
|
|
15077
15091
|
name: 'Pages',
|
|
15078
15092
|
|
|
@@ -15201,10 +15215,23 @@ var pagesvue_type_script_lang_js_extends = Object.assign || function (target) {
|
|
|
15201
15215
|
* @date 2024年9月7日
|
|
15202
15216
|
**/
|
|
15203
15217
|
renderUrl: function renderUrl(url) {
|
|
15218
|
+
if (!url || typeof url !== 'string') return url;
|
|
15204
15219
|
var userInfo = this.$main.userInfo || this.$main.userModel || {};
|
|
15205
|
-
|
|
15206
|
-
|
|
15207
|
-
|
|
15220
|
+
Object.keys(userInfo).forEach(function (key) {
|
|
15221
|
+
var val = userInfo[key];
|
|
15222
|
+
if (val === null || val === undefined) return;
|
|
15223
|
+
var safeKey = Object(util["n" /* escapeRegexpString */])(key);
|
|
15224
|
+
var rawVal = String(val);
|
|
15225
|
+
var b64Val = base64(rawVal);
|
|
15226
|
+
// {base64-xxx} 与 {xxx} 两种占位符都要替换;
|
|
15227
|
+
// 使用函数式 replacement,避免值中的 $& / $1 等被特殊解释
|
|
15228
|
+
url = url.replace(new RegExp('\\{base64-' + safeKey + '\\}', 'g'), function () {
|
|
15229
|
+
return b64Val;
|
|
15230
|
+
});
|
|
15231
|
+
url = url.replace(new RegExp('\\{' + safeKey + '\\}', 'g'), function () {
|
|
15232
|
+
return rawVal;
|
|
15233
|
+
});
|
|
15234
|
+
});
|
|
15208
15235
|
return url;
|
|
15209
15236
|
},
|
|
15210
15237
|
handleSelect: function handleSelect(res, index) {
|
|
@@ -15450,11 +15477,11 @@ var pagesvue_type_script_lang_js_extends = Object.assign || function (target) {
|
|
|
15450
15477
|
|
|
15451
15478
|
var pages_component = Object(componentNormalizer["a" /* default */])(
|
|
15452
15479
|
components_pagesvue_type_script_lang_js_,
|
|
15453
|
-
|
|
15454
|
-
|
|
15480
|
+
pagesvue_type_template_id_0340e2fa_scoped_true_render,
|
|
15481
|
+
pagesvue_type_template_id_0340e2fa_scoped_true_staticRenderFns,
|
|
15455
15482
|
false,
|
|
15456
15483
|
null,
|
|
15457
|
-
"
|
|
15484
|
+
"0340e2fa",
|
|
15458
15485
|
null
|
|
15459
15486
|
|
|
15460
15487
|
)
|
package/lib/menu-item-group.js
CHANGED
|
@@ -750,7 +750,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
750
750
|
},
|
|
751
751
|
|
|
752
752
|
// 获取菜单图标颜色
|
|
753
|
-
getColor: function getColor(index) {
|
|
753
|
+
getColor: function getColor(index, item) {
|
|
754
754
|
if (!this.iconColors) {
|
|
755
755
|
return undefined;
|
|
756
756
|
}
|
|
@@ -759,7 +759,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
759
759
|
if (!this._colorCache) {
|
|
760
760
|
this._colorCache = {};
|
|
761
761
|
}
|
|
762
|
-
|
|
762
|
+
var isParentMenuIcon = item.children && item.children.length || this.isFourthTabs && item.fourthTabs && item.fourthTabs.length;
|
|
763
763
|
var key = Array.isArray(this.iconColors) ? 'index_' + index % this.iconColors.length : 'single_color';
|
|
764
764
|
|
|
765
765
|
if (!this._colorCache[key]) {
|
|
@@ -767,7 +767,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
767
767
|
this._colorCache[key] = {
|
|
768
768
|
'--icon-bg-color': bgColor,
|
|
769
769
|
'--icon-color': '#fff',
|
|
770
|
-
'--icon-font-size': '12px'
|
|
770
|
+
'--icon-font-size': isParentMenuIcon ? '16px' : '12px'
|
|
771
771
|
};
|
|
772
772
|
}
|
|
773
773
|
|
|
@@ -793,7 +793,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
793
793
|
extendData = item.extendData,
|
|
794
794
|
rest = _objectWithoutProperties(item, ['id', 'index', 'open', 'extendData']);
|
|
795
795
|
|
|
796
|
-
var openStatus = open || Boolean(extendData.openStatus);
|
|
796
|
+
var openStatus = open || extendData ? Boolean(extendData.openStatus) : false;
|
|
797
797
|
var props = void 0;
|
|
798
798
|
if (this.isFourthTabs) {
|
|
799
799
|
if (item.children && item.children.length || item.fourthTabs && item.fourthTabs.length) {
|
package/lib/menu.js
CHANGED
|
@@ -4748,8 +4748,8 @@ module.exports = require("vue");
|
|
|
4748
4748
|
// ESM COMPAT FLAG
|
|
4749
4749
|
__webpack_require__.r(__webpack_exports__);
|
|
4750
4750
|
|
|
4751
|
-
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu.vue?vue&type=template&id=
|
|
4752
|
-
var
|
|
4751
|
+
// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/menu/src/menu.vue?vue&type=template&id=31887554&
|
|
4752
|
+
var menuvue_type_template_id_31887554_render = function () {
|
|
4753
4753
|
var _vm = this
|
|
4754
4754
|
var _h = _vm.$createElement
|
|
4755
4755
|
var _c = _vm._self._c || _h
|
|
@@ -4805,7 +4805,7 @@ var menuvue_type_template_id_7ad225cf_render = function () {
|
|
|
4805
4805
|
"open-icon": _vm.openIcon,
|
|
4806
4806
|
"close-icon": _vm.closeIcon,
|
|
4807
4807
|
isFourthTabs: _vm.isFourthTabs,
|
|
4808
|
-
iconColor: _vm.getColor(index),
|
|
4808
|
+
iconColor: _vm.getColor(index, item),
|
|
4809
4809
|
iconColors: _vm.iconColors,
|
|
4810
4810
|
},
|
|
4811
4811
|
},
|
|
@@ -4844,10 +4844,10 @@ var menuvue_type_template_id_7ad225cf_render = function () {
|
|
|
4844
4844
|
)
|
|
4845
4845
|
}
|
|
4846
4846
|
var staticRenderFns = []
|
|
4847
|
-
|
|
4847
|
+
menuvue_type_template_id_31887554_render._withStripped = true
|
|
4848
4848
|
|
|
4849
4849
|
|
|
4850
|
-
// CONCATENATED MODULE: ./packages/menu/src/menu.vue?vue&type=template&id=
|
|
4850
|
+
// CONCATENATED MODULE: ./packages/menu/src/menu.vue?vue&type=template&id=31887554&
|
|
4851
4851
|
|
|
4852
4852
|
// EXTERNAL MODULE: ./packages/menu/src/mixins.js
|
|
4853
4853
|
var mixins = __webpack_require__(80);
|
|
@@ -5696,7 +5696,7 @@ var componentNormalizer = __webpack_require__(4);
|
|
|
5696
5696
|
|
|
5697
5697
|
var component = Object(componentNormalizer["a" /* default */])(
|
|
5698
5698
|
src_menuvue_type_script_lang_js_,
|
|
5699
|
-
|
|
5699
|
+
menuvue_type_template_id_31887554_render,
|
|
5700
5700
|
staticRenderFns,
|
|
5701
5701
|
false,
|
|
5702
5702
|
null,
|
|
@@ -10499,7 +10499,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
10499
10499
|
},
|
|
10500
10500
|
|
|
10501
10501
|
// 获取菜单图标颜色
|
|
10502
|
-
getColor: function getColor(index) {
|
|
10502
|
+
getColor: function getColor(index, item) {
|
|
10503
10503
|
if (!this.iconColors) {
|
|
10504
10504
|
return undefined;
|
|
10505
10505
|
}
|
|
@@ -10508,7 +10508,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
10508
10508
|
if (!this._colorCache) {
|
|
10509
10509
|
this._colorCache = {};
|
|
10510
10510
|
}
|
|
10511
|
-
|
|
10511
|
+
var isParentMenuIcon = item.children && item.children.length || this.isFourthTabs && item.fourthTabs && item.fourthTabs.length;
|
|
10512
10512
|
var key = Array.isArray(this.iconColors) ? 'index_' + index % this.iconColors.length : 'single_color';
|
|
10513
10513
|
|
|
10514
10514
|
if (!this._colorCache[key]) {
|
|
@@ -10516,7 +10516,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
10516
10516
|
this._colorCache[key] = {
|
|
10517
10517
|
'--icon-bg-color': bgColor,
|
|
10518
10518
|
'--icon-color': '#fff',
|
|
10519
|
-
'--icon-font-size': '12px'
|
|
10519
|
+
'--icon-font-size': isParentMenuIcon ? '16px' : '12px'
|
|
10520
10520
|
};
|
|
10521
10521
|
}
|
|
10522
10522
|
|
|
@@ -10542,7 +10542,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
10542
10542
|
extendData = item.extendData,
|
|
10543
10543
|
rest = _objectWithoutProperties(item, ['id', 'index', 'open', 'extendData']);
|
|
10544
10544
|
|
|
10545
|
-
var openStatus = open || Boolean(extendData.openStatus);
|
|
10545
|
+
var openStatus = open || extendData ? Boolean(extendData.openStatus) : false;
|
|
10546
10546
|
var props = void 0;
|
|
10547
10547
|
if (this.isFourthTabs) {
|
|
10548
10548
|
if (item.children && item.children.length || item.fourthTabs && item.fourthTabs.length) {
|
package/lib/submenu.js
CHANGED
|
@@ -4481,7 +4481,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
4481
4481
|
},
|
|
4482
4482
|
|
|
4483
4483
|
// 获取菜单图标颜色
|
|
4484
|
-
getColor: function getColor(index) {
|
|
4484
|
+
getColor: function getColor(index, item) {
|
|
4485
4485
|
if (!this.iconColors) {
|
|
4486
4486
|
return undefined;
|
|
4487
4487
|
}
|
|
@@ -4490,7 +4490,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
4490
4490
|
if (!this._colorCache) {
|
|
4491
4491
|
this._colorCache = {};
|
|
4492
4492
|
}
|
|
4493
|
-
|
|
4493
|
+
var isParentMenuIcon = item.children && item.children.length || this.isFourthTabs && item.fourthTabs && item.fourthTabs.length;
|
|
4494
4494
|
var key = Array.isArray(this.iconColors) ? 'index_' + index % this.iconColors.length : 'single_color';
|
|
4495
4495
|
|
|
4496
4496
|
if (!this._colorCache[key]) {
|
|
@@ -4498,7 +4498,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
4498
4498
|
this._colorCache[key] = {
|
|
4499
4499
|
'--icon-bg-color': bgColor,
|
|
4500
4500
|
'--icon-color': '#fff',
|
|
4501
|
-
'--icon-font-size': '12px'
|
|
4501
|
+
'--icon-font-size': isParentMenuIcon ? '16px' : '12px'
|
|
4502
4502
|
};
|
|
4503
4503
|
}
|
|
4504
4504
|
|
|
@@ -4524,7 +4524,7 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
|
|
|
4524
4524
|
extendData = item.extendData,
|
|
4525
4525
|
rest = _objectWithoutProperties(item, ['id', 'index', 'open', 'extendData']);
|
|
4526
4526
|
|
|
4527
|
-
var openStatus = open || Boolean(extendData.openStatus);
|
|
4527
|
+
var openStatus = open || extendData ? Boolean(extendData.openStatus) : false;
|
|
4528
4528
|
var props = void 0;
|
|
4529
4529
|
if (this.isFourthTabs) {
|
|
4530
4530
|
if (item.children && item.children.length || item.fourthTabs && item.fourthTabs.length) {
|
package/package.json
CHANGED
|
@@ -125,7 +125,12 @@
|
|
|
125
125
|
|
|
126
126
|
<script>
|
|
127
127
|
import { getStorage } from 'eoss/src/utils/storage';
|
|
128
|
-
import {
|
|
128
|
+
import {
|
|
129
|
+
indexOfObj,
|
|
130
|
+
uuid,
|
|
131
|
+
timestampUrl,
|
|
132
|
+
escapeRegexpString
|
|
133
|
+
} from 'eoss/src/utils/util';
|
|
129
134
|
import RouterPage from './router-page.vue';
|
|
130
135
|
import Wujie from 'eoss/packages/wujie';
|
|
131
136
|
|
|
@@ -133,6 +138,20 @@ import EsCard from 'eoss/packages/card';
|
|
|
133
138
|
import EsMenu from 'eoss/packages/menu';
|
|
134
139
|
import EsTabPane from 'eoss/packages/tab-pane';
|
|
135
140
|
import EsTabs from 'eoss/packages/tabs';
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* @desc: Unicode 安全的 base64 编码,兼容中文等非 Latin1 字符
|
|
144
|
+
* @param {any} val 任意值,null/undefined 返回空串
|
|
145
|
+
* @return {string}
|
|
146
|
+
**/
|
|
147
|
+
const base64 = (val) => {
|
|
148
|
+
if (val === null || val === undefined) return '';
|
|
149
|
+
try {
|
|
150
|
+
return window.btoa(unescape(encodeURIComponent(String(val))));
|
|
151
|
+
} catch (e) {
|
|
152
|
+
return '';
|
|
153
|
+
}
|
|
154
|
+
};
|
|
136
155
|
export default {
|
|
137
156
|
name: 'Pages',
|
|
138
157
|
|
|
@@ -264,10 +283,22 @@ export default {
|
|
|
264
283
|
* @date 2024年9月7日
|
|
265
284
|
**/
|
|
266
285
|
renderUrl(url) {
|
|
286
|
+
if (!url || typeof url !== 'string') return url;
|
|
267
287
|
const userInfo = this.$main.userInfo || this.$main.userModel || {};
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
288
|
+
Object.keys(userInfo).forEach((key) => {
|
|
289
|
+
const val = userInfo[key];
|
|
290
|
+
if (val === null || val === undefined) return;
|
|
291
|
+
const safeKey = escapeRegexpString(key);
|
|
292
|
+
const rawVal = String(val);
|
|
293
|
+
const b64Val = base64(rawVal);
|
|
294
|
+
// {base64-xxx} 与 {xxx} 两种占位符都要替换;
|
|
295
|
+
// 使用函数式 replacement,避免值中的 $& / $1 等被特殊解释
|
|
296
|
+
url = url.replace(
|
|
297
|
+
new RegExp(`\\{base64-${safeKey}\\}`, 'g'),
|
|
298
|
+
() => b64Val
|
|
299
|
+
);
|
|
300
|
+
url = url.replace(new RegExp(`\\{${safeKey}\\}`, 'g'), () => rawVal);
|
|
301
|
+
});
|
|
271
302
|
return url;
|
|
272
303
|
},
|
|
273
304
|
|
|
@@ -49,7 +49,7 @@ export default {
|
|
|
49
49
|
return componentType;
|
|
50
50
|
},
|
|
51
51
|
// 获取菜单图标颜色
|
|
52
|
-
getColor(index) {
|
|
52
|
+
getColor(index, item) {
|
|
53
53
|
if (!this.iconColors) {
|
|
54
54
|
return undefined;
|
|
55
55
|
}
|
|
@@ -58,7 +58,7 @@ export default {
|
|
|
58
58
|
if (!this._colorCache) {
|
|
59
59
|
this._colorCache = {};
|
|
60
60
|
}
|
|
61
|
-
|
|
61
|
+
const isParentMenuIcon = item.children && item.children.length || (this.isFourthTabs && item.fourthTabs && item.fourthTabs.length);
|
|
62
62
|
const key = Array.isArray(this.iconColors) ? `index_${index % this.iconColors.length}` : 'single_color';
|
|
63
63
|
|
|
64
64
|
if (!this._colorCache[key]) {
|
|
@@ -66,7 +66,7 @@ export default {
|
|
|
66
66
|
this._colorCache[key] = {
|
|
67
67
|
'--icon-bg-color': bgColor,
|
|
68
68
|
'--icon-color': '#fff',
|
|
69
|
-
'--icon-font-size': '12px'
|
|
69
|
+
'--icon-font-size': isParentMenuIcon ? '16px' : '12px'
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
72
|
|
|
@@ -89,7 +89,7 @@ export default {
|
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
const { id, index, open, extendData, ...rest } = item;
|
|
92
|
-
const openStatus = open || Boolean(extendData.openStatus);
|
|
92
|
+
const openStatus = open || extendData ? Boolean(extendData.openStatus) : false;
|
|
93
93
|
let props;
|
|
94
94
|
if (this.isFourthTabs) {
|
|
95
95
|
if ((item.children && item.children.length) || (item.fourthTabs && item.fourthTabs.length)) {
|