isdata-customer-sdk 0.1.66 → 0.1.68

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
@@ -29562,12 +29562,15 @@ __webpack_require__.r(__webpack_exports__);
29562
29562
  // EXPORTS
29563
29563
  __webpack_require__.d(__webpack_exports__, {
29564
29564
  ChatClientMgr: function() { return /* reexport */ ChatClientMgr; },
29565
+ addAndCleanDocument: function() { return /* reexport */ addAndCleanDocument; },
29565
29566
  addEventAction: function() { return /* reexport */ addEventAction; },
29566
29567
  addIMMapping: function() { return /* reexport */ addIMMapping; },
29567
29568
  addObjectUsedTimes: function() { return /* reexport */ addObjectUsedTimes; },
29568
29569
  addWindowTrustedOrigin: function() { return /* reexport */ addWindowTrustedOrigin; },
29570
+ createFileFromUrl: function() { return /* reexport */ createFileFromUrl; },
29569
29571
  decrypt: function() { return /* reexport */ decrypt; },
29570
29572
  destroyEventCenter: function() { return /* reexport */ destroyEventCenter; },
29573
+ extractFilenameFromUrl: function() { return /* reexport */ extractFilenameFromUrl; },
29571
29574
  fireEvent: function() { return /* reexport */ fireEvent; },
29572
29575
  getAIRobotInfos: function() { return /* reexport */ getAIRobotInfos; },
29573
29576
  getAPPInfosByID: function() { return /* reexport */ getAPPInfosByID; },
@@ -29577,6 +29580,7 @@ __webpack_require__.d(__webpack_exports__, {
29577
29580
  getAuthPic: function() { return /* reexport */ getAuthPic; },
29578
29581
  getChildrenOfficeInfosByID: function() { return /* reexport */ getChildrenOfficeInfosByID; },
29579
29582
  getCurrentUserPortalPageID: function() { return /* reexport */ getCurrentUserPortalPageID; },
29583
+ getDifyFileType: function() { return /* reexport */ getDifyFileType; },
29580
29584
  getGroupMappingsByAccount: function() { return /* reexport */ getGroupMappingsByAccount; },
29581
29585
  getIMHanlder: function() { return /* reexport */ getIMHanlder; },
29582
29586
  getIntegrateAppInfoByID: function() { return /* reexport */ getIntegrateAppInfoByID; },
@@ -29625,6 +29629,16 @@ __webpack_require__.d(__webpack_exports__, {
29625
29629
  validateSSOPageLoaded: function() { return /* reexport */ validateSSOPageLoaded; }
29626
29630
  });
29627
29631
 
29632
+ // NAMESPACE OBJECT: ./src/api/utils.js
29633
+ var utils_namespaceObject = {};
29634
+ __webpack_require__.r(utils_namespaceObject);
29635
+ __webpack_require__.d(utils_namespaceObject, {
29636
+ w$: function() { return createFileFromUrl; },
29637
+ KQ: function() { return extractFilenameFromUrl; },
29638
+ Ie: function() { return getUrlParamValue; },
29639
+ Ju: function() { return queryAssetById; }
29640
+ });
29641
+
29628
29642
  ;// ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
29629
29643
  /* eslint-disable no-var */
29630
29644
  // This file is imported into lib/wc client bundles.
@@ -29734,9 +29748,16 @@ var querystringify = __webpack_require__(3992);
29734
29748
 
29735
29749
 
29736
29750
  let apiContextPath = "";
29737
- const onlineDevelopmentMode = ({"NODE_ENV":"production","BASE_URL":"/"}).VUE_APP_ONLINE_DEVELOPMENT_MODE === "true" || ({"NODE_ENV":"production","BASE_URL":"/"}).REACT_APP_ONLINE_DEVELOPMENT_MODE === "true";
29738
- if (false) // removed by dead control flow
29739
- {}
29751
+ // const onlineDevelopmentMode = process.env.VUE_APP_ONLINE_DEVELOPMENT_MODE === "true" || process.env.REACT_APP_ONLINE_DEVELOPMENT_MODE === "true"
29752
+ // if (process.env.NODE_ENV === "development" && !onlineDevelopmentMode) {
29753
+ // document.cookie =
29754
+ // "token=eyJhbGciOiJIUzI1NiJ9.eyJsb2dpblRpbWVzdGFtcCI6MTY0NjcyMjI2ODY4NSwidXNlcklkIjoiMTIzNDU2Nzg5MCJ9.F8wr84ha-dW18J9wZOQeTXj55mXTdqKfLBeNlNueoLY"
29755
+ // document.cookie =
29756
+ // "refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJsb2dpblRpbWVzdGFtcCI6MTY0NjcyMjI2ODY4Nn0.TEVE_nopHNZlvSQM_RUZrLcCzkaERiHo8nz0q-ksL3E"
29757
+ // document.cookie = "username=admin"
29758
+ // document.cookie = "windowOnline=true"
29759
+ // apiContextPath = "/api"
29760
+ // }
29740
29761
  const getInstance = (prefix = "") => {
29741
29762
  if (prefix) {
29742
29763
  prefix.startsWith("/") && (prefix = prefix.slice(1, prefix.length));
@@ -30275,189 +30296,6 @@ const getPortalAppCustomConfig = async groupID => {
30275
30296
  let appInfo = result.data.configInfo;
30276
30297
  return appInfo;
30277
30298
  };
30278
- // EXTERNAL MODULE: ./node_modules/crypto-js/index.js
30279
- var crypto_js = __webpack_require__(1396);
30280
- var crypto_js_default = /*#__PURE__*/__webpack_require__.n(crypto_js);
30281
- ;// ./src/api/security.js
30282
-
30283
-
30284
-
30285
- /**
30286
- *
30287
- * @returns 获取登录验证码图片
30288
- */
30289
- const getAuthPic = () => request.get(`/system/authority/getAuthPic?module=loginPassword`, {
30290
- responseType: "arraybuffer"
30291
- });
30292
-
30293
- /**
30294
- * 登出账号
30295
- * @param endside_type 0: web 1:手机
30296
- * @returns {Promise<*>}
30297
- * @param endside_type 0: web 1:手机
30298
- *
30299
- */
30300
- const logoutAccount = async endside_type => {
30301
- let resultData = await request.get(`/system/authority/logout?isMobileLogout=${endside_type}`);
30302
- let response = JSON.parse(resultData.request.response);
30303
- let resultCode = response.code;
30304
- if (resultCode == "10110020") {
30305
- // window.sessionStorage.setItem("iportal_login_user_id", "");
30306
- // window.sessionStorage.setItem("iportal_group_id", "");
30307
- // window.sessionStorage.setItem("iportal_login_user_key", "");
30308
- window.sessionStorage.clear();
30309
- return {
30310
- code: resultCode,
30311
- message: response.message
30312
- };
30313
- } else {
30314
- return {
30315
- code: resultCode,
30316
- message: response.message
30317
- };
30318
- }
30319
- };
30320
-
30321
- /**
30322
- * 解密
30323
- */
30324
- const decrypt = async decryptStr => {
30325
- let secretKey = await getKey();
30326
- const decrypted = crypto_js_default().AES.decrypt(decryptStr, secretKey).toString((crypto_js_default()).enc.Utf8);
30327
- return decrypted;
30328
- };
30329
-
30330
- /**
30331
- * 切换门户登录
30332
- */
30333
- const switchPortalLogin = async (data, appid, endside_type) => {
30334
- let old_key = window.sessionStorage.getItem("iportal_login_user_key");
30335
- old_key = await decrypt(old_key);
30336
- data.password = old_key;
30337
- let resultData = await logoutAccount(endside_type);
30338
- let resultCode = resultData.code;
30339
- let message = resultData.message;
30340
- //退出登录成功
30341
- if (resultCode == "10110020") {
30342
- let loginResult = await loginAccount(data, appid);
30343
- return loginResult;
30344
- } else {
30345
- return {
30346
- code: resultCode,
30347
- message: message
30348
- };
30349
- }
30350
- };
30351
-
30352
- /**
30353
- * 登录账号
30354
- * @param data 登录数据
30355
- * @param appid 应用ID
30356
- *
30357
- * @description
30358
- * 登录时需要传入验证码(authPicCode)和应用ID(dataappId),
30359
- * mobileOrWeb参数用于区分是移动端还是网页端登录。
30360
- *
30361
- * @returns
30362
- */
30363
- const loginAccount = async (data, appid) => {
30364
- let queryData = {
30365
- param: {
30366
- loginData: {
30367
- account: data.account_view,
30368
- group_id: data.groupid,
30369
- imageCode: data.imageCode
30370
- }
30371
- }
30372
- };
30373
- let result = await request.post(`/dataservice/rest/orchestration/getLoginPortalAccountKey`, queryData);
30374
- let secretKey = await getKey();
30375
- let response = JSON.parse(result.request.response);
30376
- let code = response.result.code;
30377
- //获取key成功
30378
- if (code == 10001) {
30379
- let pwd_code = response.result.codeData.code;
30380
- let old_key = pwd_code;
30381
- let key_code = response.result.codeData.key;
30382
- pwd_code = crypto_js_default().AES.decrypt(pwd_code, secretKey).toString((crypto_js_default()).enc.Utf8);
30383
- key_code = crypto_js_default().AES.decrypt(key_code, secretKey).toString((crypto_js_default()).enc.Utf8);
30384
- if (key_code == data.password) {
30385
- pwd_code = window.appSdk.Encrypt(pwd_code);
30386
- data.password = pwd_code;
30387
- result = await request.post(`/system/authority/loginAccount4Application?authPicCode=${data.imageCode}&dataappId=${appid}&mobileOrWeb=web`, data);
30388
- response = JSON.parse(result.request.response);
30389
- code = response.code;
30390
- //登录平台成功
30391
- if (code == 10110004) {
30392
- let id = response.id;
30393
- window.sessionStorage.setItem("iportal_login_user_id", id);
30394
- window.sessionStorage.setItem("iportal_group_id", data.groupid);
30395
- window.sessionStorage.setItem("iportal_login_user_key", old_key);
30396
- return {
30397
- code: code
30398
- };
30399
- } else {
30400
- return {
30401
- code: code,
30402
- message: response.message
30403
- };
30404
- }
30405
- } else {
30406
- return {
30407
- code: code,
30408
- message: "账户密码错误!"
30409
- };
30410
- }
30411
- }
30412
- return {
30413
- code: code,
30414
- message: response.result.message
30415
- };
30416
- };
30417
-
30418
- /**
30419
- * 获取密钥
30420
- * @returns
30421
- */
30422
- const getKey = async () => {
30423
- let queryData = {
30424
- param: {}
30425
- };
30426
- let resultData = await request.post(`/dataservice/rest/orchestration/getKey`, queryData);
30427
- let key = resultData.data.key;
30428
- return key;
30429
- };
30430
- ;// ./src/api/utils.js
30431
-
30432
-
30433
- /**
30434
- * 查询资产
30435
- * @param id 资产ID
30436
- *
30437
- */
30438
- const queryAssetById = (id, count = 200) => request.post(`/asset/getAssetData?asset_id=${id}&count=${count}`, {
30439
- filters: []
30440
- });
30441
-
30442
- /**
30443
- * 获取URL参数值
30444
- * @param {} eventName
30445
- * @param {*} actionFun
30446
- */
30447
- const getUrlParamValue = (urlStr, paramName) => {
30448
- try {
30449
- const url = new URL(urlStr);
30450
- const value = url.searchParams.get(paramName);
30451
- // 如果参数值包含#,则只返回#之前的部分
30452
- if (value && value.indexOf("#") !== -1) {
30453
- return value.split("#")[0];
30454
- }
30455
- return value;
30456
- } catch (err) {
30457
- console.error("URL 格式错误:", err);
30458
- return "";
30459
- }
30460
- };
30461
30299
 
30462
30300
  /**
30463
30301
  * 查询当前企业组织的集团组织ID
@@ -30751,6 +30589,233 @@ const getIntegrateAppInfoByID = async appID => {
30751
30589
  let appInfo = result.data.appInfo;
30752
30590
  return appInfo;
30753
30591
  };
30592
+ // EXTERNAL MODULE: ./node_modules/crypto-js/index.js
30593
+ var crypto_js = __webpack_require__(1396);
30594
+ var crypto_js_default = /*#__PURE__*/__webpack_require__.n(crypto_js);
30595
+ ;// ./src/api/security.js
30596
+
30597
+
30598
+
30599
+ /**
30600
+ *
30601
+ * @returns 获取登录验证码图片
30602
+ */
30603
+ const getAuthPic = () => request.get(`/system/authority/getAuthPic?module=loginPassword`, {
30604
+ responseType: "arraybuffer"
30605
+ });
30606
+
30607
+ /**
30608
+ * 登出账号
30609
+ * @param endside_type 0: web 1:手机
30610
+ * @returns {Promise<*>}
30611
+ * @param endside_type 0: web 1:手机
30612
+ *
30613
+ */
30614
+ const logoutAccount = async endside_type => {
30615
+ let resultData = await request.get(`/system/authority/logout?isMobileLogout=${endside_type}`);
30616
+ let response = JSON.parse(resultData.request.response);
30617
+ let resultCode = response.code;
30618
+ if (resultCode == "10110020") {
30619
+ window.sessionStorage.clear();
30620
+ return {
30621
+ code: resultCode,
30622
+ message: response.message
30623
+ };
30624
+ } else {
30625
+ return {
30626
+ code: resultCode,
30627
+ message: response.message
30628
+ };
30629
+ }
30630
+ };
30631
+
30632
+ /**
30633
+ * 解密
30634
+ */
30635
+ const decrypt = async decryptStr => {
30636
+ let secretKey = await getKey();
30637
+ const decrypted = crypto_js_default().AES.decrypt(decryptStr, secretKey).toString((crypto_js_default()).enc.Utf8);
30638
+ return decrypted;
30639
+ };
30640
+
30641
+ /**
30642
+ * 切换门户登录
30643
+ */
30644
+ const switchPortalLogin = async (data, appid, endside_type) => {
30645
+ let old_key = window.sessionStorage.getItem("iportal_login_user_key");
30646
+ old_key = await decrypt(old_key);
30647
+ data.password = old_key;
30648
+ let resultData = await logoutAccount(endside_type);
30649
+ let resultCode = resultData.code;
30650
+ let message = resultData.message;
30651
+ //退出登录成功
30652
+ if (resultCode == "10110020") {
30653
+ let loginResult = await loginAccount(data, appid);
30654
+ return loginResult;
30655
+ } else {
30656
+ return {
30657
+ code: resultCode,
30658
+ message: message
30659
+ };
30660
+ }
30661
+ };
30662
+
30663
+ /**
30664
+ * 登录账号
30665
+ * @param data 登录数据
30666
+ * @param appid 应用ID
30667
+ *
30668
+ * @description
30669
+ * 登录时需要传入验证码(authPicCode)和应用ID(dataappId),
30670
+ * mobileOrWeb参数用于区分是移动端还是网页端登录。
30671
+ *
30672
+ * @returns
30673
+ */
30674
+ const loginAccount = async (data, appid) => {
30675
+ let queryData = {
30676
+ param: {
30677
+ loginData: {
30678
+ account: data.account_view,
30679
+ group_id: data.groupid,
30680
+ imageCode: data.imageCode
30681
+ }
30682
+ }
30683
+ };
30684
+ let result = await request.post(`/dataservice/rest/orchestration/getLoginPortalAccountKey`, queryData);
30685
+ let secretKey = await getKey();
30686
+ let response = JSON.parse(result.request.response);
30687
+ let code = response.result.code;
30688
+ //获取key成功
30689
+ if (code == 10001) {
30690
+ let pwd_code = response.result.codeData.code;
30691
+ let old_key = pwd_code;
30692
+ let key_code = response.result.codeData.key;
30693
+ pwd_code = crypto_js_default().AES.decrypt(pwd_code, secretKey).toString((crypto_js_default()).enc.Utf8);
30694
+ key_code = crypto_js_default().AES.decrypt(key_code, secretKey).toString((crypto_js_default()).enc.Utf8);
30695
+ if (key_code == data.password) {
30696
+ pwd_code = window.appSdk.Encrypt(pwd_code);
30697
+ data.password = pwd_code;
30698
+ result = await request.post(`/system/authority/loginAccount4Application?authPicCode=${data.imageCode}&dataappId=${appid}&mobileOrWeb=web`, data);
30699
+ response = JSON.parse(result.request.response);
30700
+ code = response.code;
30701
+ //登录平台成功
30702
+ if (code == 10110004) {
30703
+ let id = response.id;
30704
+ window.sessionStorage.setItem("iportal_login_user_id", id);
30705
+ window.sessionStorage.setItem("iportal_group_id", data.groupid);
30706
+ window.sessionStorage.setItem("iportal_login_user_key", old_key);
30707
+ return {
30708
+ code: code
30709
+ };
30710
+ } else {
30711
+ return {
30712
+ code: code,
30713
+ message: response.message
30714
+ };
30715
+ }
30716
+ } else {
30717
+ return {
30718
+ code: code,
30719
+ message: "账户密码错误!"
30720
+ };
30721
+ }
30722
+ }
30723
+ return {
30724
+ code: code,
30725
+ message: response.result.message
30726
+ };
30727
+ };
30728
+
30729
+ /**
30730
+ * 获取密钥
30731
+ * @returns
30732
+ */
30733
+ const getKey = async () => {
30734
+ let queryData = {
30735
+ param: {}
30736
+ };
30737
+ let resultData = await request.post(`/dataservice/rest/orchestration/getKey`, queryData);
30738
+ let key = resultData.data.key;
30739
+ return key;
30740
+ };
30741
+ ;// ./src/api/utils.js
30742
+
30743
+
30744
+ /**
30745
+ * 查询资产
30746
+ * @param id 资产ID
30747
+ *
30748
+ */
30749
+ const queryAssetById = (id, count = 200) => request.post(`/asset/getAssetData?asset_id=${id}&count=${count}`, {
30750
+ filters: []
30751
+ });
30752
+
30753
+ /**
30754
+ * 获取URL参数值
30755
+ * @param {} eventName
30756
+ * @param {*} actionFun
30757
+ */
30758
+ const getUrlParamValue = (urlStr, paramName) => {
30759
+ try {
30760
+ const url = new URL(urlStr);
30761
+ const value = url.searchParams.get(paramName);
30762
+ // 如果参数值包含#,则只返回#之前的部分
30763
+ if (value && value.indexOf("#") !== -1) {
30764
+ return value.split("#")[0];
30765
+ }
30766
+ return value;
30767
+ } catch (err) {
30768
+ console.error("URL 格式错误:", err);
30769
+ return "";
30770
+ }
30771
+ };
30772
+
30773
+ /**
30774
+ * 通过 URL 创建 File 对象
30775
+ * @param {string} url - 文件的网络 URL
30776
+ * @param {string} [filename] - 自定义文件名(可选,不传则从 URL 提取)
30777
+ * @returns {Promise<File>} - 返回 Promise 解析为 File 对象
30778
+ */
30779
+ const createFileFromUrl = async (url, filename) => {
30780
+ try {
30781
+ // 1. 发起网络请求获取文件
30782
+ const response = await fetch(url);
30783
+ if (!response.ok) {
30784
+ throw new Error(`网络请求失败: ${response.status} ${response.statusText}`);
30785
+ }
30786
+
30787
+ // 2. 将响应转换为 Blob(保留原始 MIME 类型)
30788
+ const blob = await response.blob();
30789
+
30790
+ // 3. 确定文件名(若未自定义则从 URL 提取)
30791
+ const finalFilename = filename || extractFilenameFromUrl(url);
30792
+
30793
+ // 4. 构造 File 对象(Blob + 文件名 + 类型)
30794
+ return new File([blob], finalFilename, {
30795
+ type: blob.type,
30796
+ // 使用 Blob 的 MIME 类型(如 image/png)
30797
+ lastModified: Date.now() // 可选:设置最后修改时间
30798
+ });
30799
+ } catch (error) {
30800
+ console.error("创建 File 失败:", error);
30801
+ throw error;
30802
+ }
30803
+ };
30804
+
30805
+ /**
30806
+ * 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
30807
+ * @param {string} url - 文件 URL
30808
+ * @returns {string} - 提取的文件名
30809
+ */
30810
+ const extractFilenameFromUrl = url => {
30811
+ try {
30812
+ const urlObj = new URL(url);
30813
+ // 从路径中获取最后一个部分(文件名)
30814
+ return urlObj.pathname.split("/").pop() || "downloaded_file";
30815
+ } catch (e) {
30816
+ return "downloaded_file"; // URL 解析失败时的默认文件名
30817
+ }
30818
+ };
30754
30819
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
30755
30820
  var es_iterator_some = __webpack_require__(3579);
30756
30821
  ;// ./src/api/iframe.js
@@ -30975,7 +31040,7 @@ class ChatClientMgr {
30975
31040
  robot.chatID = robotKey;
30976
31041
  let userSig = await this.handler.getPortalUserSig(robotKey, this.imType, this.groupID);
30977
31042
  if (!userSig) {
30978
- userSig = await this.generateUserSigAndUpdate(robotKey);
31043
+ userSig = await this.generateUserSigAndAdd(robotKey);
30979
31044
  }
30980
31045
  robot.userSig = userSig;
30981
31046
  this.chatAIClient.charAIs[robotKey] = {
@@ -30987,6 +31052,28 @@ class ChatClientMgr {
30987
31052
  }
30988
31053
  }
30989
31054
  async generateUserSigAndUpdate(robotKey) {
31055
+ let sigIDObject = await this.handler.genTestUserSig({
31056
+ SDKAppID: this.appSKID,
31057
+ userID: robotKey
31058
+ });
31059
+ let userSig = sigIDObject.userSig;
31060
+ if (userSig) {
31061
+ await this.chatAIClient.login({
31062
+ userID: robotKey,
31063
+ userSig: userSig
31064
+ });
31065
+ await this.chatAIClient.logout();
31066
+ let data = {
31067
+ userID: robotKey,
31068
+ userSig: userSig,
31069
+ im_type: this.imType,
31070
+ group_id: this.groupID
31071
+ };
31072
+ await this.handler.updateIMMapping(data);
31073
+ }
31074
+ return userSig;
31075
+ }
31076
+ async generateUserSigAndAdd(robotKey) {
30990
31077
  let sigIDObject = await this.handler.genTestUserSig({
30991
31078
  SDKAppID: this.appSKID,
30992
31079
  userID: robotKey
@@ -31133,24 +31220,24 @@ const getIMHanlder = customerHanlder => {
31133
31220
  genTestUserSig: async data => {
31134
31221
  // return genTestUserSig(data);
31135
31222
  },
31136
- getChatClient: async () => {
31137
- return window.imClient;
31223
+ getChatClientClasses: async () => {
31224
+ return [];
31138
31225
  },
31139
31226
  getAIRobotInfos: async (user_id, groupID) => {
31140
- return getAIRobotInfos(user_id, groupID);
31227
+ return (0,utils_namespaceObject.getAIRobotInfos)(user_id, groupID);
31141
31228
  },
31142
31229
  getPortalUserSig: async (robotKey, platType, groupID) => {
31143
31230
  return getPortalUserSig(robotKey, platType, groupID);
31144
31231
  },
31145
31232
  addIMMapping: async (robotKey, platType, userSig, groupID) => {
31146
- return addIMMapping(robotKey, platType, groupID, userSig);
31233
+ return (0,utils_namespaceObject.addIMMapping)(robotKey, platType, groupID, userSig);
31147
31234
  },
31148
31235
  updateIMMapping: async data => {
31149
31236
  let robotKey = data.userID;
31150
31237
  let platType = data.im_type;
31151
31238
  let groupID = data.group_id;
31152
31239
  let userSig = data.userSig;
31153
- return updateIMMapping(robotKey, platType, groupID, userSig);
31240
+ return (0,utils_namespaceObject.updateIMMapping)(robotKey, platType, groupID, userSig);
31154
31241
  },
31155
31242
  getPortalAccessToken: async data => {
31156
31243
  let appKey = data.appKey;
@@ -31164,16 +31251,16 @@ const getIMHanlder = customerHanlder => {
31164
31251
  },
31165
31252
  getAllUserInfosByGroupID: async data => {
31166
31253
  let groupID = data.groupID;
31167
- return getAllUserInfosByGroupID(groupID);
31254
+ return (0,utils_namespaceObject.getAllUserInfosByGroupID)(groupID);
31168
31255
  },
31169
31256
  getChildrenOfficeInfosByID: async data => {
31170
31257
  let groupID = data.groupID;
31171
- return getChildrenOfficeInfosByID(groupID);
31258
+ return (0,utils_namespaceObject.getChildrenOfficeInfosByID)(groupID);
31172
31259
  },
31173
31260
  getPojectDptsByUserAndGroupID: async data => {
31174
31261
  let groupID = data.groupID;
31175
31262
  let userID = data.userID;
31176
- return getPojectDptsByUserAndGroupID(userID, groupID);
31263
+ return (0,utils_namespaceObject.getPojectDptsByUserAndGroupID)(userID, groupID);
31177
31264
  },
31178
31265
  closeWindow: () => {
31179
31266
  // this.visable = false;
@@ -31196,6 +31283,91 @@ const getIMHanlder = customerHanlder => {
31196
31283
  return handler;
31197
31284
  };
31198
31285
 
31286
+ ;// ./src/api/dify.js
31287
+
31288
+
31289
+ const addAndCleanDocument = async (fileUrl, options = {}) => {
31290
+ let home_page = window.smardaten_api_context_path;
31291
+ let finalUrl = `${home_page}/storage_area/public${fileUrl}`;
31292
+ let fileType = finalUrl.split(".").pop().toLowerCase();
31293
+ fileType = getDifyFileType(fileType);
31294
+ let loginUserData = window.anonymousIsLogin || window.currentUser;
31295
+ let user_id = options.userID || loginUserData?.id;
31296
+ let appid = options.appID || getPoratlAppID(false, []);
31297
+ let appCustomData = await getAppCustomData(appid);
31298
+ let aiAgentServerIP = options.aiAgentServerIP || appCustomData?.aiAgentServerIP || "";
31299
+ let serverUrl = `${aiAgentServerIP}/addAndCleanDocument`;
31300
+ let queryData = {
31301
+ params: {
31302
+ inputs: {
31303
+ fileName: options.fileName || dify_extractFilenameFromUrl(finalUrl)
31304
+ },
31305
+ files: [{
31306
+ type: fileType,
31307
+ transfer_method: options.transfer_method || "remote_url",
31308
+ url: finalUrl
31309
+ }],
31310
+ user: user_id
31311
+ }
31312
+ };
31313
+ request.post(serverUrl, JSON.stringify(queryData)).then(res => {
31314
+ console.log("发送消息成功:", res);
31315
+ }).catch(error => {
31316
+ console.error("发送消息失败:", error);
31317
+ });
31318
+ };
31319
+ const getDifyFileType = fileType => {
31320
+ let typeOptions = {
31321
+ "DOCX": "document",
31322
+ "TXT": "document",
31323
+ "MD": "document",
31324
+ "MARKDOWN": "document",
31325
+ "MDX": "document",
31326
+ "PDF": "document",
31327
+ "HTML": "document",
31328
+ "XLSX": "document",
31329
+ "XLS": "document",
31330
+ "VTT": "document",
31331
+ "DOC": "document",
31332
+ "CSV": "document",
31333
+ "EML": "document",
31334
+ "MSG": "document",
31335
+ "PPTX": "document",
31336
+ "PPT": "document",
31337
+ "XML": "document",
31338
+ "EPUB": "document",
31339
+ "JPG": "image",
31340
+ "JPEG": "image",
31341
+ "PNG": "image",
31342
+ "GIF": "image",
31343
+ "WEBP": "image",
31344
+ "MP3": "audio",
31345
+ "M4A": "audio",
31346
+ "WAV": "audio",
31347
+ "WEBM": "audio",
31348
+ "MPGA": "audio",
31349
+ "MP4": "video",
31350
+ "MOV": "video",
31351
+ "MPEG": "video"
31352
+ };
31353
+ let key = fileType.toUpperCase();
31354
+ return typeOptions[key] || "custom";
31355
+ };
31356
+
31357
+ /**
31358
+ * 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
31359
+ * @param {string} url - 文件 URL
31360
+ * @returns {string} - 提取的文件名
31361
+ */
31362
+ const dify_extractFilenameFromUrl = url => {
31363
+ try {
31364
+ const urlObj = new URL(url);
31365
+ // 从路径中获取最后一个部分(文件名)
31366
+ return urlObj.pathname.split("/").pop() || "downloaded_file";
31367
+ } catch (e) {
31368
+ return "downloaded_file"; // URL 解析失败时的默认文件名
31369
+ }
31370
+ };
31199
31371
  ;// ./src/main.js
31200
31372
 
31201
31373
 
@@ -31203,6 +31375,7 @@ const getIMHanlder = customerHanlder => {
31203
31375
 
31204
31376
 
31205
31377
 
31378
+
31206
31379
  ;// ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
31207
31380
 
31208
31381