@zeewain/3d-avatar-sdk 1.2.0 → 1.2.2
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/README.md +6 -5
- package/dist/assets/Build/webgl.data.unityweb +0 -0
- package/dist/assets/Build/webgl.framework.js.unityweb +0 -0
- package/dist/assets/Build/webgl.wasm.unityweb +0 -0
- package/dist/examples/test-umd/index.html +762 -0
- package/dist/examples/test-vue2/.eslintignore +45 -0
- package/dist/examples/test-vue2/.eslintrc.js +174 -0
- package/dist/examples/test-vue2/.stylelintignore +50 -0
- package/dist/examples/test-vue2/.stylelintrc.js +79 -0
- package/dist/examples/test-vue2/README.md +139 -0
- package/dist/examples/test-vue2/babel.config.js +14 -0
- package/dist/examples/test-vue2/package.json +53 -0
- package/dist/examples/test-vue2/pnpm-lock.yaml +8776 -0
- package/dist/examples/test-vue2/public/index.html +19 -0
- package/dist/examples/test-vue2/setup.js +170 -0
- package/dist/examples/test-vue2/src/App.vue +943 -0
- package/dist/examples/test-vue2/src/components/BroadcastAPI.vue +666 -0
- package/dist/examples/test-vue2/src/components/CameraAPI.vue +414 -0
- package/dist/examples/test-vue2/src/components/GlobalConfig.vue +200 -0
- package/dist/examples/test-vue2/src/components/InfoCards.vue +294 -0
- package/dist/examples/test-vue2/src/components/InitAPI.vue +334 -0
- package/dist/examples/test-vue2/src/components/LogPanel.vue +249 -0
- package/dist/examples/test-vue2/src/components/MotionControlAPI.vue +400 -0
- package/dist/examples/test-vue2/src/components/UnityPreview.vue +201 -0
- package/dist/examples/test-vue2/src/main.js +16 -0
- package/dist/examples/test-vue2/vue.config.js +41 -0
- package/dist/examples/test-vue3/.eslintrc +3 -0
- package/dist/examples/test-vue3/.stylelintignore +3 -0
- package/dist/examples/test-vue3/.stylelintrc +48 -0
- package/dist/examples/test-vue3/README.md +236 -0
- package/dist/examples/test-vue3/env.d.ts +8 -0
- package/dist/examples/test-vue3/index.html +95 -0
- package/dist/examples/test-vue3/package.json +55 -0
- package/dist/examples/test-vue3/pnpm-lock.yaml +4636 -0
- package/dist/examples/test-vue3/setup.js +167 -0
- package/dist/examples/test-vue3/src/App.vue +962 -0
- package/dist/examples/test-vue3/src/components/BroadcastAPI.vue +636 -0
- package/dist/examples/test-vue3/src/components/CameraAPI.vue +376 -0
- package/dist/examples/test-vue3/src/components/GlobalConfig.vue +213 -0
- package/dist/examples/test-vue3/src/components/InfoCards.vue +288 -0
- package/dist/examples/test-vue3/src/components/InitAPI.vue +339 -0
- package/dist/examples/test-vue3/src/components/LogPanel.vue +236 -0
- package/dist/examples/test-vue3/src/components/MotionControlAPI.vue +373 -0
- package/dist/examples/test-vue3/src/components/UnityPreview.vue +189 -0
- package/dist/examples/test-vue3/src/main.ts +12 -0
- package/dist/examples/test-vue3/src/types.ts +9 -0
- package/dist/examples/test-vue3/tsconfig.json +44 -0
- package/dist/examples/test-vue3/tsconfig.node.json +14 -0
- package/dist/examples/test-vue3/vite.config.ts +75 -0
- package/dist/index.d.ts +142 -132
- package/dist/index.es5.js +93 -41
- package/dist/index.es5.umd.js +93 -41
- package/dist/index.esm.js +101 -42
- package/dist/index.umd.cjs +101 -42
- package/package.json +4 -3
package/dist/index.es5.js
CHANGED
|
@@ -12147,7 +12147,7 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
12147
12147
|
NetworkErrorCode[NetworkErrorCode["CONNECTION_FAILED"] = 1001] = "CONNECTION_FAILED";
|
|
12148
12148
|
/** 请求超时 */
|
|
12149
12149
|
NetworkErrorCode[NetworkErrorCode["REQUEST_TIMEOUT"] = 1002] = "REQUEST_TIMEOUT";
|
|
12150
|
-
/**
|
|
12150
|
+
/** 服务错误 */
|
|
12151
12151
|
NetworkErrorCode[NetworkErrorCode["SERVER_ERROR"] = 1003] = "SERVER_ERROR";
|
|
12152
12152
|
/** 未授权访问 */
|
|
12153
12153
|
NetworkErrorCode[NetworkErrorCode["UNAUTHORIZED"] = 1004] = "UNAUTHORIZED";
|
|
@@ -12169,6 +12169,12 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
12169
12169
|
OperationErrorCode[OperationErrorCode["OPERATION_TIMEOUT"] = 2004] = "OPERATION_TIMEOUT";
|
|
12170
12170
|
/** 操作被取消 */
|
|
12171
12171
|
OperationErrorCode[OperationErrorCode["OPERATION_CANCELLED"] = 2005] = "OPERATION_CANCELLED";
|
|
12172
|
+
/** 用户权益额度不存在 */
|
|
12173
|
+
OperationErrorCode[OperationErrorCode["BROADCAST_EQUITY_NOT_EXIST"] = 2006] = "BROADCAST_EQUITY_NOT_EXIST";
|
|
12174
|
+
/** 用户权益额度不足 */
|
|
12175
|
+
OperationErrorCode[OperationErrorCode["BROADCAST_EQUITY_NOT_ENOUGH"] = 2007] = "BROADCAST_EQUITY_NOT_ENOUGH";
|
|
12176
|
+
/** 用户权益额度冻结失败 */
|
|
12177
|
+
OperationErrorCode[OperationErrorCode["BROADCAST_EQUITY_FREEZE_FAILED"] = 2008] = "BROADCAST_EQUITY_FREEZE_FAILED";
|
|
12172
12178
|
})(exports.OperationErrorCode || (exports.OperationErrorCode = {}));
|
|
12173
12179
|
/**
|
|
12174
12180
|
* 资源错误码 (3xxx)
|
|
@@ -12254,6 +12260,15 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
12254
12260
|
}, _a[exports.OperationErrorCode.OPERATION_CANCELLED] = {
|
|
12255
12261
|
category: exports.ErrorCategory.OPERATION,
|
|
12256
12262
|
message: '操作被取消'
|
|
12263
|
+
}, _a[exports.OperationErrorCode.BROADCAST_EQUITY_NOT_EXIST] = {
|
|
12264
|
+
category: exports.ErrorCategory.OPERATION,
|
|
12265
|
+
message: '用户权益额度不存在'
|
|
12266
|
+
}, _a[exports.OperationErrorCode.BROADCAST_EQUITY_NOT_ENOUGH] = {
|
|
12267
|
+
category: exports.ErrorCategory.OPERATION,
|
|
12268
|
+
message: '用户权益额度不足'
|
|
12269
|
+
}, _a[exports.OperationErrorCode.BROADCAST_EQUITY_FREEZE_FAILED] = {
|
|
12270
|
+
category: exports.ErrorCategory.OPERATION,
|
|
12271
|
+
message: '用户权益额度冻结失败'
|
|
12257
12272
|
},
|
|
12258
12273
|
// 资源错误
|
|
12259
12274
|
_a[exports.ResourceErrorCode.LOAD_FAILED] = {
|
|
@@ -12550,7 +12565,8 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
12550
12565
|
operation: operation,
|
|
12551
12566
|
code: code,
|
|
12552
12567
|
message: message,
|
|
12553
|
-
data: dataObj
|
|
12568
|
+
data: dataObj,
|
|
12569
|
+
originalData: data
|
|
12554
12570
|
});
|
|
12555
12571
|
var callback = this.pendingCallbacks.get(operation);
|
|
12556
12572
|
if (!callback) {
|
|
@@ -12850,7 +12866,7 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
12850
12866
|
console.warn("[Unity Warning] ".concat(message), data);
|
|
12851
12867
|
};
|
|
12852
12868
|
SimpleLogger.prototype.error = function (message, error, data) {
|
|
12853
|
-
console.error("[Unity Error] ".concat(message), error, data);
|
|
12869
|
+
console.error("[Unity Error] ".concat(message), error, error instanceof SDKError ? error.code : null, data);
|
|
12854
12870
|
};
|
|
12855
12871
|
return SimpleLogger;
|
|
12856
12872
|
}();
|
|
@@ -12899,7 +12915,6 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
12899
12915
|
__extends(AvatarService, _super);
|
|
12900
12916
|
/**
|
|
12901
12917
|
* 构造函数
|
|
12902
|
-
* @param unityInstance - Unity实例对象
|
|
12903
12918
|
* @param config - 可选的服务配置,用于覆盖默认配置
|
|
12904
12919
|
* @description 初始化Avatar API,设置Unity实例和配置
|
|
12905
12920
|
* @example
|
|
@@ -13335,6 +13350,7 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13335
13350
|
withModule = true;
|
|
13336
13351
|
}
|
|
13337
13352
|
if (((_a = this.config) === null || _a === void 0 ? void 0 : _a.env) === 'custom' && ((_b = this.config) === null || _b === void 0 ? void 0 : _b.apiUrl)) {
|
|
13353
|
+
// 如果环境为自定义,则直接返回配置的API,无需添加模块路径
|
|
13338
13354
|
return this.config.apiUrl;
|
|
13339
13355
|
}
|
|
13340
13356
|
return ((_d = getEnvConfig(((_c = this.config) === null || _c === void 0 ? void 0 : _c.env) || 'prod', withModule)) === null || _d === void 0 ? void 0 : _d.apiBaseUrl) || '';
|
|
@@ -13413,16 +13429,11 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13413
13429
|
UnityLoader.prototype.createContainer = function () {
|
|
13414
13430
|
var container = document.getElementById(this.config.containerId);
|
|
13415
13431
|
if (!container) {
|
|
13416
|
-
throw new
|
|
13432
|
+
throw new TypeError("Avatar container element with ID \"".concat(this.config.containerId, "\" not found"));
|
|
13433
|
+
} else if (!(container instanceof HTMLDivElement)) {
|
|
13434
|
+
throw new TypeError('Avatar container element must be a div element');
|
|
13417
13435
|
}
|
|
13418
|
-
container.style.width = '100%';
|
|
13419
|
-
container.style.height = '100%';
|
|
13420
13436
|
container.style.position = 'relative';
|
|
13421
|
-
// 移除容器提示元素
|
|
13422
|
-
var containerTip = document.getElementById('unity-container-tip');
|
|
13423
|
-
if (containerTip) {
|
|
13424
|
-
containerTip.remove();
|
|
13425
|
-
}
|
|
13426
13437
|
return container;
|
|
13427
13438
|
};
|
|
13428
13439
|
/**
|
|
@@ -13476,11 +13487,15 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13476
13487
|
return __generator(this, function (_a) {
|
|
13477
13488
|
switch (_a.label) {
|
|
13478
13489
|
case 0:
|
|
13479
|
-
canvas =
|
|
13480
|
-
|
|
13481
|
-
canvas
|
|
13482
|
-
|
|
13483
|
-
|
|
13490
|
+
canvas = container.querySelector('#unity-canvas');
|
|
13491
|
+
// 避免重复创建
|
|
13492
|
+
if (!canvas) {
|
|
13493
|
+
canvas = document.createElement('canvas');
|
|
13494
|
+
canvas.id = 'unity-canvas';
|
|
13495
|
+
canvas.style.width = '100%';
|
|
13496
|
+
canvas.style.height = '100%';
|
|
13497
|
+
container.appendChild(canvas);
|
|
13498
|
+
}
|
|
13484
13499
|
// 移动设备适配
|
|
13485
13500
|
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
|
13486
13501
|
meta = document.createElement('meta');
|
|
@@ -13810,22 +13825,27 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13810
13825
|
// 触发对应的事件回调(仅在成功时)
|
|
13811
13826
|
if (code === 0) {
|
|
13812
13827
|
switch (operation) {
|
|
13828
|
+
case exports.BroadcastOperationType.START_BROADCAST:
|
|
13829
|
+
if (isBroadcastCompleted) {
|
|
13830
|
+
(_b = (_a = this.callbacks).onFinish) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
13831
|
+
}
|
|
13832
|
+
break;
|
|
13813
13833
|
case exports.BroadcastOperationType.PAUSE_BROADCAST:
|
|
13814
|
-
(
|
|
13834
|
+
(_d = (_c = this.callbacks).onPause) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
13815
13835
|
this.logger.debug('Broadcast paused callback triggered');
|
|
13816
13836
|
break;
|
|
13817
13837
|
case exports.BroadcastOperationType.RESUME_BROADCAST:
|
|
13818
|
-
(
|
|
13838
|
+
(_f = (_e = this.callbacks).onResume) === null || _f === void 0 ? void 0 : _f.call(_e);
|
|
13819
13839
|
this.logger.debug('Broadcast resumed callback triggered');
|
|
13820
13840
|
break;
|
|
13821
13841
|
case exports.BroadcastOperationType.STOP_BROADCAST:
|
|
13822
|
-
(
|
|
13823
|
-
if (isBroadcastCompleted) {
|
|
13824
|
-
(_h = (_g = this.callbacks).onFinish) === null || _h === void 0 ? void 0 : _h.call(_g);
|
|
13825
|
-
}
|
|
13842
|
+
(_h = (_g = this.callbacks).onStop) === null || _h === void 0 ? void 0 : _h.call(_g);
|
|
13826
13843
|
this.logger.debug('Broadcast stopped callback triggered');
|
|
13827
13844
|
break;
|
|
13828
13845
|
}
|
|
13846
|
+
} else {
|
|
13847
|
+
var error = SDKError.createFromUnityError(code, "Unity operation '".concat(operation, "' failed: ").concat(message));
|
|
13848
|
+
this.handleError(error);
|
|
13829
13849
|
}
|
|
13830
13850
|
};
|
|
13831
13851
|
/**
|
|
@@ -13899,7 +13919,7 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13899
13919
|
_c.label = 2;
|
|
13900
13920
|
case 2:
|
|
13901
13921
|
_c.trys.push([2, 4,, 5]);
|
|
13902
|
-
apiUrl = "".concat(
|
|
13922
|
+
apiUrl = "".concat(ConfigManager.getInstance().getApiBaseUrl(true)).concat(this.getBroadcastApiPath(params.type));
|
|
13903
13923
|
requestBody = {
|
|
13904
13924
|
humanCode: params.humanCode,
|
|
13905
13925
|
speed: params.speed,
|
|
@@ -13936,7 +13956,7 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13936
13956
|
var response = JSON.parse(event.data);
|
|
13937
13957
|
// 错误处理
|
|
13938
13958
|
if (response.code !== 0) {
|
|
13939
|
-
_this.
|
|
13959
|
+
_this.handleBroadcastError(response.code);
|
|
13940
13960
|
return;
|
|
13941
13961
|
}
|
|
13942
13962
|
// 流式播报
|
|
@@ -13975,7 +13995,10 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
13975
13995
|
},
|
|
13976
13996
|
onerror: function onerror(error) {
|
|
13977
13997
|
_this.logger.error('Broadcast stream error', error);
|
|
13978
|
-
|
|
13998
|
+
var sdkError = new SDKError(exports.OperationErrorCode.OPERATION_FAILED, '服务出错了', error);
|
|
13999
|
+
_this.handleError(sdkError);
|
|
14000
|
+
// 必须抛出错误,否则会循环重试请求
|
|
14001
|
+
throw new Error("\u670D\u52A1\u51FA\u9519\u4E86".concat(sdkError.message));
|
|
13979
14002
|
}
|
|
13980
14003
|
})];
|
|
13981
14004
|
case 3:
|
|
@@ -14147,16 +14170,6 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
14147
14170
|
enumerable: false,
|
|
14148
14171
|
configurable: true
|
|
14149
14172
|
});
|
|
14150
|
-
/**
|
|
14151
|
-
* 获取API基础URL
|
|
14152
|
-
* @returns string 返回当前环境的API基础URL
|
|
14153
|
-
* @description 根据当前环境配置获取API基础URL
|
|
14154
|
-
* @private
|
|
14155
|
-
*/
|
|
14156
|
-
BroadcastService.prototype.getApiBaseUrl = function () {
|
|
14157
|
-
var configManager = ConfigManager.getInstance();
|
|
14158
|
-
return configManager.getApiBaseUrl();
|
|
14159
|
-
};
|
|
14160
14173
|
/**
|
|
14161
14174
|
* 获取播报API路径
|
|
14162
14175
|
* @param type - 播报类型
|
|
@@ -14166,10 +14179,19 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
14166
14179
|
* @private
|
|
14167
14180
|
*/
|
|
14168
14181
|
BroadcastService.prototype.getBroadcastApiPath = function (type) {
|
|
14182
|
+
var env = ConfigManager.getInstance().getEnv();
|
|
14169
14183
|
switch (type) {
|
|
14170
14184
|
case exports.BroadcastType.TEXT:
|
|
14185
|
+
// 临时处理,开发和测试环境使用新接口
|
|
14186
|
+
if (env === 'dev' || env === 'test') {
|
|
14187
|
+
return '/aiep-openapi/avatar-interaction/v1/broadcast/text';
|
|
14188
|
+
}
|
|
14171
14189
|
return '/dh-talker/user/agent/broadcast/text';
|
|
14172
14190
|
case exports.BroadcastType.AUDIO:
|
|
14191
|
+
// 临时处理,开发和测试环境使用新接口
|
|
14192
|
+
if (env === 'dev' || env === 'test') {
|
|
14193
|
+
return '/aiep-openapi/avatar-interaction/v1/broadcast/audio';
|
|
14194
|
+
}
|
|
14173
14195
|
return '/dh-talker/user/agent/broadcast/customAudio';
|
|
14174
14196
|
default:
|
|
14175
14197
|
throw new SDKError(exports.ConfigErrorCode.INVALID_CONFIG, "\u672A\u77E5\u7684\u64AD\u62A5\u7C7B\u578B: ".concat(type));
|
|
@@ -14210,6 +14232,31 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
14210
14232
|
// 触发错误回调
|
|
14211
14233
|
(_b = (_a = this.callbacks).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);
|
|
14212
14234
|
};
|
|
14235
|
+
/**
|
|
14236
|
+
* 处理播报错误
|
|
14237
|
+
* @param errorCode - 错误码
|
|
14238
|
+
* @description 处理播报过程中的错误
|
|
14239
|
+
* @private
|
|
14240
|
+
*/
|
|
14241
|
+
BroadcastService.prototype.handleBroadcastError = function (errorCode) {
|
|
14242
|
+
// 用户权益额度不存在错误码 14001
|
|
14243
|
+
// 用户权益额度不足错误码 14002
|
|
14244
|
+
// 用户权益额度冻结失败 14003
|
|
14245
|
+
switch (errorCode) {
|
|
14246
|
+
case 14001:
|
|
14247
|
+
this.handleError(new SDKError(exports.OperationErrorCode.BROADCAST_EQUITY_NOT_EXIST, '用户权益额度不存在'));
|
|
14248
|
+
break;
|
|
14249
|
+
case 14002:
|
|
14250
|
+
this.handleError(new SDKError(exports.OperationErrorCode.BROADCAST_EQUITY_NOT_ENOUGH, '用户权益额度不足'));
|
|
14251
|
+
break;
|
|
14252
|
+
case 14003:
|
|
14253
|
+
this.handleError(new SDKError(exports.OperationErrorCode.BROADCAST_EQUITY_FREEZE_FAILED, '用户权益额度冻结失败'));
|
|
14254
|
+
break;
|
|
14255
|
+
default:
|
|
14256
|
+
this.handleError(new SDKError(exports.OperationErrorCode.OPERATION_FAILED, '播报服务错误'));
|
|
14257
|
+
break;
|
|
14258
|
+
}
|
|
14259
|
+
};
|
|
14213
14260
|
return BroadcastService;
|
|
14214
14261
|
}(UnityBaseService);
|
|
14215
14262
|
|
|
@@ -14323,10 +14370,13 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
14323
14370
|
*/
|
|
14324
14371
|
ZEEAvatarLoader.prototype.destroy = function () {
|
|
14325
14372
|
if (this.unityInstance) {
|
|
14326
|
-
// 移除DOM
|
|
14373
|
+
// 移除DOM容器下的canvas元素
|
|
14327
14374
|
var container = document.getElementById(this.getContainerId());
|
|
14328
14375
|
if (container) {
|
|
14329
|
-
container.
|
|
14376
|
+
var canvas = container.querySelector('#unity-canvas');
|
|
14377
|
+
if (canvas) {
|
|
14378
|
+
canvas.remove();
|
|
14379
|
+
}
|
|
14330
14380
|
}
|
|
14331
14381
|
// 退出Unity实例
|
|
14332
14382
|
if (typeof this.unityInstance.Quit === 'function') {
|
|
@@ -14345,10 +14395,12 @@ var ZEEAvatarSDKLib = (function (exports) {
|
|
|
14345
14395
|
* @protected
|
|
14346
14396
|
*/
|
|
14347
14397
|
ZEEAvatarLoader.prototype.initGlobalConfig = function () {
|
|
14348
|
-
var params =
|
|
14398
|
+
var params = {
|
|
14349
14399
|
token: ConfigManager.getInstance().getToken(),
|
|
14350
|
-
apiBaseUrl: ConfigManager.getInstance().getApiBaseUrl(false)
|
|
14351
|
-
|
|
14400
|
+
apiBaseUrl: ConfigManager.getInstance().getApiBaseUrl(false),
|
|
14401
|
+
idleMotionList: ConfigManager.getInstance().getConfig().idleMotionList,
|
|
14402
|
+
assetsUrl: ConfigManager.getInstance().getConfig().assetsUrl
|
|
14403
|
+
};
|
|
14352
14404
|
console.warn('[ Send Unity message ]: AvatarSDK.InitializeConfig', params);
|
|
14353
14405
|
this.unityInstance.SendMessage('AvatarSDK', 'InitializeConfig', JSON.stringify(params));
|
|
14354
14406
|
};
|
package/dist/index.es5.umd.js
CHANGED
|
@@ -12150,7 +12150,7 @@
|
|
|
12150
12150
|
NetworkErrorCode[NetworkErrorCode["CONNECTION_FAILED"] = 1001] = "CONNECTION_FAILED";
|
|
12151
12151
|
/** 请求超时 */
|
|
12152
12152
|
NetworkErrorCode[NetworkErrorCode["REQUEST_TIMEOUT"] = 1002] = "REQUEST_TIMEOUT";
|
|
12153
|
-
/**
|
|
12153
|
+
/** 服务错误 */
|
|
12154
12154
|
NetworkErrorCode[NetworkErrorCode["SERVER_ERROR"] = 1003] = "SERVER_ERROR";
|
|
12155
12155
|
/** 未授权访问 */
|
|
12156
12156
|
NetworkErrorCode[NetworkErrorCode["UNAUTHORIZED"] = 1004] = "UNAUTHORIZED";
|
|
@@ -12172,6 +12172,12 @@
|
|
|
12172
12172
|
OperationErrorCode[OperationErrorCode["OPERATION_TIMEOUT"] = 2004] = "OPERATION_TIMEOUT";
|
|
12173
12173
|
/** 操作被取消 */
|
|
12174
12174
|
OperationErrorCode[OperationErrorCode["OPERATION_CANCELLED"] = 2005] = "OPERATION_CANCELLED";
|
|
12175
|
+
/** 用户权益额度不存在 */
|
|
12176
|
+
OperationErrorCode[OperationErrorCode["BROADCAST_EQUITY_NOT_EXIST"] = 2006] = "BROADCAST_EQUITY_NOT_EXIST";
|
|
12177
|
+
/** 用户权益额度不足 */
|
|
12178
|
+
OperationErrorCode[OperationErrorCode["BROADCAST_EQUITY_NOT_ENOUGH"] = 2007] = "BROADCAST_EQUITY_NOT_ENOUGH";
|
|
12179
|
+
/** 用户权益额度冻结失败 */
|
|
12180
|
+
OperationErrorCode[OperationErrorCode["BROADCAST_EQUITY_FREEZE_FAILED"] = 2008] = "BROADCAST_EQUITY_FREEZE_FAILED";
|
|
12175
12181
|
})(exports.OperationErrorCode || (exports.OperationErrorCode = {}));
|
|
12176
12182
|
/**
|
|
12177
12183
|
* 资源错误码 (3xxx)
|
|
@@ -12257,6 +12263,15 @@
|
|
|
12257
12263
|
}, _a[exports.OperationErrorCode.OPERATION_CANCELLED] = {
|
|
12258
12264
|
category: exports.ErrorCategory.OPERATION,
|
|
12259
12265
|
message: '操作被取消'
|
|
12266
|
+
}, _a[exports.OperationErrorCode.BROADCAST_EQUITY_NOT_EXIST] = {
|
|
12267
|
+
category: exports.ErrorCategory.OPERATION,
|
|
12268
|
+
message: '用户权益额度不存在'
|
|
12269
|
+
}, _a[exports.OperationErrorCode.BROADCAST_EQUITY_NOT_ENOUGH] = {
|
|
12270
|
+
category: exports.ErrorCategory.OPERATION,
|
|
12271
|
+
message: '用户权益额度不足'
|
|
12272
|
+
}, _a[exports.OperationErrorCode.BROADCAST_EQUITY_FREEZE_FAILED] = {
|
|
12273
|
+
category: exports.ErrorCategory.OPERATION,
|
|
12274
|
+
message: '用户权益额度冻结失败'
|
|
12260
12275
|
},
|
|
12261
12276
|
// 资源错误
|
|
12262
12277
|
_a[exports.ResourceErrorCode.LOAD_FAILED] = {
|
|
@@ -12553,7 +12568,8 @@
|
|
|
12553
12568
|
operation: operation,
|
|
12554
12569
|
code: code,
|
|
12555
12570
|
message: message,
|
|
12556
|
-
data: dataObj
|
|
12571
|
+
data: dataObj,
|
|
12572
|
+
originalData: data
|
|
12557
12573
|
});
|
|
12558
12574
|
var callback = this.pendingCallbacks.get(operation);
|
|
12559
12575
|
if (!callback) {
|
|
@@ -12853,7 +12869,7 @@
|
|
|
12853
12869
|
console.warn("[Unity Warning] ".concat(message), data);
|
|
12854
12870
|
};
|
|
12855
12871
|
SimpleLogger.prototype.error = function (message, error, data) {
|
|
12856
|
-
console.error("[Unity Error] ".concat(message), error, data);
|
|
12872
|
+
console.error("[Unity Error] ".concat(message), error, error instanceof SDKError ? error.code : null, data);
|
|
12857
12873
|
};
|
|
12858
12874
|
return SimpleLogger;
|
|
12859
12875
|
}();
|
|
@@ -12902,7 +12918,6 @@
|
|
|
12902
12918
|
__extends(AvatarService, _super);
|
|
12903
12919
|
/**
|
|
12904
12920
|
* 构造函数
|
|
12905
|
-
* @param unityInstance - Unity实例对象
|
|
12906
12921
|
* @param config - 可选的服务配置,用于覆盖默认配置
|
|
12907
12922
|
* @description 初始化Avatar API,设置Unity实例和配置
|
|
12908
12923
|
* @example
|
|
@@ -13338,6 +13353,7 @@
|
|
|
13338
13353
|
withModule = true;
|
|
13339
13354
|
}
|
|
13340
13355
|
if (((_a = this.config) === null || _a === void 0 ? void 0 : _a.env) === 'custom' && ((_b = this.config) === null || _b === void 0 ? void 0 : _b.apiUrl)) {
|
|
13356
|
+
// 如果环境为自定义,则直接返回配置的API,无需添加模块路径
|
|
13341
13357
|
return this.config.apiUrl;
|
|
13342
13358
|
}
|
|
13343
13359
|
return ((_d = getEnvConfig(((_c = this.config) === null || _c === void 0 ? void 0 : _c.env) || 'prod', withModule)) === null || _d === void 0 ? void 0 : _d.apiBaseUrl) || '';
|
|
@@ -13416,16 +13432,11 @@
|
|
|
13416
13432
|
UnityLoader.prototype.createContainer = function () {
|
|
13417
13433
|
var container = document.getElementById(this.config.containerId);
|
|
13418
13434
|
if (!container) {
|
|
13419
|
-
throw new
|
|
13435
|
+
throw new TypeError("Avatar container element with ID \"".concat(this.config.containerId, "\" not found"));
|
|
13436
|
+
} else if (!(container instanceof HTMLDivElement)) {
|
|
13437
|
+
throw new TypeError('Avatar container element must be a div element');
|
|
13420
13438
|
}
|
|
13421
|
-
container.style.width = '100%';
|
|
13422
|
-
container.style.height = '100%';
|
|
13423
13439
|
container.style.position = 'relative';
|
|
13424
|
-
// 移除容器提示元素
|
|
13425
|
-
var containerTip = document.getElementById('unity-container-tip');
|
|
13426
|
-
if (containerTip) {
|
|
13427
|
-
containerTip.remove();
|
|
13428
|
-
}
|
|
13429
13440
|
return container;
|
|
13430
13441
|
};
|
|
13431
13442
|
/**
|
|
@@ -13479,11 +13490,15 @@
|
|
|
13479
13490
|
return __generator(this, function (_a) {
|
|
13480
13491
|
switch (_a.label) {
|
|
13481
13492
|
case 0:
|
|
13482
|
-
canvas =
|
|
13483
|
-
|
|
13484
|
-
canvas
|
|
13485
|
-
|
|
13486
|
-
|
|
13493
|
+
canvas = container.querySelector('#unity-canvas');
|
|
13494
|
+
// 避免重复创建
|
|
13495
|
+
if (!canvas) {
|
|
13496
|
+
canvas = document.createElement('canvas');
|
|
13497
|
+
canvas.id = 'unity-canvas';
|
|
13498
|
+
canvas.style.width = '100%';
|
|
13499
|
+
canvas.style.height = '100%';
|
|
13500
|
+
container.appendChild(canvas);
|
|
13501
|
+
}
|
|
13487
13502
|
// 移动设备适配
|
|
13488
13503
|
if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
|
13489
13504
|
meta = document.createElement('meta');
|
|
@@ -13813,22 +13828,27 @@
|
|
|
13813
13828
|
// 触发对应的事件回调(仅在成功时)
|
|
13814
13829
|
if (code === 0) {
|
|
13815
13830
|
switch (operation) {
|
|
13831
|
+
case exports.BroadcastOperationType.START_BROADCAST:
|
|
13832
|
+
if (isBroadcastCompleted) {
|
|
13833
|
+
(_b = (_a = this.callbacks).onFinish) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
13834
|
+
}
|
|
13835
|
+
break;
|
|
13816
13836
|
case exports.BroadcastOperationType.PAUSE_BROADCAST:
|
|
13817
|
-
(
|
|
13837
|
+
(_d = (_c = this.callbacks).onPause) === null || _d === void 0 ? void 0 : _d.call(_c);
|
|
13818
13838
|
this.logger.debug('Broadcast paused callback triggered');
|
|
13819
13839
|
break;
|
|
13820
13840
|
case exports.BroadcastOperationType.RESUME_BROADCAST:
|
|
13821
|
-
(
|
|
13841
|
+
(_f = (_e = this.callbacks).onResume) === null || _f === void 0 ? void 0 : _f.call(_e);
|
|
13822
13842
|
this.logger.debug('Broadcast resumed callback triggered');
|
|
13823
13843
|
break;
|
|
13824
13844
|
case exports.BroadcastOperationType.STOP_BROADCAST:
|
|
13825
|
-
(
|
|
13826
|
-
if (isBroadcastCompleted) {
|
|
13827
|
-
(_h = (_g = this.callbacks).onFinish) === null || _h === void 0 ? void 0 : _h.call(_g);
|
|
13828
|
-
}
|
|
13845
|
+
(_h = (_g = this.callbacks).onStop) === null || _h === void 0 ? void 0 : _h.call(_g);
|
|
13829
13846
|
this.logger.debug('Broadcast stopped callback triggered');
|
|
13830
13847
|
break;
|
|
13831
13848
|
}
|
|
13849
|
+
} else {
|
|
13850
|
+
var error = SDKError.createFromUnityError(code, "Unity operation '".concat(operation, "' failed: ").concat(message));
|
|
13851
|
+
this.handleError(error);
|
|
13832
13852
|
}
|
|
13833
13853
|
};
|
|
13834
13854
|
/**
|
|
@@ -13902,7 +13922,7 @@
|
|
|
13902
13922
|
_c.label = 2;
|
|
13903
13923
|
case 2:
|
|
13904
13924
|
_c.trys.push([2, 4,, 5]);
|
|
13905
|
-
apiUrl = "".concat(
|
|
13925
|
+
apiUrl = "".concat(ConfigManager.getInstance().getApiBaseUrl(true)).concat(this.getBroadcastApiPath(params.type));
|
|
13906
13926
|
requestBody = {
|
|
13907
13927
|
humanCode: params.humanCode,
|
|
13908
13928
|
speed: params.speed,
|
|
@@ -13939,7 +13959,7 @@
|
|
|
13939
13959
|
var response = JSON.parse(event.data);
|
|
13940
13960
|
// 错误处理
|
|
13941
13961
|
if (response.code !== 0) {
|
|
13942
|
-
_this.
|
|
13962
|
+
_this.handleBroadcastError(response.code);
|
|
13943
13963
|
return;
|
|
13944
13964
|
}
|
|
13945
13965
|
// 流式播报
|
|
@@ -13978,7 +13998,10 @@
|
|
|
13978
13998
|
},
|
|
13979
13999
|
onerror: function onerror(error) {
|
|
13980
14000
|
_this.logger.error('Broadcast stream error', error);
|
|
13981
|
-
|
|
14001
|
+
var sdkError = new SDKError(exports.OperationErrorCode.OPERATION_FAILED, '服务出错了', error);
|
|
14002
|
+
_this.handleError(sdkError);
|
|
14003
|
+
// 必须抛出错误,否则会循环重试请求
|
|
14004
|
+
throw new Error("\u670D\u52A1\u51FA\u9519\u4E86".concat(sdkError.message));
|
|
13982
14005
|
}
|
|
13983
14006
|
})];
|
|
13984
14007
|
case 3:
|
|
@@ -14150,16 +14173,6 @@
|
|
|
14150
14173
|
enumerable: false,
|
|
14151
14174
|
configurable: true
|
|
14152
14175
|
});
|
|
14153
|
-
/**
|
|
14154
|
-
* 获取API基础URL
|
|
14155
|
-
* @returns string 返回当前环境的API基础URL
|
|
14156
|
-
* @description 根据当前环境配置获取API基础URL
|
|
14157
|
-
* @private
|
|
14158
|
-
*/
|
|
14159
|
-
BroadcastService.prototype.getApiBaseUrl = function () {
|
|
14160
|
-
var configManager = ConfigManager.getInstance();
|
|
14161
|
-
return configManager.getApiBaseUrl();
|
|
14162
|
-
};
|
|
14163
14176
|
/**
|
|
14164
14177
|
* 获取播报API路径
|
|
14165
14178
|
* @param type - 播报类型
|
|
@@ -14169,10 +14182,19 @@
|
|
|
14169
14182
|
* @private
|
|
14170
14183
|
*/
|
|
14171
14184
|
BroadcastService.prototype.getBroadcastApiPath = function (type) {
|
|
14185
|
+
var env = ConfigManager.getInstance().getEnv();
|
|
14172
14186
|
switch (type) {
|
|
14173
14187
|
case exports.BroadcastType.TEXT:
|
|
14188
|
+
// 临时处理,开发和测试环境使用新接口
|
|
14189
|
+
if (env === 'dev' || env === 'test') {
|
|
14190
|
+
return '/aiep-openapi/avatar-interaction/v1/broadcast/text';
|
|
14191
|
+
}
|
|
14174
14192
|
return '/dh-talker/user/agent/broadcast/text';
|
|
14175
14193
|
case exports.BroadcastType.AUDIO:
|
|
14194
|
+
// 临时处理,开发和测试环境使用新接口
|
|
14195
|
+
if (env === 'dev' || env === 'test') {
|
|
14196
|
+
return '/aiep-openapi/avatar-interaction/v1/broadcast/audio';
|
|
14197
|
+
}
|
|
14176
14198
|
return '/dh-talker/user/agent/broadcast/customAudio';
|
|
14177
14199
|
default:
|
|
14178
14200
|
throw new SDKError(exports.ConfigErrorCode.INVALID_CONFIG, "\u672A\u77E5\u7684\u64AD\u62A5\u7C7B\u578B: ".concat(type));
|
|
@@ -14213,6 +14235,31 @@
|
|
|
14213
14235
|
// 触发错误回调
|
|
14214
14236
|
(_b = (_a = this.callbacks).onError) === null || _b === void 0 ? void 0 : _b.call(_a, error);
|
|
14215
14237
|
};
|
|
14238
|
+
/**
|
|
14239
|
+
* 处理播报错误
|
|
14240
|
+
* @param errorCode - 错误码
|
|
14241
|
+
* @description 处理播报过程中的错误
|
|
14242
|
+
* @private
|
|
14243
|
+
*/
|
|
14244
|
+
BroadcastService.prototype.handleBroadcastError = function (errorCode) {
|
|
14245
|
+
// 用户权益额度不存在错误码 14001
|
|
14246
|
+
// 用户权益额度不足错误码 14002
|
|
14247
|
+
// 用户权益额度冻结失败 14003
|
|
14248
|
+
switch (errorCode) {
|
|
14249
|
+
case 14001:
|
|
14250
|
+
this.handleError(new SDKError(exports.OperationErrorCode.BROADCAST_EQUITY_NOT_EXIST, '用户权益额度不存在'));
|
|
14251
|
+
break;
|
|
14252
|
+
case 14002:
|
|
14253
|
+
this.handleError(new SDKError(exports.OperationErrorCode.BROADCAST_EQUITY_NOT_ENOUGH, '用户权益额度不足'));
|
|
14254
|
+
break;
|
|
14255
|
+
case 14003:
|
|
14256
|
+
this.handleError(new SDKError(exports.OperationErrorCode.BROADCAST_EQUITY_FREEZE_FAILED, '用户权益额度冻结失败'));
|
|
14257
|
+
break;
|
|
14258
|
+
default:
|
|
14259
|
+
this.handleError(new SDKError(exports.OperationErrorCode.OPERATION_FAILED, '播报服务错误'));
|
|
14260
|
+
break;
|
|
14261
|
+
}
|
|
14262
|
+
};
|
|
14216
14263
|
return BroadcastService;
|
|
14217
14264
|
}(UnityBaseService);
|
|
14218
14265
|
|
|
@@ -14326,10 +14373,13 @@
|
|
|
14326
14373
|
*/
|
|
14327
14374
|
ZEEAvatarLoader.prototype.destroy = function () {
|
|
14328
14375
|
if (this.unityInstance) {
|
|
14329
|
-
// 移除DOM
|
|
14376
|
+
// 移除DOM容器下的canvas元素
|
|
14330
14377
|
var container = document.getElementById(this.getContainerId());
|
|
14331
14378
|
if (container) {
|
|
14332
|
-
container.
|
|
14379
|
+
var canvas = container.querySelector('#unity-canvas');
|
|
14380
|
+
if (canvas) {
|
|
14381
|
+
canvas.remove();
|
|
14382
|
+
}
|
|
14333
14383
|
}
|
|
14334
14384
|
// 退出Unity实例
|
|
14335
14385
|
if (typeof this.unityInstance.Quit === 'function') {
|
|
@@ -14348,10 +14398,12 @@
|
|
|
14348
14398
|
* @protected
|
|
14349
14399
|
*/
|
|
14350
14400
|
ZEEAvatarLoader.prototype.initGlobalConfig = function () {
|
|
14351
|
-
var params =
|
|
14401
|
+
var params = {
|
|
14352
14402
|
token: ConfigManager.getInstance().getToken(),
|
|
14353
|
-
apiBaseUrl: ConfigManager.getInstance().getApiBaseUrl(false)
|
|
14354
|
-
|
|
14403
|
+
apiBaseUrl: ConfigManager.getInstance().getApiBaseUrl(false),
|
|
14404
|
+
idleMotionList: ConfigManager.getInstance().getConfig().idleMotionList,
|
|
14405
|
+
assetsUrl: ConfigManager.getInstance().getConfig().assetsUrl
|
|
14406
|
+
};
|
|
14355
14407
|
console.warn('[ Send Unity message ]: AvatarSDK.InitializeConfig', params);
|
|
14356
14408
|
this.unityInstance.SendMessage('AvatarSDK', 'InitializeConfig', JSON.stringify(params));
|
|
14357
14409
|
};
|