efront 4.4.12 → 4.4.14

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.
Files changed (76) hide show
  1. package/#/345/233/275/351/231/205/345/214/226.yml +885 -66
  2. package/apps/reptile/encode.js +1 -1
  3. package/coms/basic/#loader.js +4 -4
  4. package/coms/basic/BigNumber.js +6 -6
  5. package/coms/basic/BitTree.js +1 -1
  6. package/coms/basic/Enum.js +1 -1
  7. package/coms/basic/Matrix.js +1 -1
  8. package/coms/basic/analyse_test.js +1 -1
  9. package/coms/basic/assert.js +1 -1
  10. package/coms/basic/color.js +1 -1
  11. package/coms/basic/compile.js +1 -1
  12. package/coms/basic/cross_.js +2 -2
  13. package/coms/basic/crypt.js +3 -3
  14. package/coms/basic/decodePack.js +3 -3
  15. package/coms/basic/deepEqual.js +1 -1
  16. package/coms/basic/encodeRange_test.js +1 -1
  17. package/coms/basic/encodeUTF16.js +2 -2
  18. package/coms/basic/encodeUTF8.js +1 -1
  19. package/coms/basic/i18n.md +4 -2
  20. package/coms/basic/parseYML.js +2 -2
  21. package/coms/basic/refilm.js +2 -2
  22. package/coms/basic/repeat.js +1 -1
  23. package/coms/basic/submit_.js +4 -4
  24. package/coms/basic_/Array2.js +2 -2
  25. package/coms/basic_/Promise.js +1 -1
  26. package/coms/basic_/exec_.js +1 -1
  27. package/coms/compile/Javascript.js +2 -2
  28. package/coms/compile/Program.js +1 -1
  29. package/coms/compile/common.js +27 -4
  30. package/coms/compile/downLevel.js +5 -5
  31. package/coms/compile/translate.js +29 -11
  32. package/coms/compile/translate_test.js +8 -0
  33. package/coms/compile/unstruct.js +9 -4
  34. package/coms/compile/unstruct_test.js +2 -1
  35. package/coms/compile/washcode.js +2 -2
  36. package/coms/docs/execute.js +1 -1
  37. package/coms/explorer/Explorer.js +6 -6
  38. package/coms/explorer/context.js +16 -16
  39. package/coms/explorer/deepcp.js +2 -2
  40. package/coms/explorer/edit.html +3 -3
  41. package/coms/frame/chat.html +2 -2
  42. package/coms/frame/route.js +1 -1
  43. package/coms/kugou/parseSongsList.js +1 -1
  44. package/coms/reptile/colored_console.js +8 -2
  45. package/coms/reptile/cross.js +1 -1
  46. package/coms/reptile/decodeHttpResponse.js +1 -1
  47. package/coms/reptile/detectWithExtension.js +1 -1
  48. package/coms/zimoli/Enum.js +1 -1
  49. package/coms/zimoli/api.js +19 -19
  50. package/coms/zimoli/avatarEditor.js +1 -1
  51. package/coms/zimoli/care.js +3 -3
  52. package/coms/zimoli/cast.js +1 -1
  53. package/coms/zimoli/chooseFile.js +2 -2
  54. package/coms/zimoli/clock.js +1 -1
  55. package/coms/zimoli/confirm.js +2 -2
  56. package/coms/zimoli/createElement.js +2 -2
  57. package/coms/zimoli/cross.js +3 -3
  58. package/coms/zimoli/css.js +1 -1
  59. package/coms/zimoli/downloadmap.js +2 -2
  60. package/coms/zimoli/filterTime.js +1 -1
  61. package/coms/zimoli/grid.js +4 -4
  62. package/coms/zimoli/icon.js +1 -1
  63. package/coms/zimoli/list.js +1 -1
  64. package/coms/zimoli/mediaDevices.js +1 -1
  65. package/coms/zimoli/menu.js +1 -1
  66. package/coms/zimoli/on.js +3 -3
  67. package/coms/zimoli/overlap_test.js +1 -1
  68. package/coms/zimoli/popup.js +2 -2
  69. package/coms/zimoli/render.js +10 -10
  70. package/coms/zimoli/table.js +1 -1
  71. package/coms/zimoli/watch.js +1 -1
  72. package/coms/zimoli/zimoli.js +3 -3
  73. package/docs//345/267/245/345/205/267//345/233/275/351/231/205/345/214/226.xht +12 -4
  74. package/package.json +1 -1
  75. package/public/efront.js +1 -1
  76. package/coms/kugou/fxPlayer.js +0 -12474
@@ -480,8 +480,9 @@ var _return = function (r) {
480
480
  r.push(...x);
481
481
  relink(r);
482
482
  };
483
+
483
484
  var remove_end_comma = function (o) {
484
- if (!o.length || o.type !== SCOPED || o.entry === '[') return;
485
+ if (!o.length || (o.type !== void 0) && o.type !== SCOPED || o.entry === '[') return;
485
486
  for (var cx = o.length - 1; cx >= 0; cx--) {
486
487
  var m = o[cx];
487
488
  if (!(m.type & (SPACE | COMMENT))) {
@@ -570,6 +571,11 @@ var _invoke = function (t, getname) {
570
571
  }
571
572
  if (!iseval || m[m.length - 1] === o.last) {
572
573
  var q = toqueue(m, getdeepname, 1);
574
+ if (q.length > 1 && queue.length) {
575
+ var q0 = q[0];
576
+ var q0f = q0.first;
577
+ if (q0f?.type === STRAP && !q0f.transive) remove_end_comma(queue[queue.length - 1]);
578
+ }
573
579
  var qe = q[q.length - 1];
574
580
  splice(o, by, ey - by, ...qe ? cloneNode(qe.name) : []);
575
581
  cy = by + 1;
@@ -588,8 +594,7 @@ var _invoke = function (t, getname) {
588
594
  nameindex = _nameindex;
589
595
  // if (!cache.length) continue;
590
596
  if (queue.length) flushqueue(result, queue), queue = [];
591
- for (var c of cache) pushstep(result, c);
592
- cache = [];
597
+ if (cache.length) flushqueue(result, cache), cache = [];
593
598
  var n = o.next;
594
599
  if (n && !needbreak(n)) {
595
600
  lastlink = n.type === SCOPED;
@@ -1119,7 +1124,7 @@ var poplabel = function (result) {
1119
1124
  var r = result[cx];
1120
1125
  if (r.indexOf(b) >= 0) { break }
1121
1126
  }
1122
- if (cx < 0) throw console.log(result.map(r => createString(r)), e.text, createString([b.prev, b])), "break语句异常";
1127
+ if (cx < 0) throw console.log(result.map(r => createString(r)), e.text, createString([b.prev, b])), i18n`break语句异常`;
1123
1128
  end.push({ type: VALUE, text: b.continue ? b.continue.contat - cx : result.length - cx }, { type: STAMP, text: "," }, { type: VALUE, text: "0" });
1124
1129
  relink(end);
1125
1130
  }
@@ -153,4 +153,5 @@ test(`c=b+ !a`, "_ = !a, c = b + _");
153
153
  test(`do {var loadcount = 0;} while (loadcount !== 0);`, `loadcount = 0; _ = loadcount !== 0; if (_) return [0, 0]`);
154
154
  unstruct.debug = true; r++;
155
155
  test("if(a)try{a}catch{};a;", 'if (!a) return [4, 0]; return [1, 7];\r\n a; return [0, 9];\r\n return [1, 9];\r\n return [1, 0];\r\n a');
156
- test("url = (o===void 0||o===null?void 0:o.url)", '_ = void 0, _ = o === _; if (_) return [1, 0]; _ = o === null;\r\n if (!_) return [1, 0]; _ = void 0; return [2, 0];\r\n _ = o.url; return [1, 0];\r\n url = _', true);
156
+ test("url = (o===void 0||o===null?void 0:o.url)", '_ = void 0, _ = o === _; if (_) return [1, 0]; _ = o === null;\r\n if (!_) return [1, 0]; _ = void 0; return [2, 0];\r\n _ = o.url; return [1, 0];\r\n url = _', true);
157
+ test("p ? (ishttps ? `https` : `http`).toUpperCase() + i18n`端口` + (ishttps ? ': ' : ': ') + p : ''","if (!p) return [1, 0]; if (!ishttps) return [1, 0]; _0 = `https`; return [2, 0];\r\n _0 = `http`; return [1, 0];\r\n _0 = (_0); _1 = _0.toUpperCase(); _ = _1 + i18n`端口`; if (!ishttps) return [1, 0]; _2 = ': '; return [2, 0];\r\n _2 = ': '; return [1, 0];\r\n _ = _ + (_2), _ = _ + p; return [2, 0];\r\n ''; return [1, 0]")
@@ -70,7 +70,7 @@ var washcode = function (code, pick) {
70
70
  var called_map = Object.create(null);
71
71
  for (var cx = 0, dx = explist.length; cx < dx; cx++) {
72
72
  var exp = explist[cx];
73
- console.info(`正在处理:${1 + cx}/${dx}`);
73
+ console.info(i18n`正在处理:${1 + cx}/${dx}`);
74
74
  var scoped = createScoped(exp);
75
75
  var refs = createRefMap(scoped);
76
76
  var used = scoped.used;
@@ -190,7 +190,7 @@ var washcode = function (code, pick) {
190
190
  ws = writed_map[ks.join('.')];
191
191
  }
192
192
  if (!ws) {
193
- if (!(ks[0] in envs) && !/^(arguments|this|true|false|null)$/.test(ks[0])) console.warn(`检测到错误,无法建立代码关联:${k}`);
193
+ if (!(ks[0] in envs) && !/^(arguments|this|true|false|null)$/.test(ks[0])) console.warn(i18n`检测到错误,无法建立代码关联:${k}`);
194
194
  prevent_map[k] = true;
195
195
  continue;
196
196
  }
@@ -32,7 +32,7 @@ var execute = function (commName, then, logpad) {
32
32
  warn: log.bind("#fc0", '警告'),
33
33
  };
34
34
  window.onerror = a => console.error(a);
35
- window.console.info(`load ${commName}!`);
35
+ window.console.info(i18n`加载 ${commName}!`);
36
36
 
37
37
  init(commName, function (comm) {
38
38
  window[commName] = function () {
@@ -34,12 +34,12 @@ e.open = async function (p) {
34
34
  });
35
35
  this.selected = files.filter(f => f.selected);
36
36
  }
37
- e.delete = function () { alert("无法删除!") }
38
- e.mov = function () { alert("无法移动!") }
39
- e.copy = function () { alert("无法复制!") }
40
- e.read = function () { alert("无法读取文件内容!") }
41
- e.rename = function () { alert("无法重命名!") }
42
- e.upload = function () { alert("添加失败!") }
37
+ e.delete = function () { alert(i18n`无法删除!`) }
38
+ e.mov = function () { alert(i18n`无法移动!`) }
39
+ e.copy = function () { alert(i18n`无法复制!`) }
40
+ e.read = function () { alert(i18n`无法读取文件内容!`) }
41
+ e.rename = function () { alert(i18n`无法重命名!`) }
42
+ e.upload = function () { alert(i18n`添加失败!`) }
43
43
  e.getToken = function () { }
44
44
  e.uploadAll = async function (files) {
45
45
  var $scope = this;
@@ -55,7 +55,7 @@ var popupEdit = function ($scope, active) {
55
55
  };
56
56
  return extend([
57
57
  {
58
- name: "返回(O)",
58
+ name: i18n`返回(O)`,
59
59
  hotkey: "backspace",
60
60
  when: never,
61
61
  do() {
@@ -63,7 +63,7 @@ return extend([
63
63
  }
64
64
  },
65
65
  {
66
- name: "打开(O)",
66
+ name: i18n`打开(O)`,
67
67
  hotkey: "Enter",
68
68
  when: never,
69
69
  do(d) {
@@ -73,7 +73,7 @@ return extend([
73
73
  }
74
74
  },
75
75
  {
76
- name: "剪切(C)",
76
+ name: i18n`剪切(C)`,
77
77
  hotkey: "Ctrl+X",
78
78
  when: getStable,
79
79
  do(d) {
@@ -83,7 +83,7 @@ return extend([
83
83
  }
84
84
  },
85
85
  {
86
- name: "复制(R)",
86
+ name: i18n`复制(R)`,
87
87
  hotkey: "Ctrl+C",
88
88
  when: getStable,
89
89
  do(d) {
@@ -93,7 +93,7 @@ return extend([
93
93
  }
94
94
  },
95
95
  {
96
- name: "全选(A)",
96
+ name: i18n`全选(A)`,
97
97
  hotkey: "Ctrl+A",
98
98
  when: never,
99
99
  do(d) {
@@ -103,11 +103,11 @@ return extend([
103
103
  }
104
104
  },
105
105
  {
106
- name: "替换(R)",
106
+ name: i18n`替换(R)`,
107
107
  when: never,
108
108
  },
109
109
  {
110
- name: "粘贴(V)",
110
+ name: i18n`粘贴(V)`,
111
111
  hotkey: "Ctrl+V",
112
112
  when(e) {
113
113
  var copyed = getPageScope(e.target).copyed;
@@ -122,16 +122,16 @@ return extend([
122
122
  var pathbase = "/" + $scope.pathlist.join("/").replace(/^\/+|\/+$/g, '');
123
123
  for (var c of cp) {
124
124
  if (pathbase.indexOf(c.fullpath.replace(/^\/+|\/+$/g, '')) >= 0) {
125
- return alert.warn("不能移入子文件夹");
125
+ return alert.warn(i18n`不能移入子文件夹`);
126
126
  }
127
127
  }
128
128
  var token = await $scope.getToken();
129
129
  for (var c of cp) {
130
130
  var newname = c.name;
131
131
  if ($scope.hasName(c.name)) {
132
- newname = prompt(`请输入新的${cp.isfolder ? '文件夹' : "文件"}名:`, function (a) {
132
+ newname = prompt(i18n`请输入新的${cp.isfolder ? i18n`文件夹` : i18n`文件`}名:`, function (a) {
133
133
  if (isEmpty(a)) return false;
134
- if ($scope.hasName(a)) return "命名冲突"
134
+ if ($scope.hasName(a)) return i18n`命名冲突`
135
135
  return explorer$filetip(a);
136
136
  });
137
137
  newname.querySelector("input,textarea").value = c.name.replace(/\/$/, '');
@@ -141,7 +141,7 @@ return extend([
141
141
  else {
142
142
  var offunload = on("beforeunload")(window, function (event) {
143
143
  event.preventDefault();
144
- alert("有文件正在复制!");
144
+ alert(i18n`有文件正在复制!`);
145
145
  return false;
146
146
  });
147
147
  var task = explorer$deepcp($scope, c, pathbase + "/" + newname);
@@ -157,12 +157,12 @@ return extend([
157
157
  }
158
158
  },
159
159
  {
160
- name: "新建文件夹(D)",
160
+ name: i18n`新建文件夹(D)`,
161
161
  when: notGetActive,
162
162
  do: popupAdd
163
163
  },
164
164
  {
165
- name: "添加文件(F)",
165
+ name: i18n`添加文件(F)`,
166
166
  when: notGetActive,
167
167
  async do(d) {
168
168
  var $scope = getPageScope(d);
@@ -171,13 +171,13 @@ return extend([
171
171
  },
172
172
  {
173
173
  hotkey: "F2",
174
- name: '重命名(R)',
174
+ name: i18n`重命名(R)`,
175
175
  when: getStable,
176
176
  do: popupRen
177
177
  },
178
178
  {
179
179
  get name() {
180
- return this.confirm ? "确认删除(D)" : "删除(D)";
180
+ return this.confirm ? i18n`确认删除(D)` : i18n`删除(D)`;
181
181
  },
182
182
  hotkey: "Shift+Del",
183
183
  confirm: false,
@@ -192,7 +192,7 @@ return extend([
192
192
  var elem = div();
193
193
  elem.innerHTML = `<fileitem -repeat="d in selected"></fileitem>`;
194
194
  render(elem, { fileitem: explorer$fileitem, selected });
195
- await yousure(`确认要删除如下 ${selected.length} 项吗?`, elem);
195
+ await yousure(i18n`确认要删除如下 ${selected.length} 项吗?`, elem);
196
196
  }
197
197
  else if (this.confirm === null) {
198
198
  this.confirm = e;
@@ -38,8 +38,8 @@ async function cp([from, dist]) {
38
38
  };
39
39
  function deepcp(scope, from, dist) {
40
40
  var task = new Task();
41
- if (from.isfolder) task.title = "复制文件夹";
42
- else task.title = "复制文件";
41
+ if (from.isfolder) task.title = i18n`复制文件夹`;
42
+ else task.title = i18n`复制文件`;
43
43
  task.open('copy', cp);
44
44
  task.scope = scope;
45
45
  dist = dist.replace(/^\/+|\/+$/g, '');
@@ -1,10 +1,10 @@
1
1
  <div head>
2
- <span v-text="origin?'修改':'添加'"></span>文件夹
2
+ <span v-text="origin?${i18n`修改`}:${i18n`添加`}"></span>${i18n`文件夹`}
3
3
  </div>
4
4
  <div body>
5
5
  <field v-if="!f.readonly||!!data[f.key]" -repeat="f in fields" ng-src="[f,data]"></field>
6
6
  </div>
7
7
  <div foot>
8
- <btn @click="remove()" class="white">取消</btn>
9
- <button type="submit" disabled_="!data.name||fields[1].valid(data.name)!==undefined">保存</button>
8
+ <btn @click="remove()" class="white">${i18n`取消`}</btn>
9
+ <button type="submit" disabled_="!data.name||fields[1].valid(data.name)!==undefined">${i18n`保存`}</button>
10
10
  </div>
@@ -41,8 +41,8 @@
41
41
  <a class="file" @click="chooseFile()" -if="user">
42
42
  <template -src="fileIcon"></template>
43
43
  <span>
44
- 文件
44
+ ${i18n`文件`}
45
45
  </span>
46
46
  </a>
47
- <a @click="send('html',text);">发送</a>
47
+ <a @click="send('html',text);">${i18n`发送`}</a>
48
48
  </div>
@@ -42,7 +42,7 @@
42
42
  hotkey = hotkey.split(',');
43
43
  for (var k of hotkey) {
44
44
  k = k.trim().toLowerCase().replace(/[\+\_\s]+/g, '.');
45
- if (keymap[k]) console.warn("检查到两个菜单项使用了相同的快捷键", item, keymap[k]);
45
+ if (keymap[k]) console.warn(i18n`检查到两个菜单项使用了相同的快捷键`, item, keymap[k]);
46
46
  keymap[k] = item;
47
47
  }
48
48
  item.hotkey = hotkey;
@@ -1,7 +1,7 @@
1
1
  a => {
2
2
  if (isElement(a)) {
3
3
  var m = /songsdata\s*=\s*(\[[\s\S]*\])/.exec(a.innerText);
4
- if (!m) throw new Error("无法加载数据!");
4
+ if (!m) throw new Error(i18n`无法加载数据!`);
5
5
  if (m) a = m[1];
6
6
  a = JSON.parse(a);
7
7
  }
@@ -98,11 +98,12 @@ var write = function (hasNewLine, str) {
98
98
  reset = colors.Reset;
99
99
  var hasNewLine = /^(warn|error|pass|fail)$/.test(log);
100
100
  var logger = function () {
101
- var label = fgColor + bgColor + info + reset;
101
+ var label = logger.tip ? fgColor + bgColor + logger.tip + reset : '';
102
102
  var time_stamp = '';
103
- var str = [time_stamp, label].concat(Array.prototype.map.call(arguments, a => renderColor(a))).join(" ");
103
+ var str = [time_stamp, label].filter(a => !!a).concat(Array.prototype.map.call(arguments, a => renderColor(a))).join(" ");
104
104
  write1(hasNewLine, str);
105
105
  };
106
+ logger.tip = info;
106
107
  colored[log] = logger;
107
108
  });
108
109
  var write1 = function (hasNewLine, str) {
@@ -296,4 +297,9 @@ colored.format = function (a) {
296
297
  a = renderColor(a);
297
298
  return a;
298
299
  };
300
+ if (typeof i18n !== 'undefined') {
301
+ colored.info.tip = i18n`提示`;
302
+ colored.warn.tip = i18n`注意`;
303
+ colored.error.tip = i18n`错误`;
304
+ }
299
305
  module.exports = colored;
@@ -101,7 +101,7 @@ var cross = cross_.bind(function (callback, onerror) {
101
101
  },
102
102
  set responseType(v) {
103
103
  if (v === "document") return;
104
- if (this.status !== 0) throw new Error("状态错误");
104
+ if (this.status !== 0) throw new Error(i18n`状态错误`);
105
105
  responseType = v;
106
106
  },
107
107
  setRequestHeader(key, value) {
@@ -17,7 +17,7 @@ function decodeHttpResponse(response) {
17
17
  case undefined:
18
18
  break;
19
19
  default:
20
- console.warn("内容格式不支持:", response.headers["content-encoding"]);
20
+ console.warn(i18n`内容格式不支持:`, response.headers["content-encoding"]);
21
21
  }
22
22
  if (decoder) response = response.pipe(decoder);
23
23
  return response;
@@ -31,7 +31,7 @@ async function detectWithExtension(filenames, extensions = [""], folders = [""])
31
31
  if (!findedFolder) findedFolder = f + params;
32
32
  } catch { }
33
33
  }
34
- if (!findedFolder) throw new Error(`路径<gray>${filenames}</gray>不存在`);
34
+ if (!findedFolder) throw new Error(i18n`路径<gray>${filenames}</gray>不存在`);
35
35
  return findedFolder;
36
36
  }
37
37
  module.exports = detectWithExtension;
@@ -29,7 +29,7 @@ Enum.prototype = {
29
29
  }
30
30
  };
31
31
  function Enum(keys) {
32
- if (!this) throw new Error("请用new关键字创建!");
32
+ if (!this) throw new Error(i18n`请用new关键字创建!`);
33
33
  this[0] = 0;
34
34
  if (keys) {
35
35
  if (!isArray(keys)) {
@@ -42,7 +42,7 @@ var api = function () {
42
42
  }
43
43
 
44
44
  if (!uri) {
45
- throw '不存在uri';
45
+ throw i18n`不存在uri`;
46
46
  }
47
47
  if (typeof parameters === "string") {
48
48
  prefix = parameters;
@@ -52,7 +52,7 @@ var api = function () {
52
52
  var url = baseUrl + uri;
53
53
  var req = function () {
54
54
  onstart && onstart();
55
- prefix && console.log("正在" + prefix);
55
+ prefix && console.log(i18n`正在` + prefix);
56
56
  var clear = function () {
57
57
  req.ing = false;
58
58
  api.count--;
@@ -66,11 +66,11 @@ var api = function () {
66
66
  var xhr_onerror = function () {
67
67
  setTimeout(clear);
68
68
  if (!navigator.onLine) {
69
- onerror && onerror("请求网络失败,请确认网络连接正常!", -1);
69
+ onerror && onerror(i18n`请求网络失败,请确认网络连接正常!`, -1);
70
70
  } else {
71
- onerror && onerror(xhr.responseText || "无法访问服务器!", xhr);
71
+ onerror && onerror(xhr.responseText || i18n`无法访问服务器!`, xhr);
72
72
  }
73
- prefix && console.error(prefix + "失败!");
73
+ prefix && console.error(prefix + i18n`失败!`);
74
74
  };
75
75
 
76
76
  var xhr_onload = function () {
@@ -80,8 +80,8 @@ var api = function () {
80
80
  try {
81
81
  var result = JSON.parse(text);
82
82
  if (result.result === "error") {
83
- prefix && console.error(prefix + "失败!");
84
- return onerror && onerror(result.message || prefix + "失败!", 0);
83
+ prefix && console.error(prefix + i18n`失败!`);
84
+ return onerror && onerror(result.message || prefix + i18n`失败!`, 0);
85
85
  }
86
86
  if (result.result === "timeout") {
87
87
  return onlogout && onlogout(result);
@@ -89,17 +89,17 @@ var api = function () {
89
89
  try {
90
90
  onsuccess && onsuccess(result);
91
91
  } catch (e) {
92
- onerror && onerror(prefix + "处理返回结果失败!");
93
- console.error('处理结果失败!', e);
92
+ onerror && onerror(prefix + i18n`处理返回结果失败!`);
93
+ console.error(i18n`处理结果失败!`, e);
94
94
  }
95
- prefix && console.info(prefix + "成功!");
95
+ prefix && console.info(prefix + i18n`成功!`);
96
96
  } catch (e) {
97
- prefix && console.error(prefix + "失败!", e);
98
- onerror && onerror(xhr.responseText || prefix + "接口返回信息异常!", 1);
97
+ prefix && console.error(prefix + i18n`失败!`, e);
98
+ onerror && onerror(xhr.responseText || prefix + i18n`接口返回信息异常!`, 1);
99
99
  }
100
100
  } else {
101
- prefix && console.error(prefix + "失败!");
102
- onerror && onerror(prefix + "接口未返回信息!", 2);
101
+ prefix && console.error(prefix + i18n`失败!`);
102
+ onerror && onerror(prefix + i18n`接口未返回信息!`, 2);
103
103
  }
104
104
  };
105
105
  if (REQ) {
@@ -109,7 +109,7 @@ var api = function () {
109
109
  xhr.setRequestHeader = function (key, value) {
110
110
  if (setted_headers[key]) {
111
111
  if (setted_headers[key] === value) return;
112
- console.warn('屏蔽了重复设置', key);
112
+ console.warn(i18n`屏蔽了重复设置`, key);
113
113
  return;
114
114
  }
115
115
  setted_headers[key] = value;
@@ -141,7 +141,7 @@ var api = function () {
141
141
  };
142
142
  xhr.onabort = function (event) {
143
143
  setTimeout(clear);
144
- onerror && onerror("请求取消!");
144
+ onerror && onerror(i18n`请求取消!`);
145
145
  return xhr;
146
146
  };
147
147
  xhr.onprogress = function (event) {
@@ -149,7 +149,7 @@ var api = function () {
149
149
  };
150
150
  xhr.ontimeout = function () {
151
151
  setTimeout(clear);
152
- onerror && onerror("请求超时!");
152
+ onerror && onerror(i18n`请求超时!`);
153
153
  };
154
154
  if (typeof parameters !== "string") {
155
155
  switch ({
@@ -180,7 +180,7 @@ var api = function () {
180
180
  case "[object FormData]":
181
181
  break;
182
182
  default:
183
- console.warn("不支持的数据格式", {}.toString.call(parameters));
183
+ console.warn(i18n`不支持的数据格式`, {}.toString.call(parameters));
184
184
  }
185
185
  }
186
186
  for (let k in useXMLHttpRequestHeaders) {
@@ -242,7 +242,7 @@ var api = function () {
242
242
  }
243
243
  runner = req;
244
244
  req();
245
- console.log("队列有" + api.inqueue + "个请求");
245
+ console.log(i18n`队列有${api.inqueue}个请求`);
246
246
  } else {
247
247
  if (req.ing) {
248
248
  return;
@@ -11,7 +11,7 @@ function main(scope) {
11
11
  var scope = this;
12
12
  filepicker.onchange = function () {
13
13
  if (scope.upload) scope.upload(this.files[0]);
14
- else console.warn("没有发现上传函数");
14
+ else console.warn(i18n`没有发现上传函数`);
15
15
  };
16
16
  filepicker.click();
17
17
  }
@@ -13,7 +13,7 @@ function care(target, type, listener) {
13
13
  var listeners = target[type];
14
14
  if (listeners.length && !allowMultiHandle) return;
15
15
  if (listener instanceof Function && !~listeners.indexOf(listener)) {
16
- if (listeners.length > 600) throw new Error("请不要在同一个对象上使用过多的同类型的care!");
16
+ if (listeners.length > 600) throw new Error(i18n`请不要在同一个对象上使用过多的同类型的care!`);
17
17
  listeners.push(listener);
18
18
  }
19
19
  }
@@ -42,9 +42,9 @@ function parse(target, type, listener) {
42
42
  }
43
43
  break;
44
44
  default:
45
- throw new Error("参数数量不正确");
45
+ throw new Error(i18n`参数数量不正确`);
46
46
  }
47
- if (!isObject(target)) throw new Error("care只能使用在对象上!");
47
+ if (!isObject(target)) throw new Error(i18n`care只能使用在对象上!`);
48
48
  type = `care(${type})`;
49
49
  return [target, type, listener, allowMultiHandle];
50
50
  }
@@ -17,7 +17,7 @@ function cast(target, type, data) {
17
17
  type = "default";
18
18
  break;
19
19
  default:
20
- throw new Error("参数数量不正确");
20
+ throw new Error(i18n`参数数量不正确`);
21
21
  }
22
22
  if (!isObject(target)) return;
23
23
 
@@ -17,7 +17,7 @@ function chooseFile(accept, multiple, extra) {
17
17
  if (!value) return;
18
18
  var ActiveXObject = window.ActiveXObject;
19
19
  if (!ActiveXObject) {
20
- alert("您的浏览器环境无法选择文件!");
20
+ alert(i18n`您的浏览器环境无法选择文件!`);
21
21
  return;
22
22
  }
23
23
  try {
@@ -25,7 +25,7 @@ function chooseFile(accept, multiple, extra) {
25
25
  var file = fso.GetFile(value);
26
26
  ok([file]);
27
27
  } catch (e) {
28
- alert(e + "打开文件失败!");
28
+ alert(e + i18n`打开文件失败!`);
29
29
  }
30
30
  } else {
31
31
  var count = 0;
@@ -1,4 +1,4 @@
1
1
  function Clock(value = 0, from, step = 1, to) {
2
- if (!this) throw new Error("请用new关键字进行创建!");
2
+ if (!this) throw new Error(i18n`请用new关键字进行创建!`);
3
3
  var value =0;
4
4
  }
@@ -59,11 +59,11 @@ function confirm() {
59
59
  } else if (isNode(message)) {
60
60
  appendChild(body, message);
61
61
  } else {
62
- throw new Error(`消息体不合法!`);
62
+ throw new Error(i18n`消息体不合法!`);
63
63
  }
64
64
  message = String(body.innerText).replace(/\s+/g, " ");
65
65
  if (conflictReg.test(String(body.innerText).replace(/\s+/g, ""))) {
66
- throw new Error(`您的传达了有歧义的信息:${message}`);
66
+ throw new Error(i18n`您的传达了有歧义的信息:${message}`);
67
67
  }
68
68
  if (!options) {
69
69
  for (var k in defaultOptions) {
@@ -19,7 +19,7 @@ var prototype = {
19
19
  },
20
20
  insertBefore(child, referer) {
21
21
  if (referer) {
22
- if (referer.parentNode !== this) throw new Error('The node before which the new node is to be inserted is not a child of this node');
22
+ if (referer.parentNode !== this) throw new Error(i18n`父元素不能是当前元素的子元素`);
23
23
  appendChild.before(referer, child, false);
24
24
  } else {
25
25
  appendChild(this, child, false);
@@ -55,7 +55,7 @@ var prototype = {
55
55
  return this;
56
56
  }
57
57
  }
58
- console.error("createElement将会在未来的版本中移除!");
58
+ console.error(i18n`createElement将会在未来的版本中移除!`);
59
59
  function createElement(name) {
60
60
  var node = isNode(name) ? name.cloneNode() : isFunction(name) ? name() : document.createElement(name);
61
61
  if (name.className) addClass(node, name.className);
@@ -13,12 +13,12 @@ if (cookiesData) {
13
13
  try {
14
14
  extend(cookiesMap, JSAM.parse(cookiesData));
15
15
  } catch (e) {
16
- console.warn("加载cookie出错!");
16
+ console.warn(i18n`加载cookie出错!`);
17
17
  }
18
18
  }
19
19
 
20
20
  var digest = function () {
21
- Promise.resolve().then(function(){
21
+ Promise.resolve().then(function () {
22
22
  dispatch('render', window);
23
23
  });
24
24
  };
@@ -56,7 +56,7 @@ var cross = cross_.bind(function (callback, onerror) {
56
56
 
57
57
  cross.setHost = function (host) {
58
58
  var parsed = parseURL(host);
59
- if (!host) return console.error("cross_host格式不正确", host);
59
+ if (!host) return console.error(i18n`cross_host格式不正确`, host);
60
60
  var host = parsed.host + (parsed.pathname || '/');
61
61
  host = (/^https/.test(location_href) ? "https://" : "http://") + host;
62
62
  cross_.setHost(host);
@@ -96,7 +96,7 @@ var cssTargetNode = function (targetNode, oStyle, oValue) {
96
96
  var value = transformValue(oStyle[k], key);
97
97
  setValue(styleobject, key, value);
98
98
  } catch (e) {
99
- console.warn(key, oStyle[k], "无效");
99
+ console.warn(key, oStyle[k], i18n`无效`);
100
100
  }
101
101
  }
102
102
  }
@@ -1,5 +1,5 @@
1
1
  var path = window.require && window.require("path");
2
- if (!path) throw new Error("请运行在有文件操作的环境下");
2
+ if (!path) throw new Error(i18n`请运行在有文件操作的环境下`);
3
3
  var getRect = function (points) {
4
4
  var minpoint = [].concat(points[0] || []), maxpoint = [].concat(points[points.length - 1] || []);
5
5
  var { min, max } = Math;
@@ -64,7 +64,7 @@ var downloadmap = function (rootpath, map_locations, zoom_location, config, info
64
64
  cx++;
65
65
  return Promise.resolve(ry).then(px);
66
66
  };
67
- return Promise.all(new Array(10).fill(0).map(e => px())).then(a => (cz++ , ind = inc)).then(pz);
67
+ return Promise.all(new Array(10).fill(0).map(e => px())).then(a => (cz++, ind = inc)).then(pz);
68
68
  };
69
69
  pz();
70
70
  };
@@ -74,7 +74,7 @@ function filterTime(time, format) {
74
74
  case 0:
75
75
  return `${month}${format || '月'}${date}${format ? '' : '日'} `;
76
76
  case 1:
77
- if (month1 % 12 - month % 12 === 1) {
77
+ if (month1 < month) {
78
78
  return `${month}${format || '月'}${date}${format ? '' : '日'} `;
79
79
  }
80
80
  return "去年" + month + "月";