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.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 =
|
|
29738
|
-
if (
|
|
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
|
|