@galacean/effects-plugin-alipay-downgrade 2.0.0-alpha.2 → 2.0.0-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -2,255 +2,347 @@
2
2
  * Name: @galacean/effects-plugin-alipay-downgrade
3
3
  * Description: Galacean Effects player downgrade plugin for Alipay
4
4
  * Author: Ant Group CO., Ltd.
5
- * Contributors: 燃然,意绮
6
- * Version: v2.0.0-alpha.2
5
+ * Contributors: 燃然,意绮,飂兮
6
+ * Version: v2.0.0-alpha.21
7
7
  */
8
8
 
9
9
  'use strict';
10
10
 
11
11
  Object.defineProperty(exports, '__esModule', { value: true });
12
12
 
13
- var effects = require('@galacean/effects');
13
+ var EFFECTS = require('@galacean/effects');
14
14
 
15
- /******************************************************************************
16
- Copyright (c) Microsoft Corporation.
17
-
18
- Permission to use, copy, modify, and/or distribute this software for any
19
- purpose with or without fee is hereby granted.
20
-
21
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
22
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
23
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
24
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
25
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
26
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
27
- PERFORMANCE OF THIS SOFTWARE.
28
- ***************************************************************************** */
29
- /* global Reflect, Promise, SuppressedError, Symbol */
30
-
31
- var extendStatics = function(d, b) {
32
- extendStatics = Object.setPrototypeOf ||
33
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
34
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
35
- return extendStatics(d, b);
36
- };
37
-
38
- function __extends(d, b) {
39
- if (typeof b !== "function" && b !== null)
40
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
41
- extendStatics(d, b);
42
- function __() { this.constructor = d; }
43
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
44
- }
45
-
46
- function __awaiter(thisArg, _arguments, P, generator) {
47
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
48
- return new (P || (P = Promise))(function (resolve, reject) {
49
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
50
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
51
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
52
- step((generator = generator.apply(thisArg, _arguments || [])).next());
53
- });
54
- }
55
-
56
- function __generator(thisArg, body) {
57
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
58
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
59
- function verb(n) { return function (v) { return step([n, v]); }; }
60
- function step(op) {
61
- if (f) throw new TypeError("Generator is already executing.");
62
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
63
- 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;
64
- if (y = 0, t) op = [op[0] & 2, t.value];
65
- switch (op[0]) {
66
- case 0: case 1: t = op; break;
67
- case 4: _.label++; return { value: op[1], done: false };
68
- case 5: _.label++; y = op[1]; op = [0]; continue;
69
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
70
- default:
71
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
72
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
73
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
74
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
75
- if (t[2]) _.ops.pop();
76
- _.trys.pop(); continue;
77
- }
78
- op = body.call(thisArg, _);
79
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
80
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
81
- }
82
- }
83
-
84
- function __read(o, n) {
85
- var m = typeof Symbol === "function" && o[Symbol.iterator];
86
- if (!m) return o;
87
- var i = m.call(o), r, ar = [], e;
88
- try {
89
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
90
- }
91
- catch (error) { e = { error: error }; }
92
- finally {
93
- try {
94
- if (r && !r.done && (m = i["return"])) m.call(i);
95
- }
96
- finally { if (e) throw e.error; }
97
- }
98
- return ar;
99
- }
100
-
101
- function __spreadArray(to, from, pack) {
102
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
103
- if (ar || !(i in from)) {
104
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
105
- ar[i] = from[i];
106
- }
107
- }
108
- return to.concat(ar || Array.prototype.slice.call(from));
109
- }
110
-
111
- typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
112
- var e = new Error(message);
113
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
114
- };
15
+ function _interopNamespace(e) {
16
+ if (e && e.__esModule) return e;
17
+ var n = Object.create(null);
18
+ if (e) {
19
+ Object.keys(e).forEach(function (k) {
20
+ if (k !== 'default') {
21
+ var d = Object.getOwnPropertyDescriptor(e, k);
22
+ Object.defineProperty(n, k, d.get ? d : {
23
+ enumerable: true,
24
+ get: function () { return e[k]; }
25
+ });
26
+ }
27
+ });
28
+ }
29
+ n["default"] = e;
30
+ return Object.freeze(n);
31
+ }
32
+
33
+ var EFFECTS__namespace = /*#__PURE__*/_interopNamespace(EFFECTS);
34
+
35
+ function _set_prototype_of(o, p) {
36
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
37
+ o.__proto__ = p;
38
+ return o;
39
+ };
40
+ return _set_prototype_of(o, p);
41
+ }
42
+
43
+ function _inherits(subClass, superClass) {
44
+ if (typeof superClass !== "function" && superClass !== null) {
45
+ throw new TypeError("Super expression must either be null or a function");
46
+ }
47
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
48
+ constructor: {
49
+ value: subClass,
50
+ writable: true,
51
+ configurable: true
52
+ }
53
+ });
54
+ if (superClass) _set_prototype_of(subClass, superClass);
55
+ }
115
56
 
116
- var DowngradeVFXItem = /** @class */ (function (_super) {
117
- __extends(DowngradeVFXItem, _super);
57
+ // class DowngradeItem {
58
+ // // empty
59
+ // }
60
+ var DowngradeVFXItem = /*#__PURE__*/ function(VFXItem) {
61
+ _inherits(DowngradeVFXItem, VFXItem);
118
62
  function DowngradeVFXItem() {
119
- return _super !== null && _super.apply(this, arguments) || this;
63
+ return VFXItem.apply(this, arguments);
120
64
  }
121
65
  return DowngradeVFXItem;
122
- }(effects.VFXItem));
66
+ }(EFFECTS.VFXItem);
123
67
 
124
- var mockIdPass = 'mock-pass';
125
- var mockIdFail = 'mock-fail';
126
- var DEVICE_LEVEL_HIGH = 'high';
127
- var DEVICE_LEVEL_MEDIUM = 'medium';
128
- var DEVICE_LEVEL_LOW = 'low';
129
- var DEVICE_LEVEL_NONE = 'none';
68
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
69
+ try {
70
+ var info = gen[key](arg);
71
+ var value = info.value;
72
+ } catch (error) {
73
+ reject(error);
74
+ return;
75
+ }
76
+ if (info.done) resolve(value);
77
+ else Promise.resolve(value).then(_next, _throw);
78
+ }
79
+ function _async_to_generator(fn) {
80
+ return function() {
81
+ var self = this, args = arguments;
82
+ return new Promise(function(resolve, reject) {
83
+ var gen = fn.apply(self, args);
84
+ function _next(value) {
85
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
86
+ }
87
+ function _throw(err) {
88
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
89
+ }
90
+ _next(undefined);
91
+ });
92
+ };
93
+ }
94
+
95
+ function __generator(thisArg, body) {
96
+ var _ = {
97
+ label: 0,
98
+ sent: function sent() {
99
+ if (t[0] & 1) throw t[1];
100
+ return t[1];
101
+ },
102
+ trys: [],
103
+ ops: []
104
+ }, f, y, t, g;
105
+ return g = {
106
+ next: verb(0),
107
+ "throw": verb(1),
108
+ "return": verb(2)
109
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
110
+ return this;
111
+ }), g;
112
+ function verb(n) {
113
+ return function(v) {
114
+ return step([
115
+ n,
116
+ v
117
+ ]);
118
+ };
119
+ }
120
+ function step(op) {
121
+ if (f) throw new TypeError("Generator is already executing.");
122
+ while(g && (g = 0, op[0] && (_ = 0)), _)try {
123
+ 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;
124
+ if (y = 0, t) op = [
125
+ op[0] & 2,
126
+ t.value
127
+ ];
128
+ switch(op[0]){
129
+ case 0:
130
+ case 1:
131
+ t = op;
132
+ break;
133
+ case 4:
134
+ _.label++;
135
+ return {
136
+ value: op[1],
137
+ done: false
138
+ };
139
+ case 5:
140
+ _.label++;
141
+ y = op[1];
142
+ op = [
143
+ 0
144
+ ];
145
+ continue;
146
+ case 7:
147
+ op = _.ops.pop();
148
+ _.trys.pop();
149
+ continue;
150
+ default:
151
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
152
+ _ = 0;
153
+ continue;
154
+ }
155
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
156
+ _.label = op[1];
157
+ break;
158
+ }
159
+ if (op[0] === 6 && _.label < t[1]) {
160
+ _.label = t[1];
161
+ t = op;
162
+ break;
163
+ }
164
+ if (t && _.label < t[2]) {
165
+ _.label = t[2];
166
+ _.ops.push(op);
167
+ break;
168
+ }
169
+ if (t[2]) _.ops.pop();
170
+ _.trys.pop();
171
+ continue;
172
+ }
173
+ op = body.call(thisArg, _);
174
+ } catch (e) {
175
+ op = [
176
+ 6,
177
+ e
178
+ ];
179
+ y = 0;
180
+ } finally{
181
+ f = t = 0;
182
+ }
183
+ if (op[0] & 5) throw op[1];
184
+ return {
185
+ value: op[0] ? op[1] : void 0,
186
+ done: true
187
+ };
188
+ }
189
+ }
190
+ typeof SuppressedError === "function" ? SuppressedError : function _SuppressedError(error, suppressed, message) {
191
+ var e = new Error(message);
192
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
193
+ };
194
+
195
+ var mockIdPass = "mock-pass";
196
+ var mockIdFail = "mock-fail";
197
+ var DEVICE_LEVEL_HIGH = "high";
198
+ var DEVICE_LEVEL_MEDIUM = "medium";
199
+ var DEVICE_LEVEL_LOW = "low";
200
+ var DEVICE_LEVEL_NONE = "none";
130
201
  var hasRegisterEvent = false;
131
- function getDowngradeResult(bizId, options) {
132
- if (options === void 0) { options = {}; }
133
- return __awaiter(this, void 0, void 0, function () {
134
- var ap, now_1;
135
- return __generator(this, function (_a) {
202
+ function getDowngradeResult(bizId) {
203
+ return _getDowngradeResult.apply(this, arguments);
204
+ }
205
+ function _getDowngradeResult() {
206
+ _getDowngradeResult = _async_to_generator(function(bizId, options) {
207
+ var ap, now;
208
+ return __generator(this, function(_state) {
209
+ if (options === void 0) options = {};
136
210
  if (!hasRegisterEvent) {
137
211
  registerEvent(options);
138
212
  hasRegisterEvent = true;
139
213
  }
140
214
  if (bizId === mockIdFail || bizId === mockIdPass) {
141
- return [2 /*return*/, Promise.resolve({ mock: { downgrade: bizId === mockIdFail } })];
215
+ return [
216
+ 2,
217
+ Promise.resolve({
218
+ mock: {
219
+ downgrade: bizId === mockIdFail
220
+ }
221
+ })
222
+ ];
142
223
  }
143
- ap = window.AlipayJSBridge;
224
+ ap = EFFECTS.isAlipayMiniApp() ? my : window.AlipayJSBridge;
144
225
  if (ap) {
145
- now_1 = performance.now();
146
- return [2 /*return*/, getSystemInfo().then(function (systemInfo) {
147
- return new Promise(function (resolve) {
148
- var _a;
149
- var techPoint = ['mars'];
226
+ now = performance.now();
227
+ return [
228
+ 2,
229
+ getSystemInfo().then(function(systemInfo) {
230
+ return new Promise(function(resolve) {
231
+ var techPoint = [
232
+ "mars"
233
+ ];
150
234
  var tc = options.techPoint;
151
235
  if (tc) {
152
- techPoint.push.apply(techPoint, __spreadArray([], __read(tc), false));
236
+ var _techPoint;
237
+ (_techPoint = techPoint).push.apply(_techPoint, [].concat(tc));
153
238
  }
154
239
  var downgradeOptions = {
155
240
  bizId: bizId,
156
241
  scene: 0,
157
242
  ext: {
158
- techPoint: techPoint,
159
- },
243
+ techPoint: techPoint
244
+ }
160
245
  };
161
- var downgradeCallback = function (result) {
162
- var totalTime = performance.now() - now_1;
163
- console.info("downgrade time: ".concat(totalTime, "ms"));
164
- resolve({ bizId: bizId, systemInfo: systemInfo, downgradeResult: result, totalTime: totalTime });
246
+ var downgradeCallback = function(result) {
247
+ var totalTime = performance.now() - now;
248
+ console.info("Downgrade time: " + totalTime + "ms.");
249
+ resolve({
250
+ bizId: bizId,
251
+ systemInfo: systemInfo,
252
+ downgradeResult: result,
253
+ totalTime: totalTime
254
+ });
165
255
  };
166
- var callBridge = (_a = options.callBridge) !== null && _a !== void 0 ? _a : ap.call;
167
- callBridge('getDowngradeResult', downgradeOptions, downgradeCallback);
256
+ var _options_callBridge;
257
+ var callBridge = (_options_callBridge = options.callBridge) != null ? _options_callBridge : ap.call;
258
+ callBridge("getDowngradeResult", downgradeOptions, downgradeCallback);
168
259
  });
169
- })];
170
- }
171
- else {
172
- return [2 /*return*/, Promise.resolve({ noAlipayEnv: true })];
260
+ })
261
+ ];
262
+ } else {
263
+ return [
264
+ 2,
265
+ Promise.resolve({
266
+ noAlipayEnv: true
267
+ })
268
+ ];
173
269
  }
174
270
  });
175
271
  });
272
+ return _getDowngradeResult.apply(this, arguments);
176
273
  }
177
274
  function registerEvent(options) {
178
- var ignoreGLLost = options.ignoreGLLost, autoPause = options.autoPause;
179
- var downgradeWhenGLLost = ignoreGLLost !== true;
180
- window.addEventListener('unload', function () {
181
- effects.getActivePlayers().forEach(function (player) { return player.dispose(); });
275
+ var autoPause = options.autoPause;
276
+ window.addEventListener("unload", function() {
277
+ EFFECTS.getActivePlayers().forEach(function(player) {
278
+ return player.dispose();
279
+ });
182
280
  });
183
- window.addEventListener('webglcontextlost', function (e) {
184
- if (effects.isCanvasUsedByPlayer(e.target)) {
185
- AlipayDowngradePlugin.glLostOccurred = true;
186
- console.error('webgl lost occur');
187
- if (downgradeWhenGLLost) {
188
- console.warn('webgl lost occur, all players will be downgraded from now on');
189
- effects.disableAllPlayer(true);
190
- effects.getActivePlayers().forEach(function (player) { return player.dispose(); });
191
- }
192
- }
193
- }, true);
194
281
  if (autoPause) {
195
- document.addEventListener('pause', pauseAllActivePlayers);
196
- document.addEventListener('resume', resumePausedPlayers);
282
+ document.addEventListener("pause", pauseAllActivePlayers);
283
+ document.addEventListener("resume", resumePausedPlayers);
197
284
  }
198
285
  }
199
286
  function getSystemInfo() {
200
- return __awaiter(this, void 0, void 0, function () {
201
- return __generator(this, function (_a) {
202
- return [2 /*return*/, new Promise(function (resolve, reject) {
203
- var ap = window.AlipayJSBridge;
287
+ return _getSystemInfo.apply(this, arguments);
288
+ }
289
+ function _getSystemInfo() {
290
+ _getSystemInfo = _async_to_generator(function() {
291
+ return __generator(this, function(_state) {
292
+ return [
293
+ 2,
294
+ new Promise(function(resolve, reject) {
295
+ var ap = EFFECTS.isAlipayMiniApp() ? my : window.AlipayJSBridge;
204
296
  if (ap) {
205
- ap.call('getSystemInfo', function (e) {
297
+ ap.call("getSystemInfo", function(e) {
206
298
  if (e.error) {
207
299
  reject(e);
208
- }
209
- else {
300
+ } else {
210
301
  resolve(e);
211
302
  }
212
303
  });
304
+ } else {
305
+ reject("no ap");
213
306
  }
214
- else {
215
- reject('no ap');
216
- }
217
- })];
307
+ })
308
+ ];
218
309
  });
219
310
  });
311
+ return _getSystemInfo.apply(this, arguments);
220
312
  }
221
- var DeviceProxy = /** @class */ (function () {
313
+ var DeviceProxy = /*#__PURE__*/ function() {
222
314
  function DeviceProxy() {
223
315
  this.isIOS = false;
224
- this.model = 'DESKTOP_DEBUG';
316
+ this.model = "DESKTOP_DEBUG";
317
+ this.system = "Unknown";
225
318
  this.deviceLevel = DEVICE_LEVEL_NONE;
226
319
  this.isDowngrade = false;
227
320
  }
228
- DeviceProxy.prototype.getRenderLevel = function () {
321
+ var _proto = DeviceProxy.prototype;
322
+ _proto.getRenderLevel = function getRenderLevel() {
229
323
  if (this.deviceLevel === DEVICE_LEVEL_HIGH) {
230
- return effects.spec.RenderLevel.S;
231
- }
232
- else if (this.deviceLevel === DEVICE_LEVEL_MEDIUM) {
233
- return effects.spec.RenderLevel.A;
234
- }
235
- else if (this.deviceLevel === DEVICE_LEVEL_LOW) {
236
- return effects.spec.RenderLevel.B;
237
- }
238
- else {
239
- return this.isIOS ? effects.spec.RenderLevel.S : effects.spec.RenderLevel.B;
324
+ return EFFECTS.spec.RenderLevel.S;
325
+ } else if (this.deviceLevel === DEVICE_LEVEL_MEDIUM) {
326
+ return EFFECTS.spec.RenderLevel.A;
327
+ } else if (this.deviceLevel === DEVICE_LEVEL_LOW) {
328
+ return EFFECTS.spec.RenderLevel.B;
329
+ } else {
330
+ return this.isIOS ? EFFECTS.spec.RenderLevel.S : EFFECTS.spec.RenderLevel.B;
240
331
  }
241
332
  };
242
- DeviceProxy.prototype.hasDeviceLevel = function () {
333
+ _proto.hasDeviceLevel = function hasDeviceLevel() {
243
334
  return isDeviceLevel(this.deviceLevel);
244
335
  };
245
- DeviceProxy.prototype.setBySystemInfo = function (systemInfo) {
246
- var performance = systemInfo.performance, platform = systemInfo.platform, _a = systemInfo.model, model = _a === void 0 ? 'UNKNOWN_DEVICE' : _a;
247
- this.isIOS = platform === 'iOS';
336
+ _proto.setBySystemInfo = function setBySystemInfo(systemInfo) {
337
+ var performance1 = systemInfo.performance, platform = systemInfo.platform, _systemInfo_model = systemInfo.model, model = _systemInfo_model === void 0 ? "UNKNOWN_DEVICE" : _systemInfo_model, _systemInfo_system = systemInfo.system, system = _systemInfo_system === void 0 ? "Unknown" : _systemInfo_system;
338
+ this.isIOS = platform === "iOS";
248
339
  this.model = model;
249
- if (performance && !this.hasDeviceLevel()) {
250
- this.deviceLevel = performance;
340
+ this.system = system;
341
+ if (performance1 && !this.hasDeviceLevel()) {
342
+ this.deviceLevel = performance1;
251
343
  }
252
344
  };
253
- DeviceProxy.prototype.updateDeviceLevel = function () {
345
+ _proto.updateDeviceLevel = function updateDeviceLevel() {
254
346
  if (this.hasDeviceLevel()) {
255
347
  return;
256
348
  }
@@ -258,39 +350,50 @@ var DeviceProxy = /** @class */ (function () {
258
350
  var gen = +RegExp.$1;
259
351
  if (gen <= 9) {
260
352
  this.deviceLevel = DEVICE_LEVEL_LOW;
261
- }
262
- else if (gen < 10) {
353
+ } else if (gen < 10) {
263
354
  this.deviceLevel = DEVICE_LEVEL_MEDIUM;
264
- }
265
- else {
355
+ } else {
266
356
  this.deviceLevel = DEVICE_LEVEL_HIGH;
267
357
  }
268
358
  }
269
359
  };
270
- DeviceProxy.prototype.getDeviceInfo = function () {
360
+ _proto.getDeviceInfo = function getDeviceInfo() {
271
361
  return {
272
362
  isIOS: this.isIOS,
273
363
  model: this.model,
274
- deviceLevel: this.deviceLevel,
364
+ system: this.system,
365
+ deviceLevel: this.deviceLevel
275
366
  };
276
367
  };
277
368
  return DeviceProxy;
278
- }());
369
+ }();
279
370
  var device = new DeviceProxy();
280
371
  function checkDowngradeResult(result) {
281
372
  if (result.mock) {
282
- var _a = result.mock, downgrade = _a.downgrade, _b = _a.deviceLevel, deviceLevel = _b === void 0 ? DEVICE_LEVEL_HIGH : _b;
373
+ var _result_mock = result.mock, downgrade = _result_mock.downgrade, _result_mock_deviceLevel = _result_mock.deviceLevel, deviceLevel = _result_mock_deviceLevel === void 0 ? DEVICE_LEVEL_HIGH : _result_mock_deviceLevel;
283
374
  device.deviceLevel = deviceLevel;
284
- return { downgrade: downgrade, reason: 'mock' };
375
+ return {
376
+ downgrade: downgrade,
377
+ reason: "mock"
378
+ };
285
379
  }
286
380
  if (result.noAlipayEnv) {
287
- return { downgrade: false, reason: 'no AP env' };
381
+ return {
382
+ downgrade: false,
383
+ reason: "no AP env"
384
+ };
288
385
  }
289
386
  if (!result.systemInfo) {
290
- return { downgrade: false, reason: 'systemInfo is required' };
387
+ return {
388
+ downgrade: false,
389
+ reason: "systemInfo is required"
390
+ };
291
391
  }
292
392
  if (!result.downgradeResult) {
293
- return { downgrade: false, reason: 'downgradeResult is required' };
393
+ return {
394
+ downgrade: false,
395
+ reason: "downgradeResult is required"
396
+ };
294
397
  }
295
398
  device.setBySystemInfo(result.systemInfo);
296
399
  return parseDowngradeResult(result.downgradeResult);
@@ -300,11 +403,10 @@ function parseDowngradeResult(result) {
300
403
  var resultReason = undefined;
301
404
  if (!result.error) {
302
405
  try {
303
- var ret = effects.isString(result) ? JSON.parse(result) : result;
304
- if ('downgradeResultType' in ret) {
406
+ var ret = EFFECTS.isString(result) ? JSON.parse(result) : result;
407
+ if ("downgradeResultType" in ret) {
305
408
  resultType = ret.downgradeResultType;
306
- }
307
- else if ('resultType' in ret) {
409
+ } else if ("resultType" in ret) {
308
410
  resultType = ret.resultType;
309
411
  resultReason = ret.resultReason;
310
412
  }
@@ -318,71 +420,79 @@ function parseDowngradeResult(result) {
318
420
  }
319
421
  }
320
422
  device.updateDeviceLevel();
321
- }
322
- catch (ex) {
423
+ } catch (ex) {
323
424
  console.error(ex);
324
425
  }
325
426
  if (resultType === undefined) {
326
- return { downgrade: true, reason: 'call downgrade fail' };
327
- }
328
- else {
427
+ return {
428
+ downgrade: true,
429
+ reason: "call downgrade fail"
430
+ };
431
+ } else {
329
432
  if (resultType === 1) {
330
- return { downgrade: true, reason: getDowngradeReason(resultReason) };
331
- }
332
- else {
333
- return { downgrade: false, reason: resultType };
433
+ return {
434
+ downgrade: true,
435
+ reason: getDowngradeReason(resultReason)
436
+ };
437
+ } else {
438
+ if (EFFECTS.isAlipayMiniApp() && downgradeForMiniprogram()) {
439
+ return {
440
+ downgrade: true,
441
+ reason: "Force downgrade by downgrade plugin"
442
+ };
443
+ } else {
444
+ return {
445
+ downgrade: false,
446
+ reason: resultType
447
+ };
448
+ }
334
449
  }
335
450
  }
336
- }
337
- else {
451
+ } else {
338
452
  // 无权调用的情况下不降级
339
- return { downgrade: result.error !== 4, reason: 'api error: ' + result.error };
453
+ return {
454
+ downgrade: result.error !== 4,
455
+ reason: "api error: " + result.error
456
+ };
340
457
  }
341
458
  }
342
459
  function getDowngradeReason(reason) {
343
460
  if (reason === -1) {
344
- return "".concat(reason, "-no config");
345
- }
346
- else if (reason === 0) {
347
- return "".concat(reason, "-none");
348
- }
349
- else if (reason === 1) {
350
- return "".concat(reason, "-downgrade by memory");
351
- }
352
- else if (reason === 2) {
353
- return "".concat(reason, "-downgrade by crash");
354
- }
355
- else if (reason === 3) {
356
- return "".concat(reason, "-downgrade by device");
357
- }
358
- else if (reason === 4) {
359
- return "".concat(reason, "-downgrade by force");
360
- }
361
- else {
362
- return "".concat(reason);
461
+ return "" + reason + "-no config";
462
+ } else if (reason === 0) {
463
+ return "" + reason + "-none";
464
+ } else if (reason === 1) {
465
+ return "" + reason + "-downgrade by memory";
466
+ } else if (reason === 2) {
467
+ return "" + reason + "-downgrade by crash";
468
+ } else if (reason === 3) {
469
+ return "" + reason + "-downgrade by device";
470
+ } else if (reason === 4) {
471
+ return "" + reason + "-downgrade by force";
472
+ } else {
473
+ return "" + reason;
363
474
  }
364
475
  }
365
476
  function getRenderLevelByDevice(renderLevel) {
366
477
  if (!renderLevel) {
367
478
  return device.getRenderLevel();
368
- }
369
- else {
370
- return /[ABS]/.test(renderLevel) ? renderLevel : effects.spec.RenderLevel.S;
479
+ } else {
480
+ return /[ABS]/.test(renderLevel) ? renderLevel : EFFECTS.spec.RenderLevel.S;
371
481
  }
372
482
  }
373
483
  function isDeviceLevel(deviceLevel) {
374
- return deviceLevel === DEVICE_LEVEL_HIGH
375
- || deviceLevel === DEVICE_LEVEL_MEDIUM
376
- || deviceLevel === DEVICE_LEVEL_LOW;
484
+ return deviceLevel === DEVICE_LEVEL_HIGH || deviceLevel === DEVICE_LEVEL_MEDIUM || deviceLevel === DEVICE_LEVEL_LOW;
377
485
  }
378
- var internalPaused = Symbol('@@_inter_pause');
486
+ var internalPaused = Symbol("@@_inter_pause");
379
487
  function pauseAllActivePlayers(e) {
380
488
  if (e.target === document) {
381
- effects.logger.info('Auto pause all players with data offloaded');
382
- var players = effects.getActivePlayers();
383
- players.forEach(function (player) {
489
+ EFFECTS.logger.info("Auto pause all players with data offloaded.");
490
+ var players = EFFECTS.getActivePlayers();
491
+ players.forEach(function(player) {
384
492
  if (!player.paused) {
385
- player.pause({ offloadTexture: true });
493
+ player.pause({
494
+ offloadTexture: true
495
+ });
386
496
  // @ts-expect-error
387
497
  player[internalPaused] = true;
388
498
  }
@@ -391,9 +501,9 @@ function pauseAllActivePlayers(e) {
391
501
  }
392
502
  function resumePausedPlayers(e) {
393
503
  if (e.target === document) {
394
- effects.logger.info('auto resume all players');
395
- var players = effects.getActivePlayers();
396
- players.forEach(function (player) {
504
+ EFFECTS.logger.info("Auto resume all players.");
505
+ var players = EFFECTS.getActivePlayers();
506
+ players.forEach(function(player) {
397
507
  // @ts-expect-error
398
508
  if (player[internalPaused]) {
399
509
  void player.resume();
@@ -403,122 +513,91 @@ function resumePausedPlayers(e) {
403
513
  });
404
514
  }
405
515
  }
516
+ var deviceModelList = [
517
+ "12,8",
518
+ "13,1",
519
+ "13,2",
520
+ "13,3",
521
+ "13,4"
522
+ ];
523
+ /**
524
+ * iPhone SE2 和 12 全系列机型,如果是 iOS16 系统,在小程序中强制降级
525
+ * @returns
526
+ */ function downgradeForMiniprogram() {
527
+ if (device.isIOS) {
528
+ if (deviceModelList.find(function(v) {
529
+ return v === device.model;
530
+ })) {
531
+ var versionList = device.system.split(".");
532
+ if (versionList.length > 0 && versionList[0] === "16") {
533
+ return true;
534
+ }
535
+ }
536
+ }
537
+ return false;
538
+ }
406
539
 
407
- var AlipayDowngradePlugin = /** @class */ (function (_super) {
408
- __extends(AlipayDowngradePlugin, _super);
540
+ var AlipayDowngradePlugin = /*#__PURE__*/ function(AbstractPlugin) {
541
+ _inherits(AlipayDowngradePlugin, AbstractPlugin);
409
542
  function AlipayDowngradePlugin() {
410
- return _super !== null && _super.apply(this, arguments) || this;
543
+ return AbstractPlugin.apply(this, arguments);
411
544
  }
412
- AlipayDowngradePlugin.onPlayerCreated = function (player) {
413
- return __awaiter(this, void 0, void 0, function () {
414
- return __generator(this, function (_a) {
415
- if (AlipayDowngradePlugin.glLostOccurred) {
416
- console.warn('gl lost happened, new player will be destroyed.');
417
- return [2 /*return*/, player.dispose()];
418
- }
419
- return [2 /*return*/];
420
- });
421
- });
422
- };
423
- AlipayDowngradePlugin.processRawJSON = function (json, options) {
424
- var _a;
425
- if (options === void 0) { options = {}; }
426
- return __awaiter(this, void 0, void 0, function () {
427
- var downgradeResult, downgradeDecision;
428
- return __generator(this, function (_b) {
429
- if (AlipayDowngradePlugin.glLostOccurred) {
430
- return [2 /*return*/, Promise.reject('gl lost happened')];
431
- }
432
- downgradeResult = (_a = options.pluginData) === null || _a === void 0 ? void 0 : _a['downgrade'];
545
+ AlipayDowngradePlugin.processRawJSON = function processRawJSON(json, options) {
546
+ if (options === void 0) options = {};
547
+ return _async_to_generator(function() {
548
+ var _options_pluginData, downgradeResult, downgradeDecision;
549
+ return __generator(this, function(_state) {
550
+ downgradeResult = (_options_pluginData = options.pluginData) == null ? void 0 : _options_pluginData["downgrade"];
433
551
  if (downgradeResult) {
434
552
  downgradeDecision = checkDowngradeResult(downgradeResult);
435
553
  if (downgradeDecision.downgrade) {
436
- throw new Error("downgraded, reason: ".concat(downgradeDecision.reason));
554
+ throw new Error("Downgraded, reason: " + downgradeDecision.reason + ".");
437
555
  }
438
- }
439
- else {
440
- console.warn('No downgrade result in pluginData of SceneLoadOptions');
556
+ } else {
557
+ console.warn("No downgrade result in pluginData of SceneLoadOptions.");
441
558
  }
442
559
  if (!options.renderLevel) {
443
560
  options.renderLevel = getRenderLevelByDevice(options.renderLevel);
444
561
  }
445
- return [2 /*return*/];
562
+ return [
563
+ 2
564
+ ];
446
565
  });
447
- });
566
+ })();
448
567
  };
449
- AlipayDowngradePlugin.glLostOccurred = false;
450
568
  return AlipayDowngradePlugin;
451
- }(effects.AbstractPlugin));
569
+ }(EFFECTS.AbstractPlugin);
452
570
 
453
- var prefix = '[Galacean Effects]';
454
- effects.logger.register(nativeLogger);
571
+ var prefix = "[Galacean Effects]";
572
+ var ap = EFFECTS.isAlipayMiniApp() ? my : window.AlipayJSBridge;
573
+ EFFECTS.logger.register(nativeLogger);
455
574
  function nativeLogger(type, msg) {
456
- var args = [];
457
- for (var _i = 2; _i < arguments.length; _i++) {
458
- args[_i - 2] = arguments[_i];
459
- }
460
- if (effects.isAndroid()) {
461
- androidLogger.apply(void 0, __spreadArray([type, "".concat(prefix, " ").concat(msg)], __read(args), false));
462
- }
463
- else if (effects.isIOS()) {
464
- iOSLogger.apply(void 0, __spreadArray([type, msg], __read(args), false));
575
+ for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
576
+ args[_key - 2] = arguments[_key];
465
577
  }
466
- }
467
- function iOSLogger(type, msg) {
468
- var args = [];
469
- for (var _i = 2; _i < arguments.length; _i++) {
470
- args[_i - 2] = arguments[_i];
471
- }
472
- try {
473
- var ap = window.AlipayJSBridge;
474
- var content = formatMessage.apply(void 0, __spreadArray([type, msg], __read(args), false));
475
- ap === null || ap === void 0 ? void 0 : ap.call('H5APLog', {
476
- content: content,
477
- });
478
- }
479
- catch (e) {
480
- console.error(e);
481
- }
482
- }
483
- // Android H5 容器支持 console 日志直接写入 aplog
484
- function androidLogger(type, msg) {
485
- var args = [];
486
- for (var _i = 2; _i < arguments.length; _i++) {
487
- args[_i - 2] = arguments[_i];
578
+ var content = {
579
+ "message": prefix + " " + msg + " " + args.join(""),
580
+ "level": type
581
+ };
582
+ if (EFFECTS.isAndroid()) {
583
+ content["anr_info"] = "mars";
488
584
  }
489
585
  try {
490
- var ap = window.AlipayJSBridge;
491
- ap === null || ap === void 0 ? void 0 : ap.call('localLog', {
492
- 'anr_info': 'mars',
493
- 'message': msg + args.join(''),
494
- 'level': type,
495
- });
496
- }
497
- catch (e) {
586
+ ap == null ? void 0 : ap.call("localLog", content);
587
+ } catch (e) {
498
588
  console.error(e);
499
589
  }
500
590
  }
501
- function formatMessage(level, msg) {
502
- var args = [];
503
- for (var _i = 2; _i < arguments.length; _i++) {
504
- args[_i - 2] = arguments[_i];
505
- }
506
- var result = [
507
- '<MARS_PLAYER>',
508
- "(".concat(level, "):"),
509
- msg,
510
- ];
511
- args.forEach(function (i) {
512
- result.push(i + '');
513
- });
514
- return result.join(' ');
515
- }
516
591
 
517
- var version = "2.0.0-alpha.2";
518
- effects.registerPlugin('alipay-downgrade', AlipayDowngradePlugin, DowngradeVFXItem, true);
519
- effects.logger.info('plugin alipay downgrade version: ' + version);
592
+ var version = "2.0.0-alpha.21";
593
+ EFFECTS.registerPlugin("alipay-downgrade", AlipayDowngradePlugin, DowngradeVFXItem, true);
594
+ EFFECTS.logger.info("Plugin downgrade version: " + version + ".");
595
+ if (version !== EFFECTS__namespace.version) {
596
+ console.error("注意:请统一 Downgrade 插件与 Player 版本,不统一的版本混用会有不可预知的后果!", "\nAttention: Please ensure the Downgrade plugin is synchronized with the Player version. Mixing and matching incompatible versions may result in unpredictable consequences!");
597
+ }
520
598
 
521
599
  exports.checkDowngradeResult = checkDowngradeResult;
600
+ exports.downgradeForMiniprogram = downgradeForMiniprogram;
522
601
  exports.getDowngradeResult = getDowngradeResult;
523
602
  exports.getRenderLevelByDevice = getRenderLevelByDevice;
524
603
  exports.version = version;