@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/alipay-downgrade-plugin.d.ts +2 -4
- package/dist/alipay.js +597 -0
- package/dist/alipay.js.map +1 -0
- package/dist/alipay.mjs +570 -0
- package/dist/alipay.mjs.map +1 -0
- package/dist/downgrade-vfx-item.d.ts +1 -4
- package/dist/index.js +417 -338
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +4 -5
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +388 -329
- package/dist/index.mjs.map +1 -1
- package/dist/utils.d.ts +7 -12
- package/package.json +12 -4
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.
|
|
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
|
|
13
|
+
var EFFECTS = require('@galacean/effects');
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
117
|
-
|
|
57
|
+
// class DowngradeItem {
|
|
58
|
+
// // empty
|
|
59
|
+
// }
|
|
60
|
+
var DowngradeVFXItem = /*#__PURE__*/ function(VFXItem) {
|
|
61
|
+
_inherits(DowngradeVFXItem, VFXItem);
|
|
118
62
|
function DowngradeVFXItem() {
|
|
119
|
-
return
|
|
63
|
+
return VFXItem.apply(this, arguments);
|
|
120
64
|
}
|
|
121
65
|
return DowngradeVFXItem;
|
|
122
|
-
}(
|
|
66
|
+
}(EFFECTS.VFXItem);
|
|
123
67
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var
|
|
127
|
-
var
|
|
128
|
-
|
|
129
|
-
|
|
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
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
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 [
|
|
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
|
-
|
|
146
|
-
return [
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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
|
-
|
|
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
|
|
162
|
-
var totalTime = performance.now() -
|
|
163
|
-
console.info("
|
|
164
|
-
resolve({
|
|
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
|
|
167
|
-
callBridge(
|
|
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 [
|
|
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
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
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(
|
|
196
|
-
document.addEventListener(
|
|
282
|
+
document.addEventListener("pause", pauseAllActivePlayers);
|
|
283
|
+
document.addEventListener("resume", resumePausedPlayers);
|
|
197
284
|
}
|
|
198
285
|
}
|
|
199
286
|
function getSystemInfo() {
|
|
200
|
-
return
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
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(
|
|
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
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
})];
|
|
307
|
+
})
|
|
308
|
+
];
|
|
218
309
|
});
|
|
219
310
|
});
|
|
311
|
+
return _getSystemInfo.apply(this, arguments);
|
|
220
312
|
}
|
|
221
|
-
var DeviceProxy =
|
|
313
|
+
var DeviceProxy = /*#__PURE__*/ function() {
|
|
222
314
|
function DeviceProxy() {
|
|
223
315
|
this.isIOS = false;
|
|
224
|
-
this.model =
|
|
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
|
|
321
|
+
var _proto = DeviceProxy.prototype;
|
|
322
|
+
_proto.getRenderLevel = function getRenderLevel() {
|
|
229
323
|
if (this.deviceLevel === DEVICE_LEVEL_HIGH) {
|
|
230
|
-
return
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
else
|
|
236
|
-
return
|
|
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
|
-
|
|
333
|
+
_proto.hasDeviceLevel = function hasDeviceLevel() {
|
|
243
334
|
return isDeviceLevel(this.deviceLevel);
|
|
244
335
|
};
|
|
245
|
-
|
|
246
|
-
var
|
|
247
|
-
this.isIOS = platform ===
|
|
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
|
-
|
|
250
|
-
|
|
340
|
+
this.system = system;
|
|
341
|
+
if (performance1 && !this.hasDeviceLevel()) {
|
|
342
|
+
this.deviceLevel = performance1;
|
|
251
343
|
}
|
|
252
344
|
};
|
|
253
|
-
|
|
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
|
-
|
|
360
|
+
_proto.getDeviceInfo = function getDeviceInfo() {
|
|
271
361
|
return {
|
|
272
362
|
isIOS: this.isIOS,
|
|
273
363
|
model: this.model,
|
|
274
|
-
|
|
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
|
|
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 {
|
|
375
|
+
return {
|
|
376
|
+
downgrade: downgrade,
|
|
377
|
+
reason: "mock"
|
|
378
|
+
};
|
|
285
379
|
}
|
|
286
380
|
if (result.noAlipayEnv) {
|
|
287
|
-
return {
|
|
381
|
+
return {
|
|
382
|
+
downgrade: false,
|
|
383
|
+
reason: "no AP env"
|
|
384
|
+
};
|
|
288
385
|
}
|
|
289
386
|
if (!result.systemInfo) {
|
|
290
|
-
return {
|
|
387
|
+
return {
|
|
388
|
+
downgrade: false,
|
|
389
|
+
reason: "systemInfo is required"
|
|
390
|
+
};
|
|
291
391
|
}
|
|
292
392
|
if (!result.downgradeResult) {
|
|
293
|
-
return {
|
|
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 =
|
|
304
|
-
if (
|
|
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 {
|
|
327
|
-
|
|
328
|
-
|
|
427
|
+
return {
|
|
428
|
+
downgrade: true,
|
|
429
|
+
reason: "call downgrade fail"
|
|
430
|
+
};
|
|
431
|
+
} else {
|
|
329
432
|
if (resultType === 1) {
|
|
330
|
-
return {
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
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 {
|
|
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 ""
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
else if (reason ===
|
|
350
|
-
return ""
|
|
351
|
-
}
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
else
|
|
356
|
-
return ""
|
|
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
|
-
|
|
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(
|
|
486
|
+
var internalPaused = Symbol("@@_inter_pause");
|
|
379
487
|
function pauseAllActivePlayers(e) {
|
|
380
488
|
if (e.target === document) {
|
|
381
|
-
|
|
382
|
-
var players =
|
|
383
|
-
players.forEach(function
|
|
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({
|
|
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
|
-
|
|
395
|
-
var players =
|
|
396
|
-
players.forEach(function
|
|
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 =
|
|
408
|
-
|
|
540
|
+
var AlipayDowngradePlugin = /*#__PURE__*/ function(AbstractPlugin) {
|
|
541
|
+
_inherits(AlipayDowngradePlugin, AbstractPlugin);
|
|
409
542
|
function AlipayDowngradePlugin() {
|
|
410
|
-
return
|
|
543
|
+
return AbstractPlugin.apply(this, arguments);
|
|
411
544
|
}
|
|
412
|
-
AlipayDowngradePlugin.
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
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("
|
|
554
|
+
throw new Error("Downgraded, reason: " + downgradeDecision.reason + ".");
|
|
437
555
|
}
|
|
438
|
-
}
|
|
439
|
-
|
|
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 [
|
|
562
|
+
return [
|
|
563
|
+
2
|
|
564
|
+
];
|
|
446
565
|
});
|
|
447
|
-
});
|
|
566
|
+
})();
|
|
448
567
|
};
|
|
449
|
-
AlipayDowngradePlugin.glLostOccurred = false;
|
|
450
568
|
return AlipayDowngradePlugin;
|
|
451
|
-
}(
|
|
569
|
+
}(EFFECTS.AbstractPlugin);
|
|
452
570
|
|
|
453
|
-
var prefix =
|
|
454
|
-
|
|
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
|
-
|
|
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
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
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
|
-
|
|
491
|
-
|
|
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.
|
|
518
|
-
|
|
519
|
-
|
|
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;
|