UNPKG

@rongcloud/plugin-call-plus

Version:

@rongcloud/plugin-call-plus

1 lines 138 kB
import{isNumber as e,isUndefined as t,isBoolean as i,isString as _,EventEmitter as r,ErrorCode as s,getUUID22 as o,SentStatus as n,RCConnectionStatus as l,isNull as a,getUUID as c,ConversationType as L,MessageDirection as E,ReceivedStatus as d,RTCMode as C,notEmptyArray as T,notEmptyString as I,isObject as S,VersionManage as u,LogL as g}from"@rongcloud/engine";import{RCResolution as h,RCFrameRate as R,RCRTCCode as A,RCKickReason as N,helper as O,RCLocalTrack as m,device as p}from"@rongcloud/plugin-rtc";export{RCFrameRate as RCCallPlusFrameRate,RCResolution as RCCallPlusResolution}from"@rongcloud/plugin-rtc";function f(e,t,i,_){return new(i||(i=Promise))(function(r,s){function o(e){try{l(_.next(e))}catch(e){s(e)}}function n(e){try{l(_.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(o,n)}l((_=_.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const U={SUCCESS:0,PARAM_ERROR:80001,SESSION_EXIST:80002,NOT_IN_CALL:80003,MEDIATYPE_INVALID:80004,NOT_VIDEO_CALL:80005,RTC_SERVICE_UNAVAILABLE:80006,USER_LIST_INVAILD:80007,CALL_ID_INVALID:80008,TRANSACTION_ID_INVALID:80009,USER_ID_INVALID:80010,SINGLE_CALL_NOT_SUPPORT_MULTI_PERSON:80011,SIGNAL_DISCONNECTED:80012,CAMERA_CLOSED:80100,MICROPHONE_CLOSED:80101,MEDIA_RESOURCE_INVALIED:80102,NOT_INSTALL_RTC_PLUGIN:80103,PLAY_MEDIA_FAILED:80104,VIDEO_VIEW_NOT_SET:80105};var v,M,P,D,y,b,G,V;!function(e){e.L_INDEX_INSTALL_CALL_PLUS_PLUGIN_O="L-index_install_call_plus_plugin-O",e.L_CALLPLUS_CLIENT_SET_EVENT_LISTENER_O="L-callplus_client_set_event_listener-O",e.L_CALLPLUS_CLIENT_CALL_EVENT_LISTENER_O="L-callplus_client_call_event_listener-O",e.L_CALLPLUS_CLIENT_SET_STATUS_REPORT_LISTENER_O="L-callplus_client_set_status_report_listener-O",e.L_CALLPLUS_CLIENT_CALL_STATUS_REPORT_LISTENER_O="L-callplus_client_call_status_report_listener-O",e.L_CALLPLUS_CLIENT_SET_VIDEO_CONFIG_T="L-callplus_client_set_video_config-T",e.L_CALLPLUS_CLIENT_SET_VIDEO_CONFIG_R="L-callplus_client_set_video_config-R",e.L_CALLPLUS_VIDEO_CONFIG_SET_FRAME_RATE_O="L-callplus_video_config_set_frame_rate-O",e.L_CALLPLUS_VIDEO_CONFIG_SET_RESOLUTION_O="L-callplus_video_config_set_resolution-O",e.L_CALLPLUS_VIDEO_CONFIG_SET_BITRATE_O="L-callplus_video_config_set_bitrate-O",e.L_CALLPLUS_CLIENT_SET_AUDIO_CONFIG_T="L-callplus_client_set_audio_config-T",e.L_CALLPLUS_CLIENT_SET_AUDIO_CONFIG_R="L-callplus_client_set_audio_config-R",e.L_CALLPLUS_AUDIO_CONFIG_SET_BITRATE_O="L-callplus_audio_config_set_bitrate-O",e.L_CALLPLUS_AUDIO_CONFIG_SET_SAMPLE_RATE_O="L-callplus_audio_config_set_sample_rate-O",e.L_CALLPLUS_CLIENT_PREVIEW_T="L-callplus_client_preview-T",e.L_CALLPLUS_CLIENT_PREVIEW_R="L-callplus_client_preview-R",e.L_CALLPLUS_CLIENT_START_CALL_T="L-callplus_client_start_call-T",e.L_CALLPLUS_CLIENT_START_CALL_R="L-callplus_client_start_call-R",e.L_CALLPLUS_CLIENT_JOIN_MULTI_CALL_T="L-callplus_client_join_multi_call-T",e.L_CALLPLUS_CLIENT_JOIN_MULTI_CALL_R="L-callplus_client_join_multi_call-R",e.L_CALLPLUS_CLIENT_ACCEPT_T="L-callplus_client_accept-T",e.L_CALLPLUS_CLIENT_ACCEPT_R="L-callplus_client_accept-R",e.L_CALLPLUS_CLIENT_HANGUP_T="L-callplus_client_hangup-T",e.L_CALLPLUS_CLIENT_HANGUP_R="L-callplus_client_hangup-R",e.L_CALLPLUS_CLIENT_INVITE_T="L-callplus_client_invite-T",e.L_CALLPLUS_CLIENT_INVITE_R="L-callplus_client_invite-R",e.L_CALLPLUS_CLIENT_REQUEST_CHANGE_MEDIA_TYPE_T="L-callplus_client_request_change_media_type-T",e.L_CALLPLUS_CLIENT_REQUEST_CHANGE_MEDIA_TYPE_R="L-callplus_client_request_change_media_type-R",e.L_CALLPLUS_CLIENT_CANCEL_CHANGE_MEDIA_TYPE_T="L-callplus_client_cancel_change_media_type-T",e.L_CALLPLUS_CLIENT_CANCEL_CHANGE_MEDIA_TYPE_R="L-callplus_client_cancel_change_media_type-R",e.L_CALLPLUS_CLIENT_REPLY_CHANGE_MEDIA_TYPE_T="L-callplus_client_reply_change_media_type-T",e.L_CALLPLUS_CLIENT_REPLY_CHANGE_MEDIA_TYPE_R="L-callplus_client_reply_change_media_type-R",e.L_CALLPLUS_CLIENT_GET_CURRENT_CALL_SESSION_T="L-callplus_client_get_current_call_session-T",e.L_CALLPLUS_CLIENT_GET_CURRENT_CALL_SESSION_R="L-callplus_client_get_current_call_session-R",e.L_CALLPLUS_CLIENT_GET_AVAILABLE_CALL_RECORDS_FROM_SERVER_T="L-callplus_client_get_available_call_sessions_from_server-T",e.L_CALLPLUS_CLIENT_GET_AVAILABLE_CALL_RECORDS_FROM_SERVER_R="L-callplus_client_get_available_call_sessions_from_server-R",e.L_CALLPLUS_CLIENT_GET_CALL_RECORDS_T="L-callplus_client_get_call_records-T",e.L_CALLPLUS_CLIENT_GET_CALL_RECORDS_R="L-callplus_client_get_call_records-R",e.L_CALLPLUS_CLIENT_DELETE_CALL_RECORDS_BY_CALLID_T="L-callplus_client_delete_call_records_by_callId-T",e.L_CALLPLUS_CLIENT_DELETE_CALL_RECORDS_BY_CALLID_R="L-callplus_client_delete_call_records_by_callId-R",e.L_CALLPLUS_CLIENT_DELETE_ALL_CALL_RECORDS_FROM_SERVER_T="L-callplus_client_delete_all_call_records_from_server-T",e.L_CALLPLUS_CLIENT_DELETE_ALL_CALL_RECORDS_FROM_SERVER_R="L-callplus_client_delete_all_call_records_from_server-R",e.L_CALLPLUS_CLIENT_START_CAMERA_T="L-callplus_client_start_camera-T",e.L_CALLPLUS_CLIENT_START_CAMERA_R="L-callplus_client_start_camera-R",e.L_CALLPLUS_CLIENT_STOP_CAMERA_T="L-callplus_client_stop_camera-T",e.L_CALLPLUS_CLIENT_STOP_CAMERA_R="L-callplus_client_stop_camera-R",e.L_CALLPLUS_CLIENT_SWITCH_CAMERA_T="L-callplus_client_switch_camera-T",e.L_CALLPLUS_CLIENT_SWITCH_CAMERA_R="L-callplus_client_switch_camera-R",e.L_CALLPLUS_CLIENT_START_MICROPHONE_T="L-callplus_client_start_microphone-T",e.L_CALLPLUS_CLIENT_START_MICROPHONE_R="L-callplus_client_start_microphone-R",e.L_CALLPLUS_CLIENT_STOP_MICROPHONE_T="L-callplus_client_stop_microphone-T",e.L_CALLPLUS_CLIENT_STOP_MICROPHONE_R="L-callplus_client_stop_microphone-R",e.L_CALLPLUS_CLIENT_SWITCH_MICROPHONE_T="L-callplus_client_switch_microphone-T",e.L_CALLPLUS_CLIENT_SWITCH_MICROPHONE_R="L-callplus_client_switch_microphone-R",e.L_CALLPLUS_CLIENT_SET_VIDEO_VIEW_T="L-callplus_client_set_video_view-T",e.L_CALLPLUS_CLIENT_SET_VIDEO_VIEW_R="L-callplus_client_set_video_view-R",e.L_RTC_MODULE_SET_VIDEO_VIEW_O="L-rtc_module_set_video_view-O",e.L_CALLPLUS_CLIENT_REMOVE_VIDEO_VIEW_T="L-callplus_client_remove_video_view-T",e.L_CALLPLUS_CLIENT_REMOVE_VIDEO_VIEW_R="L-callplus_client_remove_video_view-R",e.L_RTC_MODULE_REMOVE_VIDEO_VIEW_O="L-rtc_module_remove_video_view-O",e.L_CALLPLUS_CLIENT_PLAY_MEDIA_T="L-callplus_client_play_media-T",e.L_CALLPLUS_CLIENT_PLAY_MEDIA_R="L-callplus_client_play_media-R",e.L_RTC_MODULE_PLAY_MEDIA_T="L-rtc_module_play_media-T",e.L_RTC_MODULE_PLAY_MEDIA_R="L-rtc_module_play_media-R",e.L_RTC_MODULE_SET_ALL_REMOTE_AUDIO_ENABLE_T="L-rtc_module_set_all_remote_audio_enbale-T",e.L_RTC_MODULE_SET_ALL_REMOTE_AUDIO_ENABLE_R="L-rtc_module_set_all_remote_audio_enable-R",e.L_RTC_MODULE_SUBSCRIBE_T="L-rtc_module_subscribe-T",e.L_RTC_MODULE_SUBSCRIBE_R="L-rtc_module_subscribe-R",e.L_RTC_MODULE_UNSUBSCRIBE_T="L-rtc_module_unsubscribe-T",e.L_RTC_MODULE_UNSUBSCRIBE_R="L-rtc_module_unsubscribe-R",e.L_RTC_MODULE_PUBLISH_T="L-rtc_module_publish-T",e.L_RTC_MODULE_PUBLISH_R="L-rtc_module_publish-R",e.L_RTC_MODULE_UNPUBLISH_T="L-rtc_module_unpublish-T",e.L_RTC_MODULE_UNPUBLISH_R="L-rtc_module_unpublish-R",e.L_RTC_MODULE_DESTROY_ALL_TRACKS_O="L-rtc_module_destroy_all_tracks-O",e.L_RTC_MODULE_SESSION_CONNECT_T="L-rtc_module_session_connect-T",e.L_RTC_MODULE_SESSION_CONNECT_P="L-rtc_module_session_connect-P",e.L_RTC_MODULE_SESSION_CONNECT_R="L-rtc_module_session_connect-R",e.L_RTC_MODULE_SESSION_CLOSE_T="L-rtc_module_session_close-T",e.L_RTC_MODULE_SESSION_CLOSE_P="L-rtc_module_session_close-P",e.L_RTC_MODULE_SESSION_CLOSE_R="L-rtc_module_session_close-R",e.L_RTC_MODULE_CREATE_VIDEO_TRACK_T="L-rtc_module_create_video_track-T",e.L_RTC_MODULE_CREATE_VIDEO_TRACK_R="L-rtc_module_create_video_track-R",e.L_RTC_MODULE_CREATE_AUDIO_TRACK_T="L-rtc_module_create_audio_track-T",e.L_RTC_MODULE_CREATE_AUDIO_TRACK_R="L-rtc_module_create_audio_track-R",e.L_RTC_MODULE_RECEIVE_TRACK_PUBLISH_O="L-rtc_module_receive_track_publish-O",e.L_RTC_MODULE_RECEIVE_TRACK_UNPUBLISH_O="L-rtc_module_receive_track_unpublish-O",e.L_RTC_MODULE_RECEIVE_TRACK_ENABLE_CHANGE_O="L-rtc_module_receive_track_enable_change-O",e.L_RTC_MODULE_RECEIVE_KICK_OFF_O="L-rtc_module_receive_kick_off-O",e.L_RTC_MODULE_RECEIVE_PEERCONNECTION_EXCEPT_CLOSE_O="L-rtc_module_receive_peerconnection_except_close-O",e.L_RTC_MODULE_CHANGE_MEDIA_TYPE_T="L-rtc_module_change_media_type-T",e.L_RTC_MODULE_CHANGE_MEDIA_TYPE_R="L-rtc_module_change_media_type-R",e.L_RTC_MODULE_JOIN_RTC_ROOM_T="L-rtc_module_join_rtc_room-T",e.L_RTC_MODULE_JOIN_RTC_ROOM_R="L-rtc_module_join_rtc_room-R",e.L_RTC_MODULE_QUIT_RTC_ROOM_T="L-rtc_module_quit_rtc_room-T",e.L_RTC_MODULE_QUIT_RTC_ROOM_R="L-rtc_module_quit_rtc_room-R",e.L_RTC_MODULE_CREATE_CALL_MEDIA_TRACKS_P="L-rtc_module_create_call_media_tracks-P",e.L_SIGNAL_TRANSPORTER_SINGLE_CALL_T="L-signal_transporter_single_call-T",e.L_SIGNAL_TRANSPORTER_GROUP_CALL_T="L-signal_transporter_group_call-T",e.L_SIGNAL_TRANSPORTER_INVITE_T="L-signal_transporter_invite-T",e.L_SIGNAL_TRANSPORTER_RING_T="L-signal_transporter_ring-T",e.L_SIGNAL_TRANSPORTER_ACCEPT_T="L-signal_transporter_accept-T",e.L_SIGNAL_TRANSPORTER_ACCEPT_R="L-signal_transporter_accept-R",e.L_SIGNAL_TRANSPORTER_JOIN_CALL_T="L-signal_transporter_join_call-T",e.L_SIGNAL_TRANSPORTER_HANGUP_T="L-signal_transporter_hangup-T",e.L_SIGNAL_TRANSPORTER_CALL_STATUS_UP_T="L-signal_transporter_call_status_up-T",e.L_SIGNAL_TRANSPORTER_CALL_EVENT_UP_T="L-signal_transporter_call_event_up-T",e.L_SIGNAL_TRANSPORTER_CALL_DIALOG_UP_T="L-signal_transporter_call_dialog_up-T",e.L_SIGNAL_TRANSPORTER_DELETE_CALL_RECORD_T="L-signal_transporter_delete_call_record-T",e.L_SIGNAL_TRANSPORTER_GET_CALL_RECORD_T="L-signal_transporter_get_call_record-T",e.L_SIGNAL_TRANSPORTER_GET_CALL_SERVER_TIME_T="L-signal_transporter_get_call_server_time-T",e.L_SIGNAL_TRANSPORTER_GET_CALL_TIME_INFO_T="L-signal_transporter_get_call_time_info-T",e.L_SIGNAL_TRANSPORTER_GET_AVAILABLE_CALL_LIST_T="L-signal_transporter_get_available_call_list-T",e.L_SIGNAL_TRANSPORTER_CLEAR_CALL_RECORD_T="L-signal_transporter_clear_call_record-T",e.L_SIGNAL_TRANSPORTER_GET_CALL_INFO_BY_CALLID_T="L-signal_transporter_get_call_info_by_callId-T",e.L_SIGNAL_TRANSPORTER_USER_SYSTEM_STATE_UP_T="L-signal_transporter_user_system_state_up-T",e.L_SIGNAL_TRANSPORTER_RECEIVE_CALL_SIGNAL_DATA_O="L-signal_transporter_receive_call_signal_data-O",e.L_SIGNAL_TRANSPORTER_IM_STATE_CHANGE_O="L-signal_transporter_im_state_change-O",e.L_SIGNAL_TRANSPORTER_RECEIVE_INVITE_O="L-signal_transporter_receive_invite-O",e.L_SIGNAL_TRANSPORTER_RECEIVE_CALL_STATUS_O="L-signal_transporter_receive_call_status-O",e.L_SIGNAL_TRANSPORTER_RECEIVE_MISS_MESSAGE_O="L-signal_transporter_receive_miss_message-O",e.L_CALL_ENGINE_UPDATE_USERS_STATE_O="L-call_engine_update_users_state-O",e.L_CALL_ENGINE_IM_STATE_CHANGE_O="L-call_engine_im_state_change-O",e.L_CALL_ENGINE_CALL_TIMEOUT_O="L-call_engine_call_timeout-O",e.L_CALL_ENGINE_START_CALL_TIMER_O="L-call_engine_start_call_timer-O",e.L_CALL_ENGINE_STOP_CALL_TIMER_O="L-call_engine_stop_call_timer-O",e.L_CALL_ENGINE_UP_ON_PHONE_END_T="L-call_engine_up_on_phone_end-T",e.L_CALL_ENGINE_UP_ON_PHONE_END_R="L-call_engine_up_on_phone_end-R",e.L_CALL_ENGINE_RECEIVE_FIRST_FRAME_TIME_O="L-call_engine_receive_first_frame_time-O",e.L_CALL_ENGINE_RECEIVE_MEDIATYPE_CHANGE_O="L-call_engine_receive_mediatype_change-O",e.L_CALL_ENGINE_RECEIVE_CLOSE_SESSION_O="L-call_engine_receive_close_session-O",e.L_CALL_ENGINE_RECEIVE_CALL_RECORD_O="L-call_engine_receive_call_record-O",e.L_CALL_ENGINE_RECEIVE_COMPLEMENTARY_DATA_O="L-call_engine_receive_complementary_data-O",e.L_CALL_ENGINE_CREATE_SESSION_BY_SERVER_T="L-call_engine_create_session_by_server-T",e.L_CALL_ENGINE_CREATE_SESSION_BY_SERVER_R="L-call_engine_create_session_by_server-R",e.L_CALL_ENGINE_UP_FIRST_FRAME_TIME_T="L-call_engine_up_first_frame_time-T",e.L_CALL_ENGINE_UP_FIRST_FRAME_TIME_R="L-call_engine_up_first_frame_time-R",e.L_TIME_CORRECT_START_O="L-time_correct_start-O",e.L_TIME_CORRECT_STOP_O="L-time_correct_stop-O",e.L_TIME_CORRECT_RESTART_O="L-time_correct_restart-O",e.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_T="L-time_correct_get_call_client_time_by_server-T",e.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_P="L-time_correct_get_call_client_time_by_server-P",e.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_R="L-time_correct_get_call_client_time_by_server-R",e.L_TIME_CORRECT_CALC_CLIENT_START_TIME_T="L-time_correct_calc_client_start_time-T",e.L_TIME_CORRECT_CALC_CLIENT_START_TIME_R="L-time_correct_calc_client_start_time-R",e.L_TIME_CORRECT_SET_DELTA_TIME_O="L-time_correct_set_delta_time-O",e.L_TIME_CORRECT_LOOP_CORRECT_CLINET_TIME_T="L-time_correct_loop_correct_client_time-T",e.L_TIME_CORRECT_LOOP_CORRECT_CLINET_TIME_R="L-time_correct_loop_correct_client_time-R",e.L_INNER_SESSION_UPDATE_USER_STATE_O="L-inner_session_update_user_state-O",e.L_INNER_SESSION_SET_USER_DEVICE_ENABLE_O="L-inner_session_set_user_device_enable-O",e.L_CALLPLUS_SESSION_GET_CREATE_TIME_T="L-callplus_session_get_create_time-T",e.L_CALLPLUS_SESSION_GET_CREATE_TIME_R="L-callplus_session_get_create_time-R",e.L_CALLPLUS_SESSION_GET_DURATION_T="L-callplus_session_get_duration-T",e.L_CALLPLUS_SESSION_GET_DURATION_R="L-callplus_session_get_duration-R",e.L_CALLPLUS_SET_ANDROID_PUSH_CONFIG_O="L-callplus_set_android_push_config-O",e.L_ABNORMAL_ADD_CALL_ID_E="L-ABNORMAL_ADD_CALL_ID-E",e.L_ABNORMAL_REMOVE_CALL_IDS_E="L-ABNORMAL_REMOVE_CALL_IDS-E",e.L_ABNORMAL_GET_CALL_IDS_E="L-ABNORMAL_GET_CALL_IDS-E",e.L_CALLPLUS_CLIENT_SET_AUDIO_OUTPUT_DEVICE_ID_O="L-set_audio_output_device_id-O"}(v||(v={}));class H{constructor(e,t,i,_,r){Object.defineProperty(this,"_session",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_callEngine",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_rtcModule",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_startTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_duration",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_callId",{enumerable:!0,configurable:!0,writable:!0,value:""}),this._callId=this._session.getCallId()}getCallId(){return this._callId}getState(){return this._session.getSessionState()}getCallType(){return this._session.getCallType()}getMediaType(){return this._session.getMediaType()}getUserList(){return this._session.getUserList().map(e=>{const{userId:t,userState:i}=e;let _=null,r=null;return t===this._context.getCurrentId()?(_=this._rtcModule.getLocalVideoTrack(),r=this._rtcModule.getLocalAudioTrack()):(_=this._rtcModule.getRemoteTrack(t,D.VIDEO),r=this._rtcModule.getRemoteTrack(t,D.AUDIO)),{userId:t,state:i,cameraEnable:!!_&&!_.isOwnerMuted(),microphoneEnable:!!r&&!r.isOwnerMuted()}})}getCreatorUserId(){return this._session.getStartCallerId()}getInviterUserId(){return this._session.getCallerId()}getCreateTimestamp(){return f(this,void 0,void 0,function*(){const e=this._logger.createTraceId();if(this._logger.info(v.L_CALLPLUS_SESSION_GET_CREATE_TIME_T,"",e),this._startTime)return{code:U.SUCCESS,startTime:this._startTime};const{code:t,clientStartTime:i}=yield this._callEngine.getCallStaringTime({callId:this._callId},e);return t!==U.SUCCESS?(this._logger.error(v.L_CALLPLUS_SESSION_GET_CREATE_TIME_R,`errCode: ${t}`,e),{code:t}):(this._logger.info(v.L_CALLPLUS_SESSION_GET_CREATE_TIME_R,"success",e),this._startTime=i,{code:U.SUCCESS,startTime:this._startTime})})}getDuration(){return f(this,void 0,void 0,function*(){const e=this._logger.createTraceId();if(this._logger.info(v.L_CALLPLUS_SESSION_GET_DURATION_T,"",e),this._duration)return this._logger.info(v.L_CALLPLUS_SESSION_GET_DURATION_R,`code: ${U.SUCCESS}, duration: ${this._duration}`,e),{code:U.SUCCESS,duration:this._duration};const{code:t,data:i}=yield this._callEngine.getCallTimeInfo(this._callId,e);return t!==U.SUCCESS?(this._logger.error(v.L_CALLPLUS_SESSION_GET_DURATION_R,`code: ${t}`,e),{code:t}):(this._logger.info(v.L_CALLPLUS_SESSION_GET_DURATION_R,`code: ${U.SUCCESS}, duration: ${i.duration}`,e),this._duration=i.duration,{code:U.SUCCESS,duration:this._duration})})}}!function(e){e[e.SINGLE=0]="SINGLE",e[e.MULTI=1]="MULTI"}(M||(M={})),function(e){e[e.IDLE=0]="IDLE",e[e.CALLING=100]="CALLING",e[e.INVITED=101]="INVITED",e[e.RINGING=102]="RINGING",e[e.BUSYLINE_RINGING=103]="BUSYLINE_RINGING",e[e.BUSYLINE_WAIT=104]="BUSYLINE_WAIT",e[e.CONNECTING=200]="CONNECTING",e[e.ONCALL=300]="ONCALL",e[e.ONPHONE=301]="ONPHONE",e[e.ENDED=1e3]="ENDED",e[e.NO_ANSWER=1001]="NO_ANSWER",e[e.MISSED=1002]="MISSED",e[e.CANCELLED=1003]="CANCELLED",e[e.DECLINED=1004]="DECLINED",e[e.ERROR=2e3]="ERROR"}(P||(P={})),function(e){e[e.AUDIO=0]="AUDIO",e[e.AUDIO_VIDEO=1]="AUDIO_VIDEO",e[e.VIDEO=2]="VIDEO"}(D||(D={})),function(e){e[e.IDLE=0]="IDLE",e[e.CALLING=100]="CALLING",e[e.INVITED=101]="INVITED",e[e.RINGING=102]="RINGING",e[e.BUSYLINE_RINGING=103]="BUSYLINE_RINGING",e[e.BUSYLINE_WAIT=104]="BUSYLINE_WAIT",e[e.CONNECTING=200]="CONNECTING",e[e.ONCALL=300]="ONCALL",e[e.ENDED=1e3]="ENDED",e[e.NOANSWER=1001]="NOANSWER",e[e.MISSED=1002]="MISSED",e[e.CANCELED=1003]="CANCELED",e[e.DECLINED=1004]="DECLINED",e[e.ERROR=2e3]="ERROR"}(y||(y={})),function(e){e[e.CANCEL_CHANGE_MEDIA_TYPE=0]="CANCEL_CHANGE_MEDIA_TYPE",e[e.REFUSE_CHANGE_MEDIA_TYPE=1]="REFUSE_CHANGE_MEDIA_TYPE",e[e.SERVER_ALLOW_MEDIA_TYPE=2]="SERVER_ALLOW_MEDIA_TYPE",e[e.CHANGE_MEDIA_TYPE_TIMEOUT=3]="CHANGE_MEDIA_TYPE_TIMEOUT"}(b||(b={})),function(e){e[e.IDLE=0]="IDLE",e[e.CALLING=100]="CALLING",e[e.INVITED=101]="INVITED",e[e.RINGING=102]="RINGING",e[e.BUSYLINE_RINGING=103]="BUSYLINE_RINGING",e[e.BUSYLINE_WAIT=104]="BUSYLINE_WAIT",e[e.CONNECTING=200]="CONNECTING",e[e.ONCALL=300]="ONCALL",e[e.ON_PHONE=301]="ON_PHONE",e[e.ON_PHONE_END=302]="ON_PHONE_END",e[e.ON_DEVICE_DISABLE=303]="ON_DEVICE_DISABLE",e[e.ON_DEVICE_ENABLE=304]="ON_DEVICE_ENABLE",e[e.ABNORMAL_END=999]="ABNORMAL_END",e[e.ENDED=1e3]="ENDED",e[e.NO_ANSWER=1001]="NO_ANSWER",e[e.MISSED=1002]="MISSED",e[e.CANCELLED=1003]="CANCELLED",e[e.DECLINED=1004]="DECLINED",e[e.OTHER_CLIENT_CALLING=1010]="OTHER_CLIENT_CALLING",e[e.OTHER_CLIENT_ACCEPT=1011]="OTHER_CLIENT_ACCEPT",e[e.JOIN_ROOM_ERR=1105]="JOIN_ROOM_ERR",e[e.PUBLISH_ERR=1106]="PUBLISH_ERR",e[e.SUBSCRIBE_ERR=1107]="SUBSCRIBE_ERR",e[e.ACCEPT_CARRIER=1108]="ACCEPT_CARRIER",e[e.KICKED_BY_SERVER=1109]="KICKED_BY_SERVER",e[e.CONNECTION_ERR=1110]="CONNECTION_ERR",e[e.LOGOUT=1111]="LOGOUT",e[e.OTHER_CLIENT_LOGIN=1112]="OTHER_CLIENT_LOGIN",e[e.OTHER_CLIENT_JOINED=1113]="OTHER_CLIENT_JOINED",e[e.OTHER_CLIENT_IN_ROOM=1114]="OTHER_CLIENT_IN_ROOM",e[e.OTHER_CLIENT_HANGUP=1151]="OTHER_CLIENT_HANGUP",e[e.REMOTE_JOIN_RTC_ERROR=1205]="REMOTE_JOIN_RTC_ERROR",e[e.REMOTE_PUBLISH_ERROR=1206]="REMOTE_PUBLISH_ERROR",e[e.REMOTE_SUBSCRIBE_ERROR=1207]="REMOTE_SUBSCRIBE_ERROR",e[e.REMOTE_KICKED_BY_SERVER=1209]="REMOTE_KICKED_BY_SERVER",e[e.REMOTE_CONNECTION_ERROR=1210]="REMOTE_CONNECTION_ERROR",e[e.REMOTE_LOGOUT=1211]="REMOTE_LOGOUT",e[e.REMOTE_OTHER_CLIENT_LOGIN=1212]="REMOTE_OTHER_CLIENT_LOGIN",e[e.REMOTE_OTHER_JOINED_RTC=1213]="REMOTE_OTHER_JOINED_RTC",e[e.REMOTE_OTHER_CLIENT_IN_RTC=1214]="REMOTE_OTHER_CLIENT_IN_RTC"}(G||(G={})),function(e){e[e.START=1]="START",e[e.END=2]="END"}(V||(V={}));class w{constructor(e){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_audioConfig",{enumerable:!0,configurable:!0,writable:!0,value:{}})}setDefaultMicrophoneId(e){return this._audioConfig.microphoneId=e,this}setBitrate(t,i){return!e(t)||!e(i)||i<=0||t<=0||i<t?(this._logger.error(v.L_CALLPLUS_AUDIO_CONFIG_SET_BITRATE_O,`params error -> max: ${i},min: ${t}, max and min is a number > 0, max should > min`),this):(this._audioConfig.minBitrate=t,this._audioConfig.maxBitrate=i,this)}setSampleRate(t){return e(t)?(this._audioConfig.sampleRate=t,this):(this._logger.error(v.L_CALLPLUS_AUDIO_CONFIG_SET_SAMPLE_RATE_O,`params error -> sampleRate: ${t}`),this)}build(){return this._audioConfig}}class k{constructor(e){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_videoConfig",{enumerable:!0,configurable:!0,writable:!0,value:{resolution:h.W640_H480,frameRate:R.FPS_15}})}setFrameRate(e){return R[e]?(this._videoConfig.frameRate=e,this):(this._logger.error(v.L_CALLPLUS_VIDEO_CONFIG_SET_FRAME_RATE_O,`params error -> fps: ${e}`),this)}setVideoResolution(e){return h[e]?(this._videoConfig.resolution=e,this):(this._logger.error(v.L_CALLPLUS_VIDEO_CONFIG_SET_RESOLUTION_O,`params error -> resolution: ${e}`),this)}setDefaultCameraId(e){return this._videoConfig.cameraId=e,this}setBitrate(t,i){return!e(t)||!e(i)||i<=0||t<=0||i<t?(this._logger.error(v.L_CALLPLUS_VIDEO_CONFIG_SET_BITRATE_O,`params error -> max: ${i},min: ${t}, max and min is a number > 0, max should > min`),this):(this._videoConfig.minBitrate=t,this._videoConfig.maxBitrate=i,this)}build(){return this._videoConfig}}const $=e=>{const{callId:t,callType:i,callDir:_,mediaType:r,callingUserId:s,callUserIds:o,callStatus:n,sessionStatus:l,startTime:a,endTime:c,duration:L,syncTime:E,sysStatus:d,crtTime:C}=e;return{callId:t,callType:i,callDirection:_,mediaType:r,callerUserId:s,callUserIds:o,sessionState:n,userState:l,startTimestamp:a,endTimestamp:c,duration:L,syncTimestamp:E,systemState:d,createTimestamp:C}},B=e=>e&&e.nodeName&&"VIDEO"===e.nodeName.toUpperCase(),x=e=>{const{voipCallInfo:t}=e;if(!t)return!1;const{strategy:i}=JSON.parse(t);return 1===i},F=(t,i)=>!t&&0!==t||e(t)&&!(t<=0)?!i&&0!==i||e(i)&&!(i<=0)?t&&i&&i<t?{code:U.PARAM_ERROR,errorMsg:`params error -> maxBitrate: ${i}, minBitrate: ${t}, maxBitrate should > minBitrate`}:{code:U.SUCCESS}:{code:U.PARAM_ERROR,errorMsg:`params error -> maxBitrate: a number of > 0, value: ${i}`}:{code:U.PARAM_ERROR,errorMsg:`params error -> minBitrate: a number of > 0, value: ${t}`},j=e=>{const t=[];for(const i in e){const{videoView:_,isTiny:r}=e[i];t.push({userId:i,videoView:_.nodeName,isTiny:r})}return t},Y=(e,t={},i={})=>{const{threadId:_,apnsCollapseId:r,richMediaUri:s}=t,{channelIdMi:o,channelIdHW:n,channelIdOPPO:l,typeVivo:a,fcmChannelId:c,fcmCollapseKey:L,fcmImageUrl:E,importanceHW:d,categoryHW:C,imageUrlHW:T,categoryVivo:I,importanceHonor:S,imageUrlHonor:u}=i,g={};_&&(g["thread-id"]=_),g["apns-collapse-id"]=r||e,s&&(g.richMediaUri=s);const h={};n&&(h.channelId=n),T&&(h.image=T),C&&(h.category=C),h.importance=d||"NORMAL";const R=[{HW:h},{APNS:g}];let A,N,O,m;return(L||E||c)&&(A={},L&&(A.collapse_key=L),E&&(A.imageUrl=E),c&&(A.channelId=c),R[0].FCM=A),o&&(R[0].MI={channelId:o}),l&&(N={},N.channelId=l,R[0].OPPO=N),(a||I)&&(O={},a&&(O.classification=a),I&&(O.category=I),R[0].VIVO=O),(S||u)&&(m={},S&&(m.importance=S),u&&(m.image=u),R[0].HONOR=m),JSON.stringify(R)},J=(e,t)=>{const{pushTitle:_="",iOSConfig:r,androidConfig:s,disablePushTitle:o,templateId:n}=e,l={pushConfigs:Y(t,r,s)};return i(o)&&(l.disableTitle=o),_&&(l.title=_),n&&(l.templateId=n),JSON.stringify(l)},W=e=>{const r=["pushTitle","pushContent","iOSConfig","androidConfig","disablePushTitle","templateId"];if(!Object.keys(e).every(e=>r.includes(e)))return{code:U.PARAM_ERROR,errorMsg:`right key: ${r.join(",")}`};for(let s=0;s<r.length;s++){const o=r[s];if("disablePushTitle"===o){if(!t(e[o])&&!i(e[o]))return{code:U.PARAM_ERROR,errorMsg:`${o} type is boolean`}}else if(("pushTitle"===o||"templateId"===o||"pushContent"===o)&&e[o]&&!_(e[o]))return{code:U.PARAM_ERROR,errorMsg:`${o} type is string`}}const{iOSConfig:s,androidConfig:o}=e,n=K(s||{});if(n.code!==U.SUCCESS)return n;const l=Q(o||{});return l.code!==U.SUCCESS?l:{code:U.SUCCESS}},K=e=>{const{threadId:t,richMediaUri:i}=e||{};return t&&!_(t)?{code:U.PARAM_ERROR,errorMsg:"iOSConfig.threadId type is string"}:i&&!_(i)?{code:U.PARAM_ERROR,errorMsg:"iOSConfig.richMediaUri type is string"}:{code:U.SUCCESS}},Q=e=>{const t=["channelIdMi","channelIdHW","categoryHW","importanceHW","imageUrlHW","channelIdOPPO","typeVivo","categoryVivo","fcmChannelId","fcmCollapseKey","fcmImageUrl","importanceHonor","imageUrlHonor"];if(!Object.keys(e).every(e=>t.includes(e)))return{code:U.PARAM_ERROR,errorMsg:`right key: ${t.join(",")}`};for(let i=0;i<t.length;i++){const r=t[i];if("importanceHW"===r||"importanceHonor"===r){if(e[r]&&"LOW"!==e[r]&&"NORMAL"!==e[r])return{code:U.PARAM_ERROR,errorMsg:`androidConfig.${r} value is NORMAL|LOW`}}else if(e[r]&&!_(e[r]))return{code:U.PARAM_ERROR,errorMsg:`androidConfig.${r} type is string`}}return{code:U.SUCCESS}},q=(e,t="utf-8")=>{let i=0;return i="utf-16"===t?X(e):z(e),i},X=e=>{let t,i=0;for(let _=0,r=e.length;_<r;_++)t=e.charCodeAt(_),i+=t<=65535?2:4;return i},z=e=>{let t,i=0;for(let _=0,r=e.length;_<r;_++)t=e.charCodeAt(_),i+=t<127?1:t<=2047?2:t<=65535?3:4;return i},Z=/Electron/.test(navigator.userAgent);var ee,te,ie,_e,re,se;!function(e){e.L_QS_START_CALL_S="Call-start-S",e.L_QS_ACCEPT_CALL_S="Call-accept-S",e.L_QS_HANGUP_CALL_S="Call-hangup-S",e.L_QS_RECEIVE_CALL_S="Call-recv-S",e.L_QS_ABNORMAL_HANGUP_S="Call-interrupt-S"}(ee||(ee={}));class oe{constructor(e,t){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:t})}reportStatisticsData(e,t,i,_,r,s,o){const n=+new Date,{mediaType:l,callType:a,callId:c}=_?{mediaType:_.getMediaType(),callType:_.getCallType(),callId:_.getCallId()}:o,L={cr:"unknown",net:"unknown",cod:t,mtp:l,ctp:a,cid:c,time:n,uid:this._context.getCurrentId()};r&&Object.assign(L,{ccid:r});let E=null;switch(e){case ee.L_QS_RECEIVE_CALL_S:E=Object.assign(Object.assign({},L),{rf:s});break;case ee.L_QS_ABNORMAL_HANGUP_S:E=Object.assign({},L);break;default:E=Object.assign(Object.assign({},L),{dur:n-i})}this._logger.__statistics(e,JSON.stringify(E))}}!function(e){e.REQUEST="request",e.ACCEPT="accept",e.REFUSE="refuse",e.CANCEL="cancel",e.NOTICE="notice",e.TIMEOUT="timeout"}(te||(te={})),function(e){e[e.SWITCH_MEDIA_TYPE=1]="SWITCH_MEDIA_TYPE"}(ie||(ie={})),function(e){e[e.NORMAL=0]="NORMAL",e[e.SECRET=1]="SECRET"}(_e||(_e={})),function(e){e.INVITER="inviter",e.INVITEE="invitee"}(re||(re={}));class ne extends r{constructor(e,t,i,_,r,s,o,n){super(),Object.defineProperty(this,"_callId",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_state",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_callType",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_mediaType",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(this,"_startCallerId",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_callerId",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_callUsers",{enumerable:!0,configurable:!0,writable:!0,value:o}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:n}),Object.defineProperty(this,"_reqMediaType",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_inviterTimerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_inviteeTimerId",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_oldDialogData",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"isLocalClientHangup",{enumerable:!0,configurable:!0,writable:!0,value:!1})}getCallId(){return this._callId}getSessionState(){return this._state}getCallType(){return this._callType}getMediaType(){return this._mediaType}getStartCallerId(){return this._startCallerId}getCallerId(){return this._callerId}getUserList(){return this._callUsers}getReqMediaType(){return this._reqMediaType}getInviterTimerId(){return this._inviterTimerId}getInviteeTimerId(){return this._inviteeTimerId}getAllTimerIds(){return[this._inviterTimerId,this._inviteeTimerId]}updateUserList(e,t){const i=[];return e.forEach(e=>{const{userState:t,stateTime:_,systemState:r,userId:s}=e,o=this._callUsers.findIndex(e=>e.userId===s);if(o<0)return this._callUsers.push(e),void i.push(e);const{stateTime:n,systemState:l,userState:a}=this._callUsers[o],c=((e,t)=>{let i=!1;const _=[G.INVITED,G.RINGING,G.BUSYLINE_RINGING,G.BUSYLINE_WAIT,G.CONNECTING,G.ONCALL];return e===G.ONCALL&&_.includes(t)&&(i=!0),i})(l,r),L=((e,t)=>{let i=!1;const _=[P.INVITED,P.RINGING,P.BUSYLINE_RINGING,P.BUSYLINE_WAIT,P.CONNECTING,P.ONCALL];return e===P.ONCALL&&_.includes(t)&&(i=!0),i})(a,t),E=r===G.ON_PHONE_END&&l!==G.ON_PHONE&&t!==P.IDLE;_&&n&&_<n||c&&L||(this._callUsers[o]=e,!E&&i.push(e))}),i}setOldDialogData(e){this._oldDialogData=e}updateSessionState(e){this._state=e}updateCallType(e){this._callType=e}updateMediaType(e){this._mediaType=e}updateReqMediaType(e){this._reqMediaType=e}updateTimerId(e,t){e===re.INVITER?this._inviterTimerId=t:this._inviteeTimerId=t}getOldDialogData(){return this._oldDialogData}setIsLocalClientHangup(e){this.isLocalClientHangup=e}getIsLocalClientHangup(){return this.isLocalClientHangup}}!function(e){e.START_SINGLE_CALL="startSingleCall",e.START_GROUP_CALL="startGroupCall",e.INVITE_CALL="inviteCall",e.PUB_INVITE_CALL="pubInviteCall",e.RINGING_CALL="ringCall",e.ACCEPT_CALL="acceptCall",e.JOIN_CALL="joinCall",e.HANGUP_CALL="hangupCall",e.STATUS_UP_CALL="statusUpCall",e.STATUS_DOWN_CALL="statusDownCall",e.EVENT_UP_CALL="eventUpCall",e.EVENT_DOWN_CALL="eventDownCall",e.DIALOG_UP_CALL="dialogUpCall",e.DIALOG_DOWN_CALL="dialogDownCall",e.GET_CALL_USER_SESSION_LIST="getCallUSerSessionList",e.SYNC_CALL_LOG="syncCallLog",e.PUB_CALL_LOG="pubCallLog",e.DEL_CALL_LOG="deleteCallLog",e.QRY_CALL_STATE="queryUserHasCall",e.QRY_SRV_TIMESTAMP="getCallSrvTimeStamp",e.GET_CALL_STATE_LIST="getUserCallStateList",e.CLEAR_CALL_LOG="cleanCallLog",e.GET_CALL_SESSION="getCallSession",e.GET_CALL_TIME_INFO="getCallTimeInfo",e.END_ABNORMAL_CALL="endUserAbnormalCalls",e.SYS_STATUS_UP="sysStatusUp",e.UP_CALL_LOG_READED="upCallLogReaded",e.PUB_CALL_LOG_READED="pubCallLogReaded",e.PUB_NACK_SEQ_ID="pubNACKSeqId",e.GET_USER_CALL_SESSION_ID_LIST="getUserCallSessionIdList"}(se||(se={}));const le=(e,t)=>setTimeout(e,t),ae=[s.RC_NET_CHANNEL_INVALID,s.RC_NET_UNAVAILABLE,s.RC_MSG_RESP_TIMEOUT,A.SIGNAL_DISCONNECTED,A.REQUEST_FAILED],ce=({asyncFn:e,fnArgs:t,currentRetryTime:i=Date.now(),maxDuration:_=6e4,intervals:r=[2e3,4e3,8e3,16e3,32e3,64e3],index:s=0,onError:o})=>f(void 0,void 0,void 0,function*(){const n=yield e(...t);return n.code===U.SUCCESS||!ae.includes(n.code)||Date.now()+2e3-i>_?n:(o&&o(n.code),yield(l=2e3,new Promise(e=>{setTimeout(e,l)})),ce({asyncFn:e,fnArgs:t,currentRetryTime:i,maxDuration:_,intervals:r,index:s,onError:o}));var l});var Le,Ee,de;!function(e){e.onBeforePublish="onBeforePublish",e.onPublishRes="onPublishRes",e.onPubInviteCall="onPubInviteCall",e.onPubInviteCallPullKv="onPubInviteCallPullKv",e.onPubInviteCallMiss="onPubInviteCallMiss"}(Le||(Le={})),function(e){e.NOT_CURRENT_DEVICEID="not current device id",e.SECRET_CALL="secret call",e.NOT_INVITEE="not an invitee"}(Ee||(Ee={})),function(e){e.PUB_INVITE="pubinvitecall",e.PULL_KV_INVITE="pullkv_invitecall",e.PUSH="system_pubsh"}(de||(de={}));const Ce=131072,Te="RC:CallPlusMiss",Ie="RC:CallGroupStatusMsg";class Se extends r{constructor(e,t,i,_,r,s){super(),Object.defineProperty(this,"_context",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_runtime",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_initOpts",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_timeCorrectioner",{enumerable:!0,configurable:!0,writable:!0,value:_}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:r}),Object.defineProperty(this,"_reportAppEventModule",{enumerable:!0,configurable:!0,writable:!0,value:s}),Object.defineProperty(this,"_listener",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_needRetryActions",{enumerable:!0,configurable:!0,writable:!0,value:[se.START_SINGLE_CALL,se.START_GROUP_CALL,se.ACCEPT_CALL,se.JOIN_CALL,se.EVENT_UP_CALL]}),Object.defineProperty(this,"_sessionId",{enumerable:!0,configurable:!0,writable:!0,value:""}),this._context.onCallInfo=this._onRecvCallSignal.bind(this),this._context.onconnectionstatechange=this._onIMConnectionStateChange.bind(this),this._context.onmessage=this._onMessage.bind(this),this._sessionId=o()}_onMessage(e){return!![Te,Ie].includes(e.messageType)&&(e.messageType===Te?this._dealMissMessage(e):this._dealGroupCallMessage(e),!0)}_dealMissMessage(e){const{content:{callId:t,mediaType:i,startTime:_,callSessionUsers:r},targetId:s,senderUserId:o}=e,l=this._context.getCurrentId();if(!localStorage.getItem(`missMessageMap-${l}-${t}`)){const a={callId:t,callerUserId:o,targetId:s,mediaType:i,firstFrameTime:0,callStartTime:_-this._timeCorrectioner.getLocalDelayTime(),callEndTime:0,hangupReason:r.filter(({userId:e})=>e===l)[0].sessionStatus};this._logger.info(v.L_SIGNAL_TRANSPORTER_RECEIVE_MISS_MESSAGE_O,`receive miss message: ${JSON.stringify(e)}`);const c=Object.assign(e,{content:a,sentStatus:n.SENT});this._reportAppEventModule.onReceivedCallPlusSummaryMessage(c),localStorage.setItem(`missMessageMap-${l}-${t}`,t)}}_dealGroupCallMessage(e){this._reportAppEventModule.onReceivedGroupCallStatusMessage(e)}getSessionId(){return this._sessionId}getDeviceId(){return Z?this._context.getDeviceId():this._sessionId}registerListener(e){this._listener=e}startCall(e,t){return f(this,void 0,void 0,function*(){const{clientCallId:i,callType:_,toUsers:r,mediaType:s,secretChat:o,targetType:n,targetId:l,nickName:a,oldRoomId:c,pushExt:L,pushContent:E,extra:d}=e;return _===M.SINGLE?this.startSingleCall({clientCallId:i,toUserId:r[0].userId,mediaType:s,secretChat:o,targetType:n,targetId:l,oldRoomId:c,toOrgId:r[0].orgId||"",pushExt:L,pushContent:E,extra:d},t):this.startGroupCall({clientCallId:i,toUsers:r,mediaType:s,targetType:n,targetId:l,nickName:a,oldRoomId:c,pushExt:L,pushContent:E,extra:d},t)})}startSingleCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_SINGLE_CALL_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(this._context.getCurrentId(),se.START_SINGLE_CALL,e)})}startGroupCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_GROUP_CALL_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(this._context.getCurrentId(),se.START_GROUP_CALL,e)})}inviteCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_INVITE_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.INVITE_CALL,e)})}ringingCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_RING_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.RINGING_CALL,e)})}acceptCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_ACCEPT_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.ACCEPT_CALL,e)})}joinCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_JOIN_CALL_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.JOIN_CALL,e)})}hangupCall(e,t){return f(this,void 0,void 0,function*(){this._logger.info(v.L_SIGNAL_TRANSPORTER_HANGUP_T,`params: ${JSON.stringify(e)}`,t);const{code:i}=yield this._sendCallSignal(e.callId,se.HANGUP_CALL,e);return i===U.NOT_IN_CALL?{code:U.SUCCESS}:{code:i}})}statusUpCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_CALL_STATUS_UP_T,`call status up params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.STATUS_UP_CALL,e)})}eventUpCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_CALL_EVENT_UP_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.EVENT_UP_CALL,e)})}dialogUpCall(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_CALL_DIALOG_UP_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.DIALOG_UP_CALL,e)})}deleteCallRecord(e,t,i){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_DELETE_CALL_RECORD_T,`callIds: ${JSON.stringify(t)}`,i),this._sendCallSignal(e,se.DEL_CALL_LOG,{callIds:t})})}syncCallLog(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_GET_CALL_RECORD_T,`params: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.userId,se.SYNC_CALL_LOG,e)})}queryUserHasCall(){return f(this,void 0,void 0,function*(){const e=this._context.getCurrentId();return this._sendCallSignal(e,se.QRY_CALL_STATE,null)})}getCallServerTimestamp(e){return f(this,void 0,void 0,function*(){const t=this._context.getCurrentId();return this._logger.info(v.L_SIGNAL_TRANSPORTER_GET_CALL_SERVER_TIME_T,`userId: ${t}`,e),this._sendCallSignal(t,se.QRY_SRV_TIMESTAMP,null)})}getCallTimeInfo(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_GET_CALL_TIME_INFO_T,`callId: ${e}`,t),this._sendCallSignal(e,se.GET_CALL_TIME_INFO,{callId:e})})}getUserCallStateList(e){return f(this,void 0,void 0,function*(){const t=this._context.getCurrentId();return this._logger.info(v.L_SIGNAL_TRANSPORTER_GET_AVAILABLE_CALL_LIST_T,`userId: ${t}`,e),this._sendCallSignal(t,se.GET_CALL_STATE_LIST,null)})}clearCallRecord(e){return f(this,void 0,void 0,function*(){const t=this._context.getCurrentId();return this._logger.info(v.L_SIGNAL_TRANSPORTER_CLEAR_CALL_RECORD_T,`userId: ${t}`,e),this._sendCallSignal(t,se.CLEAR_CALL_LOG,null)})}getCallSession(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_GET_CALL_INFO_BY_CALLID_T,`callId: ${e.callId}`,t),this._sendCallSignal(e.callId,se.GET_CALL_SESSION,e)})}sysStatusUp(e,t){return f(this,void 0,void 0,function*(){return this._logger.info(v.L_SIGNAL_TRANSPORTER_USER_SYSTEM_STATE_UP_T,`opts: ${JSON.stringify(e)}`,t),this._sendCallSignal(e.callId,se.SYS_STATUS_UP,e)})}upCallLogReaded(e){return f(this,void 0,void 0,function*(){const t=this._context.getCurrentId();return this._sendCallSignal(t,se.UP_CALL_LOG_READED,e)})}endUserAbnormalCalls(e){return f(this,void 0,void 0,function*(){return this._sendCallSignal(this._context.getCurrentId(),se.END_ABNORMAL_CALL,e)})}_onIMConnectionStateChange(e){const t=this._logger.createTraceId();this._logger.info(v.L_SIGNAL_TRANSPORTER_IM_STATE_CHANGE_O,`state: ${e}`,t),this._listener.onIMStateChange(e),e===l.CONNECTED?this._timeCorrectioner.start(t):this._timeCorrectioner.stop(t)}_sendCallSignal(e,t,i){return f(this,void 0,void 0,function*(){let _,r="";i&&(r=Z?JSON.stringify(i):JSON.stringify(Object.assign(Object.assign({},i),{sessionId:this._sessionId}))),_=this._needRetryActions.includes(t)?yield ce({asyncFn:this._context.setCallInfo.bind(this._context),fnArgs:[e,t,r]}):yield this._context.setCallInfo(e,t,r);const{code:o,data:n}=_;if(o!==s.SUCCESS)return{code:o};const{value:l}=n,a=JSON.parse(l).data;return{code:U.SUCCESS,data:a}})}_onRecvCallSignal(e){const t=this._logger.createTraceId();this._logger.info(v.L_SIGNAL_TRANSPORTER_RECEIVE_CALL_SIGNAL_DATA_O,`data: ${e}`,t);JSON.parse(e).list.forEach(e=>{const{key:i}=e,_=JSON.parse(e.value);switch(i){case se.PUB_INVITE_CALL:this._onPubInviteCall(_,t,!0);break;case se.STATUS_DOWN_CALL:this._onStatusDownCall(_,t);break;case se.EVENT_DOWN_CALL:this._onEventDownCall(_,t);break;case se.DIALOG_DOWN_CALL:this._onDialogDownCall(_,t);break;case se.PUB_CALL_LOG:this._onPubCallLog(_,t);break;case se.PUB_CALL_LOG_READED:case se.PUB_NACK_SEQ_ID:break;default:this._onConpensationData(_,t)}})}isValidData(e){if(a(e))return!0;const t=e===this.getDeviceId();return!(!_(e)||0!==(null==e?void 0:e.length)&&!t)}_onPubInviteCall(e,t,i=!0){try{const i=this._context.getCurrentId(),_=e.callSessionUsers.find(e=>e.userId===i),r=this._context.getConnectionStatus();this._logger.info(v.L_SIGNAL_TRANSPORTER_RECEIVE_INVITE_O,`currentUser: ${JSON.stringify(_)}, currentUserId: ${i}, state: ${r}`,t)}catch(e){this._logger.error(v.L_SIGNAL_TRANSPORTER_RECEIVE_INVITE_O,`error: ${e.message}`,t)}if(!this.isValidData(e.toDeviceId||"")){this._logger.warn(v.L_SIGNAL_TRANSPORTER_RECEIVE_INVITE_O,`not current deviceId -> deviceInfo: ${JSON.stringify({toDeviceId:e.toDeviceId,clientDeviceId:this._sessionId})}`,t);const _={extra:JSON.stringify(e),reason:Ee.NOT_CURRENT_DEVICEID,refer:i?de.PUB_INVITE:de.PULL_KV_INVITE};return void this.emit(Le.onPubInviteCallMiss,Object.assign(e,_))}this._listener.onInvite(e,i,t),i?this.emit(Le.onPubInviteCall,Object.assign(e,{extra:JSON.stringify(e)})):this.emit(Le.onPubInviteCallPullKv,Object.assign(e,{extra:JSON.stringify(e)}))}_onStatusDownCall(e,t){if(e.callSessionUsers=e.callSessionUsers.filter(e=>Boolean(e.changed)),this._logger.info(v.L_SIGNAL_TRANSPORTER_RECEIVE_CALL_STATUS_O,"",t),!this.isValidData(e.toDeviceId||""))return this._logger.warn(v.L_SIGNAL_TRANSPORTER_RECEIVE_CALL_STATUS_O,`not current deviceId -> deviceInfo: ${JSON.stringify({toDeviceId:e.toDeviceId,clientDeviceId:this._sessionId})}`,t),void this._listener.onOtherClientStatusDown(e,t);this._listener.onStatusDown(e,t,this._sessionId)}_onEventDownCall(e,t){this._listener.onEventDown(e,t)}_onDialogDownCall(e,t){const{dialogType:i}=e;i===ie.SWITCH_MEDIA_TYPE&&this._listener.onSwitchMediaType(e,t)}_onPubCallLog(e,t){this._logger.info(v.L_CALL_ENGINE_RECEIVE_CALL_RECORD_O,`call record: ${JSON.stringify(e)}`,t),this._listener.onRecvCallEndLog(e,t)}_onConpensationData(e,t){this._logger.info(v.L_CALL_ENGINE_RECEIVE_COMPLEMENTARY_DATA_O,"",t);const{callId:i,callType:_,mediaType:r,secretChat:s,duration:o,callStatus:n,callingUserId:l,callSessionUsers:a,toDeviceId:c,callDialogEntitys:L,extra:E}=e;a.some(e=>e.sessionStatus===P.INVITED&&e.userId===this._context.getCurrentId())?this._onPubInviteCall({callId:i,toDeviceId:c,callType:_,mediaType:r,inviteUserId:l,callingUserId:l,callSessionUsers:a,secretChat:s,extra:E},t,!0):this._onStatusDownCall({callId:i,toDeviceId:c,callStatus:n,duration:o,callSessionUsers:a},t),L.length>0&&L.forEach(e=>this._onDialogDownCall(e,t),this)}}const ue=()=>{let e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)});return e=`${e.replace(/-/g,"")}0`,e=parseInt(e,16),e=(e=>{const t="0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ+/".split(""),i=t.length+1;let _=+e;const r=[];do{const e=_%i;_=(_-e)/i,r.unshift(t[e])}while(_);return r.join("")})(e),e.length>22&&(e=e.slice(0,22)),e};class ge{constructor(e,t){Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_localStore",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._localStore=e.localStorage}addAbnormallCallId(e,t){try{const i=JSON.parse(this._localStore.getItem(ge._STORAGE_KEY)||"{}");let _=i[e];_?_.push(t):_=[t],i[e]=_,this._localStore.setItem(ge._STORAGE_KEY,JSON.stringify(i))}catch(e){this._logger.error(v.L_ABNORMAL_ADD_CALL_ID_E,e.message),console.error(e)}}removeAbnormalCallIds(e,t){try{const i=JSON.parse(this._localStore.getItem(ge._STORAGE_KEY)||"{}");let _=i[e];_&&(_=_.filter(e=>!t.includes(e)),_.length>0?i[e]=_:delete i[e],this._localStore.setItem(ge._STORAGE_KEY,JSON.stringify(i)))}catch(e){this._logger.error(v.L_ABNORMAL_REMOVE_CALL_IDS_E,e.message),console.error(e)}}getAbnormalCallIds(e){let t=null;try{const i=JSON.parse(this._localStore.getItem(ge._STORAGE_KEY)||"{}")[e];i&&(t=i)}catch(e){this._logger.error(v.L_ABNORMAL_GET_CALL_IDS_E,e.message),console.error(e)}return Promise.resolve(t)}}var he,Re,Ae,Ne,Oe;Object.defineProperty(ge,"_STORAGE_KEY",{enumerable:!0,configurable:!0,writable:!0,value:"CallPlus_AbnormalCall"}),function(e){e[e.PROMPT=0]="PROMPT",e[e.CALL_DURATION=10]="CALL_DURATION",e[e.FIRST_FRAME=20]="FIRST_FRAME"}(he||(he={})),function(e){e[e.SUCCESS=0]="SUCCESS",e[e.INVALID_RESPONSE_TIME=80170]="INVALID_RESPONSE_TIME",e[e.NONOPTIMAL_RES_TIME=80171]="NONOPTIMAL_RES_TIME"}(Re||(Re={}));class me{constructor(e,t,i){Object.defineProperty(this,"_callEngine",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"_logger",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"_singleCallDurationEv",{enumerable:!0,configurable:!0,writable:!0,value:i}),Object.defineProperty(this,"_RTT",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_validMinRTT",{enumerable:!0,configurable:!0,writable:!0,value:200}),Object.defineProperty(this,"_validMaxRTT",{enumerable:!0,configurable:!0,writable:!0,value:1e3}),Object.defineProperty(this,"_deltaTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_timerId",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"_interval",{enumerable:!0,configurable:!0,writable:!0,value:2e3}),Object.defineProperty(this,"_maxRetryTimes",{enumerable:!0,configurable:!0,writable:!0,value:8}),Object.defineProperty(this,"_startTimes",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_retryTimesInCall",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_maxRetryTimesInCall",{enumerable:!0,configurable:!0,writable:!0,value:3})}getCallClientTimeByServer(e,t){return f(this,void 0,void 0,function*(){this._logger.info(v.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_T,`callId: ${e}`,t),(!this._RTT||this._RTT>this._validMinRTT)&&(yield this._getDeltaTime(t)),this._RTT>this._validMaxRTT&&this._logger.error(v.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_R,`code: ${Re.INVALID_RESPONSE_TIME}`,t);const{code:i,data:_}=yield this._callEngine.getCallTimeInfo(e,t);if(i!==U.SUCCESS)return this._logger.error(v.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_R,`code: ${i}`,t),{code:i};const{startTime:r}=_,s=Math.floor(r-this._deltaTime);let o=(Date.now()+this._deltaTime-r)/1e3;return o<0&&(this._logger.warn(v.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_P,`invalid duration: ${o}`,t),o=0),o=Math.floor(o),this._RTT>this._validMinRTT&&this._RTT<=this._validMaxRTT&&this._logger.error(v.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_R,`code: ${Re.NONOPTIMAL_RES_TIME}`,t),this._logger.info(v.L_TIME_CORRECT_GET_CALL_CLIENT_TIME_BY_SERVER_R,JSON.stringify({rtt:this._RTT,deltaT:this._deltaTime,serverStartTime:r,clientStartTime:s,duration:o}),t),{code:i,duration:o,clientStartTime:r?s:r}})}calcClientStartTime(e,t,i){if(this._logger.info(v.L_TIME_CORRECT_CALC_CLIENT_START_TIME_T,`callId: ${e}, startTime: ${t}`,i),this._RTT>this._validMaxRTT)return this._logger.error(v.L_TIME_CORRECT_CALC_CLIENT_START_TIME_R,`code: ${Re.INVALID_RESPONSE_TIME}`,i),this._loopCorrectClientTime(e,i),{code:Re.INVALID_RESPONSE_TIME};const _=Math.floor(t-this._deltaTime);return this._logger.info(v.L_TIME_CORRECT_CALC_CLIENT_START_TIME_R,JSON.stringify({rtt:this._RTT,deltaT:this._deltaTime,startT:t,clientStartTime:_}),i),this._RTT>this._validMinRTT&&(this._retryTimesInCall=0,this._loopCorrectClientTime(e,i)),{code:Re.SUCCESS,clientStartTime:_}}start(e){this._timerId||this._startTimes>=this._maxRetryTimes||(this._logger.info(v.L_TIME_CORRECT_START_O,`timerId: ${this._timerId}`),this._startTimes++,this._getDeltaTime(e),this._timerId=le(()=>{this._timerId=null,this.start(e)},this._interval))}stop(e){this._logger.info(v.L_TIME_CORRECT_STOP_O,`timerId: ${this._timerId}`,e),this._timerId&&clearTimeout(this._timerId),this._timerId=null,this._startTimes=0}restart(e){this._logger.info(v.L_TIME_CORRECT_RESTART_O,`legal rtt time, RTT: ${this._RTT}, validMinRTT: ${this._validMinRTT}`,e),this._RTT<this._validMinRTT||(this.stop(e),this.start(e))}getLocalDelayTime(){return Math.round(this._deltaTime)}getRTT(){return this._RTT}_getDeltaTime(e){return f(this,void 0,void 0,function*(){const t=Date.now(),{code:i,data:_}=yield this._callEngine.getCallServerTimestamp(e),r=Date.now();if(i!==U.SUCCESS)return{code:i};const s=r-t;return(s<this._RTT||0===this._RTT)&&s<=this._validMaxRTT&&(this._RTT=s),s<this._validMinRTT&&this.stop(e),this._deltaTime=_-t-this._RTT/2,this._logger.info(v.L_TIME_CORRECT_SET_DELTA_TIME_O,JSON.stringify({rtt:this._RTT,deltaT:this._deltaTime}),e),{code:i,delayTime:this._deltaTime}})}_getDeltaTimeInCall(e,t){return f(this,void 0,void 0,function*(){const i=Date.now(),{code:_,data:r}=yield this._callEngine.getCallTimeInfo(e,t),s=Date.now();if(_!==U.SUCCESS)return{code:_};const o=s-i;o<this._RTT&&(this._RTT=o),this._deltaTime=r.syncTime-i-this._RTT/2,this._logger.info(v.L_TIME_CORRECT_SET_DELTA_TIME_O,JSON.stringify({callId:e,rtt:this._RTT,deltaT:this._deltaTime}),t);const n=Math.floor(r.startTime-this._deltaTime),l=Math.floor(r.firstFrametime-this._deltaTime);return o<this._validMinRTT?{code:Re.SUCCESS,clientStartTime:n,clientFirstFrameTime:l}:{code:Re.INVALID_RESPONSE_TIME,clientStartTime:n,clientFirstFrameTime:l}})}_loopCorrectClientTime(e,t){return f(this,void 0,void 0,function*(){this.stop(t),this._logger.info(v.L_TIME_CORRECT_LOOP_CORRECT_CLINET_TIME_T,`callId: ${e}`,t);const{code:i,clientStartTime:_,clientFirstFrameTime:r}=yield this._getDeltaTimeInCall(e,t);return i===Re.SUCCESS?(this._logger.info(v.L_TIME_CORRECT_LOOP_CORRECT_CLINET_TIME_R,`code: ${U.SUCCESS}`,t),void this._singleCallDurationEv(e,_,r,t)):this._retryTimesInCall>this._maxRetryTimesInCall&&i===Re.INVALID_RESPONSE_TIME?(this._logger.info(v.L_TIME_CORRECT_LOOP_CORRECT_CLINET_TIME_R,`code: ${Re.INVALID_RESPONSE_TIME}`,t),void this._singleCallDurationEv(e,_,r,t)):void(this._retryTimesInCall>this._maxRetryTimesInCall||(this._retryTimesInCall++,setTimeout(()=>{this._loopCorrectClientTime(e,t