- 在useWaterData中统一处理数据变更后的Widget同步逻辑 - 新增数组类型数据存取方法支持更复杂数据结构 - 重构Widget UI为圆形进度条设计,提升视觉体验 - 修复数据同步时可能存在的竞态条件问题 - 优化错误处理,确保Widget同步失败不影响主功能
50 lines
1.8 KiB
Objective-C
50 lines
1.8 KiB
Objective-C
//
|
|
// AppGroupUserDefaults.m
|
|
// digitalpilates
|
|
//
|
|
// Objective-C bridge file for AppGroupUserDefaults Swift module
|
|
//
|
|
|
|
#import <React/RCTBridgeModule.h>
|
|
|
|
@interface RCT_EXTERN_MODULE(AppGroupUserDefaults, NSObject)
|
|
|
|
RCT_EXTERN_METHOD(setString:(NSString *)groupId
|
|
key:(NSString *)key
|
|
value:(NSString *)value
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
RCT_EXTERN_METHOD(getString:(NSString *)groupId
|
|
key:(NSString *)key
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
RCT_EXTERN_METHOD(setNumber:(NSString *)groupId
|
|
key:(NSString *)key
|
|
value:(NSNumber *)value
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
RCT_EXTERN_METHOD(getNumber:(NSString *)groupId
|
|
key:(NSString *)key
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
RCT_EXTERN_METHOD(setArray:(NSString *)groupId
|
|
key:(NSString *)key
|
|
value:(NSArray *)value
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
RCT_EXTERN_METHOD(getArray:(NSString *)groupId
|
|
key:(NSString *)key
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
RCT_EXTERN_METHOD(removeKey:(NSString *)groupId
|
|
key:(NSString *)key
|
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
|
|
@end |