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