isdata-customer-sdk 0.1.73 → 0.1.75

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.
@@ -29552,7 +29552,6 @@ __webpack_require__.r(__webpack_exports__);
29552
29552
  // EXPORTS
29553
29553
  __webpack_require__.d(__webpack_exports__, {
29554
29554
  ChatClientMgr: function() { return /* reexport */ ChatClientMgr; },
29555
- addAndCleanDocument: function() { return /* reexport */ addAndCleanDocument; },
29556
29555
  addEventAction: function() { return /* reexport */ addEventAction; },
29557
29556
  addIMMapping: function() { return /* reexport */ addIMMapping; },
29558
29557
  addObjectUsedTimes: function() { return /* reexport */ addObjectUsedTimes; },
@@ -29611,9 +29610,12 @@ __webpack_require__.d(__webpack_exports__, {
29611
29610
  removeEventAction: function() { return /* reexport */ removeEventAction; },
29612
29611
  removeEventListener: function() { return /* reexport */ removeEventListener; },
29613
29612
  removeWindowTrustedOrigin: function() { return /* reexport */ removeWindowTrustedOrigin; },
29613
+ sendPostToAIAgent: function() { return /* reexport */ sendPostToAIAgent; },
29614
29614
  sendWindowMessage: function() { return /* reexport */ sendWindowMessage; },
29615
29615
  setPortalPageConfig: function() { return /* reexport */ setPortalPageConfig; },
29616
29616
  switchPortalLogin: function() { return /* reexport */ switchPortalLogin; },
29617
+ transformPortalQuickMenuDatas: function() { return /* reexport */ transformPortalQuickMenuDatas; },
29618
+ transformPortalSystemMenuDatas: function() { return /* reexport */ transformPortalSystemMenuDatas; },
29617
29619
  updateIMMapping: function() { return /* reexport */ updateIMMapping; },
29618
29620
  updateUserSelectPortal: function() { return /* reexport */ updateUserSelectPortal; },
29619
29621
  validateSSOPageLoaded: function() { return /* reexport */ validateSSOPageLoaded; }
@@ -29878,21 +29880,27 @@ const getMenuDatasByGroupID = async (group_id, role_ids) => {
29878
29880
  let portalMenuDatas = result.data.resultDatas;
29879
29881
  let menuTypes = result.data.menuTypes;
29880
29882
  if (role_ids && role_ids.length > 0) {
29881
- //获取当前角色下对应的角色快捷访问菜单的映射信息和快捷访问菜单的信息
29883
+ //获取当前角色下对应的角色快捷访问菜单的映射信息(到应用自定义菜单)和快捷访问菜单的信息
29882
29884
  let result = await getMenuMappingDatasByRoleIDs(role_ids, group_id);
29883
- //角色-快捷访问菜单映射信息
29885
+ //对应角色的快捷访问菜单映射信息
29884
29886
  let quickMenuMappingDatas = result.data.quickMenuMappingDatas || [];
29885
29887
  let filterObjectMap = {};
29888
+ let tempMap = {};
29889
+ for (const tempData of portalMenuDatas) {
29890
+ let id = tempData.id;
29891
+ tempMap[id] = tempData;
29892
+ }
29886
29893
  for (const data of quickMenuMappingDatas) {
29887
29894
  let id = data.menu_mapping_id;
29888
- filterObjectMap[id] = data;
29889
- }
29890
- //快捷菜单映射信息
29891
- let menuMappingDatas = result.data.menuMappingDatas || [];
29892
- for (const data of menuMappingDatas) {
29893
- let id = data.id;
29894
- filterObjectMap[id] = data;
29895
- }
29895
+ let quickMenuMapping = tempMap[id];
29896
+ filterObjectMap[id] = quickMenuMapping;
29897
+ }
29898
+ // //对应角色的快捷访问菜单信息
29899
+ // let menuMappingDatas = result.data.menuMappingDatas||[];
29900
+ // for (const data of menuMappingDatas) {
29901
+ // let id= data.id;
29902
+ // filterObjectMap[id]=data;
29903
+ // }
29896
29904
  return transformPortalData(portalMenuDatas, menuTypes, filterObjectMap);
29897
29905
  } else {
29898
29906
  return transformPortalData(portalMenuDatas, menuTypes, []);
@@ -29962,11 +29970,16 @@ const getRoleIDsByUserAndGroupID = async (user_id, app_id, group_id) => {
29962
29970
  * @returns
29963
29971
  */
29964
29972
  const transformPortalData = (datas, menuTypes, filterObjectMap) => {
29965
- console.log(datas);
29966
- console.log(menuTypes);
29967
- console.log(filterObjectMap);
29968
29973
  let menuMaps = {};
29969
29974
  let menuTypeMaps = {};
29975
+ let parentMaps = {};
29976
+ for (let key in filterObjectMap) {
29977
+ let item = filterObjectMap[key];
29978
+ let parent_id = item.parent_id;
29979
+ if (parent_id) {
29980
+ parentMaps[parent_id] = true;
29981
+ }
29982
+ }
29970
29983
  for (const data of datas) {
29971
29984
  let id = data.id;
29972
29985
  let tempMenuData = {
@@ -29985,7 +29998,8 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
29985
29998
  };
29986
29999
  //如果存在快捷菜单映射数据或者是主菜单入口
29987
30000
  if (filterObjectMap) {
29988
- if (filterObjectMap[id] || data.type == "4") {
30001
+ //如果是主菜单或者存在快捷访问映射或者孩子存在快捷访问映射,则纳入到菜单中
30002
+ if (filterObjectMap[id] || data.type == "4" || parentMaps[id]) {
29989
30003
  menuMaps[id] = tempMenuData;
29990
30004
  }
29991
30005
  } else {
@@ -30007,6 +30021,7 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
30007
30021
  let tempType = tempMenuData.beyond_type;
30008
30022
  // let tempType_sort =tempMenuData.beyond_type_sort;
30009
30023
  let tempParentMenu = menuMaps[parent_id];
30024
+ if (!tempParentMenu) continue;
30010
30025
  let parentTypes = tempParentMenu.children;
30011
30026
  let parentType = parentTypes.find(tempTypeItem => {
30012
30027
  return tempTypeItem.id == tempType;
@@ -30084,6 +30099,110 @@ const transformPortalData = (datas, menuTypes, filterObjectMap) => {
30084
30099
  return menuList;
30085
30100
  };
30086
30101
 
30102
+ /**
30103
+ * 转换门户用户快捷菜单数据
30104
+ * @param {*} quickDatas
30105
+ * @returns
30106
+ */
30107
+ const transformPortalQuickMenuDatas = quickDatas => {
30108
+ let quickMenuMaps = {};
30109
+ for (const data of quickDatas) {
30110
+ let id = data.id;
30111
+ let tempMenuData = {
30112
+ id: id,
30113
+ label: data.title,
30114
+ sort: data.sort,
30115
+ children: [],
30116
+ parent_id: data.parent_id,
30117
+ type: data.type
30118
+ };
30119
+ quickMenuMaps[id] = tempMenuData;
30120
+ }
30121
+ for (const data of quickDatas) {
30122
+ let tempMenuData = quickMenuMaps[data.id];
30123
+ //5:子菜单入口
30124
+ if (tempMenuData.type == "5") {
30125
+ let parent_id = tempMenuData.parent_id;
30126
+ let tempParentMenu = quickMenuMaps[parent_id];
30127
+ if (tempParentMenu) {
30128
+ let parentChilden = tempParentMenu.children;
30129
+ parentChilden.push(tempMenuData);
30130
+ }
30131
+ }
30132
+ }
30133
+ const menuList = [];
30134
+ for (const data of quickDatas) {
30135
+ let tempMenuData = quickMenuMaps[data.id];
30136
+ //4:主菜单入口
30137
+ if (tempMenuData.type == "4") {
30138
+ menuList.push(tempMenuData);
30139
+ let tempArrys = tempMenuData.children;
30140
+ tempArrys.sort((data1, data2) => {
30141
+ if (Number.isNaN(data1.sort)) return 1;
30142
+ if (Number.isNaN(data2.sort)) return -1;
30143
+ return data1.sort - data2.sort;
30144
+ });
30145
+ }
30146
+ }
30147
+ menuList.sort((data1, data2) => {
30148
+ if (Number.isNaN(data1.sort)) return 1;
30149
+ if (Number.isNaN(data2.sort)) return -1;
30150
+ return data1.sort - data2.sort;
30151
+ });
30152
+ return menuList;
30153
+ };
30154
+ const transformPortalSystemMenuDatas = datas => {
30155
+ let menuMaps = {};
30156
+ for (const data of datas) {
30157
+ let id = data.id;
30158
+ let tempMenuData = {
30159
+ id: id,
30160
+ label: data.name,
30161
+ sort: data.sort,
30162
+ icon: data.icon,
30163
+ children: [],
30164
+ app_id: data.datapp_id,
30165
+ parent_id: data.parent_id,
30166
+ leaf_flag: data.leaf_flag
30167
+ };
30168
+ menuMaps[id] = tempMenuData;
30169
+ }
30170
+ for (const data of datas) {
30171
+ let leaf_flag = data.leaf_flag;
30172
+ //5:子菜单入口
30173
+ if (leaf_flag == 1) {
30174
+ let tempMenuData = menuMaps[data.id];
30175
+ let parent_id = data.parent_id;
30176
+ let tempParentMenu = menuMaps[parent_id];
30177
+ if (tempParentMenu) {
30178
+ let parentChilden = tempParentMenu.children;
30179
+ parentChilden.push(tempMenuData);
30180
+ }
30181
+ }
30182
+ }
30183
+ const menuList = [];
30184
+ for (const data of datas) {
30185
+ let leaf_flag = data.leaf_flag;
30186
+ //4:主菜单入口
30187
+ if (leaf_flag == 0) {
30188
+ let tempMenuData = menuMaps[data.id];
30189
+ menuList.push(tempMenuData);
30190
+ let tempArrys = tempMenuData.children;
30191
+ tempArrys.sort((data1, data2) => {
30192
+ if (Number.isNaN(data1.sort)) return 1;
30193
+ if (Number.isNaN(data2.sort)) return -1;
30194
+ return data1.sort - data2.sort;
30195
+ });
30196
+ }
30197
+ }
30198
+ menuList.sort((data1, data2) => {
30199
+ if (Number.isNaN(data1.sort)) return 1;
30200
+ if (Number.isNaN(data2.sort)) return -1;
30201
+ return data1.sort - data2.sort;
30202
+ });
30203
+ return menuList;
30204
+ };
30205
+
30087
30206
  /**
30088
30207
  * 获取当前用户默认的门户页面ID
30089
30208
  *
@@ -30900,7 +31019,6 @@ class ChatClientMgr {
30900
31019
  this.customParams = params.customParams || {};
30901
31020
  this.chartOrigin = params.chartOrigin;
30902
31021
  console.log("ChatClientMgr init:", this.actionKey);
30903
- // this.charAIs = {};
30904
31022
  }
30905
31023
  makeKey(key) {
30906
31024
  return `${key}-${this.actionKey}`;
@@ -31271,35 +31389,22 @@ const getIMHanlder = customerHanlder => {
31271
31389
  ;// ./src/api/dify.js
31272
31390
 
31273
31391
 
31274
- const addAndCleanDocument = async (fileUrl, options = {}) => {
31275
- let home_page = window.smardaten_api_context_path;
31276
- let finalUrl = `${home_page}/storage_area/public${fileUrl}`;
31277
- let fileType = finalUrl.split(".").pop().toLowerCase();
31278
- let fileName = options.fileName || dify_extractFilenameFromUrl(finalUrl);
31279
- fileType = getDifyFileType(fileType);
31280
- let loginUserData = window.anonymousIsLogin || window.currentUser;
31281
- let user_id = options.userID || loginUserData?.id;
31282
- let appid = options.appID || getPoratlAppID(false, []);
31392
+ const sendPostToAIAgent = async (queryData, successCallback, errorCallback) => {
31393
+ let appid = getPoratlAppID(false, []);
31283
31394
  let appCustomData = await getAppCustomData(appid);
31284
- let aiAgentServerIP = options.aiAgentServerIP || appCustomData?.aiAgentServerIP || "";
31395
+ let aiAgentServerIP = appCustomData?.aiAgentServerIP || "";
31396
+ if (!aiAgentServerIP) {
31397
+ console.error("没有配置AI Agent服务地址,请联系管理员");
31398
+ if (errorCallback) errorCallback("没有配置AI Agent服务地址,请联系管理员");
31399
+ return;
31400
+ }
31285
31401
  let serverUrl = `${aiAgentServerIP}/addAndCleanDocument`;
31286
- let queryData = {
31287
- params: {
31288
- inputs: {
31289
- fileName: fileName
31290
- },
31291
- files: [{
31292
- type: fileType,
31293
- transfer_method: options.transfer_method || "remote_url",
31294
- url: finalUrl
31295
- }],
31296
- user: user_id
31297
- }
31298
- };
31299
31402
  request.post(serverUrl, JSON.stringify(queryData)).then(res => {
31300
31403
  console.log("发送消息成功:", res);
31404
+ if (successCallback) successCallback(res);
31301
31405
  }).catch(error => {
31302
31406
  console.error("发送消息失败:", error);
31407
+ if (errorCallback) errorCallback(error);
31303
31408
  });
31304
31409
  };
31305
31410
  const getDifyFileType = fileType => {
@@ -31340,10 +31445,10 @@ const getDifyFileType = fileType => {
31340
31445
  return typeOptions[key] || "custom";
31341
31446
  };
31342
31447
 
31343
- /**
31344
- * 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
31345
- * @param {string} url - 文件 URL
31346
- * @returns {string} - 提取的文件名
31448
+ /**
31449
+ * 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
31450
+ * @param {string} url - 文件 URL
31451
+ * @returns {string} - 提取的文件名
31347
31452
  */
31348
31453
  const dify_extractFilenameFromUrl = url => {
31349
31454
  try {