feat: 更新 UI 样式以及消息通知
This commit is contained in:
@@ -58,6 +58,7 @@ type CalendarTrigger = DailyTrigger | WeeklyTrigger | MonthlyTrigger;
|
||||
export class NotificationService {
|
||||
private static instance: NotificationService;
|
||||
private isInitialized = false;
|
||||
private isIniting = false
|
||||
|
||||
private constructor() { }
|
||||
|
||||
@@ -72,9 +73,10 @@ export class NotificationService {
|
||||
* 初始化推送通知服务
|
||||
*/
|
||||
async initialize(): Promise<void> {
|
||||
if (this.isInitialized) return;
|
||||
if (this.isInitialized || this.isIniting) return;
|
||||
|
||||
try {
|
||||
this.isIniting = true
|
||||
// 请求通知权限
|
||||
const { status: existingStatus } = await Notifications.getPermissionsAsync();
|
||||
let finalStatus = existingStatus;
|
||||
@@ -89,13 +91,6 @@ export class NotificationService {
|
||||
return;
|
||||
}
|
||||
|
||||
// 获取推送令牌(用于远程推送,本地推送不需要)
|
||||
// if (Platform.OS !== 'web') {
|
||||
// const token = await Notifications.getExpoPushTokenAsync({
|
||||
// projectId: 'your-project-id', // 需要替换为实际的Expo项目ID
|
||||
// });
|
||||
// console.log('推送令牌:', token.data);
|
||||
// }
|
||||
|
||||
// 设置通知监听器
|
||||
this.setupNotificationListeners();
|
||||
@@ -107,6 +102,8 @@ export class NotificationService {
|
||||
console.log('推送通知服务初始化成功');
|
||||
} catch (error) {
|
||||
console.error('推送通知服务初始化失败:', error);
|
||||
} finally {
|
||||
this.isIniting = false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user