isdata-customer-sdk 0.2.17 → 0.2.18

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/dist/index.umd.js CHANGED
@@ -29862,8 +29862,11 @@ const getCurrentAppID = () => {
29862
29862
  * @returns
29863
29863
  */
29864
29864
  const getAppPortalMenuDatas = async (user_id, group_id, isPortalAction, appVariables) => {
29865
+ //获取门户应用ID
29865
29866
  let portal_app_id = getPoratlAppID();
29867
+ //获取当前用户在当前组织下的角色ID
29866
29868
  let roleList = await getRoleIDsByUserAndGroupID(user_id, portal_app_id, group_id);
29869
+ //获取当前组织下的门户菜单数据
29867
29870
  let portalMenuDatas = await getMenuDatasByGroupID(group_id, roleList);
29868
29871
  let app_id = window.appSdk.getAppId();
29869
29872
  let menuDatas = portalMenuDatas.filter(menuData => {
@@ -29911,32 +29914,52 @@ const getMenuDatasByGroupID = async (group_id, role_ids) => {
29911
29914
  let result = await request.post(`/dataservice/rest/orchestration/getMenuDatasByGroupID`, queryData_groupData);
29912
29915
  //所有的快捷访问菜单信息
29913
29916
  let portalMenuDatas = result.data.resultDatas;
29917
+ //所有的菜单类型
29914
29918
  let menuTypes = result.data.menuTypes;
29919
+ result = await request.post(`/dataservice/rest/orchestration/getPortalDefaultQuickMenus`, {});
29920
+ let defaultMenuDatas = result.data.resultDatas;
29921
+ let defaultMenuType = result.data.menuTypes;
29922
+ let tempMenuDatas = portalMenuDatas.concat(defaultMenuDatas);
29923
+ let tempMenuType = menuTypes.concat(defaultMenuType);
29924
+ let finalMenuDatas = [];
29925
+ let finaMenuTypes = [];
29926
+ let tempMap = {};
29927
+ //缓存所有快捷访问菜单信息
29928
+ for (const tempData of tempMenuDatas) {
29929
+ let id = tempData.id;
29930
+ if (!tempMap[id]) {
29931
+ finalMenuDatas.push(tempData);
29932
+ tempMap[id] = tempData;
29933
+ }
29934
+ }
29935
+ let tempTypeMap = {};
29936
+ //缓存所有菜单类型信息
29937
+ for (const tempType of tempMenuType) {
29938
+ let id = tempType.id;
29939
+ if (!tempTypeMap[id]) {
29940
+ finaMenuTypes.push(tempType);
29941
+ tempTypeMap[id] = tempType;
29942
+ }
29943
+ }
29944
+
29945
+ //如果有角色ID,则获取对应角色的快捷访问菜单映射信息
29915
29946
  if (role_ids && role_ids.length > 0) {
29916
29947
  //获取当前角色下对应的角色快捷访问菜单的映射信息(到应用自定义菜单)和快捷访问菜单的信息
29917
- let result = await getMenuMappingDatasByRoleIDs(role_ids, group_id);
29948
+ result = await getMenuMappingDatasByRoleIDs(role_ids, group_id);
29918
29949
  //对应角色的快捷访问菜单映射信息
29919
29950
  let quickMenuMappingDatas = result.data.quickMenuMappingDatas || [];
29920
29951
  let filterObjectMap = {};
29921
- let tempMap = {};
29922
- for (const tempData of portalMenuDatas) {
29923
- let id = tempData.id;
29924
- tempMap[id] = tempData;
29925
- }
29952
+
29953
+ //缓存所有角色的快捷访问菜单映射信息
29926
29954
  for (const data of quickMenuMappingDatas) {
29927
29955
  let id = data.menu_mapping_id;
29928
29956
  let quickMenuMapping = tempMap[id];
29929
29957
  filterObjectMap[id] = quickMenuMapping;
29930
29958
  }
29931
- // //对应角色的快捷访问菜单信息
29932
- // let menuMappingDatas = result.data.menuMappingDatas||[];
29933
- // for (const data of menuMappingDatas) {
29934
- // let id= data.id;
29935
- // filterObjectMap[id]=data;
29936
- // }
29937
- return transformPortalData(portalMenuDatas, menuTypes, filterObjectMap);
29959
+ //返回基于角色关联关系过滤后的快捷访问菜单信息
29960
+ return transformPortalData(finalMenuDatas, finaMenuTypes, filterObjectMap);
29938
29961
  } else {
29939
- return transformPortalData(portalMenuDatas, menuTypes, []);
29962
+ return transformPortalData(finalMenuDatas, finaMenuTypes, []);
29940
29963
  }
29941
29964
  };
29942
29965
 
@@ -30034,6 +30057,7 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
30034
30057
  let menuMaps = {};
30035
30058
  let menuTypeMaps = {};
30036
30059
  let parentMaps = {};
30060
+ //缓存所有父亲菜单信息
30037
30061
  for (let key in filterObjectMap) {
30038
30062
  let item = filterObjectMap[key];
30039
30063
  let parent_id = item.parent_id;
@@ -30041,6 +30065,7 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
30041
30065
  parentMaps[parent_id] = true;
30042
30066
  }
30043
30067
  }
30068
+ //缓存所有菜单信息
30044
30069
  for (const data of datas) {
30045
30070
  let id = data.id;
30046
30071
  let tempMenuData = {
@@ -30058,15 +30083,12 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
30058
30083
  beyond_type_sort: data.menu_type_sort ? data.menu_type_sort : 999
30059
30084
  };
30060
30085
  //如果存在快捷菜单映射数据或者是主菜单入口
30061
- if (filterObjectMap) {
30062
- //如果是主菜单或者存在快捷访问映射或者孩子存在快捷访问映射,则纳入到菜单中
30063
- if (filterObjectMap[id] || data.type == "4" || parentMaps[id]) {
30064
- menuMaps[id] = tempMenuData;
30065
- }
30066
- } else {
30086
+ //如果是主菜单或者存在快捷访问映射或者孩子存在快捷访问映射或者是应用默认的菜单,则纳入到菜单中
30087
+ if (filterObjectMap && filterObjectMap[id] || data.type == "4" || parentMaps[id] || data.is_app_defalut == "1") {
30067
30088
  menuMaps[id] = tempMenuData;
30068
30089
  }
30069
30090
  }
30091
+ //缓存所有菜单类型信息
30070
30092
  for (const menuData of menuTypes) {
30071
30093
  let id = menuData.id;
30072
30094
  menuTypeMaps[id] = menuData;
@@ -30131,6 +30153,7 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
30131
30153
  break;
30132
30154
  }
30133
30155
  }
30156
+ //如果没有子菜单,则跳过
30134
30157
  if (count == 0) {
30135
30158
  continue;
30136
30159
  }