| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- <script>
- export default {
- onLaunch: function() {
- // 获取并保存设备信息
- if (!uni.getStorageSync("deviceInfo")) {
- const deviceInfo = uni.getDeviceInfo()
- uni.setStorageSync("deviceInfo", deviceInfo)
- console.log("初始化设备信息", deviceInfo)
- }
- // ⚠️ 在小程序启动时立即设置通话结束页(关键:处理被叫接听场景)
- this.setupVoipEndPage()
- },
- onShow: function() {
- // 每次小程序显示时也设置通话结束页(确保被唤起时也生效)
- this.setupVoipEndPage()
- },
- onHide: function() {
- console.log('App Hide')
- },
- methods: {
- // 设置 VoIP 通话结束页面
- setupVoipEndPage() {
- try {
- // 判断是否在 WMPF 环境
- if (typeof wmpf === 'undefined') {
- // 非 WMPF 环境,直接返回
- return
- }
- // 尝试获取插件(开发环境可能不可用)
- const wmpfVoip = requirePlugin('wmpf-voip')?.default
- if (wmpfVoip && typeof wmpfVoip.setVoipEndPagePath === 'function') {
- wmpfVoip.setVoipEndPagePath({
- url: '/pages/device/index', // 通话结束直接返回首页
- key: 'Call',
- routeType: 'redirectTo'
- })
- console.log('✅ [App.vue] 已设置通话结束跳转到首页')
- }
- } catch (e) {
- // 开发环境插件不可用,静默忽略
- // console.error('❌ [App.vue] 设置通话结束页失败:', e)
- }
- }
- }
- }
- </script>
- <style lang="scss">
- @import "uview-plus/index.scss";
- </style>
|