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.common.js +327 -187
- package/dist/index.common.js.map +1 -1
- package/dist/index.umd.js +327 -187
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +3 -3
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +1 -1
package/dist/index.common.js
CHANGED
|
@@ -29552,12 +29552,15 @@ __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; },
|
|
29555
29556
|
addEventAction: function() { return /* reexport */ addEventAction; },
|
|
29556
29557
|
addIMMapping: function() { return /* reexport */ addIMMapping; },
|
|
29557
29558
|
addObjectUsedTimes: function() { return /* reexport */ addObjectUsedTimes; },
|
|
29558
29559
|
addWindowTrustedOrigin: function() { return /* reexport */ addWindowTrustedOrigin; },
|
|
29560
|
+
createFileFromUrl: function() { return /* reexport */ createFileFromUrl; },
|
|
29559
29561
|
decrypt: function() { return /* reexport */ decrypt; },
|
|
29560
29562
|
destroyEventCenter: function() { return /* reexport */ destroyEventCenter; },
|
|
29563
|
+
extractFilenameFromUrl: function() { return /* reexport */ extractFilenameFromUrl; },
|
|
29561
29564
|
fireEvent: function() { return /* reexport */ fireEvent; },
|
|
29562
29565
|
getAIRobotInfos: function() { return /* reexport */ getAIRobotInfos; },
|
|
29563
29566
|
getAPPInfosByID: function() { return /* reexport */ getAPPInfosByID; },
|
|
@@ -29567,6 +29570,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
29567
29570
|
getAuthPic: function() { return /* reexport */ getAuthPic; },
|
|
29568
29571
|
getChildrenOfficeInfosByID: function() { return /* reexport */ getChildrenOfficeInfosByID; },
|
|
29569
29572
|
getCurrentUserPortalPageID: function() { return /* reexport */ getCurrentUserPortalPageID; },
|
|
29573
|
+
getDifyFileType: function() { return /* reexport */ getDifyFileType; },
|
|
29570
29574
|
getGroupMappingsByAccount: function() { return /* reexport */ getGroupMappingsByAccount; },
|
|
29571
29575
|
getIMHanlder: function() { return /* reexport */ getIMHanlder; },
|
|
29572
29576
|
getIntegrateAppInfoByID: function() { return /* reexport */ getIntegrateAppInfoByID; },
|
|
@@ -29724,9 +29728,16 @@ var querystringify = __webpack_require__(3992);
|
|
|
29724
29728
|
|
|
29725
29729
|
|
|
29726
29730
|
let apiContextPath = "";
|
|
29727
|
-
const onlineDevelopmentMode =
|
|
29728
|
-
if (
|
|
29729
|
-
|
|
29731
|
+
// const onlineDevelopmentMode = process.env.VUE_APP_ONLINE_DEVELOPMENT_MODE === "true" || process.env.REACT_APP_ONLINE_DEVELOPMENT_MODE === "true"
|
|
29732
|
+
// if (process.env.NODE_ENV === "development" && !onlineDevelopmentMode) {
|
|
29733
|
+
// document.cookie =
|
|
29734
|
+
// "token=eyJhbGciOiJIUzI1NiJ9.eyJsb2dpblRpbWVzdGFtcCI6MTY0NjcyMjI2ODY4NSwidXNlcklkIjoiMTIzNDU2Nzg5MCJ9.F8wr84ha-dW18J9wZOQeTXj55mXTdqKfLBeNlNueoLY"
|
|
29735
|
+
// document.cookie =
|
|
29736
|
+
// "refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJsb2dpblRpbWVzdGFtcCI6MTY0NjcyMjI2ODY4Nn0.TEVE_nopHNZlvSQM_RUZrLcCzkaERiHo8nz0q-ksL3E"
|
|
29737
|
+
// document.cookie = "username=admin"
|
|
29738
|
+
// document.cookie = "windowOnline=true"
|
|
29739
|
+
// apiContextPath = "/api"
|
|
29740
|
+
// }
|
|
29730
29741
|
const getInstance = (prefix = "") => {
|
|
29731
29742
|
if (prefix) {
|
|
29732
29743
|
prefix.startsWith("/") && (prefix = prefix.slice(1, prefix.length));
|
|
@@ -30265,189 +30276,6 @@ const getPortalAppCustomConfig = async groupID => {
|
|
|
30265
30276
|
let appInfo = result.data.configInfo;
|
|
30266
30277
|
return appInfo;
|
|
30267
30278
|
};
|
|
30268
|
-
// EXTERNAL MODULE: ./node_modules/crypto-js/index.js
|
|
30269
|
-
var crypto_js = __webpack_require__(1396);
|
|
30270
|
-
var crypto_js_default = /*#__PURE__*/__webpack_require__.n(crypto_js);
|
|
30271
|
-
;// ./src/api/security.js
|
|
30272
|
-
|
|
30273
|
-
|
|
30274
|
-
|
|
30275
|
-
/**
|
|
30276
|
-
*
|
|
30277
|
-
* @returns 获取登录验证码图片
|
|
30278
|
-
*/
|
|
30279
|
-
const getAuthPic = () => request.get(`/system/authority/getAuthPic?module=loginPassword`, {
|
|
30280
|
-
responseType: "arraybuffer"
|
|
30281
|
-
});
|
|
30282
|
-
|
|
30283
|
-
/**
|
|
30284
|
-
* 登出账号
|
|
30285
|
-
* @param endside_type 0: web 1:手机
|
|
30286
|
-
* @returns {Promise<*>}
|
|
30287
|
-
* @param endside_type 0: web 1:手机
|
|
30288
|
-
*
|
|
30289
|
-
*/
|
|
30290
|
-
const logoutAccount = async endside_type => {
|
|
30291
|
-
let resultData = await request.get(`/system/authority/logout?isMobileLogout=${endside_type}`);
|
|
30292
|
-
let response = JSON.parse(resultData.request.response);
|
|
30293
|
-
let resultCode = response.code;
|
|
30294
|
-
if (resultCode == "10110020") {
|
|
30295
|
-
// window.sessionStorage.setItem("iportal_login_user_id", "");
|
|
30296
|
-
// window.sessionStorage.setItem("iportal_group_id", "");
|
|
30297
|
-
// window.sessionStorage.setItem("iportal_login_user_key", "");
|
|
30298
|
-
window.sessionStorage.clear();
|
|
30299
|
-
return {
|
|
30300
|
-
code: resultCode,
|
|
30301
|
-
message: response.message
|
|
30302
|
-
};
|
|
30303
|
-
} else {
|
|
30304
|
-
return {
|
|
30305
|
-
code: resultCode,
|
|
30306
|
-
message: response.message
|
|
30307
|
-
};
|
|
30308
|
-
}
|
|
30309
|
-
};
|
|
30310
|
-
|
|
30311
|
-
/**
|
|
30312
|
-
* 解密
|
|
30313
|
-
*/
|
|
30314
|
-
const decrypt = async decryptStr => {
|
|
30315
|
-
let secretKey = await getKey();
|
|
30316
|
-
const decrypted = crypto_js_default().AES.decrypt(decryptStr, secretKey).toString((crypto_js_default()).enc.Utf8);
|
|
30317
|
-
return decrypted;
|
|
30318
|
-
};
|
|
30319
|
-
|
|
30320
|
-
/**
|
|
30321
|
-
* 切换门户登录
|
|
30322
|
-
*/
|
|
30323
|
-
const switchPortalLogin = async (data, appid, endside_type) => {
|
|
30324
|
-
let old_key = window.sessionStorage.getItem("iportal_login_user_key");
|
|
30325
|
-
old_key = await decrypt(old_key);
|
|
30326
|
-
data.password = old_key;
|
|
30327
|
-
let resultData = await logoutAccount(endside_type);
|
|
30328
|
-
let resultCode = resultData.code;
|
|
30329
|
-
let message = resultData.message;
|
|
30330
|
-
//退出登录成功
|
|
30331
|
-
if (resultCode == "10110020") {
|
|
30332
|
-
let loginResult = await loginAccount(data, appid);
|
|
30333
|
-
return loginResult;
|
|
30334
|
-
} else {
|
|
30335
|
-
return {
|
|
30336
|
-
code: resultCode,
|
|
30337
|
-
message: message
|
|
30338
|
-
};
|
|
30339
|
-
}
|
|
30340
|
-
};
|
|
30341
|
-
|
|
30342
|
-
/**
|
|
30343
|
-
* 登录账号
|
|
30344
|
-
* @param data 登录数据
|
|
30345
|
-
* @param appid 应用ID
|
|
30346
|
-
*
|
|
30347
|
-
* @description
|
|
30348
|
-
* 登录时需要传入验证码(authPicCode)和应用ID(dataappId),
|
|
30349
|
-
* mobileOrWeb参数用于区分是移动端还是网页端登录。
|
|
30350
|
-
*
|
|
30351
|
-
* @returns
|
|
30352
|
-
*/
|
|
30353
|
-
const loginAccount = async (data, appid) => {
|
|
30354
|
-
let queryData = {
|
|
30355
|
-
param: {
|
|
30356
|
-
loginData: {
|
|
30357
|
-
account: data.account_view,
|
|
30358
|
-
group_id: data.groupid,
|
|
30359
|
-
imageCode: data.imageCode
|
|
30360
|
-
}
|
|
30361
|
-
}
|
|
30362
|
-
};
|
|
30363
|
-
let result = await request.post(`/dataservice/rest/orchestration/getLoginPortalAccountKey`, queryData);
|
|
30364
|
-
let secretKey = await getKey();
|
|
30365
|
-
let response = JSON.parse(result.request.response);
|
|
30366
|
-
let code = response.result.code;
|
|
30367
|
-
//获取key成功
|
|
30368
|
-
if (code == 10001) {
|
|
30369
|
-
let pwd_code = response.result.codeData.code;
|
|
30370
|
-
let old_key = pwd_code;
|
|
30371
|
-
let key_code = response.result.codeData.key;
|
|
30372
|
-
pwd_code = crypto_js_default().AES.decrypt(pwd_code, secretKey).toString((crypto_js_default()).enc.Utf8);
|
|
30373
|
-
key_code = crypto_js_default().AES.decrypt(key_code, secretKey).toString((crypto_js_default()).enc.Utf8);
|
|
30374
|
-
if (key_code == data.password) {
|
|
30375
|
-
pwd_code = window.appSdk.Encrypt(pwd_code);
|
|
30376
|
-
data.password = pwd_code;
|
|
30377
|
-
result = await request.post(`/system/authority/loginAccount4Application?authPicCode=${data.imageCode}&dataappId=${appid}&mobileOrWeb=web`, data);
|
|
30378
|
-
response = JSON.parse(result.request.response);
|
|
30379
|
-
code = response.code;
|
|
30380
|
-
//登录平台成功
|
|
30381
|
-
if (code == 10110004) {
|
|
30382
|
-
let id = response.id;
|
|
30383
|
-
window.sessionStorage.setItem("iportal_login_user_id", id);
|
|
30384
|
-
window.sessionStorage.setItem("iportal_group_id", data.groupid);
|
|
30385
|
-
window.sessionStorage.setItem("iportal_login_user_key", old_key);
|
|
30386
|
-
return {
|
|
30387
|
-
code: code
|
|
30388
|
-
};
|
|
30389
|
-
} else {
|
|
30390
|
-
return {
|
|
30391
|
-
code: code,
|
|
30392
|
-
message: response.message
|
|
30393
|
-
};
|
|
30394
|
-
}
|
|
30395
|
-
} else {
|
|
30396
|
-
return {
|
|
30397
|
-
code: code,
|
|
30398
|
-
message: "账户密码错误!"
|
|
30399
|
-
};
|
|
30400
|
-
}
|
|
30401
|
-
}
|
|
30402
|
-
return {
|
|
30403
|
-
code: code,
|
|
30404
|
-
message: response.result.message
|
|
30405
|
-
};
|
|
30406
|
-
};
|
|
30407
|
-
|
|
30408
|
-
/**
|
|
30409
|
-
* 获取密钥
|
|
30410
|
-
* @returns
|
|
30411
|
-
*/
|
|
30412
|
-
const getKey = async () => {
|
|
30413
|
-
let queryData = {
|
|
30414
|
-
param: {}
|
|
30415
|
-
};
|
|
30416
|
-
let resultData = await request.post(`/dataservice/rest/orchestration/getKey`, queryData);
|
|
30417
|
-
let key = resultData.data.key;
|
|
30418
|
-
return key;
|
|
30419
|
-
};
|
|
30420
|
-
;// ./src/api/utils.js
|
|
30421
|
-
|
|
30422
|
-
|
|
30423
|
-
/**
|
|
30424
|
-
* 查询资产
|
|
30425
|
-
* @param id 资产ID
|
|
30426
|
-
*
|
|
30427
|
-
*/
|
|
30428
|
-
const queryAssetById = (id, count = 200) => request.post(`/asset/getAssetData?asset_id=${id}&count=${count}`, {
|
|
30429
|
-
filters: []
|
|
30430
|
-
});
|
|
30431
|
-
|
|
30432
|
-
/**
|
|
30433
|
-
* 获取URL参数值
|
|
30434
|
-
* @param {} eventName
|
|
30435
|
-
* @param {*} actionFun
|
|
30436
|
-
*/
|
|
30437
|
-
const getUrlParamValue = (urlStr, paramName) => {
|
|
30438
|
-
try {
|
|
30439
|
-
const url = new URL(urlStr);
|
|
30440
|
-
const value = url.searchParams.get(paramName);
|
|
30441
|
-
// 如果参数值包含#,则只返回#之前的部分
|
|
30442
|
-
if (value && value.indexOf("#") !== -1) {
|
|
30443
|
-
return value.split("#")[0];
|
|
30444
|
-
}
|
|
30445
|
-
return value;
|
|
30446
|
-
} catch (err) {
|
|
30447
|
-
console.error("URL 格式错误:", err);
|
|
30448
|
-
return "";
|
|
30449
|
-
}
|
|
30450
|
-
};
|
|
30451
30279
|
|
|
30452
30280
|
/**
|
|
30453
30281
|
* 查询当前企业组织的集团组织ID
|
|
@@ -30741,6 +30569,233 @@ const getIntegrateAppInfoByID = async appID => {
|
|
|
30741
30569
|
let appInfo = result.data.appInfo;
|
|
30742
30570
|
return appInfo;
|
|
30743
30571
|
};
|
|
30572
|
+
// EXTERNAL MODULE: ./node_modules/crypto-js/index.js
|
|
30573
|
+
var crypto_js = __webpack_require__(1396);
|
|
30574
|
+
var crypto_js_default = /*#__PURE__*/__webpack_require__.n(crypto_js);
|
|
30575
|
+
;// ./src/api/security.js
|
|
30576
|
+
|
|
30577
|
+
|
|
30578
|
+
|
|
30579
|
+
/**
|
|
30580
|
+
*
|
|
30581
|
+
* @returns 获取登录验证码图片
|
|
30582
|
+
*/
|
|
30583
|
+
const getAuthPic = () => request.get(`/system/authority/getAuthPic?module=loginPassword`, {
|
|
30584
|
+
responseType: "arraybuffer"
|
|
30585
|
+
});
|
|
30586
|
+
|
|
30587
|
+
/**
|
|
30588
|
+
* 登出账号
|
|
30589
|
+
* @param endside_type 0: web 1:手机
|
|
30590
|
+
* @returns {Promise<*>}
|
|
30591
|
+
* @param endside_type 0: web 1:手机
|
|
30592
|
+
*
|
|
30593
|
+
*/
|
|
30594
|
+
const logoutAccount = async endside_type => {
|
|
30595
|
+
let resultData = await request.get(`/system/authority/logout?isMobileLogout=${endside_type}`);
|
|
30596
|
+
let response = JSON.parse(resultData.request.response);
|
|
30597
|
+
let resultCode = response.code;
|
|
30598
|
+
if (resultCode == "10110020") {
|
|
30599
|
+
window.sessionStorage.clear();
|
|
30600
|
+
return {
|
|
30601
|
+
code: resultCode,
|
|
30602
|
+
message: response.message
|
|
30603
|
+
};
|
|
30604
|
+
} else {
|
|
30605
|
+
return {
|
|
30606
|
+
code: resultCode,
|
|
30607
|
+
message: response.message
|
|
30608
|
+
};
|
|
30609
|
+
}
|
|
30610
|
+
};
|
|
30611
|
+
|
|
30612
|
+
/**
|
|
30613
|
+
* 解密
|
|
30614
|
+
*/
|
|
30615
|
+
const decrypt = async decryptStr => {
|
|
30616
|
+
let secretKey = await getKey();
|
|
30617
|
+
const decrypted = crypto_js_default().AES.decrypt(decryptStr, secretKey).toString((crypto_js_default()).enc.Utf8);
|
|
30618
|
+
return decrypted;
|
|
30619
|
+
};
|
|
30620
|
+
|
|
30621
|
+
/**
|
|
30622
|
+
* 切换门户登录
|
|
30623
|
+
*/
|
|
30624
|
+
const switchPortalLogin = async (data, appid, endside_type) => {
|
|
30625
|
+
let old_key = window.sessionStorage.getItem("iportal_login_user_key");
|
|
30626
|
+
old_key = await decrypt(old_key);
|
|
30627
|
+
data.password = old_key;
|
|
30628
|
+
let resultData = await logoutAccount(endside_type);
|
|
30629
|
+
let resultCode = resultData.code;
|
|
30630
|
+
let message = resultData.message;
|
|
30631
|
+
//退出登录成功
|
|
30632
|
+
if (resultCode == "10110020") {
|
|
30633
|
+
let loginResult = await loginAccount(data, appid);
|
|
30634
|
+
return loginResult;
|
|
30635
|
+
} else {
|
|
30636
|
+
return {
|
|
30637
|
+
code: resultCode,
|
|
30638
|
+
message: message
|
|
30639
|
+
};
|
|
30640
|
+
}
|
|
30641
|
+
};
|
|
30642
|
+
|
|
30643
|
+
/**
|
|
30644
|
+
* 登录账号
|
|
30645
|
+
* @param data 登录数据
|
|
30646
|
+
* @param appid 应用ID
|
|
30647
|
+
*
|
|
30648
|
+
* @description
|
|
30649
|
+
* 登录时需要传入验证码(authPicCode)和应用ID(dataappId),
|
|
30650
|
+
* mobileOrWeb参数用于区分是移动端还是网页端登录。
|
|
30651
|
+
*
|
|
30652
|
+
* @returns
|
|
30653
|
+
*/
|
|
30654
|
+
const loginAccount = async (data, appid) => {
|
|
30655
|
+
let queryData = {
|
|
30656
|
+
param: {
|
|
30657
|
+
loginData: {
|
|
30658
|
+
account: data.account_view,
|
|
30659
|
+
group_id: data.groupid,
|
|
30660
|
+
imageCode: data.imageCode
|
|
30661
|
+
}
|
|
30662
|
+
}
|
|
30663
|
+
};
|
|
30664
|
+
let result = await request.post(`/dataservice/rest/orchestration/getLoginPortalAccountKey`, queryData);
|
|
30665
|
+
let secretKey = await getKey();
|
|
30666
|
+
let response = JSON.parse(result.request.response);
|
|
30667
|
+
let code = response.result.code;
|
|
30668
|
+
//获取key成功
|
|
30669
|
+
if (code == 10001) {
|
|
30670
|
+
let pwd_code = response.result.codeData.code;
|
|
30671
|
+
let old_key = pwd_code;
|
|
30672
|
+
let key_code = response.result.codeData.key;
|
|
30673
|
+
pwd_code = crypto_js_default().AES.decrypt(pwd_code, secretKey).toString((crypto_js_default()).enc.Utf8);
|
|
30674
|
+
key_code = crypto_js_default().AES.decrypt(key_code, secretKey).toString((crypto_js_default()).enc.Utf8);
|
|
30675
|
+
if (key_code == data.password) {
|
|
30676
|
+
pwd_code = window.appSdk.Encrypt(pwd_code);
|
|
30677
|
+
data.password = pwd_code;
|
|
30678
|
+
result = await request.post(`/system/authority/loginAccount4Application?authPicCode=${data.imageCode}&dataappId=${appid}&mobileOrWeb=web`, data);
|
|
30679
|
+
response = JSON.parse(result.request.response);
|
|
30680
|
+
code = response.code;
|
|
30681
|
+
//登录平台成功
|
|
30682
|
+
if (code == 10110004) {
|
|
30683
|
+
let id = response.id;
|
|
30684
|
+
window.sessionStorage.setItem("iportal_login_user_id", id);
|
|
30685
|
+
window.sessionStorage.setItem("iportal_group_id", data.groupid);
|
|
30686
|
+
window.sessionStorage.setItem("iportal_login_user_key", old_key);
|
|
30687
|
+
return {
|
|
30688
|
+
code: code
|
|
30689
|
+
};
|
|
30690
|
+
} else {
|
|
30691
|
+
return {
|
|
30692
|
+
code: code,
|
|
30693
|
+
message: response.message
|
|
30694
|
+
};
|
|
30695
|
+
}
|
|
30696
|
+
} else {
|
|
30697
|
+
return {
|
|
30698
|
+
code: code,
|
|
30699
|
+
message: "账户密码错误!"
|
|
30700
|
+
};
|
|
30701
|
+
}
|
|
30702
|
+
}
|
|
30703
|
+
return {
|
|
30704
|
+
code: code,
|
|
30705
|
+
message: response.result.message
|
|
30706
|
+
};
|
|
30707
|
+
};
|
|
30708
|
+
|
|
30709
|
+
/**
|
|
30710
|
+
* 获取密钥
|
|
30711
|
+
* @returns
|
|
30712
|
+
*/
|
|
30713
|
+
const getKey = async () => {
|
|
30714
|
+
let queryData = {
|
|
30715
|
+
param: {}
|
|
30716
|
+
};
|
|
30717
|
+
let resultData = await request.post(`/dataservice/rest/orchestration/getKey`, queryData);
|
|
30718
|
+
let key = resultData.data.key;
|
|
30719
|
+
return key;
|
|
30720
|
+
};
|
|
30721
|
+
;// ./src/api/utils.js
|
|
30722
|
+
|
|
30723
|
+
|
|
30724
|
+
/**
|
|
30725
|
+
* 查询资产
|
|
30726
|
+
* @param id 资产ID
|
|
30727
|
+
*
|
|
30728
|
+
*/
|
|
30729
|
+
const queryAssetById = (id, count = 200) => request.post(`/asset/getAssetData?asset_id=${id}&count=${count}`, {
|
|
30730
|
+
filters: []
|
|
30731
|
+
});
|
|
30732
|
+
|
|
30733
|
+
/**
|
|
30734
|
+
* 获取URL参数值
|
|
30735
|
+
* @param {} eventName
|
|
30736
|
+
* @param {*} actionFun
|
|
30737
|
+
*/
|
|
30738
|
+
const getUrlParamValue = (urlStr, paramName) => {
|
|
30739
|
+
try {
|
|
30740
|
+
const url = new URL(urlStr);
|
|
30741
|
+
const value = url.searchParams.get(paramName);
|
|
30742
|
+
// 如果参数值包含#,则只返回#之前的部分
|
|
30743
|
+
if (value && value.indexOf("#") !== -1) {
|
|
30744
|
+
return value.split("#")[0];
|
|
30745
|
+
}
|
|
30746
|
+
return value;
|
|
30747
|
+
} catch (err) {
|
|
30748
|
+
console.error("URL 格式错误:", err);
|
|
30749
|
+
return "";
|
|
30750
|
+
}
|
|
30751
|
+
};
|
|
30752
|
+
|
|
30753
|
+
/**
|
|
30754
|
+
* 通过 URL 创建 File 对象
|
|
30755
|
+
* @param {string} url - 文件的网络 URL
|
|
30756
|
+
* @param {string} [filename] - 自定义文件名(可选,不传则从 URL 提取)
|
|
30757
|
+
* @returns {Promise<File>} - 返回 Promise 解析为 File 对象
|
|
30758
|
+
*/
|
|
30759
|
+
const createFileFromUrl = async (url, filename) => {
|
|
30760
|
+
try {
|
|
30761
|
+
// 1. 发起网络请求获取文件
|
|
30762
|
+
const response = await fetch(url);
|
|
30763
|
+
if (!response.ok) {
|
|
30764
|
+
throw new Error(`网络请求失败: ${response.status} ${response.statusText}`);
|
|
30765
|
+
}
|
|
30766
|
+
|
|
30767
|
+
// 2. 将响应转换为 Blob(保留原始 MIME 类型)
|
|
30768
|
+
const blob = await response.blob();
|
|
30769
|
+
|
|
30770
|
+
// 3. 确定文件名(若未自定义则从 URL 提取)
|
|
30771
|
+
const finalFilename = filename || extractFilenameFromUrl(url);
|
|
30772
|
+
|
|
30773
|
+
// 4. 构造 File 对象(Blob + 文件名 + 类型)
|
|
30774
|
+
return new File([blob], finalFilename, {
|
|
30775
|
+
type: blob.type,
|
|
30776
|
+
// 使用 Blob 的 MIME 类型(如 image/png)
|
|
30777
|
+
lastModified: Date.now() // 可选:设置最后修改时间
|
|
30778
|
+
});
|
|
30779
|
+
} catch (error) {
|
|
30780
|
+
console.error("创建 File 失败:", error);
|
|
30781
|
+
throw error;
|
|
30782
|
+
}
|
|
30783
|
+
};
|
|
30784
|
+
|
|
30785
|
+
/**
|
|
30786
|
+
* 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
|
|
30787
|
+
* @param {string} url - 文件 URL
|
|
30788
|
+
* @returns {string} - 提取的文件名
|
|
30789
|
+
*/
|
|
30790
|
+
const extractFilenameFromUrl = url => {
|
|
30791
|
+
try {
|
|
30792
|
+
const urlObj = new URL(url);
|
|
30793
|
+
// 从路径中获取最后一个部分(文件名)
|
|
30794
|
+
return urlObj.pathname.split("/").pop() || "downloaded_file";
|
|
30795
|
+
} catch (e) {
|
|
30796
|
+
return "downloaded_file"; // URL 解析失败时的默认文件名
|
|
30797
|
+
}
|
|
30798
|
+
};
|
|
30744
30799
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
|
|
30745
30800
|
var es_iterator_some = __webpack_require__(3579);
|
|
30746
30801
|
;// ./src/api/iframe.js
|
|
@@ -31128,7 +31183,6 @@ class ChatClientMgr {
|
|
|
31128
31183
|
|
|
31129
31184
|
|
|
31130
31185
|
|
|
31131
|
-
|
|
31132
31186
|
const getRobotInfoByID = async (robotID, groupID) => {
|
|
31133
31187
|
let queryData = {
|
|
31134
31188
|
"param": {
|
|
@@ -31208,6 +31262,91 @@ const getIMHanlder = customerHanlder => {
|
|
|
31208
31262
|
return handler;
|
|
31209
31263
|
};
|
|
31210
31264
|
|
|
31265
|
+
;// ./src/api/dify.js
|
|
31266
|
+
|
|
31267
|
+
|
|
31268
|
+
const addAndCleanDocument = async (fileUrl, options = {}) => {
|
|
31269
|
+
let home_page = window.smardaten_api_context_path;
|
|
31270
|
+
let finalUrl = `${home_page}/storage_area/public${fileUrl}`;
|
|
31271
|
+
let fileType = finalUrl.split(".").pop().toLowerCase();
|
|
31272
|
+
fileType = getDifyFileType(fileType);
|
|
31273
|
+
let loginUserData = window.anonymousIsLogin || window.currentUser;
|
|
31274
|
+
let user_id = options.userID || loginUserData?.id;
|
|
31275
|
+
let appid = options.appID || getPoratlAppID(false, []);
|
|
31276
|
+
let appCustomData = await getAppCustomData(appid);
|
|
31277
|
+
let aiAgentServerIP = options.aiAgentServerIP || appCustomData?.aiAgentServerIP || "";
|
|
31278
|
+
let serverUrl = `${aiAgentServerIP}/addAndCleanDocument`;
|
|
31279
|
+
let queryData = {
|
|
31280
|
+
params: {
|
|
31281
|
+
inputs: {
|
|
31282
|
+
fileName: options.fileName || dify_extractFilenameFromUrl(finalUrl)
|
|
31283
|
+
},
|
|
31284
|
+
files: [{
|
|
31285
|
+
type: fileType,
|
|
31286
|
+
transfer_method: options.transfer_method || "remote_url",
|
|
31287
|
+
url: finalUrl
|
|
31288
|
+
}],
|
|
31289
|
+
user: user_id
|
|
31290
|
+
}
|
|
31291
|
+
};
|
|
31292
|
+
request.post(serverUrl, JSON.stringify(queryData)).then(res => {
|
|
31293
|
+
console.log("发送消息成功:", res);
|
|
31294
|
+
}).catch(error => {
|
|
31295
|
+
console.error("发送消息失败:", error);
|
|
31296
|
+
});
|
|
31297
|
+
};
|
|
31298
|
+
const getDifyFileType = fileType => {
|
|
31299
|
+
let typeOptions = {
|
|
31300
|
+
"DOCX": "document",
|
|
31301
|
+
"TXT": "document",
|
|
31302
|
+
"MD": "document",
|
|
31303
|
+
"MARKDOWN": "document",
|
|
31304
|
+
"MDX": "document",
|
|
31305
|
+
"PDF": "document",
|
|
31306
|
+
"HTML": "document",
|
|
31307
|
+
"XLSX": "document",
|
|
31308
|
+
"XLS": "document",
|
|
31309
|
+
"VTT": "document",
|
|
31310
|
+
"DOC": "document",
|
|
31311
|
+
"CSV": "document",
|
|
31312
|
+
"EML": "document",
|
|
31313
|
+
"MSG": "document",
|
|
31314
|
+
"PPTX": "document",
|
|
31315
|
+
"PPT": "document",
|
|
31316
|
+
"XML": "document",
|
|
31317
|
+
"EPUB": "document",
|
|
31318
|
+
"JPG": "image",
|
|
31319
|
+
"JPEG": "image",
|
|
31320
|
+
"PNG": "image",
|
|
31321
|
+
"GIF": "image",
|
|
31322
|
+
"WEBP": "image",
|
|
31323
|
+
"MP3": "audio",
|
|
31324
|
+
"M4A": "audio",
|
|
31325
|
+
"WAV": "audio",
|
|
31326
|
+
"WEBM": "audio",
|
|
31327
|
+
"MPGA": "audio",
|
|
31328
|
+
"MP4": "video",
|
|
31329
|
+
"MOV": "video",
|
|
31330
|
+
"MPEG": "video"
|
|
31331
|
+
};
|
|
31332
|
+
let key = fileType.toUpperCase();
|
|
31333
|
+
return typeOptions[key] || "custom";
|
|
31334
|
+
};
|
|
31335
|
+
|
|
31336
|
+
/**
|
|
31337
|
+
* 从 URL 中提取文件名(如 https://example.com/path/image.png → image.png)
|
|
31338
|
+
* @param {string} url - 文件 URL
|
|
31339
|
+
* @returns {string} - 提取的文件名
|
|
31340
|
+
*/
|
|
31341
|
+
const dify_extractFilenameFromUrl = url => {
|
|
31342
|
+
try {
|
|
31343
|
+
const urlObj = new URL(url);
|
|
31344
|
+
// 从路径中获取最后一个部分(文件名)
|
|
31345
|
+
return urlObj.pathname.split("/").pop() || "downloaded_file";
|
|
31346
|
+
} catch (e) {
|
|
31347
|
+
return "downloaded_file"; // URL 解析失败时的默认文件名
|
|
31348
|
+
}
|
|
31349
|
+
};
|
|
31211
31350
|
;// ./src/main.js
|
|
31212
31351
|
|
|
31213
31352
|
|
|
@@ -31215,6 +31354,7 @@ const getIMHanlder = customerHanlder => {
|
|
|
31215
31354
|
|
|
31216
31355
|
|
|
31217
31356
|
|
|
31357
|
+
|
|
31218
31358
|
;// ./node_modules/@vue/cli-service/lib/commands/build/entry-lib-no-default.js
|
|
31219
31359
|
|
|
31220
31360
|
|