@netless/slide 1.0.2 → 1.1.0

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 CHANGED
@@ -310,3 +310,8 @@
310
310
 
311
311
  * 支持 smart art 多级动画
312
312
  * 支持音频元素的退出动画
313
+
314
+ #### 1.0.3
315
+
316
+ * 支持部分文字特效
317
+ * 支持音视频的声音淡入淡出
@@ -0,0 +1,21 @@
1
+ export declare class AliTrackLogger {
2
+ private logList;
3
+ private checkTimer;
4
+ private config;
5
+ private retryTimes;
6
+ private enable;
7
+ constructor();
8
+ private uploadLoggerGlobalEvent;
9
+ start(): Promise<void>;
10
+ pause(): void;
11
+ addLog(message: string, level: Level, taskId: string, randomId: string): void;
12
+ destroy(): void;
13
+ uploadLog(focus?: boolean): Promise<void>;
14
+ setEnable(enable: boolean): void;
15
+ }
16
+ declare type Level = "info" | "warn" | "error";
17
+ export interface TrackLoggerConfig {
18
+ checkTime: number;
19
+ buffer: number;
20
+ }
21
+ export {};
@@ -0,0 +1,152 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (_) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ var AliTrackLogger = /** @class */ (function () {
38
+ function AliTrackLogger() {
39
+ var _this = this;
40
+ this.logList = [];
41
+ this.checkTimer = null;
42
+ this.retryTimes = 0;
43
+ this.enable = false;
44
+ this.uploadLoggerGlobalEvent = function (event) {
45
+ if (event.data.type === "@slide/_upload_log_") {
46
+ _this.start();
47
+ }
48
+ };
49
+ this.config = {
50
+ checkTime: 3000,
51
+ buffer: 300,
52
+ };
53
+ window.addEventListener("message", this.uploadLoggerGlobalEvent);
54
+ this.start();
55
+ }
56
+ AliTrackLogger.prototype.start = function () {
57
+ return __awaiter(this, void 0, void 0, function () {
58
+ var _this = this;
59
+ return __generator(this, function (_a) {
60
+ clearInterval(this.checkTimer);
61
+ this.checkTimer = setInterval(function () { return __awaiter(_this, void 0, void 0, function () {
62
+ return __generator(this, function (_a) {
63
+ switch (_a.label) {
64
+ case 0: return [4 /*yield*/, this.uploadLog()];
65
+ case 1:
66
+ _a.sent();
67
+ return [2 /*return*/];
68
+ }
69
+ });
70
+ }); }, this.config.checkTime);
71
+ return [2 /*return*/];
72
+ });
73
+ });
74
+ };
75
+ AliTrackLogger.prototype.pause = function () {
76
+ clearInterval(this.checkTimer);
77
+ };
78
+ AliTrackLogger.prototype.addLog = function (message, level, taskId, randomId) {
79
+ this.logList.push({ level: level, taskId: taskId, message: message, randomId: randomId });
80
+ };
81
+ AliTrackLogger.prototype.destroy = function () {
82
+ clearInterval(this.checkTimer);
83
+ window.removeEventListener("message", this.uploadLoggerGlobalEvent);
84
+ };
85
+ AliTrackLogger.prototype.uploadLog = function (focus) {
86
+ if (focus === void 0) { focus = false; }
87
+ return __awaiter(this, void 0, void 0, function () {
88
+ var uploadLog, errHandle, res, e_1;
89
+ var _this = this;
90
+ return __generator(this, function (_a) {
91
+ switch (_a.label) {
92
+ case 0:
93
+ if (!(this.logList.length >= this.config.buffer || focus)) {
94
+ return [2 /*return*/];
95
+ }
96
+ uploadLog = this.logList.splice(0);
97
+ errHandle = function () {
98
+ _this.logList = uploadLog.concat(_this.logList);
99
+ if (_this.retryTimes > 3) {
100
+ _this.pause();
101
+ }
102
+ _this.retryTimes += 1;
103
+ };
104
+ _a.label = 1;
105
+ case 1:
106
+ _a.trys.push([1, 3, , 4]);
107
+ return [4 /*yield*/, fetch("https://netless-ppt-plugin-dev.cn-hangzhou.log.aliyuncs.com/logstores/netless-ppt-plugin-dev/track", {
108
+ method: "POST",
109
+ headers: {
110
+ "x-log-apiversion": "0.6.0",
111
+ "Content-Type": "application/json",
112
+ "Accept": "*/*"
113
+ },
114
+ body: JSON.stringify({
115
+ __topic__: "netless-ppt-plugin-dev",
116
+ __source__: "netless-ppt-plugin-dev",
117
+ __logs__: uploadLog,
118
+ })
119
+ })];
120
+ case 2:
121
+ res = _a.sent();
122
+ if (res.ok) {
123
+ this.retryTimes = 0;
124
+ }
125
+ else {
126
+ errHandle();
127
+ }
128
+ return [3 /*break*/, 4];
129
+ case 3:
130
+ e_1 = _a.sent();
131
+ console.warn(e_1);
132
+ errHandle();
133
+ return [3 /*break*/, 4];
134
+ case 4: return [2 /*return*/];
135
+ }
136
+ });
137
+ });
138
+ };
139
+ AliTrackLogger.prototype.setEnable = function (enable) {
140
+ if (this.enable === enable) {
141
+ return;
142
+ }
143
+ if (enable) {
144
+ this.start();
145
+ }
146
+ else {
147
+ this.pause();
148
+ }
149
+ };
150
+ return AliTrackLogger;
151
+ }());
152
+ export { AliTrackLogger };
package/lib/Slide.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { SlideError, VolumeAdjuster } from "@netless/ppt-player";
2
2
  import { IPlugin } from "@netless/plugin-system";
3
+ import { AliTrackLogger } from "./AliTrackLogger";
4
+ import { preloadResource } from "./global";
3
5
  export type { ErrorType } from "@netless/ppt-player";
4
- export * from "./global";
5
6
  export declare type UrlInterrupter = (url: string) => Promise<string>;
6
7
  export interface ILoaderDelegate {
7
8
  /**
@@ -236,6 +237,11 @@ export interface ISlideConfig {
236
237
  */
237
238
  clientId?: string;
238
239
  urlInterrupter?: UrlInterrupter;
240
+ /**
241
+ * 是否开启日志追踪, 开启后会向 sdk 远程服务器定时定量上传本地日志
242
+ * 默认 true
243
+ */
244
+ enableTracking?: boolean;
239
245
  }
240
246
  interface MediaState {
241
247
  type: "pause" | "play";
@@ -351,6 +357,7 @@ export interface SlideEventEmitter {
351
357
  }
352
358
  declare const Slide_base: new () => SlideEventEmitter;
353
359
  export declare class Slide extends Slide_base {
360
+ static preloadResource: typeof preloadResource;
354
361
  static instances: Slide[];
355
362
  static _tempFrozenIds: string[];
356
363
  static _tempLog: string;
@@ -408,6 +415,7 @@ export declare class Slide extends Slide_base {
408
415
  private logger;
409
416
  private _dispatchIncrId;
410
417
  private _receiveIncrId;
418
+ static trackLogger: AliTrackLogger;
411
419
  private get dispatchIncrId();
412
420
  constructor(initConfig: ISlideConfig);
413
421
  private _updateVolumeByStaticAdjuster;