Files
2023-09-24 17:55:19 +08:00

77 lines
1.8 KiB
Vue

<template>
<view>
<uni-list>
<uni-list-item
title="uni-im 会话列表" @click="toPath('/uni_modules/uni-im/pages/index/index')" :link="true"
:show-badge="unreadMsgCount>0" :badge-text="unreadMsgCount+''" :badge-style="{'background':'#f41500'}"
></uni-list-item>
<uni-list-item
title="用户列表" @click="toPath('/uni_modules/uni-im/pages/userList/userList')" :link="true"
></uni-list-item>
<uni-list-item
title="通讯录" @click="toPath('/uni_modules/uni-im/pages/contacts/contacts')" :link="true"
:show-badge="notificationUnreadCount>0" :badge-text="notificationUnreadCount+''" :badge-style="{'background':'#f41500'}"
></uni-list-item>
<uni-list-item
title="个人中心" @click="toPath('/uni_modules/uni-id-pages/pages/userinfo/userinfo?showLoginManage=true')" :link="true"
></uni-list-item>
<uni-list-item title="clear sqlite storage" @click="clear" :link="true" ></uni-list-item>
</uni-list>
</view>
</template>
<script>
import uniIm from '@/uni_modules/uni-im/lib/main.js';
import sqlite from '@/uni_modules/uni-im/common/sqlite.js';
export default {
computed: {
unreadMsgCount(){
return uniIm.conversation.unreadCount()
},
notificationUnreadCount(){
return uniIm.notification.unreadCount()
}
},
data() {
return {
}
},
async onReady() {
if(!uniIm.isWidescreen){
uni.showLoading({
mask: true
});
try{
await uniIm.conversation.loadMore()
}catch(e){
console.log(e)
}
uni.hideLoading()
}
},
methods: {
//未读系统通知数量
toPath(path){
uni.navigateTo({
url: path,
fail: () => {
uni.switchTab({
url:path,
fail: (e) => {
console.error(e);
}
})
}
});
},
async clear(){
// #ifdef APP
sqlite.init()
// #endif
}
}
}
</script>
<style>
</style>