Files
uniapp-im-shop/App.vue
2026-02-07 14:07:17 +08:00

106 lines
2.7 KiB
Vue

<script setup lang="ts">
// #ifdef APP-PLUS
import { setSdkLanguageFromSystem } from '@/uni_modules/tuikit-atomic-x/utils/setSdkLanguageFromSystem'
// import * as call from "@/uni_modules/RongCloud-CallWrapper/lib/index"
// #endif
import { onLaunch, onShow, onHide } from '@dcloudio/uni-app'
import { reLaunch } from './utils/router'
import { useAuthUser } from './composables/useAuthUser'
import { useUserStore } from './stores/user'
import { TUIChatKit } from './TUIKit'
import { getIpBlack } from './api'
import {reasonDeal,errorDeal,imCode} from '@/utils/code.js'
import { navigateTo } from '@/utils/router'
TUIChatKit.init()
const { token, tencentUserSig } = useAuthUser()
const { loginTencentIM } = useUserStore()
/** 静默登录逻辑 */
const silentLogin = async (e : any) => {
if (token.value) {
loginTencentIM()
// reLaunch('/TUIKit/components/TUIConversation/index')
return
}
console.log(tencentUserSig, '=====222==')
if (e?.query?.invitationCode) {
reLaunch('/pages/login/phone-register/phone-register', {
invitationCode: e.query.invitationCode
})
} else {
// 没有token去登录页
reLaunch('/pages/login/login')
}
}
onLaunch((e : any) => {
// return
console.log('App Launch111')
silentLogin(e)
// #ifdef APP-PLUS
setSdkLanguageFromSystem()
// onAllListeners()
// #endif
})
onShow(() => {
console.log('App Show222')
})
onHide(async () => {
if (token.value) {
const show = await getIpBlack(false)
console.log(show.data.data, '======')
}
// #ifdef APP-PLUS
removeAllListeners()
// #endif
console.log('App Hide333')
})
function removeAllListeners(){
call.unInit();
//移除监听-接收到通话呼入
call.removeCallReceivedListener();
// 移除监听-开始呼叫通话的回调
call.removeCallOutgoingListener();
// 移除监听-通话已接通
call.removeCallReceivedListener();
// 移除监听-通话已结束
call.removeCallDisconnectedListener();
// 移除监听-对端用户正在振铃
call.removeRemoteUserRingingListener();
// 移除监听-对端用户加入了通话
call.removeRemoteUserJoinedListener();
// 移除监听-有用户被邀请加入通话
call.removeRemoteUserInvited();
// 移除监听-对端用户挂断
call.removeRemoteUserLeftListener();
// 移除监听-对端用户切换了媒体类型
call.removeRemoteUserMediaTypeChangedListener();
// 移除监听-通话出现错误的回调
call.removeErrorListener();
}
</script>
<style lang="scss">
/*每个页面公共css */
@import './styles/global.scss';
/* common css for page */
// uni-page-body,
// html,
// body,
// page {
// width: 100% !important;
// height: 100% !important;
// overflow: hidden;
// }
</style>