新增功能
This commit is contained in:
wx/unpackage/dist/dev/.sourcemap/mp-weixin/TUICallKit/src/TUICallService/CallService/UIDesign.js.map
Vendored
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"miniProgram.js","sources":["TUICallKit/src/TUICallService/CallService/miniProgram.ts"],"sourcesContent":["import { CallMediaType, CallStatus } from '../const/index';\n\nexport function initialUI() {\n // 收起键盘\n // @ts-ignore\n wx.hideKeyboard && wx.hideKeyboard({\n complete: () => {},\n });\n};\n// 检测运行时环境, 当是微信开发者工具时, 提示用户需要手机调试\nexport function checkRunPlatform() {\n // @ts-ignore\n const systemInfo = wx.getSystemInfoSync();\n if (systemInfo.platform === 'devtools') {\n // 当前运行在微信开发者工具里\n // @ts-ignore\n wx.showModal({\n icon: 'none',\n title: '运行环境提醒',\n content: '微信开发者工具不支持原生推拉流组件(即 <live-pusher> 和 <live-player> 标签),请使用真机调试或者扫码预览。',\n showCancel: false,\n });\n }\n};\nexport function initAndCheckRunEnv() {\n initialUI(); // miniProgram 收起键盘, 隐藏 tabBar\n checkRunPlatform(); // miniProgram 检测运行时环境\n}\nexport async function beforeCall(type: CallMediaType, that: any) {\n try {\n initAndCheckRunEnv();\n // 检查设备权限\n const deviceMap = {\n microphone: true,\n camera: type === CallMediaType.VIDEO,\n };\n const hasDevicePermission = await that._tuiCallEngine.deviceCheck(deviceMap); // miniProgram 检查设备权限\n return hasDevicePermission ? CallStatus.CALLING : CallStatus.IDLE;\n } catch (error) {\n console.debug(error);\n return CallStatus.IDLE;\n }\n}\n// 套餐问题提示, 小程序最低需要群组通话版, 1v1 通话版本使用 TRTC 就会报错\nexport function handlePackageError(error) {\n if (error?.code === -1002) {\n // @ts-ignore\n wx.showModal({\n icon: 'none',\n title: 'error',\n content: error?.message || '',\n showCancel: false,\n });\n }\n}\n\nexport function handleNoPusherCapabilityError(){\n // @ts-ignore\n wx.showModal({\n icon: 'none',\n title: '权限提示',\n content: '当前小程序 appid 不具备 <live-pusher> 和 <live-player> 的使用权限,您将无法正常使用实时通话能力,请使用企业小程序账号申请权限后再进行开发体验',\n showCancel: false,\n });\n}\n"],"names":["wx","CallMediaType","CallStatus","uni"],"mappings":";;;AAEO,SAAS,YAAY;AAGvBA,qBAAA,gBAAgBA,mBAAG,aAAa;AAAA,IACjC,UAAU,MAAM;AAAA,IAAC;AAAA,EAAA,CAClB;AACH;AAEO,SAAS,mBAAmB;AAE3B,QAAA,aAAaA,mBAAG;AAClB,MAAA,WAAW,aAAa,YAAY;AAGtCA,kBAAAA,KAAG,UAAU;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY;AAAA,IAAA,CACb;AAAA,EACH;AACF;AACO,SAAS,qBAAqB;AACzB;AACO;AACnB;AACsB,eAAA,WAAW,MAAqB,MAAW;AAC3D,MAAA;AACiB;AAEnB,UAAM,YAAY;AAAA,MAChB,YAAY;AAAA,MACZ,QAAQ,SAASC,yCAAAA,cAAc;AAAA,IAAA;AAEjC,UAAM,sBAAsB,MAAM,KAAK,eAAe,YAAY,SAAS;AACpE,WAAA,sBAAsBC,yCAAW,WAAA,UAAUA,yCAAAA,WAAW;AAAA,WACtD,OAAO;AACAC,kBAAAA,MAAA,MAAA,SAAA,kEAAA,KAAK;AACnB,WAAOD,yCAAAA,WAAW;AAAA,EACpB;AACF;AAEO,SAAS,mBAAmB,OAAO;AACpC,OAAA,+BAAO,UAAS,OAAO;AAEzBF,kBAAAA,KAAG,UAAU;AAAA,MACX,MAAM;AAAA,MACN,OAAO;AAAA,MACP,UAAS,+BAAO,YAAW;AAAA,MAC3B,YAAY;AAAA,IAAA,CACb;AAAA,EACH;AACF;AAEO,SAAS,gCAA+B;AAE7CA,gBAAAA,KAAG,UAAU;AAAA,IACX,MAAM;AAAA,IACN,OAAO;AAAA,IACP,SAAS;AAAA,IACT,YAAY;AAAA,EAAA,CACb;AACH;;;;;"}
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"tuiGlobal.js","sources":["TUICallKit/src/TUICallService/TUIGlobal/tuiGlobal.ts"],"sourcesContent":["import { APP_NAMESPACE, IS_PC, IS_H5, IN_WX_MINI_APP, IN_UNI_NATIVE_APP, IN_UNI_APP, IS_MAC, IS_WIN } from '../utils/env';\nimport { ITUIGlobal } from '../interface/ITUIGlobal';\n\nexport default class TUIGlobal implements ITUIGlobal {\n static instance: TUIGlobal;\n public global: any = APP_NAMESPACE;\n public isPC: boolean = false;\n public isH5: boolean = false;\n public isWeChat: boolean = false;\n public isApp: boolean = false;\n public isUniPlatform: boolean = false;\n public isOfficial: boolean = false;\n public isWIN: boolean = false;\n public isMAC: boolean = false;\n constructor() {\n this.initEnv();\n }\n\n /**\n * 获取 TUIGlobal 实例\n * @returns {TUIGlobal}\n */\n static getInstance() {\n if (!TUIGlobal.instance) {\n TUIGlobal.instance = new TUIGlobal();\n }\n return TUIGlobal.instance;\n }\n\n initEnv() {\n this.isPC = IS_PC;\n this.isH5 = IS_H5;\n this.isWeChat = IN_WX_MINI_APP;\n this.isApp = IN_UNI_NATIVE_APP && !IN_WX_MINI_APP; // uniApp 打包小程序时 IN_UNI_NATIVE_APP 为 true,所以此处需要增加条件\n this.isUniPlatform = IN_UNI_APP;\n this.isWIN = IS_WIN;\n this.isMAC = IS_MAC;\n }\n\n initOfficial(SDKAppID: number) {\n this.isOfficial = (SDKAppID === 1400187352 || SDKAppID === 1400188366);\n }\n}\n"],"names":["APP_NAMESPACE","IS_PC","IS_H5","IN_WX_MINI_APP","IN_UNI_NATIVE_APP","IN_UNI_APP","IS_WIN","IS_MAC"],"mappings":";;AAGA,MAAqB,UAAgC;AAAA,EAWnD,cAAc;AATd,SAAO,SAAcA;AACrB,SAAO,OAAgB;AACvB,SAAO,OAAgB;AACvB,SAAO,WAAoB;AAC3B,SAAO,QAAiB;AACxB,SAAO,gBAAyB;AAChC,SAAO,aAAsB;AAC7B,SAAO,QAAiB;AACxB,SAAO,QAAiB;AAEtB,SAAK,QAAQ;AAAA,EACf;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,cAAc;AACf,QAAA,CAAC,UAAU,UAAU;AACb,gBAAA,WAAW,IAAI;IAC3B;AACA,WAAO,UAAU;AAAA,EACnB;AAAA,EAEA,UAAU;AACR,SAAK,OAAOC;AACZ,SAAK,OAAOC;AACZ,SAAK,WAAWC;AACX,SAAA,QAAQC,6DAAqB,CAACD;AACnC,SAAK,gBAAgBE;AACrB,SAAK,QAAQC;AACb,SAAK,QAAQC;EACf;AAAA,EAEA,aAAa,UAAkB;AACxB,SAAA,aAAc,aAAa,cAAc,aAAa;AAAA,EAC7D;AACF;;"}
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
+1
File diff suppressed because one or more lines are too long
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"error.js","sources":["TUICallKit/src/TUICallService/const/error.ts"],"sourcesContent":["// 错误码\nexport const ErrorCode: any = {\n SWITCH_TO_AUDIO_CALL_FAILED: 60001,\n SWITCH_TO_VIDEO_CALL_FAILED: 60002,\n MICROPHONE_UNAVAILABLE: 60003,\n CAMERA_UNAVAILABLE: 60004,\n BAN_DEVICE: 60005,\n NOT_SUPPORTED_WEBRTC: 60006,\n ERROR_BLACKLIST: 20007,\n} as const;\n\nexport const ErrorMessage: any = {\n SWITCH_TO_AUDIO_CALL_FAILED: 'switchToAudioCall-call-failed',\n SWITCH_TO_VIDEO_CALL_FAILED: 'switchToVideoCall-call-failed',\n MICROPHONE_UNAVAILABLE: 'microphone-unavailable',\n CAMERA_UNAVAILABLE: 'camera-unavailable',\n BAN_DEVICE: 'ban-device',\n NOT_SUPPORTED_WEBRTC: 'not-supported-webrtc',\n ERROR_BLACKLIST: 'blacklist-user-tips'\n} as const;\n"],"names":[],"mappings":";AACO,MAAM,YAAiB;AAAA,EAC5B,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,iBAAiB;AACnB;AAEO,MAAM,eAAoB;AAAA,EAC/B,6BAA6B;AAAA,EAC7B,6BAA6B;AAAA,EAC7B,wBAAwB;AAAA,EACxB,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,iBAAiB;AACnB;;;"}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUICallKit/src/TUICallService/const/index.ts"],"sourcesContent":["export * from './call';\nexport * from './error';\nexport * from './log';\n\nexport const CALL_DATA_KEY: any = {\n CALL_STATUS: 'callStatus',\n CALL_ROLE: 'callRole',\n CALL_MEDIA_TYPE: 'callMediaType',\n LOCAL_USER_INFO: 'localUserInfo',\n LOCAL_USER_INFO_EXCLUDE_VOLUMN: 'localUserInfoExcludeVolume',\n REMOTE_USER_INFO_LIST: 'remoteUserInfoList',\n REMOTE_USER_INFO_EXCLUDE_VOLUMN_LIST: 'remoteUserInfoExcludeVolumeList',\n CALLER_USER_INFO: 'callerUserInfo',\n IS_GROUP: 'isGroup',\n CALL_DURATION: 'callDuration',\n CALL_TIPS: 'callTips',\n TOAST_INFO: 'toastInfo',\n IS_MINIMIZED: 'isMinimized',\n ENABLE_FLOAT_WINDOW: 'enableFloatWindow',\n BIG_SCREEN_USER_ID: 'bigScreenUserId',\n LANGUAGE: 'language',\n IS_CLICKABLE: 'isClickable',\n DISPLAY_MODE: 'displayMode',\n VIDEO_RESOLUTION: 'videoResolution',\n PUSHER: 'pusher',\n PLAYER: 'player',\n IS_EAR_PHONE: 'isEarPhone',\n IS_MUTE_SPEAKER: 'isMuteSpeaker',\n SHOW_PERMISSION_TIP: 'SHOW_PERMISSION_TIP',\n NETWORK_STATUS: 'NetWorkStatus',\n CALL_ID: 'callID',\n GROUP_ID: 'groupID',\n ROOM_ID: 'roomID',\n ROOM_ID_TYPE: 'roomIdType',\n SHOW_SELECT_USER: 'showSelectUser',\n IS_SHOW_ENABLE_VIRTUAL_BACKGROUND: 'isShowEnableVirtualBackground',\n ENABLE_VIRTUAL_BACKGROUND: 'enableVirtualBackground',\n GROUP_CALL_MEMBERS: 'groupCallMembers',\n PUSHER_ID: 'pusherId',\n IS_FORCE_USE_V2_API: 'isForceUseV2API',\n};\n\nexport const CHAT_DATA_KEY: any = {\n \"INNER_ATTR_KIT_INFO\": \"inner_attr_kit_info\",\n};\n\nexport const PUSHER_ID = {\n INITIAL_PUSHER: 'initialPusher',\n NEW_PUSHER: 'newPusher'\n};\n\nexport const NAME = {\n PREFIX: '【CallService】',\n AUDIO: 'audio',\n VIDEO: 'video',\n LOCAL_VIDEO: 'localVideo',\n ERROR: 'error',\n TIMEOUT: 'timeout',\n RAF: 'raf',\n INTERVAL: 'interval',\n DEFAULT: 'default',\n BOOLEAN: 'boolean',\n STRING: 'string',\n NUMBER: 'number',\n OBJECT: 'object',\n ARRAY: 'array',\n FUNCTION: 'function',\n UNDEFINED: \"undefined\",\n UNKNOWN: 'unknown',\n ALL: 'all',\n MYSELF: 'myself',\n DEVICE_LIST: 'deviceList',\n CAMERA_POSITION: 'cameraPosition',\n CUSTOM_UI_CONFIG: 'customUIConfig',\n TRANSLATE: 'translate',\n ...PUSHER_ID,\n ...CALL_DATA_KEY,\n ...CHAT_DATA_KEY,\n};\n\nexport const AudioCallIcon = 'https://web.sdk.qcloud.com/component/TUIKit/assets/call.png';\nexport const VideoCallIcon = 'https://web.sdk.qcloud.com/component/TUIKit/assets/call-video-reverse.svg';\nexport const MAX_NUMBER_ROOM_ID = 2147483647;\nexport const DEFAULT_BLUR_LEVEL = 3;\nexport const NETWORK_QUALITY_THRESHOLD = 4;\nexport enum PLATFORM {\n // eslint-disable-next-line no-unused-vars\n MAC = 'mac',\n // eslint-disable-next-line no-unused-vars\n WIN = 'win',\n};\nexport enum COMPONENT {\n // eslint-disable-next-line no-unused-vars\n TUI_CALL_KIT = 14,\n // eslint-disable-next-line no-unused-vars\n TIM_CALL_KIT = 15,\n};\nexport enum ROOM_ID_TYPE {\n // eslint-disable-next-line no-unused-vars\n NUMBER_ROOM_ID = 1,\n // eslint-disable-next-line no-unused-vars\n STRING_ROOM_ID = 2,\n};"],"names":["COMPONENT","ROOM_ID_TYPE"],"mappings":";AAIO,MAAM,gBAAqB;AAAA,EAChC,aAAa;AAAA,EACb,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gCAAgC;AAAA,EAChC,uBAAuB;AAAA,EACvB,sCAAsC;AAAA,EACtC,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,eAAe;AAAA,EACf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,UAAU;AAAA,EACV,cAAc;AAAA,EACd,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,SAAS;AAAA,EACT,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,mCAAmC;AAAA,EACnC,2BAA2B;AAAA,EAC3B,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,qBAAqB;AACvB;AAEO,MAAM,gBAAqB;AAAA,EAChC,uBAAuB;AACzB;AAEO,MAAM,YAAY;AAAA,EACvB,gBAAgB;AAAA,EAChB,YAAY;AACd;AAEO,MAAM,OAAO;AAAA,EAClB,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,aAAa;AAAA,EACb,OAAO;AAAA,EACP,SAAS;AAAA,EACT,KAAK;AAAA,EACL,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACL;AAEO,MAAM,gBAAgB;AACtB,MAAM,gBAAgB;AAGtB,MAAM,4BAA4B;AAO7B,IAAA,8BAAAA,eAAL;AAELA,aAAAA,WAAA,kBAAe,EAAf,IAAA;AAEAA,aAAAA,WAAA,kBAAe,EAAf,IAAA;AAJUA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;AAMA,IAAA,iCAAAC,kBAAL;AAELA,gBAAAA,cAAA,oBAAiB,CAAjB,IAAA;AAEAA,gBAAAA,cAAA,oBAAiB,CAAjB,IAAA;AAJUA,SAAAA;AAAA,GAAA,gBAAA,CAAA,CAAA;;;;;;;;"}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"log.js","sources":["TUICallKit/src/TUICallService/const/log.ts"],"sourcesContent":["/* eslint-disable */\n// 唯一一个变量格式有问题的, 但是为了和原来 TUICallKit 对外暴露的保持一致\nexport enum LOG_LEVEL {\n NORMAL = 0, // 普通级别,日志量较多,接入时建议使用\n RELEASE = 1, // release级别,SDK 输出关键信息,生产环境时建议使用\n WARNING = 2, // 告警级别,SDK 只输出告警和错误级别的日志\n ERROR = 3, // 错误级别,SDK 只输出错误级别的日志\n NONE = 4, // 无日志级别,SDK 将不打印任何日志\n}\n"],"names":["LOG_LEVEL"],"mappings":";AAEY,IAAA,8BAAAA,eAAL;AACLA,aAAAA,WAAA,YAAS,CAAT,IAAA;AACAA,aAAAA,WAAA,aAAU,CAAV,IAAA;AACAA,aAAAA,WAAA,aAAU,CAAV,IAAA;AACAA,aAAAA,WAAA,WAAQ,CAAR,IAAA;AACAA,aAAAA,WAAA,UAAO,CAAP,IAAA;AALUA,SAAAA;AAAA,GAAA,aAAA,CAAA,CAAA;;"}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUICallKit/src/TUICallService/index.ts"],"sourcesContent":["import TUICallService, { TUIGlobal, TUIStore, uiDesign } from './CallService/index';\nimport {\n StoreName,\n NAME,\n CallRole,\n CallMediaType,\n CallStatus,\n StatusChange,\n VideoResolution,\n VideoDisplayMode,\n AudioPlayBackDevice,\n FeatureButton,\n LayoutMode,\n} from './const/index';\nimport { t } from './locales/index';\n\n// 实例化\nconst TUICallKitAPI = TUICallService.getInstance();\n// 输出产物\nexport {\n TUIGlobal,\n TUIStore,\n StoreName,\n TUICallKitAPI,\n NAME,\n CallStatus,\n CallRole,\n CallMediaType,\n StatusChange,\n VideoResolution,\n VideoDisplayMode,\n AudioPlayBackDevice,\n t,\n uiDesign,\n FeatureButton,\n LayoutMode,\n};\n"],"names":["TUICallService"],"mappings":";;;;AAiBM,MAAA,gBAAgBA,+DAAe,YAAY;;"}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUICallKit/src/TUICallService/locales/index.ts"],"sourcesContent":["import { TUIStore } from '../CallService/index';\nimport { NAME, StoreName } from '../const/index';\nimport { zh } from './zh-cn';\nimport { interpolate, isString, isPlainObject } from '../utils/common-utils';\n\n\nexport const CallTips: any = {\n OTHER_SIDE: 'other side',\n CANCEL: 'cancel',\n OTHER_SIDE_REJECT_CALL: 'other side reject call',\n REJECT_CALL: 'reject call',\n OTHER_SIDE_LINE_BUSY: 'other side line busy',\n IN_BUSY: 'in busy',\n CALL_TIMEOUT: 'call timeout',\n END_CALL: 'end call',\n TIMEOUT: 'timeout',\n KICK_OUT: 'kick out',\n CALLER_CALLING_MSG: 'caller calling message',\n CALLER_GROUP_CALLING_MSG: 'wait to be called',\n CALLEE_CALLING_VIDEO_MSG: 'callee calling video message',\n CALLEE_CALLING_AUDIO_MSG: 'callee calling audio message',\n NO_MICROPHONE_DEVICE_PERMISSION: 'no microphone access',\n NO_CAMERA_DEVICE_PERMISSION: 'no camera access',\n EXIST_GROUP_CALL: 'exist group call',\n LOCAL_NETWORK_IS_POOR: 'The network is poor during your current call',\n REMOTE_NETWORK_IS_POOR: 'The other user network is poor during the current call',\n};\n\nexport const languageData: languageDataType = {\n 'zh-cn': zh,\n};\n\n// language translate\nexport function t(args): string {\n const language = TUIStore.getData(StoreName.CALL, NAME.LANGUAGE);\n let translationContent = '';\n if (isString(args)) {\n translationContent = languageData?.[language]?.[args] || '';\n } else if (isPlainObject(args)) {\n const { key, options } = args;\n translationContent = languageData?.[language]?.[key] || '';\n translationContent = interpolate(translationContent, options);\n }\n\n return translationContent;\n}\n\ninterface languageItemType {\n [key: string]: string;\n}\ninterface languageDataType {\n [key: string]: languageItemType;\n}\n"],"names":["zh","TUIStore","StoreName","NAME","isString","isPlainObject","interpolate"],"mappings":";;;;;;AAMO,MAAM,WAAgB;AAAA,EAC3B,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,wBAAwB;AAAA,EACxB,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,UAAU;AAAA,EACV,SAAS;AAAA,EACT,UAAU;AAAA,EACV,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,0BAA0B;AAAA,EAC1B,iCAAiC;AAAA,EACjC,6BAA6B;AAAA,EAC7B,kBAAkB;AAAA,EAClB,uBAAuB;AAAA,EACvB,wBAAwB;AAC1B;AAEO,MAAM,eAAiC;AAAA,EAC5C,SAASA,2CAAA;AACX;AAGO,SAAS,EAAE,MAAc;;AAC9B,QAAM,WAAWC,gDAAAA,SAAS,QAAQC,yCAAU,UAAA,MAAMC,0CAAAA,KAAK,QAAQ;AAC/D,MAAI,qBAAqB;AACrB,MAAAC,gDAAAA,SAAS,IAAI,GAAG;AAClB,2BAAqB,kDAAe,cAAf,mBAA2B,UAAS;AAAA,EAAA,WAChDC,gDAAAA,cAAc,IAAI,GAAG;AACxB,UAAA,EAAE,KAAK,QAAY,IAAA;AACzB,2BAAqB,kDAAe,cAAf,mBAA2B,SAAQ;AACnC,yBAAAC,gDAAA,YAAY,oBAAoB,OAAO;AAAA,EAC9D;AAEO,SAAA;AACT;;;"}
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
Vendored
+1
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"promise-retry.js","sources":["TUICallKit/src/TUICallService/utils/decorators/promise-retry.ts"],"sourcesContent":["import promiseRetry from '../retry';\n\n/**\n * 异步函数重试 Interface\n * @param {number} [retries = 5] 重试次数\n * @param {number} [timeout = 2000] 重试间隔时间\n * @param {Function=} onError 重试错误回调\n * @param {Function=} onRetrying 重试回调\n * @param {Function=} onRetryFailed 重试失败回调\n */\ninterface IPromiseRetryDecoratorSettings {\n retries?: number;\n timeout?: number;\n onError?: Function;\n onRetrying?: Function;\n onRetryFailed?: Function;\n};\n\n/**\n * 装饰器函数:给异步函数增加重试\n * @param {Object} settings 入参\n * @returns {Function}\n * @example\n * class LocalStream {\n * @promiseRetryDecorator({\n * retries: 10,\n * timeout: 3000,\n * onRetryFailed: function(error) {\n * }\n * })\n * async recoverCapture(options) {}\n * }\n */\nexport default function promiseRetryDecorator(settings: IPromiseRetryDecoratorSettings) {\n return function(target, name, descriptor) {\n const { retries = 5, timeout = 2000, onError, onRetrying, onRetryFailed } = settings;\n const oldFn = promiseRetry({\n retryFunction: descriptor.value,\n settings: { retries, timeout },\n onError,\n onRetrying,\n onRetryFailed,\n context: null,\n });\n\n descriptor.value = function(...args) {\n return oldFn.apply(this, args);\n };\n return descriptor;\n };\n}\n"],"names":["promiseRetry"],"mappings":";;AAiCA,SAAwB,sBAAsB,UAA0C;AAC/E,SAAA,SAAS,QAAQ,MAAM,YAAY;AAClC,UAAA,EAAE,UAAU,GAAG,UAAU,KAAM,SAAS,YAAY,cAAkB,IAAA;AAC5E,UAAM,QAAQA,0CAAAA,aAAa;AAAA,MACzB,eAAe,WAAW;AAAA,MAC1B,UAAU,EAAE,SAAS,QAAQ;AAAA,MAC7B;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS;AAAA,IAAA,CACV;AAEU,eAAA,QAAQ,YAAY,MAAM;AAC5B,aAAA,MAAM,MAAM,MAAM,IAAI;AAAA,IAAA;AAExB,WAAA;AAAA,EAAA;AAEX;;"}
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"env.js","sources":["TUICallKit/src/TUICallService/utils/env.ts"],"sourcesContent":["// eslint-disable-next-line\ndeclare var wx: any;\n// eslint-disable-next-line\ndeclare var uni: any;\n// eslint-disable-next-line\ndeclare var window: any;\n\n// 在 uniApp 框架下,打包 H5、ios app、android app 时存在 wx/qq/tt/swan/my 等变量会导致引入 web sdk 环境判断失效\n// 小程序 getSystemInfoSync 返回的 fontSizeSetting 在 H5 和 app 中为 undefined,所以通过 fontSizeSetting 增强小程序环境判断\n// wx 小程序\nexport const IN_WX_MINI_APP = (typeof wx !== 'undefined' && typeof wx.getSystemInfoSync === 'function' && Boolean(wx.getSystemInfoSync().fontSizeSetting));\n\n// 用 uni-app 打包 native app,此时运行于 js core,无 window 等对象,此时调用 api 都得 uni.xxx,由于风格跟小程序类似,就归为 IN_MINI_APP 的一种\nexport const IN_UNI_NATIVE_APP = (typeof uni !== 'undefined' && typeof uni === 'undefined');\n\nexport const IN_MINI_APP = IN_WX_MINI_APP || IN_UNI_NATIVE_APP;\n\nexport const IN_UNI_APP = (typeof uni !== 'undefined');\n\n// 在 uniApp 框架下,由于客户打包 ios app、android app 时 window 不一定存在,所以通过 !IN_MINI_APP 进行判断\n// 非 uniApp 框架下,仍然通过 window 结合 IN_MINI_APP 进行判断,可兼容 Taro3.0+ 暴露 window 对象引起的 IN_BROWSER 判断失效问题\nexport const IN_BROWSER = (function () {\n if (typeof uni !== 'undefined') {\n return !IN_MINI_APP;\n }\n return (typeof window !== 'undefined') && !IN_MINI_APP;\n}());\n\n// 命名空间\nexport const APP_NAMESPACE = (function () {\n if (IN_WX_MINI_APP) {\n return wx;\n }\n if (IN_UNI_APP) {\n return uni;\n }\n return window;\n}());\n\n// eslint-disable-next-line no-mixed-operators\nconst USER_AGENT = IN_BROWSER && window && window.navigator && window.navigator.userAgent || '';\nconst IS_ANDROID = /Android/i.test(USER_AGENT);\nconst IS_WIN_PHONE = /(?:Windows Phone)/.test(USER_AGENT);\nconst IS_SYMBIAN = /(?:SymbianOS)/.test(USER_AGENT);\nconst IS_IOS = /iPad/i.test(USER_AGENT) || /iPhone/i.test(USER_AGENT) || /iPod/i.test(USER_AGENT);\n\nexport const IS_H5 = IS_ANDROID || IS_WIN_PHONE || IS_SYMBIAN || IS_IOS;\n\nexport const IS_PC = IN_BROWSER && !IS_H5;\nexport const IS_WIN = IS_PC && USER_AGENT.includes('Windows NT');\nexport const IS_MAC = IS_PC && USER_AGENT.includes('Mac');\n"],"names":["wx","uni"],"mappings":";;AAUO,MAAM,iBAAkB,OAAOA,cAAAA,SAAO,eAAe,OAAOA,cAAAA,KAAG,sBAAsB,cAAc,QAAQA,cAAAA,KAAG,kBAAkB,EAAE,eAAe;AAGjJ,MAAM,oBAAqB,OAAOC,cAAQ,UAAA,eAAe,OAAOA,cAAQ,UAAA;AAExE,MAAM,cAAc,kBAAkB;AAEhC,MAAA,aAAc,OAAOA,cAAAA,UAAQ;AAInC,MAAM,aAAc,WAAY;AACjC,MAAA,OAAOA,wBAAQ,aAAa;AAC9B,WAAO,CAAC;AAAA,EACV;AACQ,SAAA,OAAO,WAAW,eAAgB,CAAC;AAC7C;AAGO,MAAM,gBAAiB,WAAY;AACxC,MAAI,gBAAgB;AACX,WAAAD;EACT;AACA,MAAI,YAAY;AACP,WAAAC;EACT;AACO,SAAA;AACT,EAAE;AAGF,MAAM,aAAa,cAAc,UAAU,OAAO,aAAa,OAAO,UAAU,aAAa;AAC7F,MAAM,aAAa,WAAW,KAAK,UAAU;AAC7C,MAAM,eAAe,oBAAoB,KAAK,UAAU;AACxD,MAAM,aAAa,gBAAgB,KAAK,UAAU;AAClD,MAAM,SAAS,QAAQ,KAAK,UAAU,KAAK,UAAU,KAAK,UAAU,KAAK,QAAQ,KAAK,UAAU;AAEnF,MAAA,QAAQ,cAAc,gBAAgB,cAAc;AAEpD,MAAA,QAAQ,cAAc,CAAC;AAC7B,MAAM,SAAS,SAAS,WAAW,SAAS,YAAY;AACxD,MAAM,SAAS,SAAS,WAAW,SAAS,KAAK;;;;;;;;;"}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":["TUICallKit/src/TUICallService/utils/index.ts"],"sourcesContent":["export async function checkLocalMP3FileExists(src: string) {\n if (!src) return false;\n try {\n const response = await new Promise<XMLHttpRequest>((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n xhr.open('HEAD', src, true);\n xhr.onload = () => resolve(xhr);\n xhr.onerror = () => reject(xhr);\n xhr.send();\n });\n return response.status === 200 && response.getResponseHeader('Content-Type') === 'audio/mpeg';\n } catch (error) {\n console.warn(error);\n return false;\n }\n}\n\nexport function deepClone(obj) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n\n let clone = Array.isArray(obj) ? [] : {};\n\n for (let key in obj) {\n if (obj.hasOwnProperty(key)) {\n clone[key] = deepClone(obj[key]);\n }\n }\n\n return clone;\n}\n"],"names":[],"mappings":";;AAiBO,SAAS,UAAU,KAAK;AAC7B,MAAI,OAAO,QAAQ,YAAY,QAAQ,MAAM;AACpC,WAAA;AAAA,EACT;AAEA,MAAI,QAAQ,MAAM,QAAQ,GAAG,IAAI,KAAK;AAEtC,WAAS,OAAO,KAAK;AACf,QAAA,IAAI,eAAe,GAAG,GAAG;AAC3B,YAAM,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;AAAA,IACjC;AAAA,EACF;AAEO,SAAA;AACT;;"}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"is-empty.js","sources":["TUICallKit/src/TUICallService/utils/is-empty.ts"],"sourcesContent":["import { isPlainObject } from './common-utils';\n\nconst isEmpty = function (input: any) {\n // Null and Undefined...\n if (input === null || typeof (input) === 'undefined') return true;\n // Booleans...\n if (typeof input === 'boolean') return false;\n // Numbers...\n if (typeof input === 'number') return input === 0;\n // Strings...\n if (typeof input === 'string') return input.length === 0;\n // Functions...\n if (typeof input === 'function') return input.length === 0;\n // Arrays...\n if (Array.isArray(input)) return input.length === 0;\n // Errors...\n if (input instanceof Error) return input.message === '';\n // plain object\n if (isPlainObject(input)) {\n // eslint-disable-next-line\n for (const key in input) {\n if (Object.prototype.hasOwnProperty.call(input, key)) {\n return false;\n }\n }\n return true;\n }\n return false;\n};\n\nexport default isEmpty;\n"],"names":["isPlainObject"],"mappings":";;AAEM,MAAA,UAAU,SAAU,OAAY;AAEhC,MAAA,UAAU,QAAQ,OAAQ,UAAW;AAAoB,WAAA;AAE7D,MAAI,OAAO,UAAU;AAAkB,WAAA;AAEvC,MAAI,OAAO,UAAU;AAAU,WAAO,UAAU;AAEhD,MAAI,OAAO,UAAU;AAAU,WAAO,MAAM,WAAW;AAEvD,MAAI,OAAO,UAAU;AAAY,WAAO,MAAM,WAAW;AAErD,MAAA,MAAM,QAAQ,KAAK;AAAG,WAAO,MAAM,WAAW;AAElD,MAAI,iBAAiB;AAAO,WAAO,MAAM,YAAY;AAEjD,MAAAA,gDAAAA,cAAc,KAAK,GAAG;AAExB,eAAW,OAAO,OAAO;AACvB,UAAI,OAAO,UAAU,eAAe,KAAK,OAAO,GAAG,GAAG;AAC7C,eAAA;AAAA,MACT;AAAA,IACF;AACO,WAAA;AAAA,EACT;AACO,SAAA;AACT;;"}
|
||||
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"retry.js","sources":["TUICallKit/src/TUICallService/utils/retry.ts"],"sourcesContent":["import { isFunction, isUndefined } from './common-utils';\n\nconst RETRY_STATE_NOT_START = 0;\nconst RETRY_STATE_STARTED = 1;\nconst RETRY_STATE_STOPPED = 2;\n\n/**\n * 给异步函数封装重试逻辑\n * @param {Object} options 重试逻辑入参\n * @param {Object} options.retryFunction 需要封装的异步函数\n * @param {Object} options.settings 重试属性\n * @param {Number} [options.settings.retries = 5] 重试次数\n * @param {Number} [options.settings.timeout = 1000] 重试间隔\n * @param {onErrorCallback} options.onError 重试错误回调\n * @param {onRetryingCallback} [options.onRetrying] 重试后的回调\n * @param {Object} options.context 上下文,可选\n * @returns {Function} 封装后的函数\n * @example\n * const getUserMedia = promiseRetry({\n * retryFunction: getUserMedia_,\n * settings: { retries: 5, timeout: 2000 },\n * onError: (error, retry, reject) => {\n * if (error.name === 'NotReadableError') {\n * retry();\n * } else {\n * reject(error);\n * }\n * },\n * onRetrying: retryCount => {\n * console.warn(`getUserMedia NotReadableError observed, retrying [${retryCount}/5]`);\n * }\n * });\n */\nfunction promiseRetry({ retryFunction, settings, onError, onRetrying, onRetryFailed, context }) {\n return function(...args) {\n const retries = settings.retries || 5;\n let retryCount = 0;\n let timer: any = -1;\n let retryState = RETRY_STATE_NOT_START;\n const run = async (resolve, reject) => {\n const ctx = context || this;\n try {\n const result = await retryFunction.apply(ctx, args);\n // 执行成功,正常返回\n retryCount = 0;\n resolve(result);\n } catch (error) {\n // 用于停止重试\n const stopRetry = () => {\n clearTimeout(timer);\n retryCount = 0;\n retryState = RETRY_STATE_STOPPED;\n reject(error);\n };\n const retry = () => {\n if (retryState !== RETRY_STATE_STOPPED && retryCount < retries) {\n retryCount++;\n retryState = RETRY_STATE_STARTED;\n if (isFunction(onRetrying)) {\n onRetrying.call(ctx, retryCount, stopRetry);\n }\n timer = setTimeout(\n () => {\n timer = -1;\n run(resolve, reject);\n },\n isUndefined(settings.timeout) ? 1000 : settings.timeout\n );\n } else {\n stopRetry();\n if (isFunction(onRetryFailed)) {\n onRetryFailed.call(ctx, error);\n }\n }\n };\n if (isFunction(onError)) {\n onError.call(ctx, error, retry, reject, args);\n } else {\n retry();\n }\n }\n };\n\n return new Promise(run);\n };\n}\n\nexport default promiseRetry;\n"],"names":["isFunction","isUndefined"],"mappings":";;AAEA,MAAM,wBAAwB;AAC9B,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB;AA6B5B,SAAS,aAAa,EAAE,eAAe,UAAU,SAAS,YAAY,eAAe,WAAW;AAC9F,SAAO,YAAY,MAAM;AACjB,UAAA,UAAU,SAAS,WAAW;AACpC,QAAI,aAAa;AACjB,QAAI,QAAa;AACjB,QAAI,aAAa;AACX,UAAA,MAAM,OAAO,SAAS,WAAW;AACrC,YAAM,MAAM,WAAW;AACnB,UAAA;AACF,cAAM,SAAS,MAAM,cAAc,MAAM,KAAK,IAAI;AAErC,qBAAA;AACb,gBAAQ,MAAM;AAAA,eACP,OAAO;AAEd,cAAM,YAAY,MAAM;AACtB,uBAAa,KAAK;AACL,uBAAA;AACA,uBAAA;AACb,iBAAO,KAAK;AAAA,QAAA;AAEd,cAAM,QAAQ,MAAM;AACd,cAAA,eAAe,uBAAuB,aAAa,SAAS;AAC9D;AACa,yBAAA;AACT,gBAAAA,gDAAAA,WAAW,UAAU,GAAG;AACf,yBAAA,KAAK,KAAK,YAAY,SAAS;AAAA,YAC5C;AACQ,oBAAA;AAAA,cACN,MAAM;AACI,wBAAA;AACR,oBAAI,SAAS,MAAM;AAAA,cACrB;AAAA,cACAC,gDAAAA,YAAY,SAAS,OAAO,IAAI,MAAO,SAAS;AAAA,YAAA;AAAA,UAClD,OACK;AACK;AACN,gBAAAD,gDAAAA,WAAW,aAAa,GAAG;AACf,4BAAA,KAAK,KAAK,KAAK;AAAA,YAC/B;AAAA,UACF;AAAA,QAAA;AAEE,YAAAA,gDAAAA,WAAW,OAAO,GAAG;AACvB,kBAAQ,KAAK,KAAK,OAAO,OAAO,QAAQ,IAAI;AAAA,QAAA,OACvC;AACC;QACR;AAAA,MACF;AAAA,IAAA;AAGK,WAAA,IAAI,QAAQ,GAAG;AAAA,EAAA;AAE1B;;"}
|
||||
Vendored
+1
File diff suppressed because one or more lines are too long
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"avoidRepeatedCall.js","sources":["TUICallKit/src/TUICallService/utils/validate/avoidRepeatedCall.ts"],"sourcesContent":["import { NAME } from '../../const/index';\n\n/**\n * 装饰器:阻止函数重复调用\n * @export\n * @param {Object} options 入参\n * @param {Function} options.fn 函数\n * @param {Object} options.context 上下文对象\n * @param {String} options.name 函数名\n * @returns {Function} 封装后的函数\n */\nexport function avoidRepeatedCall() {\n return function (target: any, name: string, descriptor: any) {\n const oldFn = descriptor.value;\n const isCallingSet = new Set();\n descriptor.value = async function (...args: any[]) {\n if (isCallingSet.has(this)) {\n console.warn((`${NAME.PREFIX}previous ${name}() is ongoing, please avoid repeated calls`));\n // throw new Error(`previous ${name}() is ongoing, please avoid repeated calls`);\n this?.getTUICallEngineInstance()?.reportLog?.({\n name: 'TUICallKit.avoidRepeatedCall.fail',\n data: { name },\n error: `previous ${name}() is ongoing`,\n });\n return;\n }\n try {\n isCallingSet.add(this);\n const result = await oldFn.apply(this, args);\n isCallingSet.delete(this);\n return result;\n } catch (error) {\n isCallingSet.delete(this);\n throw error;\n }\n };\n\n descriptor.value.clearCallState = function(instance: any) {\n isCallingSet.delete(instance);\n };\n \n return descriptor;\n };\n}\n"],"names":["uni","NAME"],"mappings":";;;AAWO,SAAS,oBAAoB;AAC3B,SAAA,SAAU,QAAa,MAAc,YAAiB;AAC3D,UAAM,QAAQ,WAAW;AACnB,UAAA,mCAAmB;AACd,eAAA,QAAQ,kBAAmB,MAAa;;AAC7C,UAAA,aAAa,IAAI,IAAI,GAAG;AACbA,sBAAAA,MAAA,MAAA,QAAA,2EAAC,GAAGC,+CAAK,MAAM,YAAY,IAAI,4CAA6C;AAEnF,iDAAA,+BAAA,mBAA4B,cAA5B,4BAAwC;AAAA,UAC5C,MAAM;AAAA,UACN,MAAM,EAAE,KAAK;AAAA,UACb,OAAO,YAAY,IAAI;AAAA,QAAA;AAEzB;AAAA,MACF;AACI,UAAA;AACF,qBAAa,IAAI,IAAI;AACrB,cAAM,SAAS,MAAM,MAAM,MAAM,MAAM,IAAI;AAC3C,qBAAa,OAAO,IAAI;AACjB,eAAA;AAAA,eACA,OAAO;AACd,qBAAa,OAAO,IAAI;AAClB,cAAA;AAAA,MACR;AAAA,IAAA;AAGS,eAAA,MAAM,iBAAiB,SAAS,UAAe;AACxD,mBAAa,OAAO,QAAQ;AAAA,IAAA;AAGvB,WAAA;AAAA,EAAA;AAEX;;"}
|
||||
wx/unpackage/dist/dev/.sourcemap/mp-weixin/TUICallKit/src/TUICallService/utils/validate/index.js.map
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
||||
Reference in New Issue
Block a user