feat: 完善饮水 widget

This commit is contained in:
richarjiang
2025-09-09 14:26:16 +08:00
parent cacfde064f
commit e56ebe3636
13 changed files with 984 additions and 62 deletions

View File

@@ -0,0 +1,46 @@
//
// WidgetManager.swift
// digitalpilates
//
// Native module for managing widget refresh
//
import Foundation
import React
import WidgetKit
@objc(WidgetManager)
class WidgetManager: NSObject, RCTBridgeModule {
static func moduleName() -> String! {
return "WidgetManager"
}
static func requiresMainQueueSetup() -> Bool {
return false
}
@objc
func reloadTimelines(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
DispatchQueue.main.async {
if #available(iOS 14.0, *) {
WidgetCenter.shared.reloadTimelines(ofKind: "WaterWidget")
resolver(nil)
} else {
rejecter("UNSUPPORTED", "WidgetKit is only available on iOS 14.0 and later", nil)
}
}
}
@objc
func reloadAllTimelines(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
DispatchQueue.main.async {
if #available(iOS 14.0, *) {
WidgetCenter.shared.reloadAllTimelines()
resolver(nil)
} else {
rejecter("UNSUPPORTED", "WidgetKit is only available on iOS 14.0 and later", nil)
}
}
}
}