@galacean/effects-plugin-downgrade 2.0.0-alpha.28 → 2.0.0-alpha.30
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.js +82 -40
- package/dist/alipay.js.map +1 -1
- package/dist/alipay.mjs +82 -40
- package/dist/alipay.mjs.map +1 -1
- package/dist/constants.d.ts +12 -0
- package/dist/douyin.js +1155 -0
- package/dist/douyin.js.map +1 -0
- package/dist/douyin.mjs +1127 -0
- package/dist/douyin.mjs.map +1 -0
- package/dist/downgrade-judge.d.ts +12 -1
- package/dist/downgrade-plugin.d.ts +9 -0
- package/dist/index.js +83 -41
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +2 -2
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +83 -41
- package/dist/index.mjs.map +1 -1
- package/dist/parser/alipay-miniprogram-parser.d.ts +5 -0
- package/dist/parser/wechat-miniprogram-parser.d.ts +5 -0
- package/dist/types.d.ts +69 -5
- package/dist/ua-decoder.d.ts +5 -0
- package/dist/utils.d.ts +12 -0
- package/dist/weapp.js +82 -40
- package/dist/weapp.js.map +1 -1
- package/dist/weapp.mjs +82 -40
- package/dist/weapp.mjs.map +1 -1
- package/package.json +7 -2
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects player downgrade plugin
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 飂兮
|
|
6
|
-
* Version: v2.0.0-alpha.
|
|
6
|
+
* Version: v2.0.0-alpha.30
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import * as EFFECTS from '@galacean/effects';
|
|
@@ -158,17 +158,6 @@ typeof SuppressedError === "function" ? SuppressedError : function _SuppressedEr
|
|
|
158
158
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
159
159
|
};
|
|
160
160
|
|
|
161
|
-
function _extends() {
|
|
162
|
-
_extends = Object.assign || function assign(target) {
|
|
163
|
-
for(var i = 1; i < arguments.length; i++){
|
|
164
|
-
var source = arguments[i];
|
|
165
|
-
for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
|
|
166
|
-
}
|
|
167
|
-
return target;
|
|
168
|
-
};
|
|
169
|
-
return _extends.apply(this, arguments);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
161
|
function _array_like_to_array(arr, len) {
|
|
173
162
|
if (len == null || len > arr.length) len = arr.length;
|
|
174
163
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -204,7 +193,9 @@ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
|
|
|
204
193
|
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
205
194
|
}
|
|
206
195
|
|
|
207
|
-
|
|
196
|
+
/**
|
|
197
|
+
* 部分手机厂商和 iPhone 机型列表
|
|
198
|
+
*/ var infoList = {
|
|
208
199
|
vender: [
|
|
209
200
|
"SAMSUNG"
|
|
210
201
|
],
|
|
@@ -463,7 +454,9 @@ var infoList = {
|
|
|
463
454
|
}
|
|
464
455
|
]
|
|
465
456
|
};
|
|
466
|
-
|
|
457
|
+
/**
|
|
458
|
+
* 被降级的硬件机型列表
|
|
459
|
+
*/ var downgradeModels = {
|
|
467
460
|
android: [
|
|
468
461
|
"OPPO R9s Plus",
|
|
469
462
|
"GM1910",
|
|
@@ -511,7 +504,9 @@ var downgradeModels = {
|
|
|
511
504
|
"iPhone1,1"
|
|
512
505
|
]
|
|
513
506
|
};
|
|
514
|
-
|
|
507
|
+
/**
|
|
508
|
+
* 被降级的系统版本列表
|
|
509
|
+
*/ var downgradeVersions = {
|
|
515
510
|
android: [],
|
|
516
511
|
iOS: [
|
|
517
512
|
"16.7",
|
|
@@ -523,7 +518,9 @@ var downgradeVersions = {
|
|
|
523
518
|
"16.7.6"
|
|
524
519
|
]
|
|
525
520
|
};
|
|
526
|
-
|
|
521
|
+
/**
|
|
522
|
+
* 微信开发环境机型名称替换表
|
|
523
|
+
*/ var devtoolNameMap = {
|
|
527
524
|
wechat: {
|
|
528
525
|
"iPhone 6/7/8": "iPhone 8",
|
|
529
526
|
"iPhone 6/7/8 Plus": "iPhone 8 Plus",
|
|
@@ -541,7 +538,11 @@ var DeviceLevel;
|
|
|
541
538
|
DeviceLevel["Unknown"] = "unknown";
|
|
542
539
|
})(DeviceLevel || (DeviceLevel = {}));
|
|
543
540
|
|
|
544
|
-
|
|
541
|
+
/**
|
|
542
|
+
* UserAgent 解析类
|
|
543
|
+
*
|
|
544
|
+
* 从 UserAgent 中解析出设备相关的信息,但是能获取的信息有限。
|
|
545
|
+
*/ var UADecoder = /*#__PURE__*/ function() {
|
|
545
546
|
function UADecoder(userAgent) {
|
|
546
547
|
this.device = {};
|
|
547
548
|
this.parse(userAgent != null ? userAgent : navigator.userAgent);
|
|
@@ -754,7 +755,11 @@ var UADecoder = /*#__PURE__*/ function() {
|
|
|
754
755
|
return UADecoder;
|
|
755
756
|
}();
|
|
756
757
|
|
|
757
|
-
|
|
758
|
+
/**
|
|
759
|
+
* 支付宝小程序系统信息解析类
|
|
760
|
+
*
|
|
761
|
+
* 负责解析支付宝小程序 JSAPI 返回的系统信息
|
|
762
|
+
*/ var AlipayMiniprogramParser = /*#__PURE__*/ function() {
|
|
758
763
|
function AlipayMiniprogramParser(info) {
|
|
759
764
|
this.device = {};
|
|
760
765
|
this.parse(info);
|
|
@@ -802,7 +807,11 @@ var AlipayMiniprogramParser = /*#__PURE__*/ function() {
|
|
|
802
807
|
return AlipayMiniprogramParser;
|
|
803
808
|
}();
|
|
804
809
|
|
|
805
|
-
|
|
810
|
+
/**
|
|
811
|
+
* 微信小程序设备信息解析类
|
|
812
|
+
*
|
|
813
|
+
* 负责解析微信小程序 JSAPI 返回的设备信息
|
|
814
|
+
*/ var WechatMiniprogramParser = /*#__PURE__*/ function() {
|
|
806
815
|
function WechatMiniprogramParser(info) {
|
|
807
816
|
this.device = {};
|
|
808
817
|
this.parse(info);
|
|
@@ -857,14 +866,23 @@ var WechatMiniprogramParser = /*#__PURE__*/ function() {
|
|
|
857
866
|
return WechatMiniprogramParser;
|
|
858
867
|
}();
|
|
859
868
|
|
|
860
|
-
|
|
869
|
+
/**
|
|
870
|
+
* 降级判断类
|
|
871
|
+
*
|
|
872
|
+
* 通过设备信息和降级选项判断设备是否需要降级
|
|
873
|
+
*/ var DowngradeJudge = /*#__PURE__*/ function() {
|
|
861
874
|
function DowngradeJudge(options, device) {
|
|
862
875
|
this.options = options;
|
|
863
876
|
this.device = device;
|
|
864
877
|
this.isIOS = false;
|
|
865
878
|
}
|
|
866
879
|
var _proto = DowngradeJudge.prototype;
|
|
867
|
-
|
|
880
|
+
/**
|
|
881
|
+
* 根据输入的设备信息和降级选项,以及内置的硬件机型和系统版本降级列表
|
|
882
|
+
* 返回当前设备降级相关的结果
|
|
883
|
+
*
|
|
884
|
+
* @returns 降级结果
|
|
885
|
+
*/ _proto.getDowngradeResult = function getDowngradeResult() {
|
|
868
886
|
var _this = this;
|
|
869
887
|
var downgradeCallback = this.options.downgradeCallback;
|
|
870
888
|
if (downgradeCallback) {
|
|
@@ -918,6 +936,9 @@ var DowngradeJudge = /*#__PURE__*/ function() {
|
|
|
918
936
|
};
|
|
919
937
|
};
|
|
920
938
|
_proto.getRenderLevel = function getRenderLevel() {
|
|
939
|
+
if (this.options.level) {
|
|
940
|
+
return this.options.level;
|
|
941
|
+
}
|
|
921
942
|
if (this.device.level) {
|
|
922
943
|
if (this.device.level === DeviceLevel.High) {
|
|
923
944
|
return spec.RenderLevel.S;
|
|
@@ -927,15 +948,6 @@ var DowngradeJudge = /*#__PURE__*/ function() {
|
|
|
927
948
|
return spec.RenderLevel.B;
|
|
928
949
|
}
|
|
929
950
|
}
|
|
930
|
-
if (this.device.memoryMB) {
|
|
931
|
-
if (this.device.memoryMB < 4000) {
|
|
932
|
-
return spec.RenderLevel.B;
|
|
933
|
-
} else if (this.device.memoryMB < 6000) {
|
|
934
|
-
return spec.RenderLevel.A;
|
|
935
|
-
} else {
|
|
936
|
-
return spec.RenderLevel.S;
|
|
937
|
-
}
|
|
938
|
-
}
|
|
939
951
|
if (this.isIOS && this.device.model) {
|
|
940
952
|
if (/iPhone(\d+),/.test(this.device.model)) {
|
|
941
953
|
var gen = +RegExp.$1;
|
|
@@ -948,6 +960,15 @@ var DowngradeJudge = /*#__PURE__*/ function() {
|
|
|
948
960
|
}
|
|
949
961
|
}
|
|
950
962
|
}
|
|
963
|
+
if (this.device.memoryMB) {
|
|
964
|
+
if (this.device.memoryMB < 4000) {
|
|
965
|
+
return spec.RenderLevel.B;
|
|
966
|
+
} else if (this.device.memoryMB < 6000) {
|
|
967
|
+
return spec.RenderLevel.A;
|
|
968
|
+
} else {
|
|
969
|
+
return spec.RenderLevel.S;
|
|
970
|
+
}
|
|
971
|
+
}
|
|
951
972
|
return this.isIOS ? spec.RenderLevel.S : spec.RenderLevel.B;
|
|
952
973
|
};
|
|
953
974
|
return DowngradeJudge;
|
|
@@ -955,17 +976,26 @@ var DowngradeJudge = /*#__PURE__*/ function() {
|
|
|
955
976
|
|
|
956
977
|
var internalPaused = Symbol("@@_inter_pause");
|
|
957
978
|
var hasRegisterEvent = false;
|
|
958
|
-
|
|
979
|
+
/**
|
|
980
|
+
* 获取 GE 降级结果,不需要创建 Canvas 和 WebGL 环境。
|
|
981
|
+
* 如果是小程序环境下,要确保 JSAPI 可调用
|
|
982
|
+
*
|
|
983
|
+
* @param options - 降级选项
|
|
984
|
+
* @returns 降级结果
|
|
985
|
+
*/ function getDowngradeResult(options) {
|
|
959
986
|
if (options === void 0) options = {};
|
|
960
987
|
if (!hasRegisterEvent) {
|
|
961
988
|
registerEvent(options);
|
|
962
989
|
hasRegisterEvent = true;
|
|
963
990
|
}
|
|
964
|
-
var
|
|
965
|
-
if (
|
|
966
|
-
|
|
991
|
+
var mockDowngrade = options.mockDowngrade;
|
|
992
|
+
if (mockDowngrade !== undefined) {
|
|
993
|
+
var _options_level;
|
|
994
|
+
return {
|
|
995
|
+
downgrade: mockDowngrade,
|
|
996
|
+
level: (_options_level = options.level) != null ? _options_level : spec.RenderLevel.S,
|
|
967
997
|
reason: "mock"
|
|
968
|
-
}
|
|
998
|
+
};
|
|
969
999
|
}
|
|
970
1000
|
var device = getDeviceInfo(options);
|
|
971
1001
|
var judge = new DowngradeJudge(options, device);
|
|
@@ -1018,7 +1048,11 @@ function getDeviceInfo(options) {
|
|
|
1018
1048
|
}
|
|
1019
1049
|
return new UADecoder().getDeviceInfo();
|
|
1020
1050
|
}
|
|
1021
|
-
|
|
1051
|
+
/**
|
|
1052
|
+
* 获取默认渲染等级
|
|
1053
|
+
*
|
|
1054
|
+
* @returns 渲染等级
|
|
1055
|
+
*/ function getDefaultRenderLevel() {
|
|
1022
1056
|
return isIOS() ? spec.RenderLevel.S : spec.RenderLevel.B;
|
|
1023
1057
|
}
|
|
1024
1058
|
function pauseAllActivePlayers(e) {
|
|
@@ -1051,7 +1085,15 @@ function resumePausedPlayers(e) {
|
|
|
1051
1085
|
}
|
|
1052
1086
|
}
|
|
1053
1087
|
|
|
1054
|
-
|
|
1088
|
+
/**
|
|
1089
|
+
* 降级插件类
|
|
1090
|
+
*
|
|
1091
|
+
* 根据 SceneLoadOptions 中传入的 downgrade 数据,判断是否降级。
|
|
1092
|
+
* 如果设备被降级,会在 processRawJSON 时抛出降级相关的异常和原因。
|
|
1093
|
+
*
|
|
1094
|
+
* 如果 SceneLoadOptions 中 renderLevel 没有设置,那么会根据 downgrade 数据
|
|
1095
|
+
* 和默认的渲染等级规则设置其中的 renderLevel 。
|
|
1096
|
+
*/ var DowngradePlugin = /*#__PURE__*/ function(AbstractPlugin) {
|
|
1055
1097
|
_inherits(DowngradePlugin, AbstractPlugin);
|
|
1056
1098
|
function DowngradePlugin() {
|
|
1057
1099
|
return AbstractPlugin.apply(this, arguments);
|
|
@@ -1059,18 +1101,18 @@ var DowngradePlugin = /*#__PURE__*/ function(AbstractPlugin) {
|
|
|
1059
1101
|
DowngradePlugin.processRawJSON = function processRawJSON(json, options) {
|
|
1060
1102
|
if (options === void 0) options = {};
|
|
1061
1103
|
return _async_to_generator(function() {
|
|
1062
|
-
var _options_pluginData, downgradeResult,
|
|
1104
|
+
var _options_pluginData, downgradeResult, _downgradeResult_level;
|
|
1063
1105
|
return __generator(this, function(_state) {
|
|
1064
1106
|
downgradeResult = (_options_pluginData = options.pluginData) == null ? void 0 : _options_pluginData["downgrade"];
|
|
1065
1107
|
if (downgradeResult) {
|
|
1066
1108
|
if (downgradeResult.downgrade) {
|
|
1067
|
-
throw new Error("Downgraded, reason: " + downgradeResult.reason
|
|
1109
|
+
throw new Error("Downgraded, reason: " + downgradeResult.reason);
|
|
1068
1110
|
}
|
|
1069
1111
|
} else {
|
|
1070
1112
|
logger.warn("No downgrade result in pluginData of SceneLoadOptions.");
|
|
1071
1113
|
}
|
|
1072
1114
|
if (!options.renderLevel) {
|
|
1073
|
-
options.renderLevel = (
|
|
1115
|
+
options.renderLevel = (_downgradeResult_level = downgradeResult == null ? void 0 : downgradeResult.level) != null ? _downgradeResult_level : getDefaultRenderLevel();
|
|
1074
1116
|
}
|
|
1075
1117
|
return [
|
|
1076
1118
|
2
|
|
@@ -1081,7 +1123,7 @@ var DowngradePlugin = /*#__PURE__*/ function(AbstractPlugin) {
|
|
|
1081
1123
|
return DowngradePlugin;
|
|
1082
1124
|
}(AbstractPlugin);
|
|
1083
1125
|
|
|
1084
|
-
var version = "2.0.0-alpha.
|
|
1126
|
+
var version = "2.0.0-alpha.30";
|
|
1085
1127
|
registerPlugin("downgrade", DowngradePlugin, VFXItem, true);
|
|
1086
1128
|
logger.info("Plugin downgrade version: " + version + ".");
|
|
1087
1129
|
if (version !== EFFECTS.version) {
|