@galacean/effects-plugin-alipay-downgrade 2.7.0-beta.0 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@
3
3
  * Description: Galacean Effects player downgrade plugin for Alipay
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,意绮,飂兮
6
- * Version: v2.7.0-beta.0
6
+ * Version: v2.7.0
7
7
  */
8
8
 
9
9
  'use strict';
@@ -651,7 +651,7 @@ if (EFFECTS.canUseBOM) {
651
651
 
652
652
  /**
653
653
  * 插件版本号
654
- */ var version = "2.7.0-beta.0";
654
+ */ var version = "2.7.0";
655
655
  EFFECTS.registerPlugin("alipay-downgrade", AlipayDowngradePlugin, EFFECTS.VFXItem);
656
656
  EFFECTS.logger.info("Plugin downgrade version: " + version + ".");
657
657
  if (version !== EFFECTS__namespace.version) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_async_to_generator.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_set_prototype_of.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_inherits.js","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_extends.js","../src/types.ts","../src/device-proxy.ts","../src/utils.ts","../src/alipay-downgrade-plugin.ts","../src/native-log.ts","../src/index.ts"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) resolve(value);\n else Promise.resolve(value).then(_next, _throw);\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\nexport { _async_to_generator as _ };\n","function _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n\n return o;\n };\n\n return _set_prototype_of(o, p);\n}\nexport { _set_prototype_of as _ };\n","import { _ as _set_prototype_of } from \"./_set_prototype_of.js\";\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });\n\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nexport { _inherits as _ };\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","function _extends() {\n _extends = Object.assign || function assign(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\nexport { _extends as _ };\n","import type { SceneRenderLevel } from '@galacean/effects';\n\n/**\n * 降级接口入参\n */\nexport interface DowngradeOptions {\n /**\n * 指定渲染等级,如果没有设置,会根据设备信息自动计算\n */\n level?: SceneRenderLevel,\n /**\n * 技术点列表\n */\n techPoint?: string[],\n /**\n * Alipay JSAPI getSystemInfo 返回的结果,可以在外部调用后传进来\n */\n systemInfo?: SystemInfo,\n /**\n * Alipay JSAPI getDowngradeResult 返回的结果,可以在外部调用后传进来\n */\n downgradeResult?: any,\n /**\n * 禁用压后台的时候自动暂停播放器\n * @default false - 不自动暂停\n */\n autoPause?: boolean,\n /**\n * 降级 API\n * @param bizId - 业务 Id\n * @param option - 参数\n * @param callback - 回调函数\n * @returns 降级结果\n */\n callBridge?: (\n bizId: string,\n option: Record<string, any>,\n callback: (res: Record<string, any>) => void,\n ) => void,\n}\n\n/**\n * 降级结果\n */\nexport interface DowngradeResult {\n /**\n * 业务 bizId\n */\n bizId: string,\n /**\n * 是否降级\n */\n downgrade: boolean,\n /**\n * 渲染等级\n */\n level: SceneRenderLevel,\n /**\n * 降级原因\n */\n reason: string,\n /**\n * JSAPI 返回的系统信息\n */\n systemInfo?: SystemInfo,\n /**\n * JSAPI 调用时间\n */\n systemTime?: number,\n /**\n * JSAPI 返回的降级结果\n */\n downgradeResult?: any,\n /**\n * JSAPI 调用时间\n */\n downgradeTime?: number,\n}\n\n/**\n * JSAPI 返回的系统信息\n */\nexport interface SystemInfo {\n /**\n * 性能信息\n */\n performance: string,\n /**\n * 平台信息\n */\n platform: string,\n /**\n * 硬件机型\n */\n model: string,\n /**\n * 系统信息\n */\n system: string,\n /**\n * 品牌信息\n */\n brand: string,\n /**\n * 版本信息\n */\n version?: string,\n /**\n * 错误消息\n */\n error?: Error,\n}\n\n/**\n * 设备等级,分为高、中、低和未知。\n */\nexport enum DeviceLevel {\n High = 'high',\n Medium = 'medium',\n Low = 'low',\n Unknown = 'unknown',\n}\n\n/**\n * 降级决定\n */\nexport interface DowngradeDecision {\n /**\n * 是否降级\n */\n downgrade: boolean,\n /**\n * 渲染等级\n */\n level: SceneRenderLevel,\n /**\n * 降级原因\n */\n reason: string,\n}\n","import type { SceneRenderLevel } from '@galacean/effects';\nimport { isAlipayMiniApp, isString, logger, spec } from '@galacean/effects';\nimport type { DowngradeDecision, SystemInfo } from './types';\nimport { DeviceLevel } from './types';\n\nconst deviceModelList = ['12,8', '13,1', '13,2', '13,3', '13,4'];\n\n/**\n * 设备代理类\n *\n * 负责将 JSAPI 返回的 SystemInfo 和 DowngradeResult 数据\n * 转成设备相关的数据,在后面的降级判断中使用\n */\nexport class DeviceProxy {\n /**\n * 是否 iOS 系统\n */\n isIOS = false;\n /**\n * 硬件机型\n */\n model = 'DESKTOP_DEBUG';\n /**\n * 系统版本\n */\n system = 'Unknown';\n /**\n * 设备等级\n */\n level = DeviceLevel.Unknown;\n /**\n * 是否降级\n */\n isDowngrade = false;\n\n /**\n * 设置 JSAPI 返回的系统信息\n * @param systemInfo - JSAPI 返回的系统信息\n */\n setSystemInfo (systemInfo: SystemInfo) {\n const {\n performance, platform,\n model = 'UNKNOWN_DEVICE',\n system = 'Unknown',\n } = systemInfo;\n\n this.isIOS = platform === 'iOS';\n this.model = model;\n this.system = system;\n this.setLevel(performance);\n }\n\n /**\n * 根据传入的 JSAPI 降级结果,返回设备的降级决定\n *\n * @param result - JSAPI 返回的降级结果\n * @returns 设备降级决定\n */\n getDowngradeDecision (result: any): DowngradeDecision {\n let resultType = undefined;\n let resultReason = undefined;\n\n if (result.error) {\n // 无权调用的情况下不降级\n return {\n downgrade: result.error !== 4,\n level: this.getRenderLevel(),\n reason: 'api error: ' + result.error,\n };\n }\n\n try {\n const ret = isString(result) ? JSON.parse(result) : result;\n\n if ('downgradeResultType' in ret) {\n resultType = ret.downgradeResultType;\n } else if ('resultType' in ret) {\n resultType = ret.resultType;\n resultReason = ret.resultReason;\n }\n\n if (result.context) {\n const deviceInfo = result.context.deviceInfo;\n\n if (deviceInfo) {\n const { deviceLevel } = deviceInfo;\n const newLevel = getDeviceLevel(deviceLevel);\n\n if (newLevel !== DeviceLevel.Unknown) {\n this.level = newLevel;\n }\n }\n }\n } catch (ex: any) {\n logger.error(ex);\n }\n\n if (resultType === undefined) {\n return {\n downgrade: true,\n level: this.getRenderLevel(),\n reason: 'call downgrade fail',\n };\n }\n if (resultType === 1) {\n return {\n downgrade: true,\n level: this.getRenderLevel(),\n reason: getDowngradeReason(resultReason),\n };\n }\n if (isAlipayMiniApp() && this.downgradeForMiniprogram()) {\n return {\n downgrade: true,\n level: this.getRenderLevel(),\n reason: 'Force downgrade by downgrade plugin',\n };\n }\n\n return {\n downgrade: false,\n level: this.getRenderLevel(),\n reason: `${resultType}`,\n };\n }\n\n /**\n * 获取设备渲染等级\n * @returns 设备渲染等级\n */\n getRenderLevel (): SceneRenderLevel {\n if (this.level === DeviceLevel.High) {\n return spec.RenderLevel.S;\n } else if (this.level === DeviceLevel.Medium) {\n return spec.RenderLevel.A;\n } else if (this.level === DeviceLevel.Low) {\n return spec.RenderLevel.B;\n } else {\n return this.isIOS ? spec.RenderLevel.S : spec.RenderLevel.B;\n }\n }\n\n private setLevel (level?: string) {\n this.level = getDeviceLevel(level);\n if (this.level === DeviceLevel.Unknown) {\n if (/iPhone(\\d+),/.test(this.model)) {\n const gen = +RegExp.$1;\n\n if (gen <= 9) {\n this.level = DeviceLevel.Low;\n } else if (gen < 10) {\n this.level = DeviceLevel.Medium;\n } else {\n this.level = DeviceLevel.High;\n }\n }\n }\n }\n\n private downgradeForMiniprogram () {\n if (this.isIOS) {\n if (deviceModelList.find(v => v === this.model)) {\n const versionList = this.system.split('.');\n\n if (versionList.length > 0 && versionList[0] === '16') {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n\nfunction getDowngradeReason (reason: number): string {\n if (reason === -1) {\n return `${reason}, unable to pull configuration`;\n } else if (reason === 0) {\n return `${reason}, no downgrade`;\n } else if (reason === 1) {\n return `${reason}, memory downgrade`;\n } else if (reason === 2) {\n return `${reason}, crash downgrade`;\n } else if (reason === 3) {\n return `${reason}, basic dimension downgrade`;\n } else if (reason === 4) {\n return `${reason}, technical point downgrade`;\n } else if (reason === 5) {\n return `${reason}, GPU downgrade`;\n } else if (reason === 6) {\n return `${reason}, self-healing downgrade`;\n } else if (reason === 7) {\n return `${reason}, 32-bit CPU downgrade`;\n } else {\n return `${reason}`;\n }\n}\n\nfunction getDeviceLevel (level?: string): DeviceLevel {\n if (level === 'high') {\n return DeviceLevel.High;\n } else if (level === 'medium' || level === 'middle') {\n return DeviceLevel.Medium;\n } else if (level === 'low') {\n return DeviceLevel.Low;\n } else {\n return DeviceLevel.Unknown;\n }\n}\n","import { spec, getActivePlayers, logger, isAlipayMiniApp, isIOS, canUseBOM } from '@galacean/effects';\nimport type { DowngradeOptions, DowngradeResult, SystemInfo } from './types';\nimport { DeviceProxy } from './device-proxy';\n\nconst internalPaused = Symbol('@@_inter_pause');\nconst mockIdPass = 'mock-pass';\nconst mockIdFail = 'mock-fail';\nlet hasRegisterEvent = false;\n\n/**\n * 获取 GE 降级结果,在有 JSAPI 环境下调用,不需要创建 Canvas 和 WebGL 环境。\n *\n * @param bizId - 业务 bizId\n * @param options - 降级选项\n * @returns 降级结果\n */\nexport async function getDowngradeResult (bizId: string, options: DowngradeOptions = {}): Promise<DowngradeResult> {\n if (!canUseBOM) {\n return Promise.resolve({\n bizId,\n downgrade: true,\n level: options.level ?? spec.RenderLevel.S,\n reason: '当前环境无法访问 window',\n });\n }\n\n if (!hasRegisterEvent) {\n hasRegisterEvent = true;\n registerEvent(options);\n }\n if (bizId === mockIdFail || bizId === mockIdPass) {\n return Promise.resolve({\n bizId,\n downgrade: bizId === mockIdFail,\n level: options.level ?? spec.RenderLevel.S,\n reason: 'mock',\n });\n }\n\n const ap = isAlipayMiniApp() ? my : window.AlipayJSBridge;\n\n // 当需要通过 ap 获取降级信息时,才进行降级环境的检查\n if (!ap && (!options.systemInfo || !options.downgradeResult)) {\n return {\n bizId,\n downgrade: false,\n level: options.level ?? spec.RenderLevel.S,\n reason: 'Non-Alipay environment',\n };\n }\n\n const systemStartTime = performance.now();\n\n return getSystemInfoJSAPI(options, ap)\n .then((systemInfo: SystemInfo) => {\n const systemEndTime = performance.now();\n\n return getDowngradeResultJSAPI(bizId, options, ap)\n .then((downgradeResult: any) => {\n const downgradeEndTime = performance.now();\n\n logger.info(`Downgrade time: ${downgradeEndTime - systemStartTime}ms.`);\n\n const device = new DeviceProxy();\n\n device.setSystemInfo(systemInfo);\n\n const decision = device.getDowngradeDecision(downgradeResult);\n\n if (options.level) {\n decision.level = options.level;\n }\n\n const result: DowngradeResult = {\n ...decision,\n bizId,\n systemInfo,\n systemTime: systemEndTime - systemStartTime,\n downgradeResult,\n downgradeTime: downgradeEndTime - systemEndTime,\n };\n\n return result;\n });\n });\n}\n\nfunction registerEvent (options: DowngradeOptions) {\n const { autoPause } = options;\n\n window.addEventListener('unload', () => {\n getActivePlayers().forEach(player => player.dispose());\n });\n\n if (autoPause) {\n document.addEventListener('pause', pauseAllActivePlayers);\n document.addEventListener('resume', resumePausedPlayers);\n }\n}\n\nasync function getSystemInfoJSAPI (options: DowngradeOptions, ap: any): Promise<SystemInfo> {\n if (options.systemInfo) {\n return Promise.resolve(options.systemInfo);\n } else {\n return new Promise((resolve, reject) => {\n ap.call('getSystemInfo', (e: SystemInfo) => {\n if (e.error) {\n reject(e);\n } else {\n resolve(e);\n }\n });\n });\n }\n}\n\nasync function getDowngradeResultJSAPI (bizId: string, options: DowngradeOptions, ap: any): Promise<any> {\n if (options.downgradeResult) {\n return Promise.resolve(options.downgradeResult);\n } else {\n return new Promise((resolve, reject) => {\n const techPoint = ['mars'];\n const tc = options.techPoint;\n\n if (tc) {\n techPoint.push(...tc);\n }\n\n const downgradeOptions = {\n bizId,\n scene: 0,\n ext: {\n techPoint,\n },\n };\n\n const callBridge = options.callBridge ?? ap.call;\n\n callBridge('getDowngradeResult', downgradeOptions, (result: any) => {\n resolve(result);\n });\n });\n }\n}\n\n/**\n * 获取默认渲染等级\n *\n * @returns 渲染等级\n */\nexport function getDefaultRenderLevel () {\n return isIOS() ? spec.RenderLevel.S : spec.RenderLevel.B;\n}\n\nfunction pauseAllActivePlayers (e: Event) {\n if (e.target === document) {\n logger.info('Auto pause all players with data offloaded.');\n const players = getActivePlayers();\n\n players.forEach(player => {\n if (!player.paused) {\n player.pause({ offloadTexture: true });\n // @ts-expect-error\n player[internalPaused] = true;\n }\n });\n }\n}\n\nfunction resumePausedPlayers (e: Event) {\n if (e.target === document) {\n logger.info('Auto resume all players.');\n const players = getActivePlayers();\n\n players.forEach(player => {\n // @ts-expect-error\n if (player[internalPaused]) {\n void player.resume();\n // @ts-expect-error\n player[internalPaused] = false;\n }\n });\n }\n}\n","import type { SceneLoadOptions, spec } from '@galacean/effects';\nimport { AbstractPlugin, logger } from '@galacean/effects';\nimport { getDefaultRenderLevel } from './utils';\n\n/**\n * Alipay 降级插件类\n *\n * 根据 SceneLoadOptions 中传入的 downgrade 数据,判断是否降级。\n * 如果设备被降级,会在 processRawJSON 时抛出降级相关的异常和原因。\n *\n * 如果 SceneLoadOptions 中 renderLevel 没有设置,那么会根据 downgrade 数据\n * 和默认的渲染等级规则设置其中的 renderLevel。\n */\nexport class AlipayDowngradePlugin extends AbstractPlugin {\n static override async processRawJSON (json: spec.JSONScene, options: SceneLoadOptions = {}) {\n const downgradeResult = options.pluginData?.['downgrade'];\n\n if (downgradeResult) {\n if (downgradeResult.downgrade) {\n throw new Error(`Downgraded, reason: ${downgradeResult.reason}`);\n }\n } else {\n logger.warn('No downgrade result in pluginData of SceneLoadOptions.');\n }\n\n if (!options.renderLevel) {\n options.renderLevel = downgradeResult?.level ?? getDefaultRenderLevel();\n }\n }\n}\n","/**\n * 将日志写到 native 容器的日志中,便于线上问题排查。\n * 打印的日志可以通过海纳上捞取用户本地日志获得。\n *\n * @example\n * ``` ts\n * // 普通日志,使用方法和console日志一样。\n * nativeLog.log('this is native log from h5.');\n * // 错误日志\n * nativeLog.error('this is native log from h5, error:', error);\n * ```\n */\nimport { isAlipayMiniApp, isAndroid, logger, canUseBOM } from '@galacean/effects';\n\nconst prefix = '[Galacean Effects]';\n\n// 非 Web 环境不执行后续逻辑,避免 window 及 navigator 访问报错\nif (canUseBOM) {\n const ap = isAlipayMiniApp() ? my : window.AlipayJSBridge;\n const nativeLogger = (type: string, msg: string, ...args: string[]) => {\n const content: {\n message: string,\n level: string,\n 'anr_info'?: string,\n } = {\n 'message': `${prefix} ${msg} ${args.join('')}`,\n 'level': type,\n };\n\n if (isAndroid()) {\n content['anr_info'] = 'mars';\n }\n try {\n ap?.call('localLog', content);\n } catch (e) {\n console.error(e);\n }\n };\n\n logger.register(nativeLogger);\n}\n","import * as EFFECTS from '@galacean/effects';\nimport { VFXItem, logger, registerPlugin } from '@galacean/effects';\nimport { AlipayDowngradePlugin } from './alipay-downgrade-plugin';\n\nexport * from './utils';\nexport * from './native-log';\nexport * from './types';\n\n/**\n * 插件版本号\n */\nexport const version = __VERSION__;\n\nregisterPlugin('alipay-downgrade', AlipayDowngradePlugin, VFXItem);\n\nlogger.info(`Plugin downgrade version: ${version}.`);\n\nif (version !== EFFECTS.version) {\n console.error(\n '注意:请统一 Downgrade 插件与 Player 版本,不统一的版本混用会有不可预知的后果!',\n '\\nAttention: Please ensure the Downgrade plugin is synchronized with the Player version. Mixing and matching incompatible versions may result in unpredictable consequences!'\n );\n}\n"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_async_to_generator","fn","self","args","arguments","apply","err","undefined","_set_prototype_of","o","p","Object","setPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","__generator","thisArg","body","_","label","sent","t","trys","ops","f","y","g","Iterator","next","verb","Symbol","iterator","n","v","step","op","call","pop","length","push","e","SuppressedError","suppressed","message","Error","name","_extends","assign","target","i","source","hasOwnProperty","DeviceLevel","deviceModelList","DeviceProxy","isIOS","model","system","level","Unknown","isDowngrade","setSystemInfo","systemInfo","performance","platform","setLevel","getDowngradeDecision","result","resultType","resultReason","downgrade","getRenderLevel","reason","ret","isString","JSON","parse","downgradeResultType","context","deviceInfo","deviceLevel","newLevel","getDeviceLevel","ex","logger","getDowngradeReason","isAlipayMiniApp","downgradeForMiniprogram","High","spec","RenderLevel","S","Medium","A","Low","B","test","RegExp","$1","find","versionList","split","internalPaused","mockIdPass","mockIdFail","hasRegisterEvent","getDowngradeResult","bizId","options","ap","systemStartTime","canUseBOM","registerEvent","my","window","AlipayJSBridge","downgradeResult","now","getSystemInfoJSAPI","systemEndTime","getDowngradeResultJSAPI","downgradeEndTime","device","decision","systemTime","downgradeTime","autoPause","addEventListener","getActivePlayers","forEach","player","dispose","document","pauseAllActivePlayers","resumePausedPlayers","techPoint","tc","downgradeOptions","scene","ext","callBridge","getDefaultRenderLevel","players","paused","pause","offloadTexture","resume","AlipayDowngradePlugin","processRawJSON","json","pluginData","warn","renderLevel","AbstractPlugin","prefix","nativeLogger","type","msg","content","join","isAndroid","console","register","version","registerPlugin","VFXItem","EFFECTS"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_async_to_generator.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_set_prototype_of.js","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_inherits.js","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/@swc+helpers@0.5.15/node_modules/@swc/helpers/esm/_extends.js","../src/types.ts","../src/device-proxy.ts","../src/utils.ts","../src/alipay-downgrade-plugin.ts","../src/native-log.ts","../src/index.ts"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) resolve(value);\n else Promise.resolve(value).then(_next, _throw);\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\nexport { _async_to_generator as _ };\n","function _set_prototype_of(o, p) {\n _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {\n o.__proto__ = p;\n\n return o;\n };\n\n return _set_prototype_of(o, p);\n}\nexport { _set_prototype_of as _ };\n","import { _ as _set_prototype_of } from \"./_set_prototype_of.js\";\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });\n\n if (superClass) _set_prototype_of(subClass, superClass);\n}\nexport { _inherits as _ };\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n 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;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","function _extends() {\n _extends = Object.assign || function assign(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\nexport { _extends as _ };\n","import type { SceneRenderLevel } from '@galacean/effects';\n\n/**\n * 降级接口入参\n */\nexport interface DowngradeOptions {\n /**\n * 指定渲染等级,如果没有设置,会根据设备信息自动计算\n */\n level?: SceneRenderLevel,\n /**\n * 技术点列表\n */\n techPoint?: string[],\n /**\n * Alipay JSAPI getSystemInfo 返回的结果,可以在外部调用后传进来\n */\n systemInfo?: SystemInfo,\n /**\n * Alipay JSAPI getDowngradeResult 返回的结果,可以在外部调用后传进来\n */\n downgradeResult?: any,\n /**\n * 禁用压后台的时候自动暂停播放器\n * @default false - 不自动暂停\n */\n autoPause?: boolean,\n /**\n * 降级 API\n * @param bizId - 业务 Id\n * @param option - 参数\n * @param callback - 回调函数\n * @returns 降级结果\n */\n callBridge?: (\n bizId: string,\n option: Record<string, any>,\n callback: (res: Record<string, any>) => void,\n ) => void,\n}\n\n/**\n * 降级结果\n */\nexport interface DowngradeResult {\n /**\n * 业务 bizId\n */\n bizId: string,\n /**\n * 是否降级\n */\n downgrade: boolean,\n /**\n * 渲染等级\n */\n level: SceneRenderLevel,\n /**\n * 降级原因\n */\n reason: string,\n /**\n * JSAPI 返回的系统信息\n */\n systemInfo?: SystemInfo,\n /**\n * JSAPI 调用时间\n */\n systemTime?: number,\n /**\n * JSAPI 返回的降级结果\n */\n downgradeResult?: any,\n /**\n * JSAPI 调用时间\n */\n downgradeTime?: number,\n}\n\n/**\n * JSAPI 返回的系统信息\n */\nexport interface SystemInfo {\n /**\n * 性能信息\n */\n performance: string,\n /**\n * 平台信息\n */\n platform: string,\n /**\n * 硬件机型\n */\n model: string,\n /**\n * 系统信息\n */\n system: string,\n /**\n * 品牌信息\n */\n brand: string,\n /**\n * 版本信息\n */\n version?: string,\n /**\n * 错误消息\n */\n error?: Error,\n}\n\n/**\n * 设备等级,分为高、中、低和未知。\n */\nexport enum DeviceLevel {\n High = 'high',\n Medium = 'medium',\n Low = 'low',\n Unknown = 'unknown',\n}\n\n/**\n * 降级决定\n */\nexport interface DowngradeDecision {\n /**\n * 是否降级\n */\n downgrade: boolean,\n /**\n * 渲染等级\n */\n level: SceneRenderLevel,\n /**\n * 降级原因\n */\n reason: string,\n}\n","import type { SceneRenderLevel } from '@galacean/effects';\nimport { isAlipayMiniApp, isString, logger, spec } from '@galacean/effects';\nimport type { DowngradeDecision, SystemInfo } from './types';\nimport { DeviceLevel } from './types';\n\nconst deviceModelList = ['12,8', '13,1', '13,2', '13,3', '13,4'];\n\n/**\n * 设备代理类\n *\n * 负责将 JSAPI 返回的 SystemInfo 和 DowngradeResult 数据\n * 转成设备相关的数据,在后面的降级判断中使用\n */\nexport class DeviceProxy {\n /**\n * 是否 iOS 系统\n */\n isIOS = false;\n /**\n * 硬件机型\n */\n model = 'DESKTOP_DEBUG';\n /**\n * 系统版本\n */\n system = 'Unknown';\n /**\n * 设备等级\n */\n level = DeviceLevel.Unknown;\n /**\n * 是否降级\n */\n isDowngrade = false;\n\n /**\n * 设置 JSAPI 返回的系统信息\n * @param systemInfo - JSAPI 返回的系统信息\n */\n setSystemInfo (systemInfo: SystemInfo) {\n const {\n performance, platform,\n model = 'UNKNOWN_DEVICE',\n system = 'Unknown',\n } = systemInfo;\n\n this.isIOS = platform === 'iOS';\n this.model = model;\n this.system = system;\n this.setLevel(performance);\n }\n\n /**\n * 根据传入的 JSAPI 降级结果,返回设备的降级决定\n *\n * @param result - JSAPI 返回的降级结果\n * @returns 设备降级决定\n */\n getDowngradeDecision (result: any): DowngradeDecision {\n let resultType = undefined;\n let resultReason = undefined;\n\n if (result.error) {\n // 无权调用的情况下不降级\n return {\n downgrade: result.error !== 4,\n level: this.getRenderLevel(),\n reason: 'api error: ' + result.error,\n };\n }\n\n try {\n const ret = isString(result) ? JSON.parse(result) : result;\n\n if ('downgradeResultType' in ret) {\n resultType = ret.downgradeResultType;\n } else if ('resultType' in ret) {\n resultType = ret.resultType;\n resultReason = ret.resultReason;\n }\n\n if (result.context) {\n const deviceInfo = result.context.deviceInfo;\n\n if (deviceInfo) {\n const { deviceLevel } = deviceInfo;\n const newLevel = getDeviceLevel(deviceLevel);\n\n if (newLevel !== DeviceLevel.Unknown) {\n this.level = newLevel;\n }\n }\n }\n } catch (ex: any) {\n logger.error(ex);\n }\n\n if (resultType === undefined) {\n return {\n downgrade: true,\n level: this.getRenderLevel(),\n reason: 'call downgrade fail',\n };\n }\n if (resultType === 1) {\n return {\n downgrade: true,\n level: this.getRenderLevel(),\n reason: getDowngradeReason(resultReason),\n };\n }\n if (isAlipayMiniApp() && this.downgradeForMiniprogram()) {\n return {\n downgrade: true,\n level: this.getRenderLevel(),\n reason: 'Force downgrade by downgrade plugin',\n };\n }\n\n return {\n downgrade: false,\n level: this.getRenderLevel(),\n reason: `${resultType}`,\n };\n }\n\n /**\n * 获取设备渲染等级\n * @returns 设备渲染等级\n */\n getRenderLevel (): SceneRenderLevel {\n if (this.level === DeviceLevel.High) {\n return spec.RenderLevel.S;\n } else if (this.level === DeviceLevel.Medium) {\n return spec.RenderLevel.A;\n } else if (this.level === DeviceLevel.Low) {\n return spec.RenderLevel.B;\n } else {\n return this.isIOS ? spec.RenderLevel.S : spec.RenderLevel.B;\n }\n }\n\n private setLevel (level?: string) {\n this.level = getDeviceLevel(level);\n if (this.level === DeviceLevel.Unknown) {\n if (/iPhone(\\d+),/.test(this.model)) {\n const gen = +RegExp.$1;\n\n if (gen <= 9) {\n this.level = DeviceLevel.Low;\n } else if (gen < 10) {\n this.level = DeviceLevel.Medium;\n } else {\n this.level = DeviceLevel.High;\n }\n }\n }\n }\n\n private downgradeForMiniprogram () {\n if (this.isIOS) {\n if (deviceModelList.find(v => v === this.model)) {\n const versionList = this.system.split('.');\n\n if (versionList.length > 0 && versionList[0] === '16') {\n return true;\n }\n }\n }\n\n return false;\n }\n}\n\nfunction getDowngradeReason (reason: number): string {\n if (reason === -1) {\n return `${reason}, unable to pull configuration`;\n } else if (reason === 0) {\n return `${reason}, no downgrade`;\n } else if (reason === 1) {\n return `${reason}, memory downgrade`;\n } else if (reason === 2) {\n return `${reason}, crash downgrade`;\n } else if (reason === 3) {\n return `${reason}, basic dimension downgrade`;\n } else if (reason === 4) {\n return `${reason}, technical point downgrade`;\n } else if (reason === 5) {\n return `${reason}, GPU downgrade`;\n } else if (reason === 6) {\n return `${reason}, self-healing downgrade`;\n } else if (reason === 7) {\n return `${reason}, 32-bit CPU downgrade`;\n } else {\n return `${reason}`;\n }\n}\n\nfunction getDeviceLevel (level?: string): DeviceLevel {\n if (level === 'high') {\n return DeviceLevel.High;\n } else if (level === 'medium' || level === 'middle') {\n return DeviceLevel.Medium;\n } else if (level === 'low') {\n return DeviceLevel.Low;\n } else {\n return DeviceLevel.Unknown;\n }\n}\n","import { spec, getActivePlayers, logger, isAlipayMiniApp, isIOS, canUseBOM } from '@galacean/effects';\nimport type { DowngradeOptions, DowngradeResult, SystemInfo } from './types';\nimport { DeviceProxy } from './device-proxy';\n\nconst internalPaused = Symbol('@@_inter_pause');\nconst mockIdPass = 'mock-pass';\nconst mockIdFail = 'mock-fail';\nlet hasRegisterEvent = false;\n\n/**\n * 获取 GE 降级结果,在有 JSAPI 环境下调用,不需要创建 Canvas 和 WebGL 环境。\n *\n * @param bizId - 业务 bizId\n * @param options - 降级选项\n * @returns 降级结果\n */\nexport async function getDowngradeResult (bizId: string, options: DowngradeOptions = {}): Promise<DowngradeResult> {\n if (!canUseBOM) {\n return Promise.resolve({\n bizId,\n downgrade: true,\n level: options.level ?? spec.RenderLevel.S,\n reason: '当前环境无法访问 window',\n });\n }\n\n if (!hasRegisterEvent) {\n hasRegisterEvent = true;\n registerEvent(options);\n }\n if (bizId === mockIdFail || bizId === mockIdPass) {\n return Promise.resolve({\n bizId,\n downgrade: bizId === mockIdFail,\n level: options.level ?? spec.RenderLevel.S,\n reason: 'mock',\n });\n }\n\n const ap = isAlipayMiniApp() ? my : window.AlipayJSBridge;\n\n // 当需要通过 ap 获取降级信息时,才进行降级环境的检查\n if (!ap && (!options.systemInfo || !options.downgradeResult)) {\n return {\n bizId,\n downgrade: false,\n level: options.level ?? spec.RenderLevel.S,\n reason: 'Non-Alipay environment',\n };\n }\n\n const systemStartTime = performance.now();\n\n return getSystemInfoJSAPI(options, ap)\n .then((systemInfo: SystemInfo) => {\n const systemEndTime = performance.now();\n\n return getDowngradeResultJSAPI(bizId, options, ap)\n .then((downgradeResult: any) => {\n const downgradeEndTime = performance.now();\n\n logger.info(`Downgrade time: ${downgradeEndTime - systemStartTime}ms.`);\n\n const device = new DeviceProxy();\n\n device.setSystemInfo(systemInfo);\n\n const decision = device.getDowngradeDecision(downgradeResult);\n\n if (options.level) {\n decision.level = options.level;\n }\n\n const result: DowngradeResult = {\n ...decision,\n bizId,\n systemInfo,\n systemTime: systemEndTime - systemStartTime,\n downgradeResult,\n downgradeTime: downgradeEndTime - systemEndTime,\n };\n\n return result;\n });\n });\n}\n\nfunction registerEvent (options: DowngradeOptions) {\n const { autoPause } = options;\n\n window.addEventListener('unload', () => {\n getActivePlayers().forEach(player => player.dispose());\n });\n\n if (autoPause) {\n document.addEventListener('pause', pauseAllActivePlayers);\n document.addEventListener('resume', resumePausedPlayers);\n }\n}\n\nasync function getSystemInfoJSAPI (options: DowngradeOptions, ap: any): Promise<SystemInfo> {\n if (options.systemInfo) {\n return Promise.resolve(options.systemInfo);\n } else {\n return new Promise((resolve, reject) => {\n ap.call('getSystemInfo', (e: SystemInfo) => {\n if (e.error) {\n reject(e);\n } else {\n resolve(e);\n }\n });\n });\n }\n}\n\nasync function getDowngradeResultJSAPI (bizId: string, options: DowngradeOptions, ap: any): Promise<any> {\n if (options.downgradeResult) {\n return Promise.resolve(options.downgradeResult);\n } else {\n return new Promise((resolve, reject) => {\n const techPoint = ['mars'];\n const tc = options.techPoint;\n\n if (tc) {\n techPoint.push(...tc);\n }\n\n const downgradeOptions = {\n bizId,\n scene: 0,\n ext: {\n techPoint,\n },\n };\n\n const callBridge = options.callBridge ?? ap.call;\n\n callBridge('getDowngradeResult', downgradeOptions, (result: any) => {\n resolve(result);\n });\n });\n }\n}\n\n/**\n * 获取默认渲染等级\n *\n * @returns 渲染等级\n */\nexport function getDefaultRenderLevel () {\n return isIOS() ? spec.RenderLevel.S : spec.RenderLevel.B;\n}\n\nfunction pauseAllActivePlayers (e: Event) {\n if (e.target === document) {\n logger.info('Auto pause all players with data offloaded.');\n const players = getActivePlayers();\n\n players.forEach(player => {\n if (!player.paused) {\n player.pause({ offloadTexture: true });\n // @ts-expect-error\n player[internalPaused] = true;\n }\n });\n }\n}\n\nfunction resumePausedPlayers (e: Event) {\n if (e.target === document) {\n logger.info('Auto resume all players.');\n const players = getActivePlayers();\n\n players.forEach(player => {\n // @ts-expect-error\n if (player[internalPaused]) {\n void player.resume();\n // @ts-expect-error\n player[internalPaused] = false;\n }\n });\n }\n}\n","import type { SceneLoadOptions, spec } from '@galacean/effects';\nimport { AbstractPlugin, logger } from '@galacean/effects';\nimport { getDefaultRenderLevel } from './utils';\n\n/**\n * Alipay 降级插件类\n *\n * 根据 SceneLoadOptions 中传入的 downgrade 数据,判断是否降级。\n * 如果设备被降级,会在 processRawJSON 时抛出降级相关的异常和原因。\n *\n * 如果 SceneLoadOptions 中 renderLevel 没有设置,那么会根据 downgrade 数据\n * 和默认的渲染等级规则设置其中的 renderLevel。\n */\nexport class AlipayDowngradePlugin extends AbstractPlugin {\n static override async processRawJSON (json: spec.JSONScene, options: SceneLoadOptions = {}) {\n const downgradeResult = options.pluginData?.['downgrade'];\n\n if (downgradeResult) {\n if (downgradeResult.downgrade) {\n throw new Error(`Downgraded, reason: ${downgradeResult.reason}`);\n }\n } else {\n logger.warn('No downgrade result in pluginData of SceneLoadOptions.');\n }\n\n if (!options.renderLevel) {\n options.renderLevel = downgradeResult?.level ?? getDefaultRenderLevel();\n }\n }\n}\n","/**\n * 将日志写到 native 容器的日志中,便于线上问题排查。\n * 打印的日志可以通过海纳上捞取用户本地日志获得。\n *\n * @example\n * ``` ts\n * // 普通日志,使用方法和console日志一样。\n * nativeLog.log('this is native log from h5.');\n * // 错误日志\n * nativeLog.error('this is native log from h5, error:', error);\n * ```\n */\nimport { isAlipayMiniApp, isAndroid, logger, canUseBOM } from '@galacean/effects';\n\nconst prefix = '[Galacean Effects]';\n\n// 非 Web 环境不执行后续逻辑,避免 window 及 navigator 访问报错\nif (canUseBOM) {\n const ap = isAlipayMiniApp() ? my : window.AlipayJSBridge;\n const nativeLogger = (type: string, msg: string, ...args: string[]) => {\n const content: {\n message: string,\n level: string,\n 'anr_info'?: string,\n } = {\n 'message': `${prefix} ${msg} ${args.join('')}`,\n 'level': type,\n };\n\n if (isAndroid()) {\n content['anr_info'] = 'mars';\n }\n try {\n ap?.call('localLog', content);\n } catch (e) {\n console.error(e);\n }\n };\n\n logger.register(nativeLogger);\n}\n","import * as EFFECTS from '@galacean/effects';\nimport { VFXItem, logger, registerPlugin } from '@galacean/effects';\nimport { AlipayDowngradePlugin } from './alipay-downgrade-plugin';\n\nexport * from './utils';\nexport * from './native-log';\nexport * from './types';\n\n/**\n * 插件版本号\n */\nexport const version = __VERSION__;\n\nregisterPlugin('alipay-downgrade', AlipayDowngradePlugin, VFXItem);\n\nlogger.info(`Plugin downgrade version: ${version}.`);\n\nif (version !== EFFECTS.version) {\n console.error(\n '注意:请统一 Downgrade 插件与 Player 版本,不统一的版本混用会有不可预知的后果!',\n '\\nAttention: Please ensure the Downgrade plugin is synchronized with the Player version. Mixing and matching incompatible versions may result in unpredictable consequences!'\n );\n}\n"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_async_to_generator","fn","self","args","arguments","apply","err","undefined","_set_prototype_of","o","p","Object","setPrototypeOf","__proto__","_inherits","subClass","superClass","TypeError","prototype","create","constructor","writable","configurable","__generator","thisArg","body","_","label","sent","t","trys","ops","f","y","g","Iterator","next","verb","Symbol","iterator","n","v","step","op","call","pop","length","push","e","SuppressedError","suppressed","message","Error","name","_extends","assign","target","i","source","hasOwnProperty","DeviceLevel","deviceModelList","DeviceProxy","isIOS","model","system","level","Unknown","isDowngrade","setSystemInfo","systemInfo","performance","platform","setLevel","getDowngradeDecision","result","resultType","resultReason","downgrade","getRenderLevel","reason","ret","isString","JSON","parse","downgradeResultType","context","deviceInfo","deviceLevel","newLevel","getDeviceLevel","ex","logger","getDowngradeReason","isAlipayMiniApp","downgradeForMiniprogram","High","spec","RenderLevel","S","Medium","A","Low","B","test","RegExp","$1","find","versionList","split","internalPaused","mockIdPass","mockIdFail","hasRegisterEvent","getDowngradeResult","bizId","options","ap","systemStartTime","canUseBOM","registerEvent","my","window","AlipayJSBridge","downgradeResult","now","getSystemInfoJSAPI","systemEndTime","getDowngradeResultJSAPI","downgradeEndTime","device","decision","systemTime","downgradeTime","autoPause","addEventListener","getActivePlayers","forEach","player","dispose","document","pauseAllActivePlayers","resumePausedPlayers","techPoint","tc","downgradeOptions","scene","ext","callBridge","getDefaultRenderLevel","players","paused","pause","offloadTexture","resume","AlipayDowngradePlugin","processRawJSON","json","pluginData","warn","renderLevel","AbstractPlugin","prefix","nativeLogger","type","msg","content","join","isAndroid","console","register","version","registerPlugin","VFXItem","EFFECTS"],"mappings":"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"}
package/dist/index.min.js CHANGED
@@ -3,6 +3,6 @@
3
3
  * Description: Galacean Effects player downgrade plugin for Alipay
4
4
  * Author: Ant Group CO., Ltd.
5
5
  * Contributors: 燃然,意绮,飂兮
6
- * Version: v2.7.0-beta.0
7
- */function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self).ge=e.ge||{},e.ge.alipayDowngradePlugin={}),e.ge)}(this,function(e,n){"use strict";var r,t=function(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}}),n.default=e,Object.freeze(n)}(n);function o(e,n,r,t,o,i,l){try{var a=e[i](l),s=a.value}catch(e){r(e);return}a.done?n(s):Promise.resolve(s).then(t,o)}function i(e){return function(){var n=this,r=arguments;return new Promise(function(t,i){var l=e.apply(n,r);function a(e){o(l,t,i,a,s,"next",e)}function s(e){o(l,t,i,a,s,"throw",e)}a(void 0)})}}function l(e,n){return(l=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function a(e,n){var r,t,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=a(0),l.throw=a(1),l.return=a(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function a(a){return function(s){return function(a){if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,a[0]&&(i=0)),i;)try{if(r=1,t&&(o=2&a[0]?t.return:a[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,a[1])).done)return o;switch(t=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,t=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=n.call(e,i)}catch(e){a=[6,e],t=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}function s(){return(s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}"function"==typeof SuppressedError&&SuppressedError,e.DeviceLevel=void 0,(r=e.DeviceLevel||(e.DeviceLevel={})).High="high",r.Medium="medium",r.Low="low",r.Unknown="unknown";var u=["12,8","13,1","13,2","13,3","13,4"],c=function(){function r(){this.isIOS=!1,this.model="DESKTOP_DEBUG",this.system="Unknown",this.level=e.DeviceLevel.Unknown,this.isDowngrade=!1}var t=r.prototype;return t.setSystemInfo=function(e){var n=e.performance,r=e.platform,t=e.model,o=e.system;this.isIOS="iOS"===r,this.model=void 0===t?"UNKNOWN_DEVICE":t,this.system=void 0===o?"Unknown":o,this.setLevel(n)},t.getDowngradeDecision=function(r){var t=void 0,o=void 0;if(r.error)return{downgrade:4!==r.error,level:this.getRenderLevel(),reason:"api error: "+r.error};try{var i=n.isString(r)?JSON.parse(r):r;if("downgradeResultType"in i?t=i.downgradeResultType:"resultType"in i&&(t=i.resultType,o=i.resultReason),r.context){var l=r.context.deviceInfo;if(l){var a=l.deviceLevel,s=d(a);s!==e.DeviceLevel.Unknown&&(this.level=s)}}}catch(e){n.logger.error(e)}return void 0===t?{downgrade:!0,level:this.getRenderLevel(),reason:"call downgrade fail"}:1===t?{downgrade:!0,level:this.getRenderLevel(),reason:function(e){if(-1===e)return""+e+", unable to pull configuration";if(0===e)return""+e+", no downgrade";if(1===e)return""+e+", memory downgrade";if(2===e)return""+e+", crash downgrade";if(3===e)return""+e+", basic dimension downgrade";if(4===e)return""+e+", technical point downgrade";if(5===e)return""+e+", GPU downgrade";else if(6===e)return""+e+", self-healing downgrade";else if(7===e)return""+e+", 32-bit CPU downgrade";else return""+e}(o)}:n.isAlipayMiniApp()&&this.downgradeForMiniprogram()?{downgrade:!0,level:this.getRenderLevel(),reason:"Force downgrade by downgrade plugin"}:{downgrade:!1,level:this.getRenderLevel(),reason:""+t}},t.getRenderLevel=function(){return this.level===e.DeviceLevel.High?n.spec.RenderLevel.S:this.level===e.DeviceLevel.Medium?n.spec.RenderLevel.A:this.level===e.DeviceLevel.Low?n.spec.RenderLevel.B:this.isIOS?n.spec.RenderLevel.S:n.spec.RenderLevel.B},t.setLevel=function(n){if(this.level=d(n),this.level===e.DeviceLevel.Unknown&&/iPhone(\d+),/.test(this.model)){var r=+RegExp.$1;r<=9?this.level=e.DeviceLevel.Low:r<10?this.level=e.DeviceLevel.Medium:this.level=e.DeviceLevel.High}},t.downgradeForMiniprogram=function(){var e=this;if(this.isIOS&&u.find(function(n){return n===e.model})){var n=this.system.split(".");if(n.length>0&&"16"===n[0])return!0}return!1},r}();function d(n){return"high"===n?e.DeviceLevel.High:"medium"===n||"middle"===n?e.DeviceLevel.Medium:"low"===n?e.DeviceLevel.Low:e.DeviceLevel.Unknown}var f=Symbol("@@_inter_pause"),v="mock-fail",p=!1;function g(){return(g=i(function(e,r){var t,o,i,l,u;return a(this,function(a){var d;return(void 0===r&&(r={}),n.canUseBOM)?(p||(p=!0,d=r.autoPause,window.addEventListener("unload",function(){n.getActivePlayers().forEach(function(e){return e.dispose()})}),d&&(document.addEventListener("pause",m),document.addEventListener("resume",b))),e===v||"mock-pass"===e)?[2,Promise.resolve({bizId:e,downgrade:e===v,level:null!=(o=r.level)?o:n.spec.RenderLevel.S,reason:"mock"})]:(i=n.isAlipayMiniApp()?my:window.AlipayJSBridge)||r.systemInfo&&r.downgradeResult?(u=performance.now(),[2,(function(e,n){return h.apply(this,arguments)})(r,i).then(function(t){var o=performance.now();return(function(e,n,r){return w.apply(this,arguments)})(e,r,i).then(function(i){var l=performance.now();n.logger.info("Downgrade time: "+(l-u)+"ms.");var a=new c;a.setSystemInfo(t);var d=a.getDowngradeDecision(i);return r.level&&(d.level=r.level),s({},d,{bizId:e,systemInfo:t,systemTime:o-u,downgradeResult:i,downgradeTime:l-o})})})]):[2,{bizId:e,downgrade:!1,level:null!=(l=r.level)?l:n.spec.RenderLevel.S,reason:"Non-Alipay environment"}]:[2,Promise.resolve({bizId:e,downgrade:!0,level:null!=(t=r.level)?t:n.spec.RenderLevel.S,reason:"当前环境无法访问 window"})]})})).apply(this,arguments)}function h(){return(h=i(function(e,n){return a(this,function(r){return e.systemInfo?[2,Promise.resolve(e.systemInfo)]:[2,new Promise(function(e,r){n.call("getSystemInfo",function(n){n.error?r(n):e(n)})})]})})).apply(this,arguments)}function w(){return(w=i(function(e,n,r){return a(this,function(t){return n.downgradeResult?[2,Promise.resolve(n.downgradeResult)]:[2,new Promise(function(t,o){var i,l=["mars"],a=n.techPoint;a&&l.push.apply(l,[].concat(a)),(null!=(i=n.callBridge)?i:r.call)("getDowngradeResult",{bizId:e,scene:0,ext:{techPoint:l}},function(e){t(e)})})]})})).apply(this,arguments)}function y(){return n.isIOS()?n.spec.RenderLevel.S:n.spec.RenderLevel.B}function m(e){e.target===document&&(n.logger.info("Auto pause all players with data offloaded."),n.getActivePlayers().forEach(function(e){e.paused||(e.pause({offloadTexture:!0}),e[f]=!0)}))}function b(e){e.target===document&&(n.logger.info("Auto resume all players."),n.getActivePlayers().forEach(function(e){e[f]&&(e.resume(),e[f]=!1)}))}var L=function(e){function r(){return e.apply(this,arguments)}return!function(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&l(e,n)}(r,e),r.processRawJSON=function(e,r){return void 0===r&&(r={}),i(function(){var e,t,o;return a(this,function(i){if(t=null==(e=r.pluginData)?void 0:e.downgrade){if(t.downgrade)throw Error("Downgraded, reason: "+t.reason)}else n.logger.warn("No downgrade result in pluginData of SceneLoadOptions.");return r.renderLevel||(r.renderLevel=null!=(o=null==t?void 0:t.level)?o:y()),[2]})})()},r}(n.AbstractPlugin);if(n.canUseBOM){var D=n.isAlipayMiniApp()?my:window.AlipayJSBridge;n.logger.register(function(e,r){for(var t=arguments.length,o=Array(t>2?t-2:0),i=2;i<t;i++)o[i-2]=arguments[i];var l={message:"[Galacean Effects] "+r+" "+o.join(""),level:e};n.isAndroid()&&(l.anr_info="mars");try{null==D||D.call("localLog",l)}catch(e){console.error(e)}})}var P="2.7.0-beta.0";n.registerPlugin("alipay-downgrade",L,n.VFXItem),n.logger.info("Plugin downgrade version: "+P+"."),P!==t.version&&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!"),e.getDefaultRenderLevel=y,e.getDowngradeResult=function(e){return g.apply(this,arguments)},e.version=P,Object.defineProperty(e,"__esModule",{value:!0})});
6
+ * Version: v2.7.0
7
+ */function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@galacean/effects")):"function"==typeof define&&define.amd?define(["exports","@galacean/effects"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self).ge=e.ge||{},e.ge.alipayDowngradePlugin={}),e.ge)}(this,function(e,n){"use strict";var r,t=function(e){if(e&&e.__esModule)return e;var n=Object.create(null);return e&&Object.keys(e).forEach(function(r){if("default"!==r){var t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,t.get?t:{enumerable:!0,get:function(){return e[r]}})}}),n.default=e,Object.freeze(n)}(n);function o(e,n,r,t,o,i,l){try{var a=e[i](l),s=a.value}catch(e){r(e);return}a.done?n(s):Promise.resolve(s).then(t,o)}function i(e){return function(){var n=this,r=arguments;return new Promise(function(t,i){var l=e.apply(n,r);function a(e){o(l,t,i,a,s,"next",e)}function s(e){o(l,t,i,a,s,"throw",e)}a(void 0)})}}function l(e,n){return(l=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function a(e,n){var r,t,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=a(0),l.throw=a(1),l.return=a(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function a(a){return function(s){return function(a){if(r)throw TypeError("Generator is already executing.");for(;l&&(l=0,a[0]&&(i=0)),i;)try{if(r=1,t&&(o=2&a[0]?t.return:a[0]?t.throw||((o=t.return)&&o.call(t),0):t.next)&&!(o=o.call(t,a[1])).done)return o;switch(t=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,t=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=n.call(e,i)}catch(e){a=[6,e],t=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,s])}}}function s(){return(s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}"function"==typeof SuppressedError&&SuppressedError,e.DeviceLevel=void 0,(r=e.DeviceLevel||(e.DeviceLevel={})).High="high",r.Medium="medium",r.Low="low",r.Unknown="unknown";var u=["12,8","13,1","13,2","13,3","13,4"],c=function(){function r(){this.isIOS=!1,this.model="DESKTOP_DEBUG",this.system="Unknown",this.level=e.DeviceLevel.Unknown,this.isDowngrade=!1}var t=r.prototype;return t.setSystemInfo=function(e){var n=e.performance,r=e.platform,t=e.model,o=e.system;this.isIOS="iOS"===r,this.model=void 0===t?"UNKNOWN_DEVICE":t,this.system=void 0===o?"Unknown":o,this.setLevel(n)},t.getDowngradeDecision=function(r){var t=void 0,o=void 0;if(r.error)return{downgrade:4!==r.error,level:this.getRenderLevel(),reason:"api error: "+r.error};try{var i=n.isString(r)?JSON.parse(r):r;if("downgradeResultType"in i?t=i.downgradeResultType:"resultType"in i&&(t=i.resultType,o=i.resultReason),r.context){var l=r.context.deviceInfo;if(l){var a=l.deviceLevel,s=d(a);s!==e.DeviceLevel.Unknown&&(this.level=s)}}}catch(e){n.logger.error(e)}return void 0===t?{downgrade:!0,level:this.getRenderLevel(),reason:"call downgrade fail"}:1===t?{downgrade:!0,level:this.getRenderLevel(),reason:function(e){if(-1===e)return""+e+", unable to pull configuration";if(0===e)return""+e+", no downgrade";if(1===e)return""+e+", memory downgrade";if(2===e)return""+e+", crash downgrade";if(3===e)return""+e+", basic dimension downgrade";if(4===e)return""+e+", technical point downgrade";if(5===e)return""+e+", GPU downgrade";else if(6===e)return""+e+", self-healing downgrade";else if(7===e)return""+e+", 32-bit CPU downgrade";else return""+e}(o)}:n.isAlipayMiniApp()&&this.downgradeForMiniprogram()?{downgrade:!0,level:this.getRenderLevel(),reason:"Force downgrade by downgrade plugin"}:{downgrade:!1,level:this.getRenderLevel(),reason:""+t}},t.getRenderLevel=function(){return this.level===e.DeviceLevel.High?n.spec.RenderLevel.S:this.level===e.DeviceLevel.Medium?n.spec.RenderLevel.A:this.level===e.DeviceLevel.Low?n.spec.RenderLevel.B:this.isIOS?n.spec.RenderLevel.S:n.spec.RenderLevel.B},t.setLevel=function(n){if(this.level=d(n),this.level===e.DeviceLevel.Unknown&&/iPhone(\d+),/.test(this.model)){var r=+RegExp.$1;r<=9?this.level=e.DeviceLevel.Low:r<10?this.level=e.DeviceLevel.Medium:this.level=e.DeviceLevel.High}},t.downgradeForMiniprogram=function(){var e=this;if(this.isIOS&&u.find(function(n){return n===e.model})){var n=this.system.split(".");if(n.length>0&&"16"===n[0])return!0}return!1},r}();function d(n){return"high"===n?e.DeviceLevel.High:"medium"===n||"middle"===n?e.DeviceLevel.Medium:"low"===n?e.DeviceLevel.Low:e.DeviceLevel.Unknown}var f=Symbol("@@_inter_pause"),v="mock-fail",p=!1;function g(){return(g=i(function(e,r){var t,o,i,l,u;return a(this,function(a){var d;return(void 0===r&&(r={}),n.canUseBOM)?(p||(p=!0,d=r.autoPause,window.addEventListener("unload",function(){n.getActivePlayers().forEach(function(e){return e.dispose()})}),d&&(document.addEventListener("pause",m),document.addEventListener("resume",L))),e===v||"mock-pass"===e)?[2,Promise.resolve({bizId:e,downgrade:e===v,level:null!=(o=r.level)?o:n.spec.RenderLevel.S,reason:"mock"})]:(i=n.isAlipayMiniApp()?my:window.AlipayJSBridge)||r.systemInfo&&r.downgradeResult?(u=performance.now(),[2,(function(e,n){return h.apply(this,arguments)})(r,i).then(function(t){var o=performance.now();return(function(e,n,r){return w.apply(this,arguments)})(e,r,i).then(function(i){var l=performance.now();n.logger.info("Downgrade time: "+(l-u)+"ms.");var a=new c;a.setSystemInfo(t);var d=a.getDowngradeDecision(i);return r.level&&(d.level=r.level),s({},d,{bizId:e,systemInfo:t,systemTime:o-u,downgradeResult:i,downgradeTime:l-o})})})]):[2,{bizId:e,downgrade:!1,level:null!=(l=r.level)?l:n.spec.RenderLevel.S,reason:"Non-Alipay environment"}]:[2,Promise.resolve({bizId:e,downgrade:!0,level:null!=(t=r.level)?t:n.spec.RenderLevel.S,reason:"当前环境无法访问 window"})]})})).apply(this,arguments)}function h(){return(h=i(function(e,n){return a(this,function(r){return e.systemInfo?[2,Promise.resolve(e.systemInfo)]:[2,new Promise(function(e,r){n.call("getSystemInfo",function(n){n.error?r(n):e(n)})})]})})).apply(this,arguments)}function w(){return(w=i(function(e,n,r){return a(this,function(t){return n.downgradeResult?[2,Promise.resolve(n.downgradeResult)]:[2,new Promise(function(t,o){var i,l=["mars"],a=n.techPoint;a&&l.push.apply(l,[].concat(a)),(null!=(i=n.callBridge)?i:r.call)("getDowngradeResult",{bizId:e,scene:0,ext:{techPoint:l}},function(e){t(e)})})]})})).apply(this,arguments)}function y(){return n.isIOS()?n.spec.RenderLevel.S:n.spec.RenderLevel.B}function m(e){e.target===document&&(n.logger.info("Auto pause all players with data offloaded."),n.getActivePlayers().forEach(function(e){e.paused||(e.pause({offloadTexture:!0}),e[f]=!0)}))}function L(e){e.target===document&&(n.logger.info("Auto resume all players."),n.getActivePlayers().forEach(function(e){e[f]&&(e.resume(),e[f]=!1)}))}var b=function(e){function r(){return e.apply(this,arguments)}return!function(e,n){if("function"!=typeof n&&null!==n)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),n&&l(e,n)}(r,e),r.processRawJSON=function(e,r){return void 0===r&&(r={}),i(function(){var e,t,o;return a(this,function(i){if(t=null==(e=r.pluginData)?void 0:e.downgrade){if(t.downgrade)throw Error("Downgraded, reason: "+t.reason)}else n.logger.warn("No downgrade result in pluginData of SceneLoadOptions.");return r.renderLevel||(r.renderLevel=null!=(o=null==t?void 0:t.level)?o:y()),[2]})})()},r}(n.AbstractPlugin);if(n.canUseBOM){var D=n.isAlipayMiniApp()?my:window.AlipayJSBridge;n.logger.register(function(e,r){for(var t=arguments.length,o=Array(t>2?t-2:0),i=2;i<t;i++)o[i-2]=arguments[i];var l={message:"[Galacean Effects] "+r+" "+o.join(""),level:e};n.isAndroid()&&(l.anr_info="mars");try{null==D||D.call("localLog",l)}catch(e){console.error(e)}})}var P="2.7.0";n.registerPlugin("alipay-downgrade",b,n.VFXItem),n.logger.info("Plugin downgrade version: "+P+"."),P!==t.version&&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!"),e.getDefaultRenderLevel=y,e.getDowngradeResult=function(e){return g.apply(this,arguments)},e.version=P,Object.defineProperty(e,"__esModule",{value:!0})});
8
8
  //# sourceMappingURL=index.min.js.map