@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lambo-design/shared",
3
- "version": "1.0.0-beta.150",
3
+ "version": "1.0.0-beta.151",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "lambo",
@@ -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([`${componentPath}`], data => {
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([`${path}`], data => {
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(`${componentPath}`);
279
+ //let componentPath = '@/view/' + path;
280
+ let component = require('@/view/' + path);
281
281
  if (component) {
282
282
  item.component = resolve => {
283
- require([`${componentPath}`], data => {
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
- window.webkitRequestAnimationFrame ||
420
- window.mozRequestAnimationFrame ||
421
- window.msRequestAnimationFrame ||
422
- function (callback) {
423
- return window.setTimeout(callback, 1000 / 60)
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": per.uri,
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": per.uri,
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": per.uri,
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') && per.hasOwnProperty('pid') && item.permissionId == per.pid)
791
- if (res && res.permissionId && per.permissionId == pid) {
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
- if (isChildPermission(permissionList, pid, permission)) {
809
- res.push(permission);
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