@lambo-design/shared 1.0.0-beta.150 → 1.0.0-beta.151
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/package.json +1 -1
- package/utils/menu/index.js +7 -7
- package/utils/platform.js +77 -17
package/package.json
CHANGED
package/utils/menu/index.js
CHANGED
|
@@ -215,9 +215,9 @@ const generator = (menuData,constantRouterComponents) => {
|
|
|
215
215
|
if (typeof target.component == "string") {
|
|
216
216
|
// 解决路由name与组件name不一致导致的keeplive不生效的问题
|
|
217
217
|
try {
|
|
218
|
-
let componentPath = '@/view/' + target.component;
|
|
218
|
+
//let componentPath = '@/view/' + target.component;
|
|
219
219
|
item.component = resolve =>
|
|
220
|
-
require([
|
|
220
|
+
require(['@/view/'+ target.component], data => {
|
|
221
221
|
data.default.name = item.name;
|
|
222
222
|
resolve(data);
|
|
223
223
|
});
|
|
@@ -253,9 +253,9 @@ const generator = (menuData,constantRouterComponents) => {
|
|
|
253
253
|
if (item.uri.startsWith("dida/")) {
|
|
254
254
|
item.meta.notCache = true;
|
|
255
255
|
try{
|
|
256
|
-
let path = '@/view/dida/dida-page';
|
|
256
|
+
//let path = '@/view/dida/dida-page';
|
|
257
257
|
item.component = resolve => {
|
|
258
|
-
require([
|
|
258
|
+
require(['@/view/dida/dida-page'], data => {
|
|
259
259
|
data.default.name = item.name;
|
|
260
260
|
resolve(data);
|
|
261
261
|
});
|
|
@@ -276,11 +276,11 @@ const generator = (menuData,constantRouterComponents) => {
|
|
|
276
276
|
item.query = query;
|
|
277
277
|
path = path.substr(0,path.indexOf("?"));
|
|
278
278
|
}
|
|
279
|
-
let componentPath = '@/view/' + path;
|
|
280
|
-
let component = require(
|
|
279
|
+
//let componentPath = '@/view/' + path;
|
|
280
|
+
let component = require('@/view/' + path);
|
|
281
281
|
if (component) {
|
|
282
282
|
item.component = resolve => {
|
|
283
|
-
require([
|
|
283
|
+
require(['@/view/' + path], data => {
|
|
284
284
|
data.default.name = item.name;
|
|
285
285
|
resolve(data);
|
|
286
286
|
});
|
package/utils/platform.js
CHANGED
|
@@ -416,12 +416,12 @@ export const routeHasExist = (tagNavList, routeItem) => {
|
|
|
416
416
|
export const scrollTop = (el, from = 0, to, duration = 500, endCallback) => {
|
|
417
417
|
if (!window.requestAnimationFrame) {
|
|
418
418
|
window.requestAnimationFrame = (
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
419
|
+
window.webkitRequestAnimationFrame ||
|
|
420
|
+
window.mozRequestAnimationFrame ||
|
|
421
|
+
window.msRequestAnimationFrame ||
|
|
422
|
+
function (callback) {
|
|
423
|
+
return window.setTimeout(callback, 1000 / 60)
|
|
424
|
+
}
|
|
425
425
|
)
|
|
426
426
|
}
|
|
427
427
|
const difference = Math.abs(from - to)
|
|
@@ -700,14 +700,15 @@ export const getMobileAppList = (appList) => {
|
|
|
700
700
|
* @param appType
|
|
701
701
|
* @returns {*[]}
|
|
702
702
|
*/
|
|
703
|
-
export const buildNavListByMenu = (permissionList,appType) => {
|
|
703
|
+
export const buildNavListByMenu = (permissionList,appInfo,appType) => {
|
|
704
704
|
let navList = []
|
|
705
|
-
if (permissionList) {
|
|
706
|
-
let permissions = permissionList.filter(item => item.hasOwnProperty('pid') && item.pid == '0')
|
|
705
|
+
if (permissionList && appInfo && appInfo.appId) {
|
|
706
|
+
let permissions = permissionList.filter(item => item.hasOwnProperty('pid') && item.pid == '0' && item.appId == appInfo.appId)
|
|
707
707
|
for (let per of permissions) {
|
|
708
708
|
if (appType && appType == 'sc') {
|
|
709
709
|
let nav = {
|
|
710
710
|
"data" : deepCopy(per),
|
|
711
|
+
"appInfo" : deepCopy(appInfo),
|
|
711
712
|
"orderNo": per.orders,
|
|
712
713
|
"application": {
|
|
713
714
|
"extendProps": per.extension ? JSON.parse(per.extension) : "",
|
|
@@ -715,7 +716,7 @@ export const buildNavListByMenu = (permissionList,appType) => {
|
|
|
715
716
|
"appBizCode": per.permissionValue,
|
|
716
717
|
"appName": per.title,
|
|
717
718
|
"appDesc": per.description,
|
|
718
|
-
"appUrl":
|
|
719
|
+
"appUrl": appInfo.basepath,
|
|
719
720
|
"icon": per.icon,
|
|
720
721
|
"appStatus": 1,
|
|
721
722
|
"manageUnitId": "",
|
|
@@ -741,7 +742,7 @@ export const buildNavListByMenu = (permissionList,appType) => {
|
|
|
741
742
|
"authType": "1",
|
|
742
743
|
"isLower": null
|
|
743
744
|
},
|
|
744
|
-
"basepath":
|
|
745
|
+
"basepath": appInfo.basepath,
|
|
745
746
|
"appId": per.permissionId,
|
|
746
747
|
"icon": per.icon,
|
|
747
748
|
"name": per.name,
|
|
@@ -754,13 +755,14 @@ export const buildNavListByMenu = (permissionList,appType) => {
|
|
|
754
755
|
} else {
|
|
755
756
|
let nav = {
|
|
756
757
|
"data" : deepCopy(per),
|
|
758
|
+
"appInfo" : deepCopy(appInfo),
|
|
757
759
|
"id": per.id,
|
|
758
760
|
"appId": per.permissionId,
|
|
759
761
|
"systemId": per.systemId,
|
|
760
762
|
"icon": per.icon,
|
|
761
763
|
"banner": null,
|
|
762
764
|
"theme": null,
|
|
763
|
-
"basepath":
|
|
765
|
+
"basepath": appInfo.basepath,
|
|
764
766
|
"status": 1,
|
|
765
767
|
"name": per.name,
|
|
766
768
|
"title": per.type,
|
|
@@ -787,8 +789,8 @@ export const buildNavListByMenu = (permissionList,appType) => {
|
|
|
787
789
|
*/
|
|
788
790
|
export const isChildPermission = (permissionList, pid, per) => {
|
|
789
791
|
if (permissionList && pid && per && per.pid) {
|
|
790
|
-
let res = permissionList.find(item => item.hasOwnProperty('permissionId') &&
|
|
791
|
-
if (res && res.permissionId &&
|
|
792
|
+
let res = permissionList.find(item => item.hasOwnProperty('permissionId') && item.permissionId == per.pid)
|
|
793
|
+
if (res && res.permissionId && res.permissionId == pid) {
|
|
792
794
|
return true;
|
|
793
795
|
} else {
|
|
794
796
|
return isChildPermission(permissionList, pid, res)
|
|
@@ -801,18 +803,76 @@ export const isChildPermission = (permissionList, pid, per) => {
|
|
|
801
803
|
* @param permissionList
|
|
802
804
|
* @param pid
|
|
803
805
|
*/
|
|
804
|
-
export const getChildPermissions = (permissionList, pid) => {
|
|
806
|
+
export const getChildPermissions = (permissionList, pid, appInfo) => {
|
|
805
807
|
let res = []
|
|
806
808
|
if (permissionList && pid) {
|
|
807
809
|
for (let permission of permissionList) {
|
|
808
|
-
|
|
809
|
-
|
|
810
|
+
if (isChildPermission(permissionList, pid, permission)) {
|
|
811
|
+
let per2 = deepCopy(permission);
|
|
812
|
+
per2.appId = pid;
|
|
813
|
+
if (per2.pid == pid) {
|
|
814
|
+
per2.pid = "0";
|
|
810
815
|
}
|
|
816
|
+
per2.appInfo = deepCopy(appInfo)
|
|
817
|
+
res.push(per2);
|
|
818
|
+
}
|
|
811
819
|
}
|
|
812
820
|
}
|
|
813
821
|
return res;
|
|
814
822
|
}
|
|
823
|
+
/**
|
|
824
|
+
* 恢复权限的原始信息
|
|
825
|
+
* @param permission
|
|
826
|
+
*/
|
|
827
|
+
export const getOriginalPermission = (permission) => {
|
|
828
|
+
if (permission && permission.meta && permission.meta.data && permission.meta.data.appInfo) {
|
|
829
|
+
let per2 = deepCopy(permission);
|
|
830
|
+
if (per2.hasOwnProperty('pid') && per2.pid == '0') {
|
|
831
|
+
per2.pid = per2.meta.data.appId;
|
|
832
|
+
per2.meta.data.pid = per2.meta.data.appId;
|
|
833
|
+
}
|
|
834
|
+
per2.meta.appId = permission.meta.data.appInfo.appId;
|
|
835
|
+
per2.meta.data.appId = permission.meta.data.appInfo.appId;
|
|
836
|
+
return per2;
|
|
837
|
+
}
|
|
838
|
+
return permission
|
|
839
|
+
}
|
|
815
840
|
|
|
841
|
+
/**
|
|
842
|
+
* 单应用时修改源权限信息
|
|
843
|
+
* @param permissionList
|
|
844
|
+
* @param menu
|
|
845
|
+
* @param appInfo
|
|
846
|
+
* @returns {*}
|
|
847
|
+
*/
|
|
848
|
+
export const buildSinglePermission = (permissionList, menu) => {
|
|
849
|
+
let permission = permissionList.find(item => item.permissionId == menu.permissionId && item.appId == menu.appId)
|
|
850
|
+
let rootPermission = getRootPermission(permissionList, permission)
|
|
851
|
+
menu.appInfo = {
|
|
852
|
+
appId: menu.appId
|
|
853
|
+
}
|
|
854
|
+
menu.appId = rootPermission.permissionId;
|
|
855
|
+
return menu;
|
|
856
|
+
}
|
|
857
|
+
/**
|
|
858
|
+
* 获取菜单根节点
|
|
859
|
+
* @param permissionList
|
|
860
|
+
* @param permission
|
|
861
|
+
* @returns {*|{pid}|{}}
|
|
862
|
+
*/
|
|
863
|
+
export const getRootPermission = (permissionList, permission) => {
|
|
864
|
+
if (permissionList, permission) {
|
|
865
|
+
if (!permission.hasOwnProperty('pid')) {
|
|
866
|
+
return permission
|
|
867
|
+
} else if (permission.pid == '0') {
|
|
868
|
+
return permission
|
|
869
|
+
} else {
|
|
870
|
+
let parentPermission = permissionList.find(item => item.permissionId == permission.pid && item.appId == permission.appId)
|
|
871
|
+
return getRootPermission(permissionList, parentPermission);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
return permission;
|
|
875
|
+
}
|
|
816
876
|
/**
|
|
817
877
|
* getPreviousTagIndex
|
|
818
878
|
* @param tagList
|