<script>
import Vue from 'vue';
import permision from "@/utils/uni-tools/permission.js"
import {mapMutations, mapGetters} from 'vuex';
export default {
onLaunch: function() {
console.log("App Launch");
const role = uni.getStorageSync('role')
if (role == 'doctor') {
uni.$TIM_READY = false;
uni.reLaunch({
url: '/pages/index/doctors-index'
})
}
uni.getSystemInfo({
success: e => {
Vue.prototype.statusHeight = e.statusBarHeight;
Vue.prototype.screenHeight = e.screenHeight;
// #ifdef H5
Vue.prototype.statusHeight += 25
// #endif
}
});
this.$tim.on(this.$TIM.EVENT.MESSAGE_RECEIVED, e => {
console.log(e.data);
if (Array.isArray(e.data)) {
e.data.forEach(msg => this.PUSH_MESSAGE(msg))
}
});
// #ifdef APP-PLUS
var jyrtc = uni.requireNativePlugin('JY-TXRTC');
jyrtc.initPlugin({
userid: '0zM8A3p42Oe3jDX'
}, result => {
console.log(JSON.stringify(result));
jyrtc.initSDK(result => {
jyrtc.registerFunc(res=>{
});
});
});
this.getPermission()
plus.push.addEventListener('click', (message) => {
const payload = message.payload;
if (payload) {
console.log(payload)
if (typeof payload.params === 'string') {
const params = JSON.parse(payload.params);
if (params.noticeType === 'order') {
this.$store.commit('order/SET_DETAILS', {id: params.orderId})
uni.navigateTo({
url: '/pages/users/pay-success'
})
}
}
}
})
plus.push.addEventListener('receive', (message) => {
const content = JSON.parse(message.content)
console.log(content)
plus.push.createMessage(content.content)
}, true)
// #endif
},
onShow: function() {
console.log("App Show");
},
onHide: function() {
console.log("App Hide");
},
methods: {
...mapMutations('chat', ['SET_CONV', 'SET_ME', 'PUSH_MESSAGE']),
async getPermission() {
return await new Promise(resolve => {
if (plus.os.name == 'iOS')
if (!permision.judgeIosPermission("camera") || !permision.judgeIosPermission("record")) {
permision.gotoAppPermissionSetting()
} else {
resolve(true)
}
if (plus.os.name == 'Android') {
permision.requestAndroidPermission("android.permission.CAMERA").then(result => {
if (result != 1) {
uni.$toast('需要获取相机权限')
setTimeout(()=>{
permision.gotoAppPermissionSetting()
}, 1500)
} else {
permision.requestAndroidPermission("android.permission.RECORD_AUDIO").then(result => {
if (result != 1) {
uni.$toast('需要获取麦克风权限')
setTimeout(()=>{
permision.gotoAppPermissionSetting()
}, 1500)
} else {
resolve(true)
}
})
}
})
}
})
},
}
};
</script>
<style>
</style>

- 发布:2021-03-30 11:29
- 更新:2021-03-30 11:34
- 阅读:887
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 10
HBuilderX类型: 正式
HBuilderX版本号: 3.0.7
手机系统: Android
手机系统版本号: Android 8.1
手机厂商: 华为
手机机型: nova3
页面类型: vue
打包方式: 云端
项目创建方式: HBuilderX
App下载地址或H5⽹址: https://www.liaoyitong.com/download
示例代码:
操作步骤:
使用华为nova3手机打开
使用华为nova3手机打开
预期结果:
可以正常进入,与其他机型一致
可以正常进入,与其他机型一致
实际结果:
开屏闪退
开屏闪退
bug描述:
启动APP时闪退 开发者后台可以看到崩溃日志
崩溃日志:
2021/03/26 13:23:00 [crash] imei:9A3039AE7F5656C35FEA421CFC0059B5 md:PAR-AL00 p:a os:28 net:3 vb:1.9.9.80630 mc: appid:UNI11F6057 appcount:1 wvcount:2 pn:com.liaoyitong.inquiry mem:5776kb etype:1 eurl: carsh_info:com.alibaba.fastjson.JSONException: syntax error, pos 1
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1261)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1171)
at com.alibaba.fastjson.JSON.parse(JSON.java:104)
at com.alibaba.fastjson.JSON.parse(JSON.java:95)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:135)
at com.jiyi.jy_txrtc.JY_TXRTC$1$1.onResponse(JY_TXRTC.java:90)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:141)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:784)
1 个回复
DCloud_Android_ST
问题出在JY_TXRTC 应该是uni原生插件.与插件作者反馈下