@dao42/d42paas-front 0.9.161 → 0.9.163
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/README.md +2361 -0
- package/dist/DaoPaaS.cjs +149 -132
- package/dist/DaoPaaS.d.ts +2 -0
- package/dist/sdk/docs/assets/highlight.css +32 -25
- package/dist/sdk/docs/assets/search.js +1 -1
- package/dist/sdk/docs/enums/I18nLanguageType.html +2 -2
- package/dist/sdk/docs/enums/Messages.html +1 -1
- package/dist/sdk/docs/enums/ThemeType.html +2 -2
- package/dist/sdk/docs/index.html +2526 -11
- package/dist/sdk/docs/interfaces/Component.html +2 -2
- package/dist/sdk/docs/interfaces/I18nResourcesType.html +1 -1
- package/dist/sdk/docs/interfaces/IDaoPaaS.html +33 -33
- package/dist/sdk/docs/interfaces/IExtralAction.html +1 -1
- package/dist/sdk/docs/interfaces/PaaSOptions.html +27 -25
- package/dist/sdk/docs/interfaces/XtermStyleType.html +1 -1
- package/dist/sdk/docs/modules.html +6 -6
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,2364 @@
|
|
|
1
|
+
# 更新日志
|
|
2
|
+
## v0.9.162
|
|
3
|
+
### 新增
|
|
4
|
+
+ 测试用例接口移除`runId`参数
|
|
5
|
+
+ `runUnitTestByFilePath` 接口支持多文件运行,对应的`fileKey`参数可以为:`string | string[]`
|
|
6
|
+
```ts
|
|
7
|
+
daoPaasObj?.runUnitTestByFilePath({
|
|
8
|
+
fileKey: ['sum.test.js'],
|
|
9
|
+
outputConsole: false,
|
|
10
|
+
consoleText: '123',
|
|
11
|
+
runMode: true,
|
|
12
|
+
});
|
|
13
|
+
```
|
|
14
|
+
+ `stopUnitTest` 传递 `fileKey: string | string[]` 进行停止指定文件或者文件数组 测试用例
|
|
15
|
+
```ts
|
|
16
|
+
daoPaasObj?.stopUnitTest(fileKey: string | string[])
|
|
17
|
+
```
|
|
18
|
+
+ `runCmd` 接口调用方式:
|
|
19
|
+
```ts
|
|
20
|
+
const res: any = await daoPaasObj?.runCmd({
|
|
21
|
+
cmd: 'test',
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
+ `stopRunCmd` 接口调用方式:
|
|
25
|
+
```ts
|
|
26
|
+
daoPaasObj?.stopRunCmd(cmd: string)
|
|
27
|
+
```
|
|
28
|
+
+ 新增测试用例执行相关订阅事件
|
|
29
|
+
```ts
|
|
30
|
+
dao.onMessage((message: Message) => {
|
|
31
|
+
const { name, payload } = message;
|
|
32
|
+
let status: PlaygroundStatus;
|
|
33
|
+
let dockerStatus: DockerStatus;
|
|
34
|
+
let lspStatus: LspStatusEnum;
|
|
35
|
+
switch (name) {
|
|
36
|
+
// 执行测试用例状态
|
|
37
|
+
case Messages.RunUnitTestStatus:
|
|
38
|
+
messageBox.success(JSON.stringify(payload));
|
|
39
|
+
break;
|
|
40
|
+
// 执行用例结果
|
|
41
|
+
case Messages.RunUnitTestResult:
|
|
42
|
+
messageBox.success(JSON.stringify(payload));
|
|
43
|
+
break;
|
|
44
|
+
// 停止执行用例结果
|
|
45
|
+
case Messages.StopUnitTestResult:
|
|
46
|
+
messageBox.success(JSON.stringify(payload));
|
|
47
|
+
break;
|
|
48
|
+
// 执行CMD结果
|
|
49
|
+
case Messages.RumCmdResult:
|
|
50
|
+
messageBox.success(JSON.stringify(payload));
|
|
51
|
+
break;
|
|
52
|
+
// 停止执行CMD结果
|
|
53
|
+
case Messages.StopRunCmdResult:
|
|
54
|
+
messageBox.success(JSON.stringify(payload));
|
|
55
|
+
break;
|
|
56
|
+
...
|
|
57
|
+
```
|
|
58
|
+
### 优化
|
|
59
|
+
+ 优化浏览器协同回放样式问题
|
|
60
|
+
## v0.9.161
|
|
61
|
+
## 修复
|
|
62
|
+
+ 修复HTML文件报错
|
|
63
|
+
|
|
64
|
+
## v0.9.160
|
|
65
|
+
## 修复
|
|
66
|
+
+ 更新rrweb依赖移除worker_threads警告
|
|
67
|
+
|
|
68
|
+
## v0.9.159
|
|
69
|
+
## 新增
|
|
70
|
+
+ 新增获取当前的光标选中区域信息 [getSelection]
|
|
71
|
+
```ts
|
|
72
|
+
getSelection(): IDaoEditorSpace.ISelection | undefined;
|
|
73
|
+
```
|
|
74
|
+
+ 新增浏览器协同和回放功能
|
|
75
|
+
```ts
|
|
76
|
+
const dao = new DaoPaaS({
|
|
77
|
+
paasDomain:
|
|
78
|
+
process.env.PAAS_MANAGER_API_ORIGIN + (mockSdkInitFail ? '1' : ''),
|
|
79
|
+
....
|
|
80
|
+
recordBrowser: recordBrowser, //是否录制数据: 候选人: true, 面试官false
|
|
81
|
+
persistenceWebData: persistenceWebData, // 浏览器数据是否持久化(保存到DB), SMB: true, 1024: false
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
+ 新增浏览器业务方控制是否录制数据的接口
|
|
85
|
+
```ts
|
|
86
|
+
daoPaasObj?.startRecordBrowser(true/false);
|
|
87
|
+
```
|
|
88
|
+
## 优化
|
|
89
|
+
+ 重构`agentuserid`生成逻辑
|
|
90
|
+
+ 更新`@codemirror/autocomplete`包,修复补全问题
|
|
91
|
+
## v0.9.157
|
|
92
|
+
### 新增
|
|
93
|
+
+ 新增添加自定义快捷键方法[addHotKeys]
|
|
94
|
+
```ts
|
|
95
|
+
[{ // hotKeys
|
|
96
|
+
...
|
|
97
|
+
key: 'Mod-j',
|
|
98
|
+
run: (params) => {
|
|
99
|
+
daoPaasObj?.daoEditor.insertCodeByCursorPosition({
|
|
100
|
+
path: params.path,
|
|
101
|
+
content: encodeURI(decodeURI(params.content) + 'INSERT TEST CODE'),
|
|
102
|
+
cursor: params.cursor,
|
|
103
|
+
offsetActions: 4,
|
|
104
|
+
});
|
|
105
|
+
},
|
|
106
|
+
}]
|
|
107
|
+
|
|
108
|
+
daoPaasObj?.daoEditor
|
|
109
|
+
.addHotKeys(hotKeys)
|
|
110
|
+
.catch((error: Error) => {
|
|
111
|
+
// error: 快捷键不合法
|
|
112
|
+
});
|
|
113
|
+
```
|
|
114
|
+
+ 新增根据光标位置插入代码[insertCodeByCursorPosition]
|
|
115
|
+
```
|
|
116
|
+
daoPaasObj?.daoEditor.insertCodeByCursorPosition({
|
|
117
|
+
path: 'main.go',
|
|
118
|
+
content: encodeURI('TEST INSERT CODE'),
|
|
119
|
+
cursor: 102,
|
|
120
|
+
offsetActions: 4,
|
|
121
|
+
});
|
|
122
|
+
```
|
|
123
|
+
+ 新增根据range替换代码[replayCodeByRange]
|
|
124
|
+
```ts
|
|
125
|
+
daoPaasObj?.daoEditor.replayCodeByRange({
|
|
126
|
+
path: 'main.go',
|
|
127
|
+
content: encodeURI('TEST INSERT CODE'),
|
|
128
|
+
selection: { start: 102, end: 158 },
|
|
129
|
+
});
|
|
130
|
+
```
|
|
131
|
+
+ 新增获取光标位置[getCursor]
|
|
132
|
+
```ts
|
|
133
|
+
const cursor = daoPaasObj?.daoEditor.getCursor();
|
|
134
|
+
```
|
|
135
|
+
### 优化
|
|
136
|
+
+ 更新codemirror相关依赖,解决一些codemirror已修复问题
|
|
137
|
+
+ 更新xterm相关依赖以及write前添加日志上报
|
|
138
|
+
|
|
139
|
+
## v0.9.156
|
|
140
|
+
### 新增
|
|
141
|
+
+ 暴露removeMessage和removeError移除事件监听
|
|
142
|
+
|
|
143
|
+
### 优化
|
|
144
|
+
+ 切环境重置fileOpened数据
|
|
145
|
+
+ debug模式下运行测试用例设置staring状态
|
|
146
|
+
+ 禁用markdownKeymap以及更新markdown依赖包(修复操作字符异常问题)
|
|
147
|
+
|
|
148
|
+
## v0.9.155
|
|
149
|
+
### 修复
|
|
150
|
+
+ agentuser的color不存在
|
|
151
|
+
|
|
152
|
+
## v0.9.154
|
|
153
|
+
### 新增
|
|
154
|
+
+ 新增支持初始化`SDK` `globalConfig` 全局配置
|
|
155
|
+
```ts
|
|
156
|
+
type GlobalConfig = {
|
|
157
|
+
editorMode?: EditorMode;
|
|
158
|
+
editorTabSize?: number | 'auto';
|
|
159
|
+
editorWordWrap?: boolean;
|
|
160
|
+
fontSize?: string;
|
|
161
|
+
editorIndentMode?: EditorIndentMode;
|
|
162
|
+
openDiagnostic?: boolean;
|
|
163
|
+
};
|
|
164
|
+
```
|
|
165
|
+
+ 新增回放模式下, LSP状态都为`notSupport` 值
|
|
166
|
+
### 修复
|
|
167
|
+
+ 修复更新协同插件agentuser的触发时机
|
|
168
|
+
## v0.9.152
|
|
169
|
+
### 新增
|
|
170
|
+
+ 新增`promisify` 接口`activePlaygroundSync`
|
|
171
|
+
```ts
|
|
172
|
+
try {
|
|
173
|
+
const res = await daoPaasObj?.activePlaygroundSync();
|
|
174
|
+
messageBox.success(JSON.stringify(res));
|
|
175
|
+
} catch (e) {
|
|
176
|
+
messageBox.error(JSON.stringify(e));
|
|
177
|
+
}
|
|
178
|
+
```
|
|
179
|
+
### 修复
|
|
180
|
+
+ 修复答题区tooltip点击无效问题
|
|
181
|
+
## v0.9.151
|
|
182
|
+
### 新增
|
|
183
|
+
+ 新增支持打开`csv`类型文件
|
|
184
|
+
+ 获取测试用例接口`getUnitTestFun`(必须是ACTIVE状态,不然接口直接抛错误)
|
|
185
|
+
```ts
|
|
186
|
+
try {
|
|
187
|
+
const res: any = await daoPaasObj?.getUnitTestFun();
|
|
188
|
+
messageBox.success(res);
|
|
189
|
+
} catch (e) {
|
|
190
|
+
messageBox.error(JSON.stringify(e));
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
+ 新增获取运行测试用例接口`runUnitTestByFilePath`(必须是ACTIVE状态,不然接口直接抛错误)
|
|
194
|
+
```ts
|
|
195
|
+
try {
|
|
196
|
+
const res: any = await daoPaasObj?.runUnitTestByFilePath({
|
|
197
|
+
fileKey: 'sum.test.js',
|
|
198
|
+
outputConsole: false,
|
|
199
|
+
consoleText: '123',
|
|
200
|
+
runMode: true,
|
|
201
|
+
runId: uuidv4(),
|
|
202
|
+
});
|
|
203
|
+
messageBox.success(res);
|
|
204
|
+
} catch (e) {
|
|
205
|
+
messageBox.error(JSON.stringify(e));
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
+ 新增停止运行测试用例接口`stopUnitTest`(必须是ACTIVE状态,不然接口直接抛错误)
|
|
209
|
+
```ts
|
|
210
|
+
try {
|
|
211
|
+
const res: any = await daoPaasObj?.stopUnitTest(runId); // runId是上面接口runUnitTestByFilePath 传递的runId
|
|
212
|
+
messageBox.success(res);
|
|
213
|
+
} catch (e) {
|
|
214
|
+
messageBox.error(JSON.stringify(e));
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
+ 新增运行`CMD`接口`runCmd`(必须是ACTIVE状态,不然接口直接抛错误)
|
|
218
|
+
```ts
|
|
219
|
+
try {
|
|
220
|
+
const res: any = await daoPaasObj?.runCmd({
|
|
221
|
+
runId: uuidv4(),
|
|
222
|
+
cmd: 'test',
|
|
223
|
+
}); // runId是上面接口runUnitTestByFilePath 传递的runId
|
|
224
|
+
messageBox.success(res);
|
|
225
|
+
} catch (e) {
|
|
226
|
+
messageBox.error(JSON.stringify(e));
|
|
227
|
+
}
|
|
228
|
+
```
|
|
229
|
+
+ 新增停止运行`CMD`接口`stopRunCmd`(必须是ACTIVE状态,不然接口直接抛错误)
|
|
230
|
+
```ts
|
|
231
|
+
try {
|
|
232
|
+
const res: any = await daoPaasObj?.stopUnitTest(runId); // runCmd 传递的runId
|
|
233
|
+
messageBox.success(res);
|
|
234
|
+
} catch (e) {
|
|
235
|
+
messageBox.error(JSON.stringify(e));
|
|
236
|
+
}
|
|
237
|
+
```
|
|
238
|
+
### 优化
|
|
239
|
+
+ 优化答题区(点击标记行聚焦、编辑器失去焦点隐藏tooltip、派发更新Flags在事件订阅之前)
|
|
240
|
+
+ 优化`pushOT`的判断条件
|
|
241
|
+
### 修复
|
|
242
|
+
+ 修复`IDEServer`JS报错告警
|
|
243
|
+
## v0.9.150
|
|
244
|
+
### 修复
|
|
245
|
+
+ 修复回放暂停光标问题
|
|
246
|
+
## v0.9.149
|
|
247
|
+
### 新增
|
|
248
|
+
+ 新增业务方注入日志上报方法`customLog`
|
|
249
|
+
```ts
|
|
250
|
+
const dao = new DaoPaaS({
|
|
251
|
+
....
|
|
252
|
+
customLog: (level: string, args: any) => {
|
|
253
|
+
const log = console[level];
|
|
254
|
+
if (log) {
|
|
255
|
+
log(`[customLog][${level}]`, ...args);
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
});
|
|
259
|
+
```
|
|
260
|
+
+ 新增`promisify` 接口`appendCustomizeFrameDataSync`
|
|
261
|
+
```ts
|
|
262
|
+
const res: any = await dao?.appendCustomizeFrameDataSync({
|
|
263
|
+
action: 'startQuestion',
|
|
264
|
+
value: activeId,
|
|
265
|
+
uuid,
|
|
266
|
+
});
|
|
267
|
+
```
|
|
268
|
+
+ 新增`promisify` 接口`preparePlaybackSync`
|
|
269
|
+
```ts
|
|
270
|
+
const res = await daoPaasObj.preparePlaybackSync();
|
|
271
|
+
messageBox.info('通过同步事件收到回放数据');
|
|
272
|
+
setQuestionsData(res.questionsData);
|
|
273
|
+
if (res.total > 0) {
|
|
274
|
+
setPlayable(true);
|
|
275
|
+
setPlaybackDuration(res.end - res.start);
|
|
276
|
+
}
|
|
277
|
+
```
|
|
278
|
+
### 优化
|
|
279
|
+
+ 优化答题区域历史数据修改答题区域序号问题
|
|
280
|
+
+ 优化光标闪动问题
|
|
281
|
+
|
|
282
|
+
### 修复
|
|
283
|
+
+ 修复回放`getPlaybackSnapshot`报错
|
|
284
|
+
## v0.9.148
|
|
285
|
+
### 新增
|
|
286
|
+
+ 新增`SDK`初始化失败事件`initError`
|
|
287
|
+
```ts
|
|
288
|
+
dao.onMessage((message: Message) => {
|
|
289
|
+
const { name, payload } = message;
|
|
290
|
+
let status: PlaygroundStatus;
|
|
291
|
+
let dockerStatus: DockerStatus;
|
|
292
|
+
let lspStatus: LspStatusEnum;
|
|
293
|
+
switch (name) {
|
|
294
|
+
case Messages.InitError: {
|
|
295
|
+
messageBox.error('初始化SDK失败,请刷新页面重试:' + payload);
|
|
296
|
+
break;
|
|
297
|
+
}
|
|
298
|
+
...
|
|
299
|
+
```
|
|
300
|
+
+ 新增针对切题场景`IDEServer`底层架构优化
|
|
301
|
+
### 优化
|
|
302
|
+
+ 优化文件IO写入节流操作(`200ms`)
|
|
303
|
+
+ 优化GUI项目的路径问题
|
|
304
|
+
+ 优化`placeholder` `defaultPlaceholder` 为非必传参数
|
|
305
|
+
+ 优化`placeholder` 显示光标问题
|
|
306
|
+
## v0.9.146
|
|
307
|
+
### 新增
|
|
308
|
+
+ 新增支持`Editor` `placeholder`功能,支持配置多语言,配置全局默认的, 配置指定文件路径的, 支持配置`Dom`元素
|
|
309
|
+
```ts
|
|
310
|
+
const getDom = (lan: I18nLanguageType) => {
|
|
311
|
+
const dom = document.createElement('div');
|
|
312
|
+
const text =
|
|
313
|
+
lan === I18nLanguageType.ZH
|
|
314
|
+
? '请在此输入你的代码'
|
|
315
|
+
: 'Please input your answer at here';
|
|
316
|
+
dom.textContent = text;
|
|
317
|
+
dom.setAttribute('style', 'color:red;font-size:24px');
|
|
318
|
+
return dom;
|
|
319
|
+
};
|
|
320
|
+
|
|
321
|
+
{
|
|
322
|
+
container: '.editor-section',
|
|
323
|
+
item: 'Editor',
|
|
324
|
+
props: {
|
|
325
|
+
...
|
|
326
|
+
defaultPlaceholder: {
|
|
327
|
+
[I18nLanguageType.ZH]: '默认的Placeholder 内容',
|
|
328
|
+
[I18nLanguageType.EN]: 'Default placeholder text',
|
|
329
|
+
},
|
|
330
|
+
placeholders: {
|
|
331
|
+
'README.md': {
|
|
332
|
+
[I18nLanguageType.ZH]: getDom(I18nLanguageType.ZH),
|
|
333
|
+
[I18nLanguageType.EN]: getDom(I18nLanguageType.EN),
|
|
334
|
+
},
|
|
335
|
+
'1.c': {
|
|
336
|
+
[I18nLanguageType.ZH]: '请在这里输入你的代码-1.c',
|
|
337
|
+
[I18nLanguageType.EN]: 'Please input your code at here for 1.c',
|
|
338
|
+
},
|
|
339
|
+
'root/2.c': {
|
|
340
|
+
[I18nLanguageType.ZH]: '请在这里输入你的代码-root/2.c',
|
|
341
|
+
[I18nLanguageType.EN]:
|
|
342
|
+
'Please input your code at here for roo/2.c',
|
|
343
|
+
},
|
|
344
|
+
},
|
|
345
|
+
....
|
|
346
|
+
```
|
|
347
|
+
+ 新增文件树支持`F2`快捷键重命名
|
|
348
|
+
### 优化
|
|
349
|
+
+ 用户离线重新上线更新用户数据的更新
|
|
350
|
+
|
|
351
|
+
## v0.9.145
|
|
352
|
+
### 新增
|
|
353
|
+
+ 新增选择代码右击菜单功能(目前只支持:【implement,update】两种菜单Action):
|
|
354
|
+
```ts
|
|
355
|
+
{
|
|
356
|
+
container: '.editor-section',
|
|
357
|
+
item: 'Editor',
|
|
358
|
+
props: {
|
|
359
|
+
showHiddenCode, // 是否显示隐藏代码:面试官视角,应该是true, 候选人视角:false
|
|
360
|
+
freezeCode, // 是否让设置的代码区域不能编辑, 面试官视角,应该是false,候选人视角:true
|
|
361
|
+
contextMenu: {
|
|
362
|
+
title: 'ChatGPT',
|
|
363
|
+
handleSelect: (e, callback) => {
|
|
364
|
+
messageBox.info(JSON.stringify(e));
|
|
365
|
+
const id = Math.floor(Math.random() * 1000);
|
|
366
|
+
callback?.({
|
|
367
|
+
extralAction: {
|
|
368
|
+
replaceSelection: ['业务方需要替换或者追加的代码']
|
|
369
|
+
}
|
|
370
|
+
});
|
|
371
|
+
},
|
|
372
|
+
items: [
|
|
373
|
+
{
|
|
374
|
+
action: 'implement',
|
|
375
|
+
text: '生成代码',
|
|
376
|
+
noActionCheck: true, // 答题区需要坚持隐藏,只读,答题区域内等情况不能设置
|
|
377
|
+
codeAction: 'append', // 代码追加的方式: append, replace,
|
|
378
|
+
icon: 'dao42__icon--create',
|
|
379
|
+
},
|
|
380
|
+
{
|
|
381
|
+
action: 'update',
|
|
382
|
+
text: '解析执行',
|
|
383
|
+
noActionCheck: true, // 答题区需要坚持隐藏,只读,答题区域内等情况不能设置
|
|
384
|
+
codeAction: 'replace', // 代码追加的方式: append, replace,
|
|
385
|
+
icon: 'dao42__icon--fix',
|
|
386
|
+
},
|
|
387
|
+
],
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
},
|
|
391
|
+
},
|
|
392
|
+
```
|
|
393
|
+
### 优化
|
|
394
|
+
+ 优化答题区域历史数据修改答题区域序号问题
|
|
395
|
+
## v0.9.144
|
|
396
|
+
### 修复
|
|
397
|
+
+ 修复`safari`浏览器正则兼容性问题
|
|
398
|
+
## v0.9.143
|
|
399
|
+
### 新增
|
|
400
|
+
|
|
401
|
+
+ 新增批量修改答题区Flag属性接口(并支持修改历史数据)
|
|
402
|
+
|
|
403
|
+
```ts
|
|
404
|
+
daoPaasObj?.updateAreaFlags({
|
|
405
|
+
path: 'README.md', // 指定文件ID
|
|
406
|
+
ids: [ // 要修改的ID的集合
|
|
407
|
+
{
|
|
408
|
+
id: '1', // 答题区域的ID
|
|
409
|
+
flag: '1', // 新的Flag值
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
id: '2',
|
|
413
|
+
flag: '3',
|
|
414
|
+
},
|
|
415
|
+
],
|
|
416
|
+
});
|
|
417
|
+
```
|
|
418
|
+
+ 新增`IDEServer`配置日志输出级别
|
|
419
|
+
### 优化
|
|
420
|
+
+ `debug`变量`Hover`和面板数据懒加载
|
|
421
|
+
+ `xterm`设置最小`clos` (xterm宽度变换时~/app$换行问题)
|
|
422
|
+
+ 优化单击答题区后无法聚焦编辑器
|
|
423
|
+
|
|
424
|
+
## v0.9.142
|
|
425
|
+
### 优化
|
|
426
|
+
+ 优化`currentAgentId` 问题
|
|
427
|
+
+ 优化光标协同问题
|
|
428
|
+
+ 优化切题模式下事件处理机制
|
|
429
|
+
## v0.9.141
|
|
430
|
+
### 新增
|
|
431
|
+
+ `lsp`添加`Uninitialized` (未启动状态) 以及断网时`lspstatus`改为`notSupport`或者`uninitialized`状态
|
|
432
|
+
+ 新增记录哪些文件进行了修改, 对应的文件名称`.1024file`
|
|
433
|
+
+ 新增回放数据,标记对应的时间范围为空白时
|
|
434
|
+
```ts
|
|
435
|
+
//
|
|
436
|
+
const dao = new DaoPaaS({
|
|
437
|
+
...
|
|
438
|
+
noFrameSpan: 2, // >=2S 则标记出来,单位为s
|
|
439
|
+
...
|
|
440
|
+
});
|
|
441
|
+
// PlaybackInfo 事件,会返回一个 whiteFrames数组
|
|
442
|
+
```
|
|
443
|
+
### 优化
|
|
444
|
+
+ 默认用户头像背景与光标颜色保持一致
|
|
445
|
+
+ 优化协同插件更新方式(减少相关样式重复载入、服务端版本大于客户端主动sync一次)
|
|
446
|
+
+ 优化光标选中区域协同(下线用户|切换文件|关闭文件|跟随模式|失去焦点时选中区域和光标tooltip缓存处理)
|
|
447
|
+
+ 优化agentUserId生成逻辑、由Ide server判断agentUserId是否可用(agentuser头像问题、多个tabs共用一个agentuserid)
|
|
448
|
+
+ 移除掉sentry包
|
|
449
|
+
+ IDEServer Mongo 索引优化
|
|
450
|
+
## v0.9.140
|
|
451
|
+
### 优化
|
|
452
|
+
+ 更新Roboto+Mono字体加载域名
|
|
453
|
+
|
|
454
|
+
## v0.9.139
|
|
455
|
+
### 优化
|
|
456
|
+
+ 回放自动换行
|
|
457
|
+
+ 用户光标颜色按顺序生成
|
|
458
|
+
|
|
459
|
+
## v0.9.138
|
|
460
|
+
### 修复
|
|
461
|
+
+ 回放过程中打开文件死循环问题
|
|
462
|
+
## v0.9.137
|
|
463
|
+
### 修复
|
|
464
|
+
+ 回放时stopPlayback状态也不显示光标的tooltip
|
|
465
|
+
|
|
466
|
+
## v0.9.136
|
|
467
|
+
|
|
468
|
+
### 优化
|
|
469
|
+
|
|
470
|
+
+ 回放暂停时,隐藏光标名称tooltip
|
|
471
|
+
+ 观测云日志上报异步改同步
|
|
472
|
+
+ appendEditorCRDT Mongo操作同步改异步
|
|
473
|
+
+ checkIfThePathExists方法异步改为同步
|
|
474
|
+
+ 优化LSP代码补全(列表关键字重复、from位置不正确、切题模式下lsp重连失败、超出重连次数派发Shutdown状态)
|
|
475
|
+
|
|
476
|
+
## v0.9.135
|
|
477
|
+
|
|
478
|
+
### 修复
|
|
479
|
+
|
|
480
|
+
+ 编辑器报错changes undefined,导致崩溃的问题
|
|
481
|
+
+ 回放模式下Markdown预览可点击
|
|
482
|
+
|
|
483
|
+
## v0.9.134
|
|
484
|
+
|
|
485
|
+
### 新增
|
|
486
|
+
|
|
487
|
+
+ 暴露debug状态信息
|
|
488
|
+
|
|
489
|
+
```ts
|
|
490
|
+
dao.onMessage((message: Message) => {
|
|
491
|
+
switch (name) {
|
|
492
|
+
case Messages.Debug:
|
|
493
|
+
// payload.debugStatus状态信息
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
+ debug面板添加启动中dot
|
|
499
|
+
|
|
500
|
+
### 修复
|
|
501
|
+
|
|
502
|
+
+ debug运行中离线重连后重置debug相关数据
|
|
503
|
+
|
|
504
|
+
### 优化
|
|
505
|
+
|
|
506
|
+
+ 全局消息调试最多可同时显示一条
|
|
507
|
+
|
|
508
|
+
## v0.9.133
|
|
509
|
+
|
|
510
|
+
### 新增
|
|
511
|
+
|
|
512
|
+
+ 设置答题区时返给外部代码缩进往左侧移动(最顶层不留indentUnit)
|
|
513
|
+
|
|
514
|
+
### 修复
|
|
515
|
+
|
|
516
|
+
+ 修复跟随模式changes为undefined和光标位置不正确问题
|
|
517
|
+
+ 重命名时,命名不规范恢复之前的名称
|
|
518
|
+
+ 修复编辑器选中内容的首行高亮问题
|
|
519
|
+
|
|
520
|
+
### 优化
|
|
521
|
+
|
|
522
|
+
+ 文件IO改成同步操作
|
|
523
|
+
+ FileTree_createFile异步方法优化
|
|
524
|
+
+ 观测云日志上报异步改同步
|
|
525
|
+
+ updateAgentUserData方法优化
|
|
526
|
+
+ 使用Promise.all优化getPlaybackInfo方法
|
|
527
|
+
+ 优化ctrl+p打开慢的问题
|
|
528
|
+
+ 去掉组件挂载时fallback的Loading组件
|
|
529
|
+
+ 优化打开文件慢的问题
|
|
530
|
+
+ 优化ctrl+p搜索文件的匹配方式(支持首字母,支持不输入/匹配)
|
|
531
|
+
|
|
532
|
+
## v0.9.132
|
|
533
|
+
|
|
534
|
+
### 优化
|
|
535
|
+
|
|
536
|
+
+ 控制台一些更新的标识更新不推送给客户端
|
|
537
|
+
+ debug组件下的类名补全d42前缀
|
|
538
|
+
|
|
539
|
+
## v0.9.131
|
|
540
|
+
|
|
541
|
+
### 优化
|
|
542
|
+
|
|
543
|
+
+ 优化debug(开始/停止icon颜色、点击堆栈项进行跳转、toolTip文案/背景修改、修复断点状态、优化获取当前文件断点数据方法)
|
|
544
|
+
|
|
545
|
+
### 新增
|
|
546
|
+
|
|
547
|
+
+ 新增realTimeRefresh参数文件有更新是否通知MQ(非运行状态时)
|
|
548
|
+
+ 新增insertCodeByCursor方法,根据光标位置插入数据
|
|
549
|
+
|
|
550
|
+
```ts
|
|
551
|
+
daoPaasObj?.insertCodeByCursor(insertCode);
|
|
552
|
+
|
|
553
|
+
// 插入代码
|
|
554
|
+
const insertCode = (
|
|
555
|
+
line: number, // line为当前光标聚焦行
|
|
556
|
+
insercodeCallback: IInsertCodeInternalFn,
|
|
557
|
+
) => {
|
|
558
|
+
// 计算pos
|
|
559
|
+
insercodeCallback({
|
|
560
|
+
line: line + offsetLine, // offsetLine为光标偏移量
|
|
561
|
+
actions: 'current', // 代码插入的位置,当前行首(start) | 当前位置(current) | 当前行尾(end)
|
|
562
|
+
text: encodeURI(insertCodeText),
|
|
563
|
+
});
|
|
564
|
+
};
|
|
565
|
+
```
|
|
566
|
+
|
|
567
|
+
### 修复
|
|
568
|
+
|
|
569
|
+
+ 去掉图片地址的https前缀
|
|
570
|
+
+ 修复 tab 缩进时 IndentUnit 错误
|
|
571
|
+
+ 修复回放时,文件树内容与打开的文件不对应
|
|
572
|
+
+ 修复在冻结代码时, LSP自动补全无法导入包[答题区]
|
|
573
|
+
+ 修复回放时,视角不跟随光标移动的问题
|
|
574
|
+
+ 修复一个光标在其他端显示多光标的问题
|
|
575
|
+
|
|
576
|
+
## v0.9.130
|
|
577
|
+
|
|
578
|
+
### 优化
|
|
579
|
+
|
|
580
|
+
+ 优化debug组件(默认展开第一层、hover查看完整内容、修改tooltip内容、字体大小、边框、图标)
|
|
581
|
+
+ 优化浏览器组件实时刷新功能
|
|
582
|
+
+ 优化Docker 状态为END情况下不能打开问题
|
|
583
|
+
|
|
584
|
+
## v0.9.129
|
|
585
|
+
|
|
586
|
+
## 新增
|
|
587
|
+
|
|
588
|
+
+ 新增`XtermInfo`事件,`terminal`或者`console`有更新进行派发
|
|
589
|
+
|
|
590
|
+
```ts
|
|
591
|
+
dao.onMessage((message: Message) => {
|
|
592
|
+
...
|
|
593
|
+
case Messages.XtermInfo: {
|
|
594
|
+
console.log(payload); // 数据为IXtermInfo
|
|
595
|
+
break;
|
|
596
|
+
}
|
|
597
|
+
}
|
|
598
|
+
```
|
|
599
|
+
|
|
600
|
+
## 修复
|
|
601
|
+
|
|
602
|
+
+ 修复全局消息条样式问题
|
|
603
|
+
+ 修复markdown有序列表的padding样式问题
|
|
604
|
+
|
|
605
|
+
## v0.9.128
|
|
606
|
+
|
|
607
|
+
## 优化
|
|
608
|
+
|
|
609
|
+
+ 优化答题区`tooltip`显示时机,延时`600ms`出现
|
|
610
|
+
+ 优化禁止文件编辑`disableEditable`为true时,不可以打断点
|
|
611
|
+
+ 优化刷新文件缓存接口`forceRefreshFile`,支持刷新未打开文件缓存
|
|
612
|
+
|
|
613
|
+
## v0.9.127
|
|
614
|
+
|
|
615
|
+
## 新增
|
|
616
|
+
|
|
617
|
+
+ 新增强制刷新文件缓存的接口
|
|
618
|
+
|
|
619
|
+
```ts
|
|
620
|
+
daoPaas.forceRefreshFile(path?: string) // path 默认是当前Editor打开的文件
|
|
621
|
+
```
|
|
622
|
+
|
|
623
|
+
+ 新增触发聚焦答题区事件
|
|
624
|
+
|
|
625
|
+
```ts
|
|
626
|
+
dao.onMessage((message: Message) => {
|
|
627
|
+
...
|
|
628
|
+
case Messages.AnswerAreaInfo: {
|
|
629
|
+
console.log(payload.foucusId); // 当焦点在答题区内foucusId为答题区id、不在则为空字符
|
|
630
|
+
break;
|
|
631
|
+
}
|
|
632
|
+
})
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
+ 新增答题区新增`overrideItems`和`handleOverride`参数,光标选择区域包含答题区或在答题区内触发操作。如没有设置`overrideItems`右击菜单默认为items
|
|
636
|
+
|
|
637
|
+
```ts
|
|
638
|
+
contextMenu:{
|
|
639
|
+
...
|
|
640
|
+
overrideItems: [
|
|
641
|
+
{
|
|
642
|
+
action: 'delete',
|
|
643
|
+
text: '删除答题区',
|
|
644
|
+
},
|
|
645
|
+
],
|
|
646
|
+
handleOverride: (params: IOverrideParams) => {
|
|
647
|
+
console.log('params: ', params); //执行对应删除操作
|
|
648
|
+
},
|
|
649
|
+
}
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
## 修复
|
|
653
|
+
|
|
654
|
+
+ 修复答题区右击菜单和答题区tooltip同时存在,右击菜单出现时隐藏答题区tooltip
|
|
655
|
+
+ 修复跳转答题区没有展开文件树对应的目录和文件没有滚动到可视区域内
|
|
656
|
+
+ 修复中途禁用tooltip时tooltip不消失问题
|
|
657
|
+
+ 修复debug相关样式
|
|
658
|
+
|
|
659
|
+
## v0.9.126
|
|
660
|
+
|
|
661
|
+
## 新增
|
|
662
|
+
|
|
663
|
+
+ 新增断点hover功能
|
|
664
|
+
+ 新增IDEServer 单元测试
|
|
665
|
+
|
|
666
|
+
## 优化
|
|
667
|
+
|
|
668
|
+
+ 优化全局消息条,支持多条展示
|
|
669
|
+
+ 优化debug组件样式
|
|
670
|
+
+ 优化协同时,在编辑器失去焦点时,其他人只应该隐藏失去焦点人的光标,而不应该隐藏对方的选中区域
|
|
671
|
+
+ 优化检测文件是否存在采用fs.access方法,此方法是异步方法,且检测文件是否存在不需要打开文件
|
|
672
|
+
+ 优化调整默认头像的背景色和字体颜色
|
|
673
|
+
|
|
674
|
+
## 修复
|
|
675
|
+
|
|
676
|
+
+ 修复debug组件区域页面抖动问题
|
|
677
|
+
+ 修复答题区tooltip不支持多个icon类问题
|
|
678
|
+
+ 修复回放时debug相关订阅没有被销毁问题
|
|
679
|
+
+ 修复文件树在重命名和新增时,选中输入的文件名,移动鼠标时会隐藏输入框的问题
|
|
680
|
+
+ 修复当前playground status等于END时,构建文件树报错的问题(不需要构建文件树)
|
|
681
|
+
+
|
|
682
|
+
|
|
683
|
+
## v0.9.125
|
|
684
|
+
|
|
685
|
+
### 新增
|
|
686
|
+
|
|
687
|
+
+ 新增答题区选中Tooltip操作按钮
|
|
688
|
+
|
|
689
|
+
### 优化
|
|
690
|
+
|
|
691
|
+
+ 优化回放功能头像问题
|
|
692
|
+
|
|
693
|
+
### 修复
|
|
694
|
+
|
|
695
|
+
+ 修复Browser 组件 Open Icon 不能点击问题
|
|
696
|
+
+ 修复LSP排序问题
|
|
697
|
+
+ 修复点击文件树的action时item会变为聚焦状态
|
|
698
|
+
|
|
699
|
+
## v0.9.124
|
|
700
|
+
|
|
701
|
+
### 新增
|
|
702
|
+
|
|
703
|
+
+ 新增`Markdown`文件支持插入项目内图片路径
|
|
704
|
+
+ 新增`Editor` 头部支持注入插件功能
|
|
705
|
+
|
|
706
|
+
```ts
|
|
707
|
+
{
|
|
708
|
+
container: '.editor-section',
|
|
709
|
+
item: 'Editor',
|
|
710
|
+
props: {
|
|
711
|
+
fileHeader: [
|
|
712
|
+
{
|
|
713
|
+
className: 'custom-className', // 非必需
|
|
714
|
+
icon: { // 非必需
|
|
715
|
+
className: 'dao42__icon--warning-circle',
|
|
716
|
+
tips: {
|
|
717
|
+
[I18nLanguageType.ZH]: '代码智能检测和补全(LSP):连接中',
|
|
718
|
+
[I18nLanguageType.EN]: '代码智能检测和补全(LSP):连接中',
|
|
719
|
+
},
|
|
720
|
+
action: () => {
|
|
721
|
+
messageBox.success(' IconAction');
|
|
722
|
+
// 业务方自定义的业务行为,可以调用SDK提供的API
|
|
723
|
+
},
|
|
724
|
+
},
|
|
725
|
+
labelAction: null as any, // 非必需
|
|
726
|
+
label: {// 非必需
|
|
727
|
+
[I18nLanguageType.ZH]: 'LSP 连接中',
|
|
728
|
+
[I18nLanguageType.EN]: 'LSP Connecting',
|
|
729
|
+
},
|
|
730
|
+
},
|
|
731
|
+
...
|
|
732
|
+
],
|
|
733
|
+
|
|
734
|
+
},
|
|
735
|
+
},
|
|
736
|
+
```
|
|
737
|
+
|
|
738
|
+
+ 新增动态修改`Editor`头部插件接口
|
|
739
|
+
|
|
740
|
+
```ts
|
|
741
|
+
daoPaasObj?.updateFileHeader([...fileHeader]);
|
|
742
|
+
```
|
|
743
|
+
|
|
744
|
+
+ 新增答题区域业务方配置答题区Flag属性
|
|
745
|
+
|
|
746
|
+
```ts
|
|
747
|
+
callback?.(
|
|
748
|
+
{
|
|
749
|
+
id,
|
|
750
|
+
flag, // 业务方在返回ID的时候,同时返回flag 值
|
|
751
|
+
},
|
|
752
|
+
extralAction,
|
|
753
|
+
);
|
|
754
|
+
```
|
|
755
|
+
|
|
756
|
+
+ 新增批量修改答题区Flag属性接口
|
|
757
|
+
|
|
758
|
+
```ts
|
|
759
|
+
daoPaasObj?.updateAreaFlags({
|
|
760
|
+
path: 'README.md', // 指定文件ID
|
|
761
|
+
ids: [ // 要修改的ID的集合
|
|
762
|
+
{
|
|
763
|
+
id: '1', // 答题区域的ID
|
|
764
|
+
flag: '1', // 新的Flag值
|
|
765
|
+
},
|
|
766
|
+
{
|
|
767
|
+
id: '2',
|
|
768
|
+
flag: '3',
|
|
769
|
+
},
|
|
770
|
+
],
|
|
771
|
+
});
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
### 优化
|
|
775
|
+
|
|
776
|
+
+ 优化Debug Hover 变量组件
|
|
777
|
+
+ 优化浏览器实时刷新组件样式
|
|
778
|
+
|
|
779
|
+
### 修复
|
|
780
|
+
|
|
781
|
+
+ 修复因为自动缩进设置Auto引起的JS错误引起回放功能报错问题
|
|
782
|
+
|
|
783
|
+
## v0.9.123
|
|
784
|
+
|
|
785
|
+
### 修复
|
|
786
|
+
|
|
787
|
+
+ 修复选择多行,按`Tab`键,直接删除对应内容问题
|
|
788
|
+
+ 修复反复触发`retainedFiles`,可能造成其他其他feature 属性丢失情况
|
|
789
|
+
+ 修复`tooltip`快速切换子`icon`元素迅速将鼠标移出元素`onMouseLeave`不触发问题
|
|
790
|
+
|
|
791
|
+
### 优化
|
|
792
|
+
|
|
793
|
+
+ 优化SDK组件的单元测试流程(新增Editor单元测试入口)
|
|
794
|
+
+ 优化SDK 客户端日志上报(resourceMonitoring等频繁触发非重要事件不上报日志)
|
|
795
|
+
+ 优化`PaaS`回放业务方数据鉴权问题
|
|
796
|
+
|
|
797
|
+
## v0.9.122
|
|
798
|
+
|
|
799
|
+
### 新增
|
|
800
|
+
|
|
801
|
+
+ SDK新增组件单元测试
|
|
802
|
+
+ 新增支持图片预览功能
|
|
803
|
+
+ 新增支持业务方配置多个打开默认文件名称
|
|
804
|
+
+ 新增自定义执行方法,由业务方携带的配置信息来启动运行
|
|
805
|
+
|
|
806
|
+
```ts
|
|
807
|
+
// 自定义执行,通过业务方携带的配置信息来启动运行
|
|
808
|
+
// tips:而不是通过后端读取.1024配置文件信息
|
|
809
|
+
customExecute(config: ICustomExcuteConfig): void;
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
### 修复
|
|
813
|
+
|
|
814
|
+
+ 修复光标选中内容,也会造成浏览器组件刷新问题
|
|
815
|
+
|
|
816
|
+
## v0.9.120
|
|
817
|
+
|
|
818
|
+
### 新增
|
|
819
|
+
|
|
820
|
+
+ 新增支持下载单文件
|
|
821
|
+
+ `editorTabSize`属性新增一个值为`auto`,自动识别文件缩进并且应用于编辑器
|
|
822
|
+
|
|
823
|
+
```ts
|
|
824
|
+
GlobalConfig {
|
|
825
|
+
...
|
|
826
|
+
editorTabSize: 'auto'|number // 新增auto,自动识别文件缩进
|
|
827
|
+
}
|
|
828
|
+
```
|
|
829
|
+
|
|
830
|
+
+ 新增限制打开`db,db3,sqlite`相关文件,并给予提示
|
|
831
|
+
|
|
832
|
+
### 修复
|
|
833
|
+
|
|
834
|
+
+ 修复Tab模式缩进
|
|
835
|
+
+ 修复添加CDN资源后, Editor内容不刷新显示CDN资源内容
|
|
836
|
+
|
|
837
|
+
### 优化
|
|
838
|
+
|
|
839
|
+
+ 优化二进制文件检测方法
|
|
840
|
+
|
|
841
|
+
## v0.9.119
|
|
842
|
+
|
|
843
|
+
### 优化
|
|
844
|
+
|
|
845
|
+
+ 优化协同OT消费机制
|
|
846
|
+
+ 优化FileTree Feature Icon 样式
|
|
847
|
+
+ 优化LSP的模糊匹配(单词模糊匹配)
|
|
848
|
+
+ 优化限制大于16M的文件的上传,并给予提示
|
|
849
|
+
|
|
850
|
+
### 修复
|
|
851
|
+
|
|
852
|
+
+ 修复答题区域在冻结代码时,跳转到对应答题区光标聚焦
|
|
853
|
+
+ 修复答题区域删除最后一行后,无法再次进入对应答题区进行编辑
|
|
854
|
+
+ 修复偶发文件打开没成功一直Loading的问题
|
|
855
|
+
|
|
856
|
+
## v0.9.117
|
|
857
|
+
|
|
858
|
+
### 新增
|
|
859
|
+
|
|
860
|
+
+ 新增特定语言特定模版文件进行语法高亮,SDK内置了如下部分文件,同步支持业务方配置指定文件名称进行对应语言高亮
|
|
861
|
+
|
|
862
|
+
```ts
|
|
863
|
+
// SDK 默认已经支持的内置文件配置
|
|
864
|
+
ConfigExtension {
|
|
865
|
+
Gemfile = 'ruby',
|
|
866
|
+
Rakefile = 'ruby',
|
|
867
|
+
artisan = 'php',
|
|
868
|
+
'Gemfile.lock' = 'ruby',
|
|
869
|
+
'.npmrc' = 'javascript',
|
|
870
|
+
'.eslintrc' = 'javascript',
|
|
871
|
+
}
|
|
872
|
+
// 业务方可以配置对应文件名称进行指定语法高亮
|
|
873
|
+
new DaoPaaS({
|
|
874
|
+
...
|
|
875
|
+
specialFileHighlight:[
|
|
876
|
+
{
|
|
877
|
+
fileName: 'Gemfile',
|
|
878
|
+
languageType: 'ruby'
|
|
879
|
+
}
|
|
880
|
+
] // 指定文件名称,使用特定的语法高亮
|
|
881
|
+
})
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
### 优化
|
|
885
|
+
|
|
886
|
+
+ 优化`Ctrl+p`搜索文件,支持大小写搜索
|
|
887
|
+
|
|
888
|
+
### 修复
|
|
889
|
+
|
|
890
|
+
+ 修复文件树拖拽上传的样式问题
|
|
891
|
+
+ 修复文件前缀相同情况下,Feature功能不生效问题
|
|
892
|
+
+ 修复`browser-container` 样式和业务方冲突问题
|
|
893
|
+
|
|
894
|
+
## v0.9.116
|
|
895
|
+
|
|
896
|
+
### 新增
|
|
897
|
+
|
|
898
|
+
+ 新增实时刷新功能配置
|
|
899
|
+
+ 新增PaaS Demo 回放功能,回放指定的回放数据(Mock 业务方的回放数据进行回放)
|
|
900
|
+
+ 新增IDEServer健康检测接口`/health`
|
|
901
|
+
|
|
902
|
+
### 修复
|
|
903
|
+
|
|
904
|
+
+ 修复断线重连期间打开文件,Editor一直Loading问题
|
|
905
|
+
+ 修复文件树外层目录收缩会导致内层同名目录也收缩
|
|
906
|
+
+ 修复答题区域的右侧边界样式问题
|
|
907
|
+
|
|
908
|
+
### 优化
|
|
909
|
+
|
|
910
|
+
+ 优化`Crtl+F` 这里搜索结果的选中的高亮色
|
|
911
|
+
+ 优化`Ctrl+p`搜索文件,将文件树打开的对应文件滚动到可视区内
|
|
912
|
+
+ 优化文件树的相关问题 (无法移除外层文件夹、拖拽样式交互、出现空白文件、重命名高亮、上传区域等)
|
|
913
|
+
|
|
914
|
+
## v0.9.115
|
|
915
|
+
|
|
916
|
+
### 优化
|
|
917
|
+
|
|
918
|
+
+ 优化回放模式下禁用`Ctrl+p` 打开文件
|
|
919
|
+
+ 优化电脑休眠重新上线LSP可用但是状态为running状态
|
|
920
|
+
+ 优化`FileTree` `toolTip`组件
|
|
921
|
+
+ 优化回放数据,记录Docker URL数据
|
|
922
|
+
+ 优化Editor协同逻辑
|
|
923
|
+
|
|
924
|
+
### 修复
|
|
925
|
+
|
|
926
|
+
+ 修复`ide serve` 大文件写入`mongo`报错
|
|
927
|
+
+ 修复`Shell`进行文件新增删除操作,可能会出现文件不存在问题
|
|
928
|
+
+ 修复打开默认文件,如果默认文件的文件夹不存在,JS报错问题
|
|
929
|
+
+ 修复跟随模式,文件打开不跟随打开问题
|
|
930
|
+
|
|
931
|
+
## v0.9.114
|
|
932
|
+
|
|
933
|
+
### 新增
|
|
934
|
+
|
|
935
|
+
+ 新增回放过程中打开其他问题,派发暂停事件给业务方
|
|
936
|
+
|
|
937
|
+
```ts
|
|
938
|
+
dao.onMessage((message: Message) => {
|
|
939
|
+
const { name, payload } = message;
|
|
940
|
+
...
|
|
941
|
+
switch (name) {
|
|
942
|
+
case Messages.PausePlayback: {
|
|
943
|
+
messageBox.success('PausePlayback');
|
|
944
|
+
break;
|
|
945
|
+
}
|
|
946
|
+
...
|
|
947
|
+
```
|
|
948
|
+
|
|
949
|
+
### 修复
|
|
950
|
+
|
|
951
|
+
+ 修改shell出现乱码的情况
|
|
952
|
+
|
|
953
|
+
## v0.9.113
|
|
954
|
+
|
|
955
|
+
### 新增
|
|
956
|
+
|
|
957
|
+
+ 新增支持回放模式打开文件树功能
|
|
958
|
+
|
|
959
|
+
### 修复
|
|
960
|
+
|
|
961
|
+
+ 修复运行代码代码不同步更新问题
|
|
962
|
+
+ 修复不允许重命名时, 回车依旧可以重命名
|
|
963
|
+
|
|
964
|
+
## v0.9.111
|
|
965
|
+
|
|
966
|
+
### 新增
|
|
967
|
+
|
|
968
|
+
+ 关闭实时刷新功能
|
|
969
|
+
+ 新增是否开启LSP诊断接口
|
|
970
|
+
|
|
971
|
+
```ts
|
|
972
|
+
const dao = new DaoPaaS({
|
|
973
|
+
...
|
|
974
|
+
openLspDiagnostic: true, // 默认是true,
|
|
975
|
+
...
|
|
976
|
+
});
|
|
977
|
+
daoPaasObj?.switchLspDiagnostic(true/false);
|
|
978
|
+
```
|
|
979
|
+
|
|
980
|
+
### 修复
|
|
981
|
+
|
|
982
|
+
+ 修复sdk处理browser组件502状态码
|
|
983
|
+
+ 修复切换答题区自动定位光标以及删除多余的空行
|
|
984
|
+
+ 修复答题区复制代码缩进格式不对
|
|
985
|
+
+ 修复答题区JSX文件中 缩进不对问题
|
|
986
|
+
+ 修复组件不渲染问题
|
|
987
|
+
|
|
988
|
+
## v0.9.110
|
|
989
|
+
|
|
990
|
+
### 新增
|
|
991
|
+
|
|
992
|
+
+ 新增关闭LSP错误信息提示开关
|
|
993
|
+
+ 新增关闭实时预览Web项目开关
|
|
994
|
+
+ 新增监听Docker资源使用情况(5S 更新一次资源使用情况)
|
|
995
|
+
|
|
996
|
+
```ts
|
|
997
|
+
case Messages.ResourceMonitoring: {
|
|
998
|
+
{
|
|
999
|
+
cpuPercent: 0.33,
|
|
1000
|
+
memoryCurrent:144,
|
|
1001
|
+
memoryMax:1024,
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
```
|
|
1005
|
+
|
|
1006
|
+
## v0.9.106
|
|
1007
|
+
|
|
1008
|
+
## 修复
|
|
1009
|
+
|
|
1010
|
+
+ 修复`emacs`模式下的`ctrl +x` 快捷键不生效
|
|
1011
|
+
+ 修复答题区位于文档开头或者结尾无法删除
|
|
1012
|
+
+ 修复LSP语法告警情况下,存在最后一个字符无法选中情况
|
|
1013
|
+
+ 修复回放模式,Ediotr 可以复制粘题内容
|
|
1014
|
+
+ 修复回放模式,Shell 会出现重复内容
|
|
1015
|
+
|
|
1016
|
+
## 优化
|
|
1017
|
+
|
|
1018
|
+
+ 优化答题区域选中区域返回给业务方内容进行自动格式化缩进
|
|
1019
|
+
+ 优化`debug`时,光标滚动定位到断点视图
|
|
1020
|
+
+ 优化回放模式`shell`和`console`可以进行滚动内容
|
|
1021
|
+
+ 优化回放模式,时长过长造成卡顿问题
|
|
1022
|
+
+ 添加客户端日志上报,关键节点进行日志上报,便于问题排查
|
|
1023
|
+
|
|
1024
|
+
## v0.9.102
|
|
1025
|
+
|
|
1026
|
+
### 新增
|
|
1027
|
+
|
|
1028
|
+
+ 新增添加重连时机的事件广播(事件名称为:`reconnecting`)
|
|
1029
|
+
|
|
1030
|
+
### 修复
|
|
1031
|
+
|
|
1032
|
+
+ 修复回放功能文件树渲染问题
|
|
1033
|
+
+ 修复删除文件,Editor会自动关闭有相同前缀开头的文件
|
|
1034
|
+
|
|
1035
|
+
### 优化
|
|
1036
|
+
|
|
1037
|
+
+ 优化`cmd+F` 搜索当前文件,相关选中区域样式问题
|
|
1038
|
+
+ 优化`cmd + P` 体验细节优化(ESC关闭弹窗快捷键、修复文件搜索历史记录)
|
|
1039
|
+
+ 优化记录文件位置,下一次打开该文件恢复位置
|
|
1040
|
+
+ 优化添加回放功能跟随光标滚动滚动条
|
|
1041
|
+
|
|
1042
|
+
## v0.9.98
|
|
1043
|
+
|
|
1044
|
+
### 修复
|
|
1045
|
+
|
|
1046
|
+
+ 修复回放功能跳转题目最后一帧,Editor没打开文件问题
|
|
1047
|
+
|
|
1048
|
+
## v0.9.97
|
|
1049
|
+
|
|
1050
|
+
### 修复
|
|
1051
|
+
|
|
1052
|
+
+ 修复回放功能JS报错
|
|
1053
|
+
|
|
1054
|
+
### 优化
|
|
1055
|
+
|
|
1056
|
+
+ 优化`syncPlayground`失败后, 60S后能进行重新同步
|
|
1057
|
+
|
|
1058
|
+
## v0.9.96
|
|
1059
|
+
|
|
1060
|
+
### 修复
|
|
1061
|
+
|
|
1062
|
+
+ 修复`cmd + p`不应该显示文件树已经隐藏的文件
|
|
1063
|
+
+ 修复 `Ctrl+p`搜索文件显示不存在的文件和相关提示语
|
|
1064
|
+
+ 修复回放功能,文件树存在丢失问题
|
|
1065
|
+
+ 修复回放功能`shell`内容重复显示问题
|
|
1066
|
+
|
|
1067
|
+
### 优化
|
|
1068
|
+
|
|
1069
|
+
+ 优化文件树排序
|
|
1070
|
+
+ 优化`lsp`错误提示`tips`文案选中高亮样式
|
|
1071
|
+
|
|
1072
|
+
## v0.9.95
|
|
1073
|
+
|
|
1074
|
+
### 新增
|
|
1075
|
+
|
|
1076
|
+
+ 新增Debug支持变量Hover 显示变量值功能
|
|
1077
|
+
+ 新增SDK配置支持打开默认文件功能
|
|
1078
|
+
|
|
1079
|
+
```ts
|
|
1080
|
+
const dao = new DaoPaaS({
|
|
1081
|
+
....
|
|
1082
|
+
defaultOpenFiles: ['README.md', 'CHANGELOG.md'], // 默认打开文件列表(PaaS 默认只有README.md),优先级'README.md' > 'CHANGELOG.md'
|
|
1083
|
+
specialOpenFile: openpath, // specialOpenFiles 优先级 高于defaultOpenFiles
|
|
1084
|
+
});
|
|
1085
|
+
```
|
|
1086
|
+
|
|
1087
|
+
### 修复
|
|
1088
|
+
|
|
1089
|
+
+ 修复`console`和`shell`可能存在乱码的问题
|
|
1090
|
+
+ 修复回放时光标样式不正确的问题
|
|
1091
|
+
+ 修复跟随模式下,多次点击跟随,编辑器不协同的问题
|
|
1092
|
+
+ 修复React JSX语法设置答题区域,显示对应标识内容问题
|
|
1093
|
+
|
|
1094
|
+
### 优化
|
|
1095
|
+
|
|
1096
|
+
+ IDEServer WS数据交互,不再明文传输,进行二进制加解密
|
|
1097
|
+
+ 优化文件树,`Popover`组件,能自适应定位位置
|
|
1098
|
+
+ 优化设置答题区后,答题区内容遵循代码缩进
|
|
1099
|
+
+ 答题区内容,不能直接进行复制粘贴
|
|
1100
|
+
+ 答题区在预览模式下,不可编辑区域进行操作,给予相应的提示
|
|
1101
|
+
|
|
1102
|
+
## v0.9.94
|
|
1103
|
+
|
|
1104
|
+
### 新增
|
|
1105
|
+
|
|
1106
|
+
+ 新增回放支持回放光标,选择区域,文件树头像功能
|
|
1107
|
+
|
|
1108
|
+
### 修复
|
|
1109
|
+
|
|
1110
|
+
+ 修复点击跳转答题区域,第一次只打开文件不跳转问题
|
|
1111
|
+
+ 修复文件树收起,展开头像消失问题
|
|
1112
|
+
|
|
1113
|
+
### 优化
|
|
1114
|
+
|
|
1115
|
+
+ 优化`syncPlaygroundInfo`接口性能
|
|
1116
|
+
|
|
1117
|
+
## v0.9.93
|
|
1118
|
+
|
|
1119
|
+
## 优化
|
|
1120
|
+
|
|
1121
|
+
+ 支持IDE Server多节点部署时,根据负载选择节点
|
|
1122
|
+
|
|
1123
|
+
## v0.9.92
|
|
1124
|
+
|
|
1125
|
+
## 新增
|
|
1126
|
+
|
|
1127
|
+
+ 新增paas平台接入sentry监控 (需要接入方再打包自己项目时,自定义命名打包后的@dao42/d42paas-front文件,名称需要包含daopaas字符)
|
|
1128
|
+
|
|
1129
|
+
```ts
|
|
1130
|
+
new DaoPaaS({
|
|
1131
|
+
...
|
|
1132
|
+
enableSentry // 是否开启sentry监控
|
|
1133
|
+
})
|
|
1134
|
+
```
|
|
1135
|
+
|
|
1136
|
+
+ 新增测试用例展示demo
|
|
1137
|
+
+ 新增支持Debug功能回放
|
|
1138
|
+
+ 新增支持新题型多文件
|
|
1139
|
+
|
|
1140
|
+
```ts
|
|
1141
|
+
const res = await daoPaasObj?.switchLanguage(
|
|
1142
|
+
languageType,
|
|
1143
|
+
languageValue,
|
|
1144
|
+
languageFileName,
|
|
1145
|
+
createNewFile === '1', // 添加第四个参数,默认为false, 如果传递为true,则会创建新的文件
|
|
1146
|
+
);
|
|
1147
|
+
```
|
|
1148
|
+
|
|
1149
|
+
## 修复
|
|
1150
|
+
|
|
1151
|
+
+ 修复浏览器输入框无效
|
|
1152
|
+
|
|
1153
|
+
## 优化
|
|
1154
|
+
|
|
1155
|
+
+ 将`syncBreakPoint`从`syncPlaygroundInfo`分离
|
|
1156
|
+
+ 切换Tab后, WS断开进行自动重连,不直接立即抛出断开事件
|
|
1157
|
+
+ 优化当所有用户都立刻后, 4分钟后, 进行清除Playground Info ,释放资源
|
|
1158
|
+
|
|
1159
|
+
## v0.9.90
|
|
1160
|
+
|
|
1161
|
+
## 修复
|
|
1162
|
+
|
|
1163
|
+
+ 修复Browser组件默认背景色为浅灰色问题
|
|
1164
|
+
|
|
1165
|
+
## v0.9.88
|
|
1166
|
+
|
|
1167
|
+
## 修复
|
|
1168
|
+
|
|
1169
|
+
+ 修复文件已存在的提示弹窗样式,单词不换行问题
|
|
1170
|
+
+ 修复`emacs`模式下`ctrl-v`快捷键行为
|
|
1171
|
+
+ 修复文件树Feature功能, 文件和子目录反复切换设置导致子文件设置不生效问题
|
|
1172
|
+
+ 回退 Tab 键根据上下文进行缩进,采用Editor自带缩进功能
|
|
1173
|
+
+ 修复Browser 组件初始化加载默认图片
|
|
1174
|
+
|
|
1175
|
+
## v0.9.87
|
|
1176
|
+
|
|
1177
|
+
## 修复
|
|
1178
|
+
|
|
1179
|
+
+ 修复回放模式反复切换题目,Editor快照生成问题
|
|
1180
|
+
|
|
1181
|
+
## v0.9.86
|
|
1182
|
+
|
|
1183
|
+
## 修复
|
|
1184
|
+
|
|
1185
|
+
+ 修复回放模式自定义数据帧跳转,生成功快照问题
|
|
1186
|
+
|
|
1187
|
+
## v0.9.85
|
|
1188
|
+
|
|
1189
|
+
## 新增
|
|
1190
|
+
|
|
1191
|
+
+ 新增Debugger Step In 和 Step Out 功能
|
|
1192
|
+
+ 新增`Shift+Mod+z``redo`快捷键
|
|
1193
|
+
|
|
1194
|
+
## 优化
|
|
1195
|
+
|
|
1196
|
+
+ 控制答题区域范围内不能新增新的答题区
|
|
1197
|
+
+ 优化在未打开指定文件的情况下,可以直接删除答题区域,并且同步打开文件(新增`filePath`参数)
|
|
1198
|
+
|
|
1199
|
+
```ts
|
|
1200
|
+
daoPaasObj?.removeAreaTextById(id, text, filePath);
|
|
1201
|
+
```
|
|
1202
|
+
|
|
1203
|
+
+ 优化在未打开指定文件的情况下,可以直接跳转到指定答题区域,并且同步打开文件(新增`filePath`参数)
|
|
1204
|
+
|
|
1205
|
+
```ts
|
|
1206
|
+
daoPaasObj?.jumpToAreaById(id, path);
|
|
1207
|
+
```
|
|
1208
|
+
|
|
1209
|
+
## 修复
|
|
1210
|
+
|
|
1211
|
+
+ 修复回放功能数据帧丢失问题
|
|
1212
|
+
+ 修复回放模式清空Consle 模块的相关标识
|
|
1213
|
+
|
|
1214
|
+
## v0.9.84
|
|
1215
|
+
|
|
1216
|
+
### 新增
|
|
1217
|
+
|
|
1218
|
+
+ 新增支持答题区域根据指定ID跳转到指定的答题区域接口
|
|
1219
|
+
|
|
1220
|
+
```ts
|
|
1221
|
+
daoPaasObj?.jumpToAreaById(id);
|
|
1222
|
+
```
|
|
1223
|
+
|
|
1224
|
+
+ 新增支持Editor进行`redo` ,`undo` 如有答题区域信息变更,通知业务方接口
|
|
1225
|
+
|
|
1226
|
+
```ts
|
|
1227
|
+
dao.onMessage((message: Message) => {
|
|
1228
|
+
const { name, payload } = message;
|
|
1229
|
+
switch (name) {
|
|
1230
|
+
...
|
|
1231
|
+
case Events.UpdateArea: {
|
|
1232
|
+
messageBox.info(JSON.stringify(payload));
|
|
1233
|
+
break;
|
|
1234
|
+
}
|
|
1235
|
+
...
|
|
1236
|
+
}
|
|
1237
|
+
});
|
|
1238
|
+
```
|
|
1239
|
+
|
|
1240
|
+
+ 新增回放模式,派发 Editor 人为滚动事件
|
|
1241
|
+
|
|
1242
|
+
```ts
|
|
1243
|
+
dao.onMessage((message: Message) => {
|
|
1244
|
+
const { name, payload } = message;
|
|
1245
|
+
switch (name) {
|
|
1246
|
+
...
|
|
1247
|
+
case Messages.EditorScroll: {
|
|
1248
|
+
if (playing === PLAY_STATUS.INITIAL) {
|
|
1249
|
+
dao.pausePlayback();
|
|
1250
|
+
setPlaying(PLAY_STATUS.PAUSE);
|
|
1251
|
+
}
|
|
1252
|
+
break;
|
|
1253
|
+
}
|
|
1254
|
+
...
|
|
1255
|
+
}
|
|
1256
|
+
});
|
|
1257
|
+
```
|
|
1258
|
+
|
|
1259
|
+
+ 新增提供禁止编辑`fileTree` 和 `editor` 配置属性
|
|
1260
|
+
|
|
1261
|
+
```ts
|
|
1262
|
+
daoPaasObj?.updateConfig({
|
|
1263
|
+
disableEditable: true,
|
|
1264
|
+
disableFileTreeAction: true,
|
|
1265
|
+
});
|
|
1266
|
+
```
|
|
1267
|
+
|
|
1268
|
+
+ 新增`console` 数据清除同步,并提供在跟随模式下 `console`, `shell` 切换事件派发进行跟随同步
|
|
1269
|
+
|
|
1270
|
+
```ts
|
|
1271
|
+
// 上报当前terminal聚焦点,console | shell.(跟随模式)
|
|
1272
|
+
syncXtermKey(xtermKey: IXtermKey)
|
|
1273
|
+
// 接受其他人切换控制台tab栏(跟随模式)
|
|
1274
|
+
dao.onMessage((message: Message) => {
|
|
1275
|
+
case Messages.UsersUpdated:
|
|
1276
|
+
...
|
|
1277
|
+
if (payload.xtermKey) {
|
|
1278
|
+
setActiveKey(payload.xtermKey);
|
|
1279
|
+
}
|
|
1280
|
+
break;
|
|
1281
|
+
}
|
|
1282
|
+
```
|
|
1283
|
+
|
|
1284
|
+
### 优化
|
|
1285
|
+
|
|
1286
|
+
+ 优化Editor滚动支持回放
|
|
1287
|
+
+ 优化`docker fail`重连
|
|
1288
|
+
+ 优化回放模式Editor 可以滚动滚动条
|
|
1289
|
+
+ 优化答题区域,选择区域默认选中首尾整行
|
|
1290
|
+
+ 优化支持回放模式,可以点击答题区域相关按钮事件
|
|
1291
|
+
+ 优化答题区域只能通过接口进行删除
|
|
1292
|
+
+ 优化非Web项目,浏览器组件也会刷新问题
|
|
1293
|
+
+ 优化当文件为不可编辑状态时,鼠标禁用以及文件不可编辑
|
|
1294
|
+
|
|
1295
|
+
### 修复
|
|
1296
|
+
|
|
1297
|
+
+ 修复设置答题区,`html`类型文件在浏览器中会显示相关标签文案
|
|
1298
|
+
+ 修复Shell中识别错误的文件路径,然后打开文件问题
|
|
1299
|
+
|
|
1300
|
+
## v0.9.83
|
|
1301
|
+
|
|
1302
|
+
### 新增
|
|
1303
|
+
|
|
1304
|
+
+ 新增LSP Tab 键进行补全
|
|
1305
|
+
|
|
1306
|
+
### 修复
|
|
1307
|
+
|
|
1308
|
+
+ 修复Editor选中内容背景会出现重叠的问题
|
|
1309
|
+
+ 修复浏览器页面切换后,重新回来, WS断连,给予断开链接提示
|
|
1310
|
+
+ 修复终端非有效文件路径可以点击问题
|
|
1311
|
+
|
|
1312
|
+
## v0.9.82
|
|
1313
|
+
|
|
1314
|
+
### 新增
|
|
1315
|
+
|
|
1316
|
+
+ 新增删除指定答题区域接口
|
|
1317
|
+
|
|
1318
|
+
```ts
|
|
1319
|
+
daoPaasObj?.removeAreaTextById(areaId, areaText);
|
|
1320
|
+
```
|
|
1321
|
+
|
|
1322
|
+
+ 新增只读、隐藏文件不能设置答题区限制
|
|
1323
|
+
|
|
1324
|
+
### 修复
|
|
1325
|
+
|
|
1326
|
+
+ 修复WS重连且成功后, 但是Docker停止,抛出重启Docker的事件
|
|
1327
|
+
+ 修复Docker重启后Terminal不换行问题
|
|
1328
|
+
+ 修复LSP重连成功后, 影响Editor协同问题
|
|
1329
|
+
+ 修复Web项目, Browser模块背景默认浅灰色问题
|
|
1330
|
+
+ 修复1024PaaS Demo UI问题
|
|
1331
|
+
|
|
1332
|
+
## v0.9.81
|
|
1333
|
+
|
|
1334
|
+
### 新增
|
|
1335
|
+
|
|
1336
|
+
+ 新增文件树右键弹出菜单操作功能
|
|
1337
|
+
|
|
1338
|
+
### 修复
|
|
1339
|
+
|
|
1340
|
+
+ 修复切题模式,反复切换,不支持LSP的语言WS一直重连之前环境WS问题
|
|
1341
|
+
+ 修复Editor已知光标问题
|
|
1342
|
+
+ 修复答题区域样式和LSP样式冲突问题
|
|
1343
|
+
|
|
1344
|
+
### 优化
|
|
1345
|
+
|
|
1346
|
+
+ 优化LSP链接后Editor会有闪动问题
|
|
1347
|
+
+ 优化DebugSupport状态机制
|
|
1348
|
+
|
|
1349
|
+
## v0.9.80
|
|
1350
|
+
|
|
1351
|
+
### 新增
|
|
1352
|
+
|
|
1353
|
+
+ 支持less、scss、sass 语法高亮
|
|
1354
|
+
+ 新增重启LSP服务接口
|
|
1355
|
+
|
|
1356
|
+
```ts
|
|
1357
|
+
daoPaasObj?.restartLSPServer();
|
|
1358
|
+
```
|
|
1359
|
+
|
|
1360
|
+
+ 新增1024code官网底部添加`copyright`信息
|
|
1361
|
+
+ 新增Editor 内置文案多语言配置
|
|
1362
|
+
|
|
1363
|
+
```ts
|
|
1364
|
+
{
|
|
1365
|
+
container: '.editor-section',
|
|
1366
|
+
item: 'Editor',
|
|
1367
|
+
props: {
|
|
1368
|
+
translate: {
|
|
1369
|
+
next: { // next 为Editor显示的文案, 如果没有配置对应的语言, 就用对应的Key作为文案
|
|
1370
|
+
[I18nLanguageType.ZH]: '下一个',
|
|
1371
|
+
[I18nLanguageType.EN]: 'next',
|
|
1372
|
+
},
|
|
1373
|
+
previous: {
|
|
1374
|
+
[I18nLanguageType.ZH]: '上一个',
|
|
1375
|
+
[I18nLanguageType.EN]: 'previous',
|
|
1376
|
+
},
|
|
1377
|
+
all: {
|
|
1378
|
+
[I18nLanguageType.ZH]: '全部',
|
|
1379
|
+
[I18nLanguageType.EN]: 'all',
|
|
1380
|
+
},
|
|
1381
|
+
},
|
|
1382
|
+
```
|
|
1383
|
+
|
|
1384
|
+
+ 新增Focus文件树,回车键触发重命名功能
|
|
1385
|
+
|
|
1386
|
+
### 修复
|
|
1387
|
+
|
|
1388
|
+
+ 修复文件树创建文件的时候,input可能会自动消失问题
|
|
1389
|
+
+ 修复Debug配置文件问题
|
|
1390
|
+
+ 修复Web项目,频繁刷新Iframe,导致白屏问题
|
|
1391
|
+
+ 修复`replaceAll`语法兼容问题
|
|
1392
|
+
|
|
1393
|
+
### 优化
|
|
1394
|
+
|
|
1395
|
+
+ 优化在未显示隐藏文件的开关打开前,也可以创建隐藏文件,但是有相应的提示
|
|
1396
|
+
+ 优化Windows 系统上, Editor字体显示问题
|
|
1397
|
+
+ 优化LSP WS消息消费机制
|
|
1398
|
+
+ 优化`useragent` 离线处理问题
|
|
1399
|
+
+ 优化Editor回车,自动解析上下文对其缩进
|
|
1400
|
+
+ 优化Editor多行选中时,Tab缩进功能
|
|
1401
|
+
+ 优化Editor在光标不在起始位置,Tab缩进功能
|
|
1402
|
+
+ 优化Editor `ctrl+x`进行剪切时,光标位置问题
|
|
1403
|
+
|
|
1404
|
+
## v0.9.79
|
|
1405
|
+
|
|
1406
|
+
### 修复
|
|
1407
|
+
|
|
1408
|
+
+ 修复文件树创建文件,文件名能只为空格问题
|
|
1409
|
+
+ 修复`console` 输出换回问题
|
|
1410
|
+
+ 修复切换语言/题目,之前的`LSP` WS还一直尝试重连之前的链接报错问题
|
|
1411
|
+
+ 修复IDEServer WS在熄屏后,重新打开,链接失效,没有给业务方抛出`websocket broken` 消息
|
|
1412
|
+
|
|
1413
|
+
## v0.9.78
|
|
1414
|
+
|
|
1415
|
+
### 新增
|
|
1416
|
+
|
|
1417
|
+
+ 新增Debug组件
|
|
1418
|
+
|
|
1419
|
+
```ts
|
|
1420
|
+
components.push({
|
|
1421
|
+
container: '.browser-section',
|
|
1422
|
+
item: 'Debug',
|
|
1423
|
+
props: {},
|
|
1424
|
+
});
|
|
1425
|
+
```
|
|
1426
|
+
|
|
1427
|
+
+ 新增初始化参数,是否开启debug模式isOpenDebugMode
|
|
1428
|
+
|
|
1429
|
+
```ts
|
|
1430
|
+
new DaoPaaS({ isOpenDebugMode:true })
|
|
1431
|
+
```
|
|
1432
|
+
|
|
1433
|
+
+ 新增debug启动事件
|
|
1434
|
+
|
|
1435
|
+
```ts
|
|
1436
|
+
daoPaasObj?.debugRun() // 启动事件
|
|
1437
|
+
// debug结束事件与之前的结束事件相同
|
|
1438
|
+
daoPaasObj?.stopPlayground()
|
|
1439
|
+
```
|
|
1440
|
+
|
|
1441
|
+
+ 暴露`Debug`信息(目前只支持是否支持debug模式)
|
|
1442
|
+
|
|
1443
|
+
```ts
|
|
1444
|
+
dao.onMessage((message: Message) => {
|
|
1445
|
+
...
|
|
1446
|
+
switch (name) {
|
|
1447
|
+
case Messages.Debug:
|
|
1448
|
+
payload.debugSupport // 是否支持debug模式
|
|
1449
|
+
})
|
|
1450
|
+
```
|
|
1451
|
+
|
|
1452
|
+
### 修复
|
|
1453
|
+
|
|
1454
|
+
+ 修复切题模式或切换编程语言复制会出现多个内容问题
|
|
1455
|
+
|
|
1456
|
+
## v0.9.77
|
|
1457
|
+
|
|
1458
|
+
### 修复
|
|
1459
|
+
|
|
1460
|
+
+ 修复切题后,依然重连上次的LSP的问题
|
|
1461
|
+
|
|
1462
|
+
## v0.9.76
|
|
1463
|
+
|
|
1464
|
+
### 修复
|
|
1465
|
+
|
|
1466
|
+
+ 修复切题模式或切换编程语言复制会出现多个内容问题
|
|
1467
|
+
+ 优化shell 文件链接问题
|
|
1468
|
+
|
|
1469
|
+
## v0.9.75
|
|
1470
|
+
|
|
1471
|
+
### 修复
|
|
1472
|
+
|
|
1473
|
+
+ 移除跟Markdown 解析相关无用的字体文件引用
|
|
1474
|
+
+ 修复`Editor`标题可能存在为空,但是`Editor`有打开文件的问题
|
|
1475
|
+
|
|
1476
|
+
## v0.9.74
|
|
1477
|
+
|
|
1478
|
+
### 修复
|
|
1479
|
+
|
|
1480
|
+
+ 修复文件重命名,相同名称没有错误提示问题
|
|
1481
|
+
|
|
1482
|
+
## v0.9.73
|
|
1483
|
+
|
|
1484
|
+
### 优化
|
|
1485
|
+
|
|
1486
|
+
+ 优化CICD流程(Paas Demo 和 IDEServer 独立部署,并且添加CICD的流程)
|
|
1487
|
+
|
|
1488
|
+
### 修复
|
|
1489
|
+
|
|
1490
|
+
+ 修复回放功能脚本报错问题
|
|
1491
|
+
+ 修复LSP的相关问题
|
|
1492
|
+
+ 修复文件重命名导致输入框消失问题
|
|
1493
|
+
+ 修复设置答题区域功能后,删除编辑器内容报错问题
|
|
1494
|
+
|
|
1495
|
+
## v0.9.72
|
|
1496
|
+
|
|
1497
|
+
### 新增
|
|
1498
|
+
|
|
1499
|
+
+ 新增插入指定代码块到指定区域功能
|
|
1500
|
+
|
|
1501
|
+
```ts
|
|
1502
|
+
// 如果给指定问题区域插入代码:id则是指定问题ID,如果给指定区域插入代码, 则ID传入‘’空字符串, lineNum 支持:TOP,BOTTOM,和数字(数字为指定的行号)
|
|
1503
|
+
daoPaasObj?.insertTextById(id, lineText, lineNum);
|
|
1504
|
+
```
|
|
1505
|
+
|
|
1506
|
+
+ 新增针对跟随模式对文件夹展开和关闭功能
|
|
1507
|
+
|
|
1508
|
+
### 修复
|
|
1509
|
+
|
|
1510
|
+
+ 修复WS重连后, Editor可能编辑内容不保存问题
|
|
1511
|
+
+ 修复切题或者切换编程语言,复制文本重复问题
|
|
1512
|
+
|
|
1513
|
+
## v0.9.71
|
|
1514
|
+
|
|
1515
|
+
### 新增
|
|
1516
|
+
|
|
1517
|
+
+ 新增重启服务接口
|
|
1518
|
+
|
|
1519
|
+
```ts
|
|
1520
|
+
const restartServer = async () => {
|
|
1521
|
+
const res = await daoPaasObj?.restartServer();
|
|
1522
|
+
if (res?.status) {
|
|
1523
|
+
messageBox.success(res.message);
|
|
1524
|
+
} else {
|
|
1525
|
+
messageBox.error(res?.message);
|
|
1526
|
+
}
|
|
1527
|
+
};
|
|
1528
|
+
```
|
|
1529
|
+
|
|
1530
|
+
+ 新增文档上下文单词智能提示(解决LSP服务启动慢,智能提示问题)
|
|
1531
|
+
|
|
1532
|
+
### 修复
|
|
1533
|
+
|
|
1534
|
+
+ 修复`shell`命令行不换行问题
|
|
1535
|
+
+ 修复编辑器协同问题
|
|
1536
|
+
|
|
1537
|
+
## v0.9.70
|
|
1538
|
+
|
|
1539
|
+
### 新增
|
|
1540
|
+
|
|
1541
|
+
+ 支持对文件树指定文件调整文字颜色的功能。(文件路径支持模糊匹配)
|
|
1542
|
+
|
|
1543
|
+
```ts
|
|
1544
|
+
daoPaasObj?.setFileStyle({
|
|
1545
|
+
paths: ['a', '*.md', '**/index.css', 'a/b/c.js', '*/c'],
|
|
1546
|
+
styles: {
|
|
1547
|
+
title: 'customizeTitle', // 对应文案的样式名称(业务方可以自定义名称)
|
|
1548
|
+
icon: 'customizeIcon', // 对应ICON的样式名称(业务方可以自定义名称)
|
|
1549
|
+
arrowIcon: 'customizeArrowIcon', // 对应Arrow ICON的样式名称(业务方可以自定义名称)
|
|
1550
|
+
},
|
|
1551
|
+
});
|
|
1552
|
+
```
|
|
1553
|
+
|
|
1554
|
+
### 修复
|
|
1555
|
+
|
|
1556
|
+
+ 修复点击停止运行后,浏览器还在工作
|
|
1557
|
+
+ 修复文件树重命名,子文件会重复显示
|
|
1558
|
+
+ LSP在WS启动缓慢的情况下,会存在文件未打开错误
|
|
1559
|
+
+ 修复回放功能相关问题(系列新功能影响到回放)
|
|
1560
|
+
|
|
1561
|
+
### 优化
|
|
1562
|
+
|
|
1563
|
+
+ 优化`reloadI18nResources`方法,支持一次性设置多个语言内容
|
|
1564
|
+
|
|
1565
|
+
```ts
|
|
1566
|
+
// https://snyk.io/advisor/npm-package/i18next/functions/i18next.addResources 用法
|
|
1567
|
+
daoPaasObj?.reloadI18nResources(lngOrSource: Array<I18nResourcesType> | I18nLanguageType,resource?: any)
|
|
1568
|
+
```
|
|
1569
|
+
|
|
1570
|
+
+ 优化高亮主题样式
|
|
1571
|
+
|
|
1572
|
+
## v0.9.69
|
|
1573
|
+
|
|
1574
|
+
### 新增
|
|
1575
|
+
|
|
1576
|
+
+ 答题区支持“修改代码”模式
|
|
1577
|
+
+ 新增`PaaS`平台,文案可以自定义功能接口,接口使用如下:
|
|
1578
|
+
|
|
1579
|
+
```js
|
|
1580
|
+
daoPaasObj?.reloadI18nResources(I18nLanguageType.ZH, {
|
|
1581
|
+
file_tree_create_new_file: '哈哈哈', // file_tree_create_new_file:要重命名的Key
|
|
1582
|
+
});
|
|
1583
|
+
```
|
|
1584
|
+
|
|
1585
|
+
### 修复
|
|
1586
|
+
|
|
1587
|
+
+ 修复大文件打开,导致浏览器崩溃问题
|
|
1588
|
+
+ 修复在协同编辑文件,如重命名,删除操作,造成JS报错问题
|
|
1589
|
+
+ 修复文件树重命名,点击空白区域无法自动重命名问题
|
|
1590
|
+
+ 修复停止运行,但是浏览器还在运行工作问题
|
|
1591
|
+
|
|
1592
|
+
## v0.9.68
|
|
1593
|
+
|
|
1594
|
+
### 新增
|
|
1595
|
+
|
|
1596
|
+
+ 新增ctrl+p(mac是command+p)按文件名搜索文件快捷键功能
|
|
1597
|
+
+ 新增一键收起文件树功能
|
|
1598
|
+
+ 文件树头像位置优化
|
|
1599
|
+
+ 新增修改xterm样式方式配置
|
|
1600
|
+
|
|
1601
|
+
```ts
|
|
1602
|
+
new DaoPaaS({
|
|
1603
|
+
xtermStyle: XtermStyleType
|
|
1604
|
+
...
|
|
1605
|
+
})
|
|
1606
|
+
```
|
|
1607
|
+
|
|
1608
|
+
+ 新增编辑器快捷键操作
|
|
1609
|
+
|
|
1610
|
+
### 修复
|
|
1611
|
+
|
|
1612
|
+
+ 优化lsp重连机制,限制最大重连次数,和IDEServer的socket重连次数保持一致
|
|
1613
|
+
+ 优化支持markdown表格解析以及图片不换行
|
|
1614
|
+
+ 兼容smb旧版本的markdown数学公式语法解析
|
|
1615
|
+
|
|
1616
|
+
```ts
|
|
1617
|
+
new DaoPaaS({
|
|
1618
|
+
// true表示支持旧的`$ $`语法,默认false
|
|
1619
|
+
isLegacyMarkdownMath:true
|
|
1620
|
+
...
|
|
1621
|
+
})
|
|
1622
|
+
```
|
|
1623
|
+
|
|
1624
|
+
+ 优化LSP服务在离开IDE Page 还在尝试重连问题
|
|
1625
|
+
+ 修复GUI项目,在刷新页面后, 显示浏览器URL等组件问题
|
|
1626
|
+
+ 修复WS重连后,但是Docker没有自动重启问题
|
|
1627
|
+
|
|
1628
|
+
## v0.9.67
|
|
1629
|
+
|
|
1630
|
+
### 修复
|
|
1631
|
+
|
|
1632
|
+
+ 修复编辑器协同问题
|
|
1633
|
+
|
|
1634
|
+
## v0.9.65
|
|
1635
|
+
|
|
1636
|
+
### 优化
|
|
1637
|
+
|
|
1638
|
+
+ 优化LSP服务在离开页面后,还在尝试重连问题
|
|
1639
|
+
|
|
1640
|
+
## v0.9.64
|
|
1641
|
+
|
|
1642
|
+
### 优化
|
|
1643
|
+
|
|
1644
|
+
+ 优化GUI项目UI显示(底部白色边框处理)
|
|
1645
|
+
|
|
1646
|
+
## v0.9.63
|
|
1647
|
+
|
|
1648
|
+
### 修复
|
|
1649
|
+
|
|
1650
|
+
+ 修复shell终端操作文件,不及时更新文件树的问题
|
|
1651
|
+
+ 修复离线改为在线后,缓存数据不更新到后端的问题
|
|
1652
|
+
|
|
1653
|
+
## v0.9.62
|
|
1654
|
+
|
|
1655
|
+
### 修复
|
|
1656
|
+
|
|
1657
|
+
+ 修复字体文件本地引用问题
|
|
1658
|
+
|
|
1659
|
+
## v0.9.60
|
|
1660
|
+
|
|
1661
|
+
### 优化
|
|
1662
|
+
|
|
1663
|
+
+ 优化构建工具针对静态资源打包问题
|
|
1664
|
+
|
|
1665
|
+
## v0.9.59
|
|
1666
|
+
|
|
1667
|
+
### 优化
|
|
1668
|
+
|
|
1669
|
+
+ SDK ICON样式名称优化,以`BEM`方式进行命名,如: `dao42__icon--refresh`
|
|
1670
|
+
+ 优化`Editor`大文件在新版本中滚动出现卡顿的现象
|
|
1671
|
+
|
|
1672
|
+
## v0.9.58
|
|
1673
|
+
|
|
1674
|
+
### 新增
|
|
1675
|
+
|
|
1676
|
+
+ 新增答题区域功能,右键菜单配置方式(目前只支持:【implement,update】两种菜单Action):
|
|
1677
|
+
|
|
1678
|
+
```ts
|
|
1679
|
+
{
|
|
1680
|
+
container: '.editor-section',
|
|
1681
|
+
item: 'Editor',
|
|
1682
|
+
props: {
|
|
1683
|
+
showHiddenCode, // 是否显示隐藏代码:面试官视角,应该是true, 候选人视角:false
|
|
1684
|
+
freezeCode, // 是否让设置的代码区域不能编辑, 面试官视角,应该是false,候选人视角:true
|
|
1685
|
+
contextMenu: contextMenu
|
|
1686
|
+
? {
|
|
1687
|
+
handleSelect: (e, callback) => {
|
|
1688
|
+
messageBox.info(JSON.stringify(e));
|
|
1689
|
+
const id = Math.floor(Math.random() * 1000);
|
|
1690
|
+
callback?.({
|
|
1691
|
+
id,
|
|
1692
|
+
});
|
|
1693
|
+
},
|
|
1694
|
+
items: [
|
|
1695
|
+
{
|
|
1696
|
+
action: 'implement',
|
|
1697
|
+
text: '实现功能',
|
|
1698
|
+
icon: 'add-question',
|
|
1699
|
+
iconLabel: '答题区',
|
|
1700
|
+
commentStartLabel: '请在此实现代码功能',
|
|
1701
|
+
// commentTips: '请在此实现代码功能',
|
|
1702
|
+
hideCodeBlock: true,
|
|
1703
|
+
},
|
|
1704
|
+
{
|
|
1705
|
+
action: 'update',
|
|
1706
|
+
text: '修改代码',
|
|
1707
|
+
icon: 'list-mode',
|
|
1708
|
+
iconLabel: '编辑区',
|
|
1709
|
+
commentStartLabel: '请在此修复代码',
|
|
1710
|
+
// commentTips: '请在此修复代码',
|
|
1711
|
+
hideCodeBlock: false,
|
|
1712
|
+
},
|
|
1713
|
+
],
|
|
1714
|
+
}
|
|
1715
|
+
: null,
|
|
1716
|
+
},
|
|
1717
|
+
},
|
|
1718
|
+
```
|
|
1719
|
+
|
|
1720
|
+
+ 新增代码块ICON点击事件:
|
|
1721
|
+
|
|
1722
|
+
```ts
|
|
1723
|
+
dao.onMessage((message: Message) => {
|
|
1724
|
+
const { name, payload } = message;
|
|
1725
|
+
let status: PlaygroundStatus;
|
|
1726
|
+
let dockerStatus: DockerStatus;
|
|
1727
|
+
let lspStatus: LspStatusEnum;
|
|
1728
|
+
switch (name) {
|
|
1729
|
+
...
|
|
1730
|
+
case Messages.LineAction: {
|
|
1731
|
+
|
|
1732
|
+
messageBox.info(JSON.stringify(payload));
|
|
1733
|
+
break;
|
|
1734
|
+
}
|
|
1735
|
+
}
|
|
1736
|
+
```
|
|
1737
|
+
|
|
1738
|
+
+ 新增插入代码块功能(根据业务ID插入)
|
|
1739
|
+
|
|
1740
|
+
```ts
|
|
1741
|
+
//lineId:业务ID,lineText:要插入的字符
|
|
1742
|
+
daoPaasObj?.insertTextById(lineId, lineText);
|
|
1743
|
+
```
|
|
1744
|
+
|
|
1745
|
+
+ 新增冻结非设置区域代码功能接口:
|
|
1746
|
+
|
|
1747
|
+
```ts
|
|
1748
|
+
daoPaasObj?.switchFreezeCode();
|
|
1749
|
+
```
|
|
1750
|
+
|
|
1751
|
+
+ 新增由业务方控制是否将操作数据写入CRDT,配置参数如下:
|
|
1752
|
+
|
|
1753
|
+
```ts
|
|
1754
|
+
const dao = new DaoPaaS({
|
|
1755
|
+
...
|
|
1756
|
+
isInsertCrdt: false, //默认值为:true
|
|
1757
|
+
...
|
|
1758
|
+
});
|
|
1759
|
+
```
|
|
1760
|
+
|
|
1761
|
+
+ `onMessage`事件新增`ApplicationAvailable`事件类型,用于监听项目运行成功的事件
|
|
1762
|
+
|
|
1763
|
+
### 优化
|
|
1764
|
+
|
|
1765
|
+
+ 优化文件树构建,限制文件夹最多10层目录,每层文件夹限制最多30个文件
|
|
1766
|
+
|
|
1767
|
+
### 修复
|
|
1768
|
+
|
|
1769
|
+
+ 修复markdown语法解析错误、初次挂载offsetTop为undefined报错
|
|
1770
|
+
|
|
1771
|
+
## v0.9.57
|
|
1772
|
+
|
|
1773
|
+
### 修复
|
|
1774
|
+
|
|
1775
|
+
+ 修复icon样式问题
|
|
1776
|
+
|
|
1777
|
+
## v0.9.56
|
|
1778
|
+
|
|
1779
|
+
### 新增
|
|
1780
|
+
|
|
1781
|
+
+ 新增`markdown`预览模式功能,提供`MarkdownPreview`类型组件
|
|
1782
|
+
|
|
1783
|
+
```ts
|
|
1784
|
+
// 组件schema配置
|
|
1785
|
+
{
|
|
1786
|
+
container: '.browser-section',
|
|
1787
|
+
item: 'MarkdownPreview',
|
|
1788
|
+
props: {
|
|
1789
|
+
isRender: true, // 初次是否挂载(true标识为初次挂载|false为不挂载)
|
|
1790
|
+
},
|
|
1791
|
+
},
|
|
1792
|
+
|
|
1793
|
+
dao.onMessage((message: Message) =>{
|
|
1794
|
+
//获取到选中的文件路径
|
|
1795
|
+
case Messages.FileInfo: {
|
|
1796
|
+
// payload.openedPath 文件路径(可用来获取文件后缀)
|
|
1797
|
+
}
|
|
1798
|
+
...
|
|
1799
|
+
})
|
|
1800
|
+
// 控制预览组件的 挂载|销毁 - flag为true表示挂载
|
|
1801
|
+
daoPaasObj?.toggleMarkDownPreview(flag);
|
|
1802
|
+
```
|
|
1803
|
+
|
|
1804
|
+
+ 新增是否显示隐藏文件的功能
|
|
1805
|
+
+ 新增超过16兆的文件不写入crdt,暂时不支持预览
|
|
1806
|
+
+ 编辑器交互优化,新增待更新的提示,点击运行时调用的`runPlayground`方法,返回了promise,如果有还未完成的写入,会返回reject
|
|
1807
|
+
|
|
1808
|
+
### 修复
|
|
1809
|
+
|
|
1810
|
+
+ 优化编辑器和文件树的UI展示风格
|
|
1811
|
+
+ 修复文件树锁住和控制文件是否隐藏的报错问题
|
|
1812
|
+
+ 修复协同报错的bug
|
|
1813
|
+
+ 修复IDEServer 日志全局截取500字符
|
|
1814
|
+
|
|
1815
|
+
## v0.9.55
|
|
1816
|
+
|
|
1817
|
+
## 优化
|
|
1818
|
+
|
|
1819
|
+
+ 优化MongoDB 表`HistoryCRDTSchema` 索引改为`hashed`类型
|
|
1820
|
+
|
|
1821
|
+
## 修复
|
|
1822
|
+
|
|
1823
|
+
+ 使用`\t`制表符作为`tab`缩进
|
|
1824
|
+
|
|
1825
|
+
## v0.9.54
|
|
1826
|
+
|
|
1827
|
+
### 新增
|
|
1828
|
+
|
|
1829
|
+
+ 优化浏览器组件UI功能
|
|
1830
|
+
+ 新增IDEServer 捕获全局异常,Node服务不重启
|
|
1831
|
+
+ 优化IDEServer
|
|
1832
|
+
+ lsp新增断线重连机制,断线后的状态会从运行中变为连接中
|
|
1833
|
+
+ 编辑器新增自动换行配置,默认会自动化换行,新增缩进方式的配置,默认以空格作为缩进,调用方式如下
|
|
1834
|
+
|
|
1835
|
+
```js
|
|
1836
|
+
daoPaas.updateGlobalConfig({
|
|
1837
|
+
//...
|
|
1838
|
+
editorWordWrap: true, // or false
|
|
1839
|
+
editorIndentMode: 'space' // or tab
|
|
1840
|
+
//...
|
|
1841
|
+
})
|
|
1842
|
+
```
|
|
1843
|
+
|
|
1844
|
+
+ 新增`terminal`加载进度条UI效果
|
|
1845
|
+
+ `terminal`和`console`支持通过点击文件路径打开文件树内的文件
|
|
1846
|
+
+ 新增 `terminal` 语法高亮
|
|
1847
|
+
+ 支持`Elixir` 代码高亮
|
|
1848
|
+
+ 语言国际化功能,目前仅支持`ZH(中文)|EN(英文)`(默认中文)
|
|
1849
|
+
|
|
1850
|
+
```ts
|
|
1851
|
+
new DaoPaaS ({
|
|
1852
|
+
...
|
|
1853
|
+
i18nLanguage:I18nLanguageType.ZH // i18nLanguage 如果不传递,则默认为: ZH
|
|
1854
|
+
})
|
|
1855
|
+
// 手动调用接口进行语言切换
|
|
1856
|
+
daoPaasObj?.switchI18nLanguage(lang:I18nLanguageType);
|
|
1857
|
+
// 国际化支持语言类型
|
|
1858
|
+
export enum I18nLanguageType {
|
|
1859
|
+
/** 中文 */
|
|
1860
|
+
ZH = 'ZH',
|
|
1861
|
+
/** 英文 */
|
|
1862
|
+
EN = 'EN',
|
|
1863
|
+
}
|
|
1864
|
+
```
|
|
1865
|
+
|
|
1866
|
+
### 修复
|
|
1867
|
+
|
|
1868
|
+
+ 修复新题型切换语言接口文件不存在问题
|
|
1869
|
+
+ 修复Webscoket 长链接不稳定问题
|
|
1870
|
+
+ 解决编辑器协同问题(undo,redo,暂时屏蔽掉了,再下个版本再上
|
|
1871
|
+
+ 修复Ide server中获取lock状态时`data.time`为`undefined`报错
|
|
1872
|
+
|
|
1873
|
+
## v0.9.52
|
|
1874
|
+
|
|
1875
|
+
## 修复
|
|
1876
|
+
|
|
1877
|
+
+ 修复代码无法同步和保存问题
|
|
1878
|
+
|
|
1879
|
+
## v0.9.51
|
|
1880
|
+
|
|
1881
|
+
### 新增
|
|
1882
|
+
|
|
1883
|
+
+ 新增统计数据获取接口`statisticsPlaybackData`,使用方式如下:
|
|
1884
|
+
|
|
1885
|
+
```js
|
|
1886
|
+
const res = await daoPaasObj?.statisticsPlaybackData(
|
|
1887
|
+
eventName,
|
|
1888
|
+
questionIds.split(',').map((item) => +item),
|
|
1889
|
+
);
|
|
1890
|
+
```
|
|
1891
|
+
>
|
|
1892
|
+
> 1. `eventName` 统计的事件名称,如:`editor`, `fileTree`...
|
|
1893
|
+
> 2. `questionIds` 表示要统计的问题ID集合,如`[1,2,3]`,表示汇总三个问题的数据
|
|
1894
|
+
> 3. 返回的数据`data`是一个问题和统计结果的对象,问题ID作为对象ID,如:
|
|
1895
|
+
>
|
|
1896
|
+
```js
|
|
1897
|
+
res = {
|
|
1898
|
+
status: 'success',
|
|
1899
|
+
data: {
|
|
1900
|
+
'1': 120,
|
|
1901
|
+
'2': 211,
|
|
1902
|
+
'3': 999
|
|
1903
|
+
}
|
|
1904
|
+
}
|
|
1905
|
+
```
|
|
1906
|
+
|
|
1907
|
+
### 修复
|
|
1908
|
+
|
|
1909
|
+
+ 修复切题模式,无法新建文件并且编辑文件不触发文件更新问题
|
|
1910
|
+
|
|
1911
|
+
## v0.9.50
|
|
1912
|
+
|
|
1913
|
+
### 新增
|
|
1914
|
+
|
|
1915
|
+
+ 新增切换编程语言接口`daoPaasObj?.switchLanguage`,返回`Promise`,ß使用方式如下:
|
|
1916
|
+
|
|
1917
|
+
```js
|
|
1918
|
+
const res = await daoPaasObj?.switchLanguage(
|
|
1919
|
+
languageType,
|
|
1920
|
+
languageValue,
|
|
1921
|
+
languageFileName,
|
|
1922
|
+
);
|
|
1923
|
+
messageBox[res?.status ? 'info' : 'error'](res?.message);
|
|
1924
|
+
```
|
|
1925
|
+
>
|
|
1926
|
+
> 1. languageType:要切换的文件类型:支持:【html, js, css】
|
|
1927
|
+
> 2. languageValue: 要切换的目标语言,每种文件类型支持的目标语言映射表:
|
|
1928
|
+
>
|
|
1929
|
+
```js
|
|
1930
|
+
{
|
|
1931
|
+
HTML: ['html', 'pug', 'hbs', 'md'],
|
|
1932
|
+
CSS: ['css', 'less', 'scss', 'sass', 'styl'],
|
|
1933
|
+
JS: ['js', 'ts', 'coffee'],
|
|
1934
|
+
}
|
|
1935
|
+
```
|
|
1936
|
+
>
|
|
1937
|
+
> 3. languageFileName: 修改对应的文件名称,如: `index.html`, `index.js`, `index.ts`
|
|
1938
|
+
|
|
1939
|
+
+ 新增向`index.html`文件中注入CDN资源,返回`Promsie`,使用方式如下:
|
|
1940
|
+
|
|
1941
|
+
```js
|
|
1942
|
+
const res = await daoPaasObj?.addCDNSource(
|
|
1943
|
+
cdnUrlType,
|
|
1944
|
+
cdnUrlPath,
|
|
1945
|
+
cdnUrlFileName,
|
|
1946
|
+
);
|
|
1947
|
+
messageBox[res?.status ? 'info' : 'error'](res?.message);
|
|
1948
|
+
```
|
|
1949
|
+
>
|
|
1950
|
+
> 1. cdnUrlType: 要注入CDN资源的类型,支持: 【js, css】
|
|
1951
|
+
> 2. cdnUrlPath: 要注入的CDN的具体URL地址
|
|
1952
|
+
> 3. cdnUrlFileName: 要注入CDN资源的文件名称,目前只支持`index.html`文件
|
|
1953
|
+
|
|
1954
|
+
+ 支持全局配置,目前可设置默认缩进的大小和编辑器的模式,调用方式如下
|
|
1955
|
+
|
|
1956
|
+
```javascript
|
|
1957
|
+
// ...
|
|
1958
|
+
dao.updateGlobalConfig({
|
|
1959
|
+
editorMode: 'default', // 支持的参数为 default | vim | emacs
|
|
1960
|
+
editorTabSize: 2,
|
|
1961
|
+
})
|
|
1962
|
+
// ...
|
|
1963
|
+
```
|
|
1964
|
+
|
|
1965
|
+
**注意**: 以上配置的属性都是可选项,若不设置会采用默认的设置,默认编辑模式就是文本编辑模式,缩进默认是2,若之前设置过,则会使用之前的设置
|
|
1966
|
+
|
|
1967
|
+
+ 优化提示交互体验,在切题时,需要调用`reload`方法,该方法可以重置一些loading状态和初始数据,方法接收一个数组为参数,不传默认为`['Editor', 'Tree']`, 该方法一经调用,便会清空当前的文件树和编辑器,进入组件的loading状态,避免出现已经切题,上层已经loading,SDK依然显示旧数据的情况
|
|
1968
|
+
|
|
1969
|
+
```javascript
|
|
1970
|
+
dao.reload()
|
|
1971
|
+
```
|
|
1972
|
+
|
|
1973
|
+
+ 优化IDE server新增fileRootId,编辑器的OT相关操作和文件树操作的相关操作,会携带fileRootId参数到IDE Server,IDE Server会判断传进来的fileRootId是否和服务器匹配,不匹配就会放弃后面的操作
|
|
1974
|
+
+ 添加处理IDE Server的错误,通过机器人发送到企业微信群进行错误告警
|
|
1975
|
+
+ 优化编辑器组件通过fileRootId与当前文件路径作为key来缓存state数据,若能命中缓存,将不会再生成新的协同插件,而是采用之前的缓存,来避免偶发的多次syncOt操作
|
|
1976
|
+
|
|
1977
|
+
## v0.9.49
|
|
1978
|
+
|
|
1979
|
+
### 新增
|
|
1980
|
+
|
|
1981
|
+
+ 回放功能,事件`PlaybackInfo` 暴露所有自定义帧数据`customize`,并计算每一帧数据相对于第一帧数据的时间`costTime`
|
|
1982
|
+
|
|
1983
|
+
### 修复
|
|
1984
|
+
|
|
1985
|
+
+ 修复回放功能,拉动滚动条,再点击播放按钮问题
|
|
1986
|
+
+ 修复回放功能,功能面板如Editor,不能拉动滚动条问题
|
|
1987
|
+
|
|
1988
|
+
## v0.9.48
|
|
1989
|
+
|
|
1990
|
+
### 新增
|
|
1991
|
+
|
|
1992
|
+
+ 回放功能,新增停止回放接口
|
|
1993
|
+
|
|
1994
|
+
```js
|
|
1995
|
+
daoPaasObj.stopPlayback();
|
|
1996
|
+
```
|
|
1997
|
+
|
|
1998
|
+
+ 回放功能,在回放过程中,新增广播自定义数据帧事件
|
|
1999
|
+
|
|
2000
|
+
```js
|
|
2001
|
+
dao.onMessage((message: Message) => {
|
|
2002
|
+
const { name, payload } = message;
|
|
2003
|
+
setSpinLoading(false);
|
|
2004
|
+
switch (name) {
|
|
2005
|
+
....
|
|
2006
|
+
case 'customize': {
|
|
2007
|
+
// 可以根据:payload.data.action 来判断具体是哪种自定义数据帧
|
|
2008
|
+
messageBox.success('Customize Event:', payload.data.action);
|
|
2009
|
+
console.log(payload);
|
|
2010
|
+
break;
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
});
|
|
2014
|
+
```
|
|
2015
|
+
|
|
2016
|
+
+ 新增数据帧前后两帧数据间隔时长超过指定的阈值,广播事件,自定义事件名称跟上面一样:`customize`,其`action` 为: `timespanEvent`
|
|
2017
|
+
|
|
2018
|
+
+ 将上述具体时间间隔的数值通过初始化`DaoPassS`对象进行配置:
|
|
2019
|
+
|
|
2020
|
+
```js
|
|
2021
|
+
const dao = new DaoPaaS({
|
|
2022
|
+
paasDomain: process.env.PAAS_MANAGER_API_ORIGIN,
|
|
2023
|
+
tenantId: '3',
|
|
2024
|
+
ticket: dataRes?.ticket,
|
|
2025
|
+
triggerEventForMaxTimespan: 1000 * 2, // 配置该属性,如果不配置该属性值,则不会广播事件
|
|
2026
|
+
userInfo: {
|
|
2027
|
+
username: DemoUserInfo.name,
|
|
2028
|
+
},
|
|
2029
|
+
});
|
|
2030
|
+
```
|
|
2031
|
+
|
|
2032
|
+
+ 将`websocket`断开重连的尝试次数,控制交由业务方进行控制,如果业务方不配置, 则默认为重连**5次**,则广播对应的事件
|
|
2033
|
+
|
|
2034
|
+
```js
|
|
2035
|
+
const dao = new DaoPaaS({
|
|
2036
|
+
paasDomain: process.env.PAAS_MANAGER_API_ORIGIN,
|
|
2037
|
+
tenantId: '3',
|
|
2038
|
+
ticket: dataRes?.ticket,
|
|
2039
|
+
reconnectMaxTimes: 6, // 配置改属性,如果不配置,则默认为最大重试5次
|
|
2040
|
+
userInfo: {
|
|
2041
|
+
username: DemoUserInfo.name,
|
|
2042
|
+
},
|
|
2043
|
+
});
|
|
2044
|
+
```
|
|
2045
|
+
|
|
2046
|
+
+ 新增拖拽文件或文件夹到指定目录
|
|
2047
|
+
+ 新增拖拽文件或文件夹并上传到指定目录
|
|
2048
|
+
+ 新增下载项目文件
|
|
2049
|
+
|
|
2050
|
+
```js
|
|
2051
|
+
dao.mapRender([
|
|
2052
|
+
...
|
|
2053
|
+
{
|
|
2054
|
+
container: '.tree-section',
|
|
2055
|
+
item: 'Tree',
|
|
2056
|
+
props: {
|
|
2057
|
+
...
|
|
2058
|
+
fileRootActions: [
|
|
2059
|
+
{
|
|
2060
|
+
label: '下载项目',
|
|
2061
|
+
onClick: () => {
|
|
2062
|
+
getProjectCode(playgroundId).then((res) => {
|
|
2063
|
+
const blob = new Blob([res.data]);
|
|
2064
|
+
const url = window.URL.createObjectURL(blob);
|
|
2065
|
+
const ele = document.createElement('a');
|
|
2066
|
+
ele.style.display = 'none';
|
|
2067
|
+
ele.href = url;
|
|
2068
|
+
ele.download = 'download.zip'; // 下载文件夹的名称业务方进行自定义, 后缀可以从res header 获取
|
|
2069
|
+
document.body.appendChild(ele);
|
|
2070
|
+
ele.click();
|
|
2071
|
+
ele.remove();
|
|
2072
|
+
});
|
|
2073
|
+
},
|
|
2074
|
+
},
|
|
2075
|
+
],
|
|
2076
|
+
...
|
|
2077
|
+
},
|
|
2078
|
+
},
|
|
2079
|
+
]);
|
|
2080
|
+
```
|
|
2081
|
+
|
|
2082
|
+
## 修复
|
|
2083
|
+
|
|
2084
|
+
+ 修复回放模式, 打开文件但是没有聚焦文件,导致在回放过程中文件为空
|
|
2085
|
+
|
|
2086
|
+
## v0.9.47
|
|
2087
|
+
|
|
2088
|
+
### 新增
|
|
2089
|
+
|
|
2090
|
+
+ 回放模式样式优化(鼠标状态为:`not-allowed`)
|
|
2091
|
+
+ 回放模式,拉动播放滚动条,自动显示对应的帧的数据
|
|
2092
|
+
|
|
2093
|
+
### 修复
|
|
2094
|
+
|
|
2095
|
+
+ 修复代码编写时同一层级下出现两个相同的文件的问题
|
|
2096
|
+
+ 修复偶现文件重命名失败问题
|
|
2097
|
+
|
|
2098
|
+
## v0.9.46
|
|
2099
|
+
|
|
2100
|
+
### 新增
|
|
2101
|
+
|
|
2102
|
+
+ 支持图形化界面展示功能
|
|
2103
|
+
+ 支持Websocket 连接失败,重连指定次数(5次)后,仍连接失败, 广播`connectionBroken`事件给客户端进行处理
|
|
2104
|
+
|
|
2105
|
+
```js
|
|
2106
|
+
dao.onError((message: Message) => {
|
|
2107
|
+
const { name, error } = message;
|
|
2108
|
+
switch (name) {
|
|
2109
|
+
case Messages.ConnectionBroken:
|
|
2110
|
+
messageBox.error(error, 0);
|
|
2111
|
+
break}
|
|
2112
|
+
...
|
|
2113
|
+
}
|
|
2114
|
+
```
|
|
2115
|
+
|
|
2116
|
+
+ 新增回放功能,拖动播放滚动条后,再点击播放,在之前指定位置进行播放
|
|
2117
|
+
|
|
2118
|
+
### 修复
|
|
2119
|
+
|
|
2120
|
+
+ 修复编辑器`Position 98 is out of range for changeset of length 97`的报错
|
|
2121
|
+
+ 修复协同模式,后进入用户不能同步问题
|
|
2122
|
+
+ 修复fork项目,打开默认文件报错问题
|
|
2123
|
+
+ 修复回放自定义帧,因客户端插入数据不准确进行容错处理
|
|
2124
|
+
|
|
2125
|
+
## v0.9.45
|
|
2126
|
+
|
|
2127
|
+
## 修复
|
|
2128
|
+
|
|
2129
|
+
+ 解决编辑器报`Applying change set to a document with the wrong length`的错误
|
|
2130
|
+
|
|
2131
|
+
## v0.9.44
|
|
2132
|
+
|
|
2133
|
+
### 新增
|
|
2134
|
+
|
|
2135
|
+
+ Terminal 进行文件操作(增删改等行为),也支持回放处理
|
|
2136
|
+
|
|
2137
|
+
## 修复
|
|
2138
|
+
|
|
2139
|
+
+ 修复在文件树快速切换文件(当文件还没在编辑器里打开时),造成编辑器闪动问题
|
|
2140
|
+
|
|
2141
|
+
## v0.9.43
|
|
2142
|
+
|
|
2143
|
+
## 修复
|
|
2144
|
+
|
|
2145
|
+
+ 修复切换环境或者切题后LSP不可用的问题
|
|
2146
|
+
+ 修复C++语言LSP不可用的问题
|
|
2147
|
+
+ 移除file watcher, 解决文件树 同步慢的问题。
|
|
2148
|
+
|
|
2149
|
+
## v0.9.42
|
|
2150
|
+
|
|
2151
|
+
### 新增
|
|
2152
|
+
|
|
2153
|
+
+ 回放功能支持多题目切题回放
|
|
2154
|
+
+ 回放接口添加支持自定义数据帧插入:
|
|
2155
|
+
|
|
2156
|
+
```js
|
|
2157
|
+
// 插入自定义数据帧
|
|
2158
|
+
dao?.appendCustomizeFrameData({
|
|
2159
|
+
action: 'startQuestion', // startQuestion | endQuestion
|
|
2160
|
+
value: 1, // 题目ID
|
|
2161
|
+
});
|
|
2162
|
+
```
|
|
2163
|
+
|
|
2164
|
+
```js
|
|
2165
|
+
// 监听自定义数据帧插入是否成功事件
|
|
2166
|
+
dao.onMessage((message: Message) => {
|
|
2167
|
+
const { name, payload } = message;
|
|
2168
|
+
let status: PlaygroundStatus;
|
|
2169
|
+
let dockerStatus: DockerStatus;
|
|
2170
|
+
let lspStatus: LspStatusEnum;
|
|
2171
|
+
switch (name) {
|
|
2172
|
+
...
|
|
2173
|
+
case 'appendCustomizeFrameData': {
|
|
2174
|
+
if (payload.status) {
|
|
2175
|
+
messageBox.success('插入数据帧成功');
|
|
2176
|
+
} else {
|
|
2177
|
+
messageBox.warn(`插入数据帧失败`);
|
|
2178
|
+
}
|
|
2179
|
+
}
|
|
2180
|
+
}
|
|
2181
|
+
});
|
|
2182
|
+
```
|
|
2183
|
+
|
|
2184
|
+
+ 回放接口支持获取每个题目的数据帧情况(解析:questionsData内容 )
|
|
2185
|
+
|
|
2186
|
+
```js
|
|
2187
|
+
dao.onMessage((message: Message) => {
|
|
2188
|
+
const { name, payload } = message;
|
|
2189
|
+
setSpinLoading(false);
|
|
2190
|
+
switch (name) {
|
|
2191
|
+
...
|
|
2192
|
+
case Messages.PlaybackInfo: {
|
|
2193
|
+
// 解析: questionsData 数据内容
|
|
2194
|
+
setQuestionsData(payload.questionsData);
|
|
2195
|
+
if (payload.total > 0) {
|
|
2196
|
+
setPlayable(true);
|
|
2197
|
+
setPlaybackDuration(payload.end - payload.start);
|
|
2198
|
+
}
|
|
2199
|
+
break;
|
|
2200
|
+
}
|
|
2201
|
+
}
|
|
2202
|
+
});
|
|
2203
|
+
```
|
|
2204
|
+
|
|
2205
|
+
### 修复
|
|
2206
|
+
|
|
2207
|
+
+ 历史Vue项目空间打开一直处于加载中的问题
|
|
2208
|
+
|
|
2209
|
+
## v0.9.41
|
|
2210
|
+
|
|
2211
|
+
### 修复
|
|
2212
|
+
|
|
2213
|
+
+ LSP未生效问题
|
|
2214
|
+
|
|
2215
|
+
## v0.9.40
|
|
2216
|
+
|
|
2217
|
+
### 新增
|
|
2218
|
+
|
|
2219
|
+
+ 回放功能播放和暂停重新播放接口重构
|
|
2220
|
+
+ 重构Pass平台日志系统,便于问题排查
|
|
2221
|
+
|
|
2222
|
+
### 修复
|
|
2223
|
+
|
|
2224
|
+
+ Terminal 换行问题
|
|
2225
|
+
+ 修复退出登录后,登录新用户显示旧用户的相关信息的问题
|
|
2226
|
+
+ 修复切题模式或者切换语言时,打开指定文件,**需要在playgroundChanged时打开文件**
|
|
2227
|
+
|
|
2228
|
+
## v0.9.38
|
|
2229
|
+
|
|
2230
|
+
### 新增
|
|
2231
|
+
|
|
2232
|
+
+ 添加保留文件不能删除的功能,使用方式:
|
|
2233
|
+
|
|
2234
|
+
```js
|
|
2235
|
+
// 1. 设置保留文件属性的接口
|
|
2236
|
+
const res = await daoPaasObj?.retainingAllFiles();
|
|
2237
|
+
if (res?.status) {
|
|
2238
|
+
messageBox.success(res.message);
|
|
2239
|
+
} else {
|
|
2240
|
+
messageBox.error(res?.message);
|
|
2241
|
+
}
|
|
2242
|
+
|
|
2243
|
+
```
|
|
2244
|
+
|
|
2245
|
+
```js
|
|
2246
|
+
// 设置是否对保留文件进行处理
|
|
2247
|
+
dao.mapRender([
|
|
2248
|
+
{
|
|
2249
|
+
container: '.tree-section',
|
|
2250
|
+
item: 'Tree',
|
|
2251
|
+
props: {
|
|
2252
|
+
disableFileAction: { // 不是必填属性
|
|
2253
|
+
filesPath: [],
|
|
2254
|
+
isDisable: true,
|
|
2255
|
+
},
|
|
2256
|
+
},
|
|
2257
|
+
},
|
|
2258
|
+
]);
|
|
2259
|
+
```
|
|
2260
|
+
|
|
2261
|
+
+ 增加LSP真实可用的状态,真实运行中的状态由之前的running改为了lspReady
|
|
2262
|
+
|
|
2263
|
+
### 修复
|
|
2264
|
+
|
|
2265
|
+
+ 修复打开默认文件文件导航栏丢失的问题
|
|
2266
|
+
+ 修复文件树Feature等属性,在对文件进行重命名属性丢失,删除文件后重新创建相同名称文件Feature属性仍然存在的问题
|
|
2267
|
+
+ 修复压力测试发现的问题
|
|
2268
|
+
|
|
2269
|
+
## v0.9.36
|
|
2270
|
+
|
|
2271
|
+
### 重构
|
|
2272
|
+
|
|
2273
|
+
+ 重构打开指定文件接口,支持Promise形式调用,需要调用方自行捕获错误信息(reject错误)
|
|
2274
|
+
|
|
2275
|
+
### 新增
|
|
2276
|
+
|
|
2277
|
+
+ 添加支持回放功能
|
|
2278
|
+
|
|
2279
|
+
### 修复
|
|
2280
|
+
|
|
2281
|
+
+ 修复Python LSP 光标问题
|
|
2282
|
+
|
|
2283
|
+
## v0.9.35
|
|
2284
|
+
|
|
2285
|
+
### 修复
|
|
2286
|
+
|
|
2287
|
+
+ 修复编辑器client version too big 的问题
|
|
2288
|
+
+ 修复文件树feature设置单一属性,影响其他feature属性的问题
|
|
2289
|
+
+ 修复button 组件的样式问题
|
|
2290
|
+
|
|
2291
|
+
## v0.9.34
|
|
2292
|
+
|
|
2293
|
+
### 重构
|
|
2294
|
+
|
|
2295
|
+
+ 重构文件树更新逻辑,数据由全量更新修改为增量更新
|
|
2296
|
+
|
|
2297
|
+
### 新增
|
|
2298
|
+
|
|
2299
|
+
+ 新增打开指定文件的接口,`openFile(filePath:string) => void`,<font color=red>注意:该路径是相对路径</font>,调用示例方式如下:
|
|
2300
|
+
|
|
2301
|
+
```js
|
|
2302
|
+
const daoPass = new DaoPass()
|
|
2303
|
+
...
|
|
2304
|
+
daoPass.openFile('path')
|
|
2305
|
+
...
|
|
2306
|
+
```
|
|
2307
|
+
|
|
2308
|
+
+ 切换文件再切回时,支持了`undo`,`redo`等操作
|
|
2309
|
+
|
|
2310
|
+
### 修复
|
|
2311
|
+
|
|
2312
|
+
+ 修复lsp服务器连接多次问题
|
|
2313
|
+
+ 修复lsp连接失败问题
|
|
2314
|
+
+ 修复编辑器协同模式, selection的问题
|
|
2315
|
+
|
|
2316
|
+
## v0.9.30
|
|
2317
|
+
|
|
2318
|
+
当前版本变更引用地址 ([294ae84289180e2c94d2589d0e435a9f54e530a2](https://github.com/dao42/d42paas_frontend/commit/294ae84289180e2c94d2589d0e435a9f54e530a2))
|
|
2319
|
+
|
|
2320
|
+
### 新增
|
|
2321
|
+
|
|
2322
|
+
+ Editor组件支持了打开默认文件,需要在mapRender时,给Editor的props设置defaultOpenFile, 值为文件路径,注意该路径是相对路径,而不是完整路径, 例如需要打开文件树根目录的index.js文件,只需要传入index.js即可,而不需要传入/xxx/xxx/index.js
|
|
2323
|
+
+ 新增LSP语法提示和校验(但目前还需要继续完善,如LSP真实准备和连接完成的状态等),现在可以先测试。
|
|
2324
|
+
|
|
2325
|
+
### 修复
|
|
2326
|
+
|
|
2327
|
+
+ 切题时清空编辑器
|
|
2328
|
+
|
|
2329
|
+
### 重构+优化
|
|
2330
|
+
|
|
2331
|
+
+ 移除了引用的第三方库rsuite,自己封装了一些自定义组件,路径在packages/client/src/components/base下
|
|
2332
|
+
|
|
2333
|
+
## v0.9.29
|
|
2334
|
+
|
|
2335
|
+
+ **0.9.29:** 当前版本变更引用地址 ([8935c97f9c6c36cfa74a58f3eda12bf562184ebc](https://github.com/dao42/d42paas_frontend/commit/8935c97f9c6c36cfa74a58f3eda12bf562184ebc))
|
|
2336
|
+
|
|
2337
|
+
### 优化
|
|
2338
|
+
|
|
2339
|
+
+ 上传文件和上传文件夹限制了最大文件数量500
|
|
2340
|
+
+ SDK新增了transitionCustomError方法,组件内可向上层通知错误信息(store.dao.channel().transitionCustomError({name: 'xxx', error: ''})
|
|
2341
|
+
+ 文件树上传超过数量限制,会向上派发onError, 错误参数中的name字段为错误类型,值是upload,error为错误消息,上层可自由控制是否弹出错误提示和定制自己的样式
|
|
2342
|
+
|
|
2343
|
+
## v0.9.28
|
|
2344
|
+
|
|
2345
|
+
+ **0.9.28:** 当前版本变更引用地址 ([308f32e15f00c076b94dd679c2a22a09cb487215](https://github.com/dao42/d42paas_frontend/commit/308f32e15f00c076b94dd679c2a22a09cb487215))
|
|
2346
|
+
|
|
2347
|
+
### 优化
|
|
2348
|
+
|
|
2349
|
+
+ 拖拽上传时,移除拖拽目录的文件树监听,上传成功后恢复监听,避免IDE server多次推送更新到SDK
|
|
2350
|
+
+ 删除文件夹时,移动当前文件夹的监听,删除后恢复
|
|
2351
|
+
|
|
2352
|
+
### 修复
|
|
2353
|
+
|
|
2354
|
+
+ IDEServer打印日志,排除Buffer
|
|
2355
|
+
+ 删除文件时清空文件缓存
|
|
2356
|
+
+ 删除文件夹时,清空以当前文件夹开头的缓存
|
|
2357
|
+
|
|
2358
|
+
### 样式
|
|
2359
|
+
|
|
2360
|
+
+ 修改文件树操作面板样式
|
|
2361
|
+
|
|
1
2362
|
# PaaS SDK 示例
|
|
2
2363
|
|
|
3
2364
|
欢迎来到PaaS SDK示例,本文是DaoPaaS的一个简单使用示例。
|