isdata-customer-sdk 0.1.98 → 0.1.100
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 +361 -76
- package/dist/index.common.js.map +1 -1
- package/dist/index.umd.js +494 -201
- package/dist/index.umd.js.map +1 -1
- package/dist/index.umd.min.js +4 -4
- package/dist/index.umd.min.js.map +1 -1
- package/package.json +2 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
2
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
3
|
-
module.exports = factory();
|
|
3
|
+
module.exports = factory(require("vue"));
|
|
4
4
|
else if(typeof define === 'function' && define.amd)
|
|
5
5
|
define([], factory);
|
|
6
6
|
else if(typeof exports === 'object')
|
|
7
|
-
exports["index"] = factory();
|
|
7
|
+
exports["index"] = factory(require("vue"));
|
|
8
8
|
else
|
|
9
|
-
root["index"] = factory();
|
|
10
|
-
})((typeof self !== 'undefined' ? self : this), function() {
|
|
9
|
+
root["index"] = factory(root["Vue"]);
|
|
10
|
+
})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__9274__) {
|
|
11
11
|
return /******/ (function() { // webpackBootstrap
|
|
12
12
|
/******/ var __webpack_modules__ = ({
|
|
13
13
|
|
|
@@ -22358,126 +22358,6 @@ module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
|
|
|
22358
22358
|
};
|
|
22359
22359
|
|
|
22360
22360
|
|
|
22361
|
-
/***/ }),
|
|
22362
|
-
|
|
22363
|
-
/***/ 5128:
|
|
22364
|
-
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
22365
|
-
|
|
22366
|
-
"use strict";
|
|
22367
|
-
/* unused harmony export EventBus */
|
|
22368
|
-
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4114);
|
|
22369
|
-
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
22370
|
-
/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8111);
|
|
22371
|
-
/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
22372
|
-
/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7588);
|
|
22373
|
-
/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
22374
|
-
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2543);
|
|
22375
|
-
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);
|
|
22376
|
-
|
|
22377
|
-
|
|
22378
|
-
|
|
22379
|
-
|
|
22380
|
-
class EventBus {
|
|
22381
|
-
/**
|
|
22382
|
-
* @constructor
|
|
22383
|
-
*/
|
|
22384
|
-
constructor() {
|
|
22385
|
-
this.__listeners = {};
|
|
22386
|
-
}
|
|
22387
|
-
|
|
22388
|
-
/**
|
|
22389
|
-
* register a Event
|
|
22390
|
-
* @param id 可选 唯一标识,通常传入config.json中的id字段
|
|
22391
|
-
* @param eventName 事件名
|
|
22392
|
-
* @param callback 事件回调
|
|
22393
|
-
*/
|
|
22394
|
-
register(...args) {
|
|
22395
|
-
let eventName, callback;
|
|
22396
|
-
if (args.length == 3) {
|
|
22397
|
-
eventName = `${args[0]}-${args[1]}`;
|
|
22398
|
-
callback = args[2];
|
|
22399
|
-
} else {
|
|
22400
|
-
eventName = args[0];
|
|
22401
|
-
callback = args[1];
|
|
22402
|
-
}
|
|
22403
|
-
this.__listeners[eventName] = this.__listeners[eventName] || [];
|
|
22404
|
-
this.__listeners[eventName].push({
|
|
22405
|
-
callback
|
|
22406
|
-
});
|
|
22407
|
-
}
|
|
22408
|
-
|
|
22409
|
-
/**
|
|
22410
|
-
* trigger a Event
|
|
22411
|
-
* @param id 可选 唯一标识,通常传入config.json中的id字段
|
|
22412
|
-
* @param eventName 事件名
|
|
22413
|
-
* @param context 事件传递参数
|
|
22414
|
-
*/
|
|
22415
|
-
fireEvent(...args) {
|
|
22416
|
-
let eventName, context;
|
|
22417
|
-
if (args.length == 3) {
|
|
22418
|
-
eventName = `${args[0]}-${args[1]}`;
|
|
22419
|
-
context = args[2];
|
|
22420
|
-
} else {
|
|
22421
|
-
eventName = args[0];
|
|
22422
|
-
context = args[1];
|
|
22423
|
-
}
|
|
22424
|
-
let listeners = this.__listeners[eventName] || [];
|
|
22425
|
-
let result = true;
|
|
22426
|
-
lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(listeners, l => {
|
|
22427
|
-
let callback = l.callback;
|
|
22428
|
-
let r = callback.call(null, context);
|
|
22429
|
-
if (r === false) {
|
|
22430
|
-
result = false;
|
|
22431
|
-
return false;
|
|
22432
|
-
}
|
|
22433
|
-
});
|
|
22434
|
-
return result;
|
|
22435
|
-
}
|
|
22436
|
-
|
|
22437
|
-
/**
|
|
22438
|
-
* 注销一个事件
|
|
22439
|
-
* @param id 可选 唯一标识,通常传入config.json中的id字段
|
|
22440
|
-
* @param eventName 事件名
|
|
22441
|
-
* @param callback 事件回调
|
|
22442
|
-
*/
|
|
22443
|
-
unregister(...args) {
|
|
22444
|
-
let eventName, callback;
|
|
22445
|
-
if (args.length == 3) {
|
|
22446
|
-
eventName = `${args[0]}-${args[1]}`;
|
|
22447
|
-
callback = args[2];
|
|
22448
|
-
} else {
|
|
22449
|
-
eventName = args[0];
|
|
22450
|
-
callback = args[1];
|
|
22451
|
-
}
|
|
22452
|
-
if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(eventName) || lodash__WEBPACK_IMPORTED_MODULE_3___default().isEmpty(this.__listeners[eventName])) {
|
|
22453
|
-
return;
|
|
22454
|
-
}
|
|
22455
|
-
lodash__WEBPACK_IMPORTED_MODULE_3___default().remove(this.__listeners[eventName], k => {
|
|
22456
|
-
return k.callback === callback || callback === undefined;
|
|
22457
|
-
});
|
|
22458
|
-
}
|
|
22459
|
-
|
|
22460
|
-
/**
|
|
22461
|
-
* 检查是否有事件监听器
|
|
22462
|
-
* @param id 可选 唯一标识,通常传入config.json中的
|
|
22463
|
-
* @param {} eventName
|
|
22464
|
-
* @returns
|
|
22465
|
-
*/
|
|
22466
|
-
hasListener(eventName) {
|
|
22467
|
-
return lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(eventName) && !lodash__WEBPACK_IMPORTED_MODULE_3___default().isEmpty(this.__listeners[eventName]);
|
|
22468
|
-
}
|
|
22469
|
-
|
|
22470
|
-
/**
|
|
22471
|
-
* 清除所有事件
|
|
22472
|
-
*/
|
|
22473
|
-
clearAll() {
|
|
22474
|
-
this.__listeners = {};
|
|
22475
|
-
}
|
|
22476
|
-
}
|
|
22477
|
-
const eventBus = new EventBus();
|
|
22478
|
-
|
|
22479
|
-
/* harmony default export */ __webpack_exports__.A = (eventBus);
|
|
22480
|
-
|
|
22481
22361
|
/***/ }),
|
|
22482
22362
|
|
|
22483
22363
|
/***/ 5155:
|
|
@@ -28549,6 +28429,134 @@ module.exports = function isAbsoluteURL(url) {
|
|
|
28549
28429
|
};
|
|
28550
28430
|
|
|
28551
28431
|
|
|
28432
|
+
/***/ }),
|
|
28433
|
+
|
|
28434
|
+
/***/ 9218:
|
|
28435
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
28436
|
+
|
|
28437
|
+
"use strict";
|
|
28438
|
+
/* unused harmony export EventBus */
|
|
28439
|
+
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4114);
|
|
28440
|
+
/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);
|
|
28441
|
+
/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8111);
|
|
28442
|
+
/* harmony import */ var core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_constructor_js__WEBPACK_IMPORTED_MODULE_1__);
|
|
28443
|
+
/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(7588);
|
|
28444
|
+
/* harmony import */ var core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_iterator_for_each_js__WEBPACK_IMPORTED_MODULE_2__);
|
|
28445
|
+
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(2543);
|
|
28446
|
+
/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_3__);
|
|
28447
|
+
|
|
28448
|
+
|
|
28449
|
+
|
|
28450
|
+
|
|
28451
|
+
class EventBus {
|
|
28452
|
+
/**
|
|
28453
|
+
* @constructor
|
|
28454
|
+
*/
|
|
28455
|
+
constructor() {
|
|
28456
|
+
this.__listeners = {};
|
|
28457
|
+
}
|
|
28458
|
+
|
|
28459
|
+
/**
|
|
28460
|
+
* register a Event
|
|
28461
|
+
* @param id 可选 唯一标识,通常传入config.json中的id字段
|
|
28462
|
+
* @param eventName 事件名
|
|
28463
|
+
* @param callback 事件回调
|
|
28464
|
+
*/
|
|
28465
|
+
register(...args) {
|
|
28466
|
+
let eventName, callback;
|
|
28467
|
+
if (args.length == 3) {
|
|
28468
|
+
eventName = `${args[0]}-${args[1]}`;
|
|
28469
|
+
callback = args[2];
|
|
28470
|
+
} else {
|
|
28471
|
+
eventName = args[0];
|
|
28472
|
+
callback = args[1];
|
|
28473
|
+
}
|
|
28474
|
+
this.__listeners[eventName] = this.__listeners[eventName] || [];
|
|
28475
|
+
this.__listeners[eventName].push({
|
|
28476
|
+
callback
|
|
28477
|
+
});
|
|
28478
|
+
}
|
|
28479
|
+
|
|
28480
|
+
/**
|
|
28481
|
+
* trigger a Event
|
|
28482
|
+
* @param id 可选 唯一标识,通常传入config.json中的id字段
|
|
28483
|
+
* @param eventName 事件名
|
|
28484
|
+
* @param context 事件传递参数
|
|
28485
|
+
*/
|
|
28486
|
+
fireEvent(...args) {
|
|
28487
|
+
let eventName, context;
|
|
28488
|
+
if (args.length == 3) {
|
|
28489
|
+
eventName = `${args[0]}-${args[1]}`;
|
|
28490
|
+
context = args[2];
|
|
28491
|
+
} else {
|
|
28492
|
+
eventName = args[0];
|
|
28493
|
+
context = args[1];
|
|
28494
|
+
}
|
|
28495
|
+
let listeners = this.__listeners[eventName] || [];
|
|
28496
|
+
let result = true;
|
|
28497
|
+
lodash__WEBPACK_IMPORTED_MODULE_3___default().forEach(listeners, l => {
|
|
28498
|
+
let callback = l.callback;
|
|
28499
|
+
let r = callback.call(null, context);
|
|
28500
|
+
if (r === false) {
|
|
28501
|
+
result = false;
|
|
28502
|
+
return false;
|
|
28503
|
+
}
|
|
28504
|
+
});
|
|
28505
|
+
return result;
|
|
28506
|
+
}
|
|
28507
|
+
|
|
28508
|
+
/**
|
|
28509
|
+
* 注销一个事件
|
|
28510
|
+
* @param id 可选 唯一标识,通常传入config.json中的id字段
|
|
28511
|
+
* @param eventName 事件名
|
|
28512
|
+
* @param callback 事件回调
|
|
28513
|
+
*/
|
|
28514
|
+
unregister(...args) {
|
|
28515
|
+
let eventName, callback;
|
|
28516
|
+
if (args.length == 3) {
|
|
28517
|
+
eventName = `${args[0]}-${args[1]}`;
|
|
28518
|
+
callback = args[2];
|
|
28519
|
+
} else {
|
|
28520
|
+
eventName = args[0];
|
|
28521
|
+
callback = args[1];
|
|
28522
|
+
}
|
|
28523
|
+
if (!lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(eventName) || lodash__WEBPACK_IMPORTED_MODULE_3___default().isEmpty(this.__listeners[eventName])) {
|
|
28524
|
+
return;
|
|
28525
|
+
}
|
|
28526
|
+
lodash__WEBPACK_IMPORTED_MODULE_3___default().remove(this.__listeners[eventName], k => {
|
|
28527
|
+
return k.callback === callback || callback === undefined;
|
|
28528
|
+
});
|
|
28529
|
+
}
|
|
28530
|
+
|
|
28531
|
+
/**
|
|
28532
|
+
* 检查是否有事件监听器
|
|
28533
|
+
* @param id 可选 唯一标识,通常传入config.json中的
|
|
28534
|
+
* @param {} eventName
|
|
28535
|
+
* @returns
|
|
28536
|
+
*/
|
|
28537
|
+
hasListener(eventName) {
|
|
28538
|
+
return lodash__WEBPACK_IMPORTED_MODULE_3___default().isString(eventName) && !lodash__WEBPACK_IMPORTED_MODULE_3___default().isEmpty(this.__listeners[eventName]);
|
|
28539
|
+
}
|
|
28540
|
+
|
|
28541
|
+
/**
|
|
28542
|
+
* 清除所有事件
|
|
28543
|
+
*/
|
|
28544
|
+
clearAll() {
|
|
28545
|
+
this.__listeners = {};
|
|
28546
|
+
}
|
|
28547
|
+
}
|
|
28548
|
+
const eventBus = new EventBus();
|
|
28549
|
+
|
|
28550
|
+
/* harmony default export */ __webpack_exports__.A = (eventBus);
|
|
28551
|
+
|
|
28552
|
+
/***/ }),
|
|
28553
|
+
|
|
28554
|
+
/***/ 9274:
|
|
28555
|
+
/***/ (function(module) {
|
|
28556
|
+
|
|
28557
|
+
"use strict";
|
|
28558
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE__9274__;
|
|
28559
|
+
|
|
28552
28560
|
/***/ }),
|
|
28553
28561
|
|
|
28554
28562
|
/***/ 9297:
|
|
@@ -29566,6 +29574,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
29566
29574
|
addIMMapping: function() { return /* reexport */ addIMMapping; },
|
|
29567
29575
|
addObjectUsedTimes: function() { return /* reexport */ addObjectUsedTimes; },
|
|
29568
29576
|
addWindowTrustedOrigin: function() { return /* reexport */ addWindowTrustedOrigin; },
|
|
29577
|
+
checkTextFormat: function() { return /* reexport */ checkTextFormat; },
|
|
29569
29578
|
createFileFromUrl: function() { return /* reexport */ createFileFromUrl; },
|
|
29570
29579
|
decrypt: function() { return /* reexport */ decrypt; },
|
|
29571
29580
|
destroyEventCenter: function() { return /* reexport */ destroyEventCenter; },
|
|
@@ -29683,7 +29692,7 @@ const registerEventListener = (eventName, actionFun) => {
|
|
|
29683
29692
|
const initEventCenter = () => {
|
|
29684
29693
|
if (!window.rjEventCenter) {
|
|
29685
29694
|
console.log(`初始化事件中心:时间戳: ${new Date().toLocaleString()}`);
|
|
29686
|
-
let eventBus = (__webpack_require__(
|
|
29695
|
+
let eventBus = (__webpack_require__(9218)/* ["default"] */ .A);
|
|
29687
29696
|
window.rjEventCenter = eventBus;
|
|
29688
29697
|
} else {
|
|
29689
29698
|
console.log(`事件中心已经初始化,不需要重新初始化:时间戳: ${new Date().toLocaleString()}`);
|
|
@@ -33096,12 +33105,248 @@ const dify_extractFilenameFromUrl = url => {
|
|
|
33096
33105
|
return "downloaded_file"; // URL 解析失败时的默认文件名
|
|
33097
33106
|
}
|
|
33098
33107
|
};
|
|
33108
|
+
// EXTERNAL MODULE: external {"commonjs":"vue","commonjs2":"vue","root":"Vue"}
|
|
33109
|
+
var external_commonjs_vue_commonjs2_vue_root_Vue_ = __webpack_require__(9274);
|
|
33110
|
+
;// ./src/api/smardaten_i18n/table_i18n.js
|
|
33111
|
+
|
|
33112
|
+
const check = element => {
|
|
33113
|
+
const checkResult = {
|
|
33114
|
+
result: false,
|
|
33115
|
+
innerHTMLMatch: null
|
|
33116
|
+
};
|
|
33117
|
+
const classes = element.classList;
|
|
33118
|
+
// 检查表格头部 序号 和 操作 列
|
|
33119
|
+
if (classes.contains("ant-table-cell")) {
|
|
33120
|
+
let innerHTML = element.innerHTML;
|
|
33121
|
+
if (innerHTML.includes("序号") || innerHTML.includes("Serial No.")) {
|
|
33122
|
+
console.log("检查smardaten平台表格 序号 元素:", innerHTML);
|
|
33123
|
+
let tempHTMLMatch = {
|
|
33124
|
+
oldValue: '$L{PLATFORM_SERIAL_NO}'
|
|
33125
|
+
};
|
|
33126
|
+
checkResult.result = true;
|
|
33127
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33128
|
+
return checkResult;
|
|
33129
|
+
}
|
|
33130
|
+
if (innerHTML.includes("操作")) {
|
|
33131
|
+
console.log("检查smardaten平台表格 操作 元素:", innerHTML);
|
|
33132
|
+
let tempHTMLMatch = {
|
|
33133
|
+
oldValue: '$L{PLATFORM_OPERATE}'
|
|
33134
|
+
};
|
|
33135
|
+
checkResult.result = true;
|
|
33136
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33137
|
+
return checkResult;
|
|
33138
|
+
}
|
|
33139
|
+
}
|
|
33140
|
+
// 检查分页组件
|
|
33141
|
+
if (classes.contains("total_pag_num")) {
|
|
33142
|
+
let innerHTML = element.innerHTML;
|
|
33143
|
+
if (innerHTML.includes("共") && innerHTML.includes("条") || innerHTML.includes("Total") && innerHTML.includes("pieces")) {
|
|
33144
|
+
console.log("检查smardaten平台分页 共xx条 元素:", innerHTML);
|
|
33145
|
+
let scriptFunction = (appID, lang) => {
|
|
33146
|
+
let scriptNode = null;
|
|
33147
|
+
for (let node of element.childNodes) {
|
|
33148
|
+
// 检查是否为文本节点且包含"Total"
|
|
33149
|
+
if (node.tagName === "SPAN") {
|
|
33150
|
+
scriptNode = node;
|
|
33151
|
+
}
|
|
33152
|
+
}
|
|
33153
|
+
let scriptNodes = [{
|
|
33154
|
+
nodeType: Node.TEXT_NODE,
|
|
33155
|
+
key: 'PLATFORM_TOTAL'
|
|
33156
|
+
}, {
|
|
33157
|
+
nodeType: "SCRIPTNODE",
|
|
33158
|
+
node: scriptNode
|
|
33159
|
+
}, {
|
|
33160
|
+
nodeType: Node.TEXT_NODE,
|
|
33161
|
+
key: 'PLATFORM_PIECES'
|
|
33162
|
+
}];
|
|
33163
|
+
for (let i = 0; i < element.childNodes.length; i++) {
|
|
33164
|
+
let childNode = element.childNodes[i];
|
|
33165
|
+
if (childNode.nodeType === Node.TEXT_NODE) {
|
|
33166
|
+
element.removeChild(childNode);
|
|
33167
|
+
}
|
|
33168
|
+
}
|
|
33169
|
+
for (let i = 0; i < scriptNodes.length; i++) {
|
|
33170
|
+
let scriptNodeItem = scriptNodes[i];
|
|
33171
|
+
if (scriptNodeItem.nodeType === Node.TEXT_NODE) {
|
|
33172
|
+
let textNode = document.createTextNode(i18n(scriptNodeItem.key, appID, lang) || scriptNodeItem.key);
|
|
33173
|
+
element.appendChild(textNode);
|
|
33174
|
+
}
|
|
33175
|
+
if (scriptNodeItem.nodeType === "SCRIPTNODE") {
|
|
33176
|
+
element.appendChild(scriptNodeItem.node);
|
|
33177
|
+
}
|
|
33178
|
+
}
|
|
33179
|
+
};
|
|
33180
|
+
let tempHTMLMatch = {
|
|
33181
|
+
isScriptOldValue: true,
|
|
33182
|
+
scriptFunction: scriptFunction
|
|
33183
|
+
};
|
|
33184
|
+
checkResult.result = true;
|
|
33185
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33186
|
+
return checkResult;
|
|
33187
|
+
}
|
|
33188
|
+
}
|
|
33189
|
+
// 检查分页组件 跳至xx页
|
|
33190
|
+
if (classes.contains("ant-pagination-options-quick-jumper")) {
|
|
33191
|
+
let innerHTML = element.innerHTML;
|
|
33192
|
+
if (innerHTML.includes("跳至") && innerHTML.includes("页") || innerHTML.includes("Go to") && innerHTML.includes("Page")) {
|
|
33193
|
+
console.log("检查smardaten平台分页 跳至xx页 元素:", innerHTML);
|
|
33194
|
+
let scriptFunction = (appID, lang) => {
|
|
33195
|
+
let scriptNode = null;
|
|
33196
|
+
for (let node of element.childNodes) {
|
|
33197
|
+
// 检查是否为文本节点且包含"Total"
|
|
33198
|
+
if (node.tagName === "INPUT") {
|
|
33199
|
+
scriptNode = node;
|
|
33200
|
+
}
|
|
33201
|
+
}
|
|
33202
|
+
let scriptNodes = [{
|
|
33203
|
+
nodeType: Node.TEXT_NODE,
|
|
33204
|
+
key: 'PLATFORM_JUNPTO'
|
|
33205
|
+
}, {
|
|
33206
|
+
nodeType: "SCRIPTNODE",
|
|
33207
|
+
node: scriptNode
|
|
33208
|
+
}, {
|
|
33209
|
+
nodeType: Node.TEXT_NODE,
|
|
33210
|
+
key: 'PLATFORM_PAGE'
|
|
33211
|
+
}];
|
|
33212
|
+
for (let i = 0; i < element.childNodes.length; i++) {
|
|
33213
|
+
let childNode = element.childNodes[i];
|
|
33214
|
+
if (childNode.nodeType === Node.TEXT_NODE) {
|
|
33215
|
+
element.removeChild(childNode);
|
|
33216
|
+
}
|
|
33217
|
+
}
|
|
33218
|
+
for (let i = 0; i < scriptNodes.length; i++) {
|
|
33219
|
+
let scriptNodeItem = scriptNodes[i];
|
|
33220
|
+
if (scriptNodeItem.nodeType === Node.TEXT_NODE) {
|
|
33221
|
+
let textNode = document.createTextNode(i18n(scriptNodeItem.key, appID, lang) || scriptNodeItem.key);
|
|
33222
|
+
element.appendChild(textNode);
|
|
33223
|
+
}
|
|
33224
|
+
if (scriptNodeItem.nodeType === "SCRIPTNODE") {
|
|
33225
|
+
element.appendChild(scriptNodeItem.node);
|
|
33226
|
+
}
|
|
33227
|
+
}
|
|
33228
|
+
};
|
|
33229
|
+
let tempHTMLMatch = {
|
|
33230
|
+
isScriptOldValue: true,
|
|
33231
|
+
scriptFunction: scriptFunction
|
|
33232
|
+
};
|
|
33233
|
+
checkResult.result = true;
|
|
33234
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33235
|
+
return checkResult;
|
|
33236
|
+
}
|
|
33237
|
+
}
|
|
33238
|
+
// 检查每页xx条
|
|
33239
|
+
if (classes.contains("ant-select-selection-item") || classes.contains("ant-select-item-option-content")) {
|
|
33240
|
+
let innerHTML = element.innerHTML;
|
|
33241
|
+
console.log("检查smardaten平台分页 每页xx条 元素:", innerHTML);
|
|
33242
|
+
if (innerHTML.includes("/") && innerHTML.includes("page") || innerHTML.includes("/") && innerHTML.includes("条") && innerHTML.includes("页")) {
|
|
33243
|
+
let oldValue = element.innerHTML;
|
|
33244
|
+
if (innerHTML.includes("page")) {
|
|
33245
|
+
oldValue = oldValue.replace('page', '$L{PLATFORM_PAGE}');
|
|
33246
|
+
}
|
|
33247
|
+
if (innerHTML.includes("页")) {
|
|
33248
|
+
oldValue = oldValue.replace('页', '$L{PLATFORM_PAGE}');
|
|
33249
|
+
}
|
|
33250
|
+
if (innerHTML.includes("条")) {
|
|
33251
|
+
oldValue = oldValue.replace('条', '$L{PLATFORM_PIECES}');
|
|
33252
|
+
}
|
|
33253
|
+
let tempHTMLMatch = {
|
|
33254
|
+
oldValue: oldValue
|
|
33255
|
+
};
|
|
33256
|
+
checkResult.result = true;
|
|
33257
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33258
|
+
return checkResult;
|
|
33259
|
+
}
|
|
33260
|
+
}
|
|
33261
|
+
// 检查删除确认对话框标题
|
|
33262
|
+
if (classes.contains("ant-popover-message-title")) {
|
|
33263
|
+
let innerHTML = element.innerHTML;
|
|
33264
|
+
if (innerHTML.includes("确认执行:") || innerHTML.includes("Confirm Execution:")) {
|
|
33265
|
+
console.log("检查smardaten平台删除提问对话框:", innerHTML);
|
|
33266
|
+
let tempHTMLMatch = {
|
|
33267
|
+
oldValue: '$L{PLATFORM_DELETE_CONFIRM_TITLE}'
|
|
33268
|
+
};
|
|
33269
|
+
checkResult.result = true;
|
|
33270
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33271
|
+
return checkResult;
|
|
33272
|
+
}
|
|
33273
|
+
}
|
|
33274
|
+
// 检查删除确认对话框按钮 取消 确认
|
|
33275
|
+
if (classes.contains("ant-btn-sm")) {
|
|
33276
|
+
let innerHTML = element.innerHTML;
|
|
33277
|
+
if (innerHTML.includes("Cancel") || innerHTML.includes("取消")) {
|
|
33278
|
+
console.log("检查smardaten平台 Tip提问取消删除按钮:", innerHTML);
|
|
33279
|
+
let tempHTMLMatch = {
|
|
33280
|
+
oldValue: '$L{PLATFORM_CANCEL}'
|
|
33281
|
+
};
|
|
33282
|
+
checkResult.result = true;
|
|
33283
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33284
|
+
return checkResult;
|
|
33285
|
+
}
|
|
33286
|
+
if (innerHTML.includes("确认") || innerHTML.includes("OK")) {
|
|
33287
|
+
console.log("检查smardaten平台 Tip提问确认删除按钮:", innerHTML);
|
|
33288
|
+
let tempHTMLMatch = {
|
|
33289
|
+
oldValue: '$L{PLATFORM_OK}'
|
|
33290
|
+
};
|
|
33291
|
+
checkResult.result = true;
|
|
33292
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33293
|
+
return checkResult;
|
|
33294
|
+
}
|
|
33295
|
+
}
|
|
33296
|
+
return checkResult;
|
|
33297
|
+
};
|
|
33298
|
+
;// ./src/api/smardaten_i18n/catalog_i18n.js
|
|
33299
|
+
|
|
33300
|
+
const catalog_i18n_check = element => {
|
|
33301
|
+
const checkResult = {
|
|
33302
|
+
result: false,
|
|
33303
|
+
innerHTMLMatch: null
|
|
33304
|
+
};
|
|
33305
|
+
const classes = element.classList;
|
|
33306
|
+
// 检查目录列表 名称 列
|
|
33307
|
+
if (classes.contains("catalog_name_content")) {
|
|
33308
|
+
let innerHTML = element.innerHTML;
|
|
33309
|
+
let oldValue = innerHTML;
|
|
33310
|
+
console.log("检查smardaten平台目录列表 元素:", innerHTML);
|
|
33311
|
+
let scriptFunction = (appID, lang) => {
|
|
33312
|
+
for (let i = 0; i < element.childNodes.length; i++) {
|
|
33313
|
+
let scriptNodeItem = element.childNodes[i];
|
|
33314
|
+
if (scriptNodeItem.nodeType === Node.TEXT_NODE) {
|
|
33315
|
+
let text = element.getAttribute("oldValue");
|
|
33316
|
+
let isTextMatch = checkTextFormat(text);
|
|
33317
|
+
if (!isTextMatch) {
|
|
33318
|
+
element.appendChild(scriptNodeItem);
|
|
33319
|
+
} else {
|
|
33320
|
+
element.removeChild(scriptNodeItem);
|
|
33321
|
+
let key = isTextMatch.key;
|
|
33322
|
+
let textNode = document.createTextNode(i18n(key, appID, lang) || key);
|
|
33323
|
+
element.appendChild(textNode);
|
|
33324
|
+
}
|
|
33325
|
+
} else {
|
|
33326
|
+
element.appendChild(scriptNodeItem);
|
|
33327
|
+
}
|
|
33328
|
+
}
|
|
33329
|
+
};
|
|
33330
|
+
let tempHTMLMatch = {
|
|
33331
|
+
oldValue: oldValue,
|
|
33332
|
+
isScriptOldValue: true,
|
|
33333
|
+
scriptFunction: scriptFunction
|
|
33334
|
+
};
|
|
33335
|
+
checkResult.result = true;
|
|
33336
|
+
checkResult.innerHTMLMatch = tempHTMLMatch;
|
|
33337
|
+
return checkResult;
|
|
33338
|
+
}
|
|
33339
|
+
return checkResult;
|
|
33340
|
+
};
|
|
33099
33341
|
;// ./src/api/i18n.js
|
|
33100
33342
|
|
|
33101
33343
|
|
|
33102
33344
|
|
|
33103
33345
|
|
|
33104
33346
|
|
|
33347
|
+
|
|
33348
|
+
|
|
33349
|
+
|
|
33105
33350
|
const getLanguages = async appID => {
|
|
33106
33351
|
let queryData = {
|
|
33107
33352
|
param: {
|
|
@@ -33161,7 +33406,49 @@ function generateUniqueId() {
|
|
|
33161
33406
|
return `i18n_${Date.now()}_${window.idCounter++}`;
|
|
33162
33407
|
}
|
|
33163
33408
|
|
|
33164
|
-
|
|
33409
|
+
/**
|
|
33410
|
+
* 检查平台特定元素并返回匹配结果
|
|
33411
|
+
* @param {*} element
|
|
33412
|
+
* @returns
|
|
33413
|
+
*/
|
|
33414
|
+
function checkPlatformElement(element) {
|
|
33415
|
+
const checkResult = {
|
|
33416
|
+
result: false,
|
|
33417
|
+
innerHTMLMatch: null
|
|
33418
|
+
};
|
|
33419
|
+
let checkArr = [check, catalog_i18n_check];
|
|
33420
|
+
for (let i = 0; i < checkArr.length; i++) {
|
|
33421
|
+
let checkFunc = checkArr[i];
|
|
33422
|
+
let checkResult = checkFunc(element);
|
|
33423
|
+
if (checkResult.result) {
|
|
33424
|
+
return checkResult;
|
|
33425
|
+
}
|
|
33426
|
+
}
|
|
33427
|
+
return checkResult;
|
|
33428
|
+
}
|
|
33429
|
+
function checkParantNodeNeedFiller(element) {
|
|
33430
|
+
const filterTags = ["BUTTON"];
|
|
33431
|
+
for (let tag of filterTags) {
|
|
33432
|
+
if (element.tagName === tag) {
|
|
33433
|
+
return false;
|
|
33434
|
+
}
|
|
33435
|
+
}
|
|
33436
|
+
//当为目录列表时catalog_name_content
|
|
33437
|
+
//当为表格单元格时ant-table-cell
|
|
33438
|
+
//当为分页总数时total_pag_num
|
|
33439
|
+
//当为分页每页条数选择时ant-pagination-options-quick-jumper
|
|
33440
|
+
//当为分页下拉选择时ant-select-selection-item
|
|
33441
|
+
//当为分页下拉选项时ant-select-item-option-content
|
|
33442
|
+
const classes = ["catalog_name_content", "ant-table-cell", "total_pag_num", "ant-pagination-options-quick-jumper", "ant-select-selection-item", "ant-select-item-option-content", "catalog_name_content", "catalog_tree_node"];
|
|
33443
|
+
for (let cls of classes) {
|
|
33444
|
+
if (element.classList.contains(cls)) {
|
|
33445
|
+
return false;
|
|
33446
|
+
}
|
|
33447
|
+
}
|
|
33448
|
+
return true;
|
|
33449
|
+
}
|
|
33450
|
+
|
|
33451
|
+
// 处理DOM元素的函数
|
|
33165
33452
|
function processElement(element) {
|
|
33166
33453
|
if (element.nodeType != 1) {
|
|
33167
33454
|
return false;
|
|
@@ -33173,71 +33460,71 @@ function processElement(element) {
|
|
|
33173
33460
|
for (let i = 0; i < children.length; i++) {
|
|
33174
33461
|
processElement(children[i]);
|
|
33175
33462
|
}
|
|
33176
|
-
|
|
33177
|
-
|
|
33178
|
-
|
|
33463
|
+
|
|
33464
|
+
// 检查父亲性质节点是否需要被过滤
|
|
33465
|
+
const isParentNodeNeedFilter = checkParantNodeNeedFiller(element);
|
|
33466
|
+
if (isParentNodeNeedFilter) {
|
|
33179
33467
|
return false;
|
|
33180
33468
|
}
|
|
33181
33469
|
}
|
|
33182
33470
|
// element.setAttribute("i18nProcessed", "true"); // 标记元素已被处理
|
|
33183
|
-
// 检查是否是input元素
|
|
33184
|
-
const isInputElement = element.tagName === "INPUT";
|
|
33185
33471
|
// 检查placeholder是否匹配
|
|
33186
33472
|
const placeholder = element.getAttribute("placeholder") || element.placeholder;
|
|
33187
|
-
const placeholderMatch =
|
|
33188
|
-
|
|
33189
|
-
|
|
33190
|
-
const value = element.getAttribute("value") || element.value;
|
|
33191
|
-
const valueMatch = isInputElement && value ? checkTextFormat(value) : null;
|
|
33473
|
+
const placeholderMatch = placeholder ? checkTextFormat(placeholder) : null;
|
|
33474
|
+
const title = element.getAttribute("title") || element.title;
|
|
33475
|
+
const titleMatch = title ? checkTextFormat(title) : null;
|
|
33192
33476
|
|
|
33193
33477
|
// 检查innerHTML是否匹配(仅对没有子元素的元素)
|
|
33194
33478
|
let innerHTMLMatch = null;
|
|
33195
|
-
// if (!hasChildren) {
|
|
33196
33479
|
const innerHTML = element.innerHTML;
|
|
33197
33480
|
innerHTMLMatch = checkTextFormat(innerHTML);
|
|
33198
|
-
|
|
33481
|
+
|
|
33482
|
+
//检查是否是smardaten平台元素
|
|
33483
|
+
const checkResult = checkPlatformElement(element);
|
|
33484
|
+
if (checkResult.result) {
|
|
33485
|
+
innerHTMLMatch = checkResult.innerHTMLMatch;
|
|
33486
|
+
}
|
|
33199
33487
|
|
|
33200
33488
|
// 如果没有匹配的内容,则不处理
|
|
33201
|
-
if (!placeholderMatch && !
|
|
33489
|
+
if (!placeholderMatch && !innerHTMLMatch && !checkResult.result && !titleMatch) {
|
|
33202
33490
|
return false;
|
|
33203
33491
|
}
|
|
33204
|
-
|
|
33492
|
+
let elementId = element.getAttribute("localDomID");
|
|
33493
|
+
if (!elementId) {
|
|
33494
|
+
elementId = generateUniqueId();
|
|
33495
|
+
}
|
|
33205
33496
|
element.setAttribute("localDomID", elementId);
|
|
33206
|
-
|
|
33207
|
-
|
|
33208
|
-
|
|
33209
|
-
|
|
33210
|
-
|
|
33497
|
+
|
|
33498
|
+
// console.log("处理元素:", element, {
|
|
33499
|
+
// placeholderMatch,
|
|
33500
|
+
// valueMatch,
|
|
33501
|
+
// innerHTMLMatch,
|
|
33502
|
+
// });
|
|
33211
33503
|
// 处理placeholder
|
|
33212
33504
|
if (placeholderMatch) {
|
|
33213
|
-
element.setAttribute("localPlaceholderKey", placeholderMatch.key);
|
|
33214
33505
|
element.setAttribute("oldPlaceholderValue", placeholder);
|
|
33215
33506
|
}
|
|
33216
|
-
|
|
33217
|
-
|
|
33218
|
-
if (valueMatch) {
|
|
33219
|
-
element.setAttribute("localValueKey", valueMatch.key);
|
|
33220
|
-
element.setAttribute("oldValueValue", value);
|
|
33507
|
+
if (titleMatch) {
|
|
33508
|
+
element.setAttribute("oldTitleValue", title);
|
|
33221
33509
|
}
|
|
33222
33510
|
|
|
33223
33511
|
// 处理innerHTML(仅对没有子元素的元素)
|
|
33224
|
-
if (innerHTMLMatch) {
|
|
33225
|
-
element.setAttribute("localKey", innerHTMLMatch.key);
|
|
33512
|
+
if (!hasChildren && innerHTMLMatch) {
|
|
33226
33513
|
element.setAttribute("oldValue", element.innerHTML);
|
|
33227
33514
|
}
|
|
33515
|
+
if (checkResult.result) {
|
|
33516
|
+
element.setAttribute("oldValue", innerHTMLMatch.oldValue);
|
|
33517
|
+
}
|
|
33228
33518
|
|
|
33229
33519
|
// 添加到Map缓存
|
|
33230
33520
|
window.i18nElementsMap.set(elementId, {
|
|
33231
33521
|
dom: element,
|
|
33232
33522
|
id: elementId,
|
|
33233
|
-
key: innerHTMLMatch ? innerHTMLMatch.key : null,
|
|
33234
|
-
placeholderKey: placeholderMatch ? placeholderMatch.key : null,
|
|
33235
|
-
valueKey: valueMatch ? valueMatch.key : null,
|
|
33236
33523
|
oldValue: innerHTMLMatch ? element.innerHTML : null,
|
|
33237
33524
|
oldPlaceholderValue: placeholderMatch ? placeholder : null,
|
|
33238
|
-
|
|
33239
|
-
|
|
33240
|
-
|
|
33525
|
+
oldTitleValue: titleMatch ? title : null,
|
|
33526
|
+
isScriptOldValue: innerHTMLMatch ? innerHTMLMatch.isScriptOldValue || false : false,
|
|
33527
|
+
scriptFunction: innerHTMLMatch ? innerHTMLMatch.scriptFunction || null : null
|
|
33241
33528
|
});
|
|
33242
33529
|
applyTranslation(element);
|
|
33243
33530
|
return true;
|
|
@@ -33272,10 +33559,9 @@ const applyTranslation = async element => {
|
|
|
33272
33559
|
const cachedItem = window.i18nElementsMap.get(elementId);
|
|
33273
33560
|
if (!cachedItem) return;
|
|
33274
33561
|
// 处理placeholder(如果是input元素)
|
|
33275
|
-
if (cachedItem.
|
|
33276
|
-
const placeholderKey = element.getAttribute("localPlaceholderKey");
|
|
33562
|
+
if (cachedItem.oldPlaceholderValue) {
|
|
33277
33563
|
const oldPlaceholderValue = element.getAttribute("oldPlaceholderValue");
|
|
33278
|
-
if (
|
|
33564
|
+
if (oldPlaceholderValue) {
|
|
33279
33565
|
// 创建正则表达式匹配所有 $L{...} 格式
|
|
33280
33566
|
const regex = /\$L\{([^}]+)\}/g;
|
|
33281
33567
|
// 替换所有 $L{...} 占位符为翻译文本
|
|
@@ -33291,50 +33577,47 @@ const applyTranslation = async element => {
|
|
|
33291
33577
|
element.setAttribute("placeholder", newPlaceholderValue);
|
|
33292
33578
|
}
|
|
33293
33579
|
}
|
|
33294
|
-
|
|
33295
|
-
|
|
33296
|
-
|
|
33297
|
-
const valueKey = element.getAttribute("localValueKey");
|
|
33298
|
-
const oldValueValue = element.getAttribute("oldValueValue");
|
|
33299
|
-
if (valueKey && oldValueValue) {
|
|
33580
|
+
if (cachedItem.oldTitleValue) {
|
|
33581
|
+
const oldTitleValue = element.getAttribute("oldTitleValue");
|
|
33582
|
+
if (oldTitleValue) {
|
|
33300
33583
|
// 创建正则表达式匹配所有 $L{...} 格式
|
|
33301
33584
|
const regex = /\$L\{([^}]+)\}/g;
|
|
33302
|
-
|
|
33303
33585
|
// 替换所有 $L{...} 占位符为翻译文本
|
|
33304
|
-
let
|
|
33586
|
+
let newTitleValue = oldTitleValue;
|
|
33305
33587
|
let match;
|
|
33306
|
-
while ((match = regex.exec(
|
|
33588
|
+
while ((match = regex.exec(oldTitleValue)) !== null) {
|
|
33307
33589
|
const fullMatch = match[0];
|
|
33308
|
-
const
|
|
33309
|
-
const translation = i18n(
|
|
33310
|
-
|
|
33590
|
+
const titleKey = match[1];
|
|
33591
|
+
const translation = i18n(titleKey, appID, lang);
|
|
33592
|
+
newTitleValue = newTitleValue.replace(fullMatch, translation);
|
|
33593
|
+
// 更新元素的title属性
|
|
33594
|
+
element.setAttribute("title", newTitleValue);
|
|
33311
33595
|
}
|
|
33312
|
-
|
|
33313
|
-
// 更新元素的value属性
|
|
33314
|
-
element.setAttribute("value", newValueValue);
|
|
33315
33596
|
}
|
|
33316
33597
|
}
|
|
33317
|
-
|
|
33318
|
-
|
|
33319
|
-
|
|
33320
|
-
|
|
33321
|
-
|
|
33322
|
-
|
|
33323
|
-
|
|
33324
|
-
|
|
33325
|
-
|
|
33326
|
-
|
|
33327
|
-
|
|
33328
|
-
|
|
33329
|
-
|
|
33330
|
-
|
|
33331
|
-
|
|
33332
|
-
|
|
33333
|
-
|
|
33598
|
+
// console.log("更新innerHTML翻译:", element);
|
|
33599
|
+
if (cachedItem.isScriptOldValue) {
|
|
33600
|
+
cachedItem.scriptFunction(appID, lang);
|
|
33601
|
+
} else {
|
|
33602
|
+
if (cachedItem.oldValue) {
|
|
33603
|
+
const oldValue = element.getAttribute("oldValue");
|
|
33604
|
+
if (oldValue) {
|
|
33605
|
+
// 创建正则表达式匹配所有 $L{...} 格式
|
|
33606
|
+
const regex = /\$L\{([^}]+)\}/g;
|
|
33607
|
+
// 替换所有 $L{...} 占位符为翻译文本
|
|
33608
|
+
let newValue = oldValue;
|
|
33609
|
+
let match;
|
|
33610
|
+
while ((match = regex.exec(oldValue)) !== null) {
|
|
33611
|
+
const fullMatch = match[0];
|
|
33612
|
+
const placeholderKey = match[1];
|
|
33613
|
+
const translation = i18n(placeholderKey, appID, lang);
|
|
33614
|
+
newValue = newValue.replace(fullMatch, translation);
|
|
33615
|
+
}
|
|
33616
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
33617
|
+
// 更新元素的innerHTML
|
|
33618
|
+
element.innerHTML = newValue;
|
|
33619
|
+
});
|
|
33334
33620
|
}
|
|
33335
|
-
|
|
33336
|
-
// 更新元素的innerHTML
|
|
33337
|
-
element.innerHTML = newValue;
|
|
33338
33621
|
}
|
|
33339
33622
|
}
|
|
33340
33623
|
};
|
|
@@ -33344,8 +33627,7 @@ const initDomNodeI18NObserver = () => {
|
|
|
33344
33627
|
} else {
|
|
33345
33628
|
window.i18nElementsMap.clear();
|
|
33346
33629
|
}
|
|
33347
|
-
registerEventListener("IPORTAL_LANGUAGE_CHANGE_EVENT", async
|
|
33348
|
-
const lang = data.lang;
|
|
33630
|
+
registerEventListener("IPORTAL_LANGUAGE_CHANGE_EVENT", async lang => {
|
|
33349
33631
|
console.log("语言切换事件触发,更新已处理元素的翻译:", lang);
|
|
33350
33632
|
// 遍历Map,更新每个已处理元素的翻译
|
|
33351
33633
|
for (const [elementId, item] of window.i18nElementsMap.entries()) {
|
|
@@ -33363,7 +33645,6 @@ const initDomNodeI18NObserver = () => {
|
|
|
33363
33645
|
processElement(node);
|
|
33364
33646
|
}
|
|
33365
33647
|
}
|
|
33366
|
-
|
|
33367
33648
|
// 节点移除
|
|
33368
33649
|
if (mutation.removedNodes.length > 0) {
|
|
33369
33650
|
for (let i = 0; i < mutation.removedNodes.length; i++) {
|
|
@@ -33371,6 +33652,16 @@ const initDomNodeI18NObserver = () => {
|
|
|
33371
33652
|
unProcessElement(node);
|
|
33372
33653
|
}
|
|
33373
33654
|
}
|
|
33655
|
+
if (mutation.type === 'characterData') {
|
|
33656
|
+
// 处理文本变化
|
|
33657
|
+
// const oldValue = mutation.oldValue;
|
|
33658
|
+
const targetNode = mutation.target;
|
|
33659
|
+
// const newValue = targetNode.data;
|
|
33660
|
+
// 创建日志条目并显示
|
|
33661
|
+
// console.log(`文本修改: ${oldValue} → ${newValue}`);
|
|
33662
|
+
const parentElement = targetNode.parentNode;
|
|
33663
|
+
processElement(parentElement);
|
|
33664
|
+
}
|
|
33374
33665
|
});
|
|
33375
33666
|
});
|
|
33376
33667
|
|
|
@@ -33382,7 +33673,9 @@ const initDomNodeI18NObserver = () => {
|
|
|
33382
33673
|
// 观察所有后代节点
|
|
33383
33674
|
attributes: false,
|
|
33384
33675
|
// 不观察属性变化
|
|
33385
|
-
characterData:
|
|
33676
|
+
characterData: true,
|
|
33677
|
+
// 不观察文本内容变化
|
|
33678
|
+
characterDataOldValue: true
|
|
33386
33679
|
};
|
|
33387
33680
|
// 开始观察目标节点
|
|
33388
33681
|
const targetNode = document.body;
|