isdata-customer-sdk 0.1.67 → 0.1.69

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; },
@@ -29734,9 +29738,16 @@ var querystringify = __webpack_require__(3992);
29734
29738
 
29735
29739
 
29736
29740
  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
- {}
29741
+ // const onlineDevelopmentMode = process.env.VUE_APP_ONLINE_DEVELOPMENT_MODE === "true" || process.env.REACT_APP_ONLINE_DEVELOPMENT_MODE === "true"
29742
+ // if (process.env.NODE_ENV === "development" && !onlineDevelopmentMode) {
29743
+ // document.cookie =
29744
+ // "token=eyJhbGciOiJIUzI1NiJ9.eyJsb2dpblRpbWVzdGFtcCI6MTY0NjcyMjI2ODY4NSwidXNlcklkIjoiMTIzNDU2Nzg5MCJ9.F8wr84ha-dW18J9wZOQeTXj55mXTdqKfLBeNlNueoLY"
29745
+ // document.cookie =
29746
+ // "refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJsb2dpblRpbWVzdGFtcCI6MTY0NjcyMjI2ODY4Nn0.TEVE_nopHNZlvSQM_RUZrLcCzkaERiHo8nz0q-ksL3E"
29747
+ // document.cookie = "username=admin"
29748
+ // document.cookie = "windowOnline=true"
29749
+ // apiContextPath = "/api"
29750
+ // }
29740
29751
  const getInstance = (prefix = "") => {
29741
29752
  if (prefix) {
29742
29753
  prefix.startsWith("/") && (prefix = prefix.slice(1, prefix.length));
@@ -30275,189 +30286,6 @@ const getPortalAppCustomConfig = async groupID => {
30275
30286
  let appInfo = result.data.configInfo;
30276
30287
  return appInfo;
30277
30288
  };
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
30289
 
30462
30290
  /**
30463
30291
  * 查询当前企业组织的集团组织ID
@@ -30751,6 +30579,233 @@ const getIntegrateAppInfoByID = async appID => {
30751
30579
  let appInfo = result.data.appInfo;
30752
30580
  return appInfo;
30753
30581
  };
30582
+ // EXTERNAL MODULE: ./node_modules/crypto-js/index.js
30583
+ var crypto_js = __webpack_require__(1396);
30584
+ var crypto_js_default = /*#__PURE__*/__webpack_require__.n(crypto_js);
30585
+ ;// ./src/api/security.js
30586
+
30587
+
30588
+
30589
+ /**
30590
+ *
30591
+ * @returns 获取登录验证码图片
30592
+ */
30593
+ const getAuthPic = () => request.get(`/system/authority/getAuthPic?module=loginPassword`, {
30594
+ responseType: "arraybuffer"
30595
+ });
30596
+
30597
+ /**
30598
+ * 登出账号
30599
+ * @param endside_type 0: web 1:手机
30600
+ * @returns {Promise<*>}
30601
+ * @param endside_type 0: web 1:手机
30602
+ *
30603
+ */
30604
+ const logoutAccount = async endside_type => {
30605
+ let resultData = await request.get(`/system/authority/logout?isMobileLogout=${endside_type}`);
30606
+ let response = JSON.parse(resultData.request.response);
30607
+ let resultCode = response.code;
30608
+ if (resultCode == "10110020") {
30609
+ window.sessionStorage.clear();
30610
+ return {
30611
+ code: resultCode,
30612
+ message: response.message
30613
+ };
30614
+ } else {
30615
+ return {
30616
+ code: resultCode,
30617
+ message: response.message
30618
+ };
30619
+ }
30620
+ };
30621
+
30622
+ /**
30623
+ * 解密
30624
+ */
30625
+ const decrypt = async decryptStr => {
30626
+ let secretKey = await getKey();
30627
+ const decrypted = crypto_js_default().AES.decrypt(decryptStr, secretKey).toString((crypto_js_default()).enc.Utf8);
30628
+ return decrypted;
30629
+ };
30630
+
30631
+ /**
30632
+ * 切换门户登录
30633
+ */
30634
+ const switchPortalLogin = async (data, appid, endside_type) => {
30635
+ let old_key = window.sessionStorage.getItem("iportal_login_user_key");
30636
+ old_key = await decrypt(old_key);
30637
+ data.password = old_key;
30638
+ let resultData = await logoutAccount(endside_type);
30639
+ let resultCode = resultData.code;
30640
+ let message = resultData.message;
30641
+ //退出登录成功
30642
+ if (resultCode == "10110020") {
30643
+ let loginResult = await loginAccount(data, appid);
30644
+ return loginResult;
30645
+ } else {
30646
+ return {
30647
+ code: resultCode,
30648
+ message: message
30649
+ };
30650
+ }
30651
+ };
30652
+
30653
+ /**
30654
+ * 登录账号
30655
+ * @param data 登录数据
30656
+ * @param appid 应用ID
30657
+ *
30658
+ * @description
30659
+ * 登录时需要传入验证码(authPicCode)和应用ID(dataappId),
30660
+ * mobileOrWeb参数用于区分是移动端还是网页端登录。
30661
+ *
30662
+ * @returns
30663
+ */
30664
+ const loginAccount = async (data, appid) => {
30665
+ let queryData = {
30666
+ param: {
30667
+ loginData: {
30668
+ account: data.account_view,
30669
+ group_id: data.groupid,
30670
+ imageCode: data.imageCode
30671
+ }
30672
+ }
30673
+ };
30674
+ let result = await request.post(`/dataservice/rest/orchestration/getLoginPortalAccountKey`, queryData);
30675
+ let secretKey = await getKey();
30676
+ let response = JSON.parse(result.request.response);
30677
+ let code = response.result.code;
30678
+ //获取key成功
30679
+ if (code == 10001) {
30680
+ let pwd_code = response.result.codeData.code;
30681
+ let old_key = pwd_code;
30682
+ let key_code = response.result.codeData.key;
30683
+ pwd_code = crypto_js_default().AES.decrypt(pwd_code, secretKey).toString((crypto_js_default()).enc.Utf8);
30684
+ key_code = crypto_js_default().AES.decrypt(key_code, secretKey).toString((crypto_js_default()).enc.Utf8);
30685
+ if (key_code == data.password) {
30686
+ pwd_code = window.appSdk.Encrypt(pwd_code);
30687
+ data.password = pwd_code;
30688
+ result = await request.post(`/system/authority/loginAccount4Application?authPicCode=${data.imageCode}&dataappId=${appid}&mobileOrWeb=web`, data);
30689
+ response = JSON.parse(result.request.response);
30690
+ code = response.code;
30691
+ //登录平台成功
30692
+ if (code == 10110004) {
30693
+ let id = response.id;
30694
+ window.sessionStorage.setItem("iportal_login_user_id", id);
30695
+ window.sessionStorage.setItem("iportal_group_id", data.groupid);
30696
+ window.sessionStorage.setItem("iportal_login_user_key", old_key);
30697
+ return {
30698
+ code: code
30699
+ };
30700
+ } else {
30701
+ return {
30702
+ code: code,
30703
+ message: response.message
30704
+ };
30705
+ }
30706
+ } else {
30707
+ return {
30708
+ code: code,
30709
+ message: "账户密码错误!"
30710
+ };
30711
+ }
30712
+ }
30713
+ return {
30714
+ code: code,
30715
+ message: response.result.message
30716
+ };
30717
+ };
30718
+
30719
+ /**
30720
+ * 获取密钥
30721
+ * @returns
30722
+ */
30723
+ const getKey = async () => {
30724
+ let queryData = {
30725
+ param: {}
30726
+ };
30727
+ let resultData = await request.post(`/dataservice/rest/orchestration/getKey`, queryData);
30728
+ let key = resultData.data.key;
30729
+ return key;
30730
+ };
30731
+ ;// ./src/api/utils.js
30732
+
30733
+
30734
+ /**
30735
+ * 查询资产
30736
+ * @param id 资产ID
30737
+ *
30738
+ */
30739
+ const queryAssetById = (id, count = 200) => request.post(`/asset/getAssetData?asset_id=${id}&count=${count}`, {
30740
+ filters: []
30741
+ });
30742
+
30743
+ /**
30744
+ * 获取URL参数值
30745
+ * @param {} eventName
30746
+ * @param {*} actionFun
30747
+ */
30748
+ const getUrlParamValue = (urlStr, paramName) => {
30749
+ try {
30750
+ const url = new URL(urlStr);
30751
+ const value = url.searchParams.get(paramName);
30752
+ // 如果参数值包含#,则只返回#之前的部分
30753
+ if (value && value.indexOf("#") !== -1) {
30754
+ return value.split("#")[0];
30755
+ }
30756
+ return value;
30757
+ } catch (err) {
30758
+ console.error("URL 格式错误:", err);
30759
+ return "";
30760
+ }
30761
+ };
30762
+
30763
+ /**
30764
+ * 通过 URL 创建 File 对象
30765
+ * @param {string} url - 文件的网络 URL
30766
+ * @param {string} [filename] - 自定义文件名(可选,不传则从 URL 提取)
30767
+ * @returns {Promise<File>} - 返回 Promise 解析为 File 对象
30768
+ */
30769
+ const createFileFromUrl = async (url, filename) => {
30770
+ try {
30771
+ // 1. 发起网络请求获取文件
30772
+ const response = await fetch(url);
30773
+ if (!response.ok) {
30774
+ throw new Error(`网络请求失败: ${response.status} ${response.statusText}`);
30775
+ }
30776
+
30777
+ // 2. 将响应转换为 Blob(保留原始 MIME 类型)
30778
+ const blob = await response.blob();
30779
+
30780
+ // 3. 确定文件名(若未自定义则从 URL 提取)
30781
+ const finalFilename = filename || extractFilenameFromUrl(url);
30782
+
30783
+ // 4. 构造 File 对象(Blob + 文件名 + 类型)
30784
+ return new File([blob], finalFilename, {
30785
+ type: blob.type,
30786
+ // 使用 Blob 的 MIME 类型(如 image/png)
30787
+ lastModified: Date.now() // 可选:设置最后修改时间
30788
+ });
30789
+ } catch (error) {
30790
+ console.error("创建 File 失败:", error);
30791
+ throw error;
30792
+ }
30793
+ };
30794
+
30795
+ /**
30796
+ * 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
30797
+ * @param {string} url - 文件 URL
30798
+ * @returns {string} - 提取的文件名
30799
+ */
30800
+ const extractFilenameFromUrl = url => {
30801
+ try {
30802
+ const urlObj = new URL(url);
30803
+ // 从路径中获取最后一个部分(文件名)
30804
+ return urlObj.pathname.split("/").pop() || "downloaded_file";
30805
+ } catch (e) {
30806
+ return "downloaded_file"; // URL 解析失败时的默认文件名
30807
+ }
30808
+ };
30754
30809
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
30755
30810
  var es_iterator_some = __webpack_require__(3579);
30756
30811
  ;// ./src/api/iframe.js
@@ -31138,7 +31193,6 @@ class ChatClientMgr {
31138
31193
 
31139
31194
 
31140
31195
 
31141
-
31142
31196
  const getRobotInfoByID = async (robotID, groupID) => {
31143
31197
  let queryData = {
31144
31198
  "param": {
@@ -31218,6 +31272,91 @@ const getIMHanlder = customerHanlder => {
31218
31272
  return handler;
31219
31273
  };
31220
31274
 
31275
+ ;// ./src/api/dify.js
31276
+
31277
+
31278
+ const addAndCleanDocument = async (fileUrl, options = {}) => {
31279
+ let home_page = window.smardaten_api_context_path;
31280
+ let finalUrl = `${home_page}/storage_area/public${fileUrl}`;
31281
+ let fileType = finalUrl.split(".").pop().toLowerCase();
31282
+ fileType = getDifyFileType(fileType);
31283
+ let loginUserData = window.anonymousIsLogin || window.currentUser;
31284
+ let user_id = options.userID || loginUserData?.id;
31285
+ let appid = options.appID || getPoratlAppID(false, []);
31286
+ let appCustomData = await getAppCustomData(appid);
31287
+ let aiAgentServerIP = options.aiAgentServerIP || appCustomData?.aiAgentServerIP || "";
31288
+ let serverUrl = `${aiAgentServerIP}/addAndCleanDocument`;
31289
+ let queryData = {
31290
+ params: {
31291
+ inputs: {
31292
+ fileName: options.fileName || dify_extractFilenameFromUrl(finalUrl)
31293
+ },
31294
+ files: [{
31295
+ type: fileType,
31296
+ transfer_method: options.transfer_method || "remote_url",
31297
+ url: finalUrl
31298
+ }],
31299
+ user: user_id
31300
+ }
31301
+ };
31302
+ request.post(serverUrl, JSON.stringify(queryData)).then(res => {
31303
+ console.log("发送消息成功:", res);
31304
+ }).catch(error => {
31305
+ console.error("发送消息失败:", error);
31306
+ });
31307
+ };
31308
+ const getDifyFileType = fileType => {
31309
+ let typeOptions = {
31310
+ "DOCX": "document",
31311
+ "TXT": "document",
31312
+ "MD": "document",
31313
+ "MARKDOWN": "document",
31314
+ "MDX": "document",
31315
+ "PDF": "document",
31316
+ "HTML": "document",
31317
+ "XLSX": "document",
31318
+ "XLS": "document",
31319
+ "VTT": "document",
31320
+ "DOC": "document",
31321
+ "CSV": "document",
31322
+ "EML": "document",
31323
+ "MSG": "document",
31324
+ "PPTX": "document",
31325
+ "PPT": "document",
31326
+ "XML": "document",
31327
+ "EPUB": "document",
31328
+ "JPG": "image",
31329
+ "JPEG": "image",
31330
+ "PNG": "image",
31331
+ "GIF": "image",
31332
+ "WEBP": "image",
31333
+ "MP3": "audio",
31334
+ "M4A": "audio",
31335
+ "WAV": "audio",
31336
+ "WEBM": "audio",
31337
+ "MPGA": "audio",
31338
+ "MP4": "video",
31339
+ "MOV": "video",
31340
+ "MPEG": "video"
31341
+ };
31342
+ let key = fileType.toUpperCase();
31343
+ return typeOptions[key] || "custom";
31344
+ };
31345
+
31346
+ /**
31347
+ * 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
31348
+ * @param {string} url - 文件 URL
31349
+ * @returns {string} - 提取的文件名
31350
+ */
31351
+ const dify_extractFilenameFromUrl = url => {
31352
+ try {
31353
+ const urlObj = new URL(url);
31354
+ // 从路径中获取最后一个部分(文件名)
31355
+ return urlObj.pathname.split("/").pop() || "downloaded_file";
31356
+ } catch (e) {
31357
+ return "downloaded_file"; // URL 解析失败时的默认文件名
31358
+ }
31359
+ };
31221
31360
  ;// ./src/main.js
31222
31361
 
31223
31362
 
@@ -31225,6 +31364,7 @@ const getIMHanlder = customerHanlder => {
31225
31364
 
31226
31365
 
31227
31366
 
31367
+
31228
31368
  ;// ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
31229
31369
 
31230
31370