2 Star 0 Fork 0

Li/CareAppN

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
App.vue 5.27 KB
一键复制 编辑 原始数据 按行查看 历史
张世强 提交于 2024-08-14 17:31 . 12
<script setup>
import {onShow,onReady, onLaunch, onLoad} from '@dcloudio/uni-app'
import * as UserApi from '@/api/user.js'
import storage from '@/utils/storage'
import { useUserStore } from '@/store/user.js'
import { useWebsoketStore } from '@/store/websoket.js'
import { useUnreadMessage } from '@/store/unMessage.js'
const userStore = useUserStore()
const websoketStore = useWebsoketStore()
const unMessageStore = useUnreadMessage()
unMessageStore.getUnMessageTotal()
// 监听 store 的数据变化
userStore.$subscribe((mutation, state) => {
console.log('New State:', state.userId);
if(state.userId && !websoketStore.websoket){
websoketStore.init('S')
}
});
// 监听 未读消息 的数据变化
unMessageStore.$subscribe((mutation, state) => {
console.log('监听变化')
// // 获取当前页面栈数组
// const pages = getCurrentPages();
// // 获取数组中最后一个,即当前页面的实例
// const currentPage = pages[pages.length - 1];
// // 获取当前页面的路径
// const pagePath = currentPage.route;
// // 假设你的 tabBar 页面路径是 'pages/index/index', 'pages/mine/mine' 等
// const tabBarPages = ['pages/index/index', 'pages/order/order'];
// // 检查当前页面是否是 tabBar 页面
// const isTabBarPage = tabBarPages.includes(pagePath);
// console.log(isTabBarPage, 'isTabBarPage')
if(unMessageStore.unMessageTotal){
if(unMessageStore.unMessageTotal == 0){
uni.removeTabBarBadge({
index: 2
})
} else {
uni.setTabBarBadge({
index: 2,
text: unMessageStore.unMessageTotal + ''
});
}
}
});
onLoad(() => {
getInitData()
})
onShow(() => {
const userId = storage.get("USER_ID") //token
console.log('重新运行==========================')
// currentDeviceHandler()
})
const currentDeviceHandler = () => {
// 获取设备信息
const deviceInfo = uni.getSystemInfoSync();
console.log('DeviceId:', deviceInfo);
const data = {
deviceId: deviceInfo.deviceId
}
UserApi.currentDeviceApi(data).then(res => {
})
}
const getInitData = () => {
UserApi.baseSpecialtyApi().then(res => {
storage.set('specialty', res.data)
})
// 分类接口
UserApi.categoryListApi().then(res => {
storage.set('categoryList', res.data)
})
// 分类接口
UserApi.regionHospitalApi().then(res => {
// console.log(res, 'regionHospitalApi')
const regionHospitalList = res.data.map(item => {
const children = item.children.map(item => {
return {
...item,
text: item.name,
value: item.id
}
})
children.unshift({
value: -Math.abs(item.id),
text: '全部'
})
return {
...item,
text: item.name,
value: item.id,
children
}
})
storage.set('regionHospitalList', regionHospitalList)
})
}
onLaunch(() => {
const userStore = useUserStore()
let jpushModule = ''
console.log(userStore, 'userStore.platform')
console.log(userStore.platform, 'userStore.platform')
if(userStore.platform == 'APP'){
jpushModule = uni.requireNativePlugin('JG-JPush');
}
if(userStore.platform == 'APP'){
jpushModule.getRegistrationID(result => {
console.log(result.registerID,"注册ID.....")
uni.showToast({
title:result.registerID,
icon:"success",
duration:3000
})
})
jpushModule.initJPushService();
jpushModule.setLoggerEnable(true);
jpushModule.addConnectEventListener(result=>{
let connectEnable = result.connectEnable
uni.$emit('connectStatusChange',connectEnable)
});
jpushModule.addNotificationListener(result=>{
let notificationEventType = result.notificationEventType
let messageID = result.messageID
let title = result.title
let content = result.content
let extras = result.extras
uni.showToast({
icon: 'none',
title: JSON.stringify(result),
duration: 3000
})
});
jpushModule.addCustomMessageListener(result=>{
let type = result.type
let messageType = result.messageType
let content = result.content
uni.showToast({
icon: 'none',
title: JSON.stringify(result),
duration: 3000
})
})
jpushModule.addLocalNotificationListener(result=>{
let messageID = result.messageID
let title = result.title
let content = result.content
let extras = result.extras
uni.showToast({
icon: 'none',
title: JSON.stringify(result),
duration: 3000
})
})
jpushModule.addGeofenceListener(result=>{
let code = result.code
let type = result.type
let geofenceId = result.geofenceId
let userInfo = result.userInfo
uni.showToast({
icon: 'none',
title: '触发地理围栏',
duration: 3000
})
})
jpushModule.setIsAllowedInMessagePop(true)
jpushModule.pullInMessage(result=>{
let code = result.code
console.log(code)
})
jpushModule.addInMessageListener(result=>{
let eventType = result.eventType
let messageType = result.messageType
let content = result.content
console.log('inMessageListener',eventType,messageType,content)
uni.showToast({
icon: 'none',
title: JSON.stringify(result),
duration: 3000
})
})
}
})
</script>
<style lang="scss">
@import "common/style/common-style.scss"
</style>
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Jay2eu5/care-app-n.git
git@gitee.com:Jay2eu5/care-app-n.git
Jay2eu5
care-app-n
CareAppN
master

搜索帮助

D67c1975 1850385 1daf7b77 1850385