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