@jincheng_1995/react-native-device-info-plus 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.kiro/steering/rn-plugin-development.md +456 -0
- package/LICENSE +21 -0
- package/PUBLISHING.md +385 -0
- package/README.md +111 -0
- package/android/build.gradle +50 -0
- package/ios/DeviceInfoPlus.h +15 -0
- package/ios/DeviceInfoPlus.mm +283 -0
- package/ios/DeviceInfoPlus.podspec +33 -0
- package/lib/commonjs/NativeDeviceInfoPlus.js +9 -0
- package/lib/commonjs/NativeDeviceInfoPlus.js.map +1 -0
- package/lib/commonjs/index.js +124 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/module/NativeDeviceInfoPlus.js +3 -0
- package/lib/module/NativeDeviceInfoPlus.js.map +1 -0
- package/lib/module/index.js +117 -0
- package/lib/module/index.js.map +1 -0
- package/lib/typescript/NativeDeviceInfoPlus.d.ts +42 -0
- package/lib/typescript/NativeDeviceInfoPlus.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +35 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
#import "DeviceInfoPlus.h"
|
|
2
|
+
#import <UIKit/UIKit.h>
|
|
3
|
+
#import <CoreMotion/CoreMotion.h>
|
|
4
|
+
#import <sys/utsname.h>
|
|
5
|
+
|
|
6
|
+
@implementation DeviceInfoPlus {
|
|
7
|
+
CMMotionManager *motionManager;
|
|
8
|
+
NSTimer *accelerometerTimer;
|
|
9
|
+
NSTimer *gyroscopeTimer;
|
|
10
|
+
BOOL hasListeners;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
RCT_EXPORT_MODULE()
|
|
14
|
+
|
|
15
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
16
|
+
return YES;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
- (instancetype)init {
|
|
20
|
+
self = [super init];
|
|
21
|
+
if (self) {
|
|
22
|
+
motionManager = [[CMMotionManager alloc] init];
|
|
23
|
+
hasListeners = NO;
|
|
24
|
+
}
|
|
25
|
+
return self;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
- (NSArray<NSString *> *)supportedEvents {
|
|
29
|
+
return @[@"onAccelerometerData", @"onGyroscopeData"];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
- (void)startObserving {
|
|
33
|
+
hasListeners = YES;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
- (void)stopObserving {
|
|
37
|
+
hasListeners = NO;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// 设备信息
|
|
41
|
+
RCT_EXPORT_METHOD(getDeviceModel:(RCTPromiseResolveBlock)resolve
|
|
42
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
43
|
+
struct utsname systemInfo;
|
|
44
|
+
uname(&systemInfo);
|
|
45
|
+
NSString *model = [NSString stringWithCString:systemInfo.machine
|
|
46
|
+
encoding:NSUTF8StringEncoding];
|
|
47
|
+
resolve(model);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
RCT_EXPORT_METHOD(getDeviceBrand:(RCTPromiseResolveBlock)resolve
|
|
51
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
52
|
+
resolve(@"Apple");
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
RCT_EXPORT_METHOD(getManufacturer:(RCTPromiseResolveBlock)resolve
|
|
56
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
57
|
+
resolve(@"Apple");
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
RCT_EXPORT_METHOD(getSystemVersion:(RCTPromiseResolveBlock)resolve
|
|
61
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
62
|
+
NSString *version = [[UIDevice currentDevice] systemVersion];
|
|
63
|
+
resolve(version);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
RCT_EXPORT_METHOD(getUniqueId:(RCTPromiseResolveBlock)resolve
|
|
67
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
68
|
+
NSString *uuid = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
|
|
69
|
+
resolve(uuid);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
RCT_EXPORT_METHOD(getDeviceName:(RCTPromiseResolveBlock)resolve
|
|
73
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
74
|
+
NSString *name = [[UIDevice currentDevice] name];
|
|
75
|
+
resolve(name);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// 网络状态
|
|
79
|
+
RCT_EXPORT_METHOD(getNetworkType:(RCTPromiseResolveBlock)resolve
|
|
80
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
81
|
+
// 简化实现,实际应使用 Reachability
|
|
82
|
+
resolve(@"wifi");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// 电池信息
|
|
86
|
+
RCT_EXPORT_METHOD(getBatteryLevel:(RCTPromiseResolveBlock)resolve
|
|
87
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
88
|
+
[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
|
|
89
|
+
float batteryLevel = [[UIDevice currentDevice] batteryLevel];
|
|
90
|
+
resolve(@(batteryLevel));
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
RCT_EXPORT_METHOD(isBatteryCharging:(RCTPromiseResolveBlock)resolve
|
|
94
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
95
|
+
[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];
|
|
96
|
+
UIDeviceBatteryState state = [[UIDevice currentDevice] batteryState];
|
|
97
|
+
BOOL isCharging = (state == UIDeviceBatteryStateCharging ||
|
|
98
|
+
state == UIDeviceBatteryStateFull);
|
|
99
|
+
resolve(@(isCharging));
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// 存储信息
|
|
103
|
+
RCT_EXPORT_METHOD(getTotalStorage:(RCTPromiseResolveBlock)resolve
|
|
104
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
105
|
+
NSError *error = nil;
|
|
106
|
+
NSDictionary *attributes = [[NSFileManager defaultManager]
|
|
107
|
+
attributesOfFileSystemForPath:NSHomeDirectory() error:&error];
|
|
108
|
+
|
|
109
|
+
if (error) {
|
|
110
|
+
reject(@"ERROR", @"Failed to get storage info", error);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
unsigned long long totalSpace = [[attributes objectForKey:NSFileSystemSize]
|
|
115
|
+
unsignedLongLongValue];
|
|
116
|
+
resolve(@(totalSpace));
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
RCT_EXPORT_METHOD(getFreeStorage:(RCTPromiseResolveBlock)resolve
|
|
120
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
121
|
+
NSError *error = nil;
|
|
122
|
+
NSDictionary *attributes = [[NSFileManager defaultManager]
|
|
123
|
+
attributesOfFileSystemForPath:NSHomeDirectory() error:&error];
|
|
124
|
+
|
|
125
|
+
if (error) {
|
|
126
|
+
reject(@"ERROR", @"Failed to get storage info", error);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
unsigned long long freeSpace = [[attributes objectForKey:NSFileSystemFreeSize]
|
|
131
|
+
unsignedLongLongValue];
|
|
132
|
+
resolve(@(freeSpace));
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// 屏幕信息
|
|
136
|
+
RCT_EXPORT_METHOD(getScreenInfo:(RCTPromiseResolveBlock)resolve
|
|
137
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
138
|
+
CGRect screenBounds = [[UIScreen mainScreen] bounds];
|
|
139
|
+
CGFloat scale = [[UIScreen mainScreen] scale];
|
|
140
|
+
|
|
141
|
+
NSDictionary *screenInfo = @{
|
|
142
|
+
@"width": @(screenBounds.size.width * scale),
|
|
143
|
+
@"height": @(screenBounds.size.height * scale),
|
|
144
|
+
@"scale": @(scale),
|
|
145
|
+
@"fontScale": @(1.0)
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
resolve(screenInfo);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// 设备操作
|
|
152
|
+
RCT_EXPORT_METHOD(vibrate:(double)duration) {
|
|
153
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
154
|
+
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
RCT_EXPORT_METHOD(setBrightness:(double)brightness
|
|
159
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
160
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
161
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
162
|
+
[[UIScreen mainScreen] setBrightness:brightness];
|
|
163
|
+
resolve(nil);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
RCT_EXPORT_METHOD(getBrightness:(RCTPromiseResolveBlock)resolve
|
|
168
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
169
|
+
CGFloat brightness = [[UIScreen mainScreen] brightness];
|
|
170
|
+
resolve(@(brightness));
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
RCT_EXPORT_METHOD(setClipboard:(NSString *)text
|
|
174
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
175
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
176
|
+
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
|
|
177
|
+
pasteboard.string = text;
|
|
178
|
+
resolve(nil);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
RCT_EXPORT_METHOD(getClipboard:(RCTPromiseResolveBlock)resolve
|
|
182
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
183
|
+
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
|
|
184
|
+
NSString *text = pasteboard.string ?: @"";
|
|
185
|
+
resolve(text);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
RCT_EXPORT_METHOD(openSettings) {
|
|
189
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
190
|
+
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
|
|
191
|
+
if ([[UIApplication sharedApplication] canOpenURL:url]) {
|
|
192
|
+
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:nil];
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
// 音量控制
|
|
198
|
+
RCT_EXPORT_METHOD(getVolume:(RCTPromiseResolveBlock)resolve
|
|
199
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
200
|
+
// iOS 不允许直接获取系统音量,返回默认值
|
|
201
|
+
resolve(@(0.5));
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
RCT_EXPORT_METHOD(setVolume:(double)volume
|
|
205
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
206
|
+
reject:(RCTPromiseRejectBlock)reject) {
|
|
207
|
+
// iOS 不允许直接设置系统音量
|
|
208
|
+
reject(@"UNSUPPORTED", @"iOS does not support setting system volume", nil);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// 传感器
|
|
212
|
+
RCT_EXPORT_METHOD(startAccelerometer:(double)interval) {
|
|
213
|
+
if (!motionManager.accelerometerAvailable) {
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
motionManager.accelerometerUpdateInterval = interval / 1000.0;
|
|
218
|
+
|
|
219
|
+
[motionManager startAccelerometerUpdates];
|
|
220
|
+
|
|
221
|
+
accelerometerTimer = [NSTimer scheduledTimerWithTimeInterval:interval / 1000.0
|
|
222
|
+
repeats:YES
|
|
223
|
+
block:^(NSTimer * _Nonnull timer) {
|
|
224
|
+
if (self->hasListeners && self->motionManager.accelerometerData) {
|
|
225
|
+
CMAccelerometerData *data = self->motionManager.accelerometerData;
|
|
226
|
+
[self sendEventWithName:@"onAccelerometerData" body:@{
|
|
227
|
+
@"x": @(data.acceleration.x),
|
|
228
|
+
@"y": @(data.acceleration.y),
|
|
229
|
+
@"z": @(data.acceleration.z),
|
|
230
|
+
@"timestamp": @([[NSDate date] timeIntervalSince1970] * 1000)
|
|
231
|
+
}];
|
|
232
|
+
}
|
|
233
|
+
}];
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
RCT_EXPORT_METHOD(stopAccelerometer) {
|
|
237
|
+
[motionManager stopAccelerometerUpdates];
|
|
238
|
+
if (accelerometerTimer) {
|
|
239
|
+
[accelerometerTimer invalidate];
|
|
240
|
+
accelerometerTimer = nil;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
RCT_EXPORT_METHOD(startGyroscope:(double)interval) {
|
|
245
|
+
if (!motionManager.gyroAvailable) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
motionManager.gyroUpdateInterval = interval / 1000.0;
|
|
250
|
+
|
|
251
|
+
[motionManager startGyroUpdates];
|
|
252
|
+
|
|
253
|
+
gyroscopeTimer = [NSTimer scheduledTimerWithTimeInterval:interval / 1000.0
|
|
254
|
+
repeats:YES
|
|
255
|
+
block:^(NSTimer * _Nonnull timer) {
|
|
256
|
+
if (self->hasListeners && self->motionManager.gyroData) {
|
|
257
|
+
CMGyroData *data = self->motionManager.gyroData;
|
|
258
|
+
[self sendEventWithName:@"onGyroscopeData" body:@{
|
|
259
|
+
@"x": @(data.rotationRate.x),
|
|
260
|
+
@"y": @(data.rotationRate.y),
|
|
261
|
+
@"z": @(data.rotationRate.z),
|
|
262
|
+
@"timestamp": @([[NSDate date] timeIntervalSince1970] * 1000)
|
|
263
|
+
}];
|
|
264
|
+
}
|
|
265
|
+
}];
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
RCT_EXPORT_METHOD(stopGyroscope) {
|
|
269
|
+
[motionManager stopGyroUpdates];
|
|
270
|
+
if (gyroscopeTimer) {
|
|
271
|
+
[gyroscopeTimer invalidate];
|
|
272
|
+
gyroscopeTimer = nil;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
#ifdef RCT_NEW_ARCH_ENABLED
|
|
277
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
278
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
279
|
+
return std::make_shared<facebook::react::NativeDeviceInfoPlusSpecJSI>(params);
|
|
280
|
+
}
|
|
281
|
+
#endif
|
|
282
|
+
|
|
283
|
+
@end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, "../package.json")))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = "DeviceInfoPlus"
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.homepage = package["homepage"]
|
|
10
|
+
s.license = package["license"]
|
|
11
|
+
s.authors = package["author"]
|
|
12
|
+
|
|
13
|
+
s.platforms = { :ios => "13.0" }
|
|
14
|
+
s.source = { :git => package["repository"], :tag => "#{s.version}" }
|
|
15
|
+
|
|
16
|
+
s.source_files = "*.{h,m,mm}"
|
|
17
|
+
|
|
18
|
+
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
19
|
+
s.compiler_flags = "-DRCT_NEW_ARCH_ENABLED=1"
|
|
20
|
+
s.pod_target_xcconfig = {
|
|
21
|
+
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
|
22
|
+
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
s.dependency "React-Codegen"
|
|
26
|
+
s.dependency "RCT-Folly"
|
|
27
|
+
s.dependency "RCTRequired"
|
|
28
|
+
s.dependency "RCTTypeSafety"
|
|
29
|
+
s.dependency "ReactCommon/turbomodule/core"
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
s.dependency "React-Core"
|
|
33
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _default = exports.default = _reactNative.TurboModuleRegistry.getEnforcing('DeviceInfoPlus');
|
|
9
|
+
//# sourceMappingURL=NativeDeviceInfoPlus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","getEnforcing"],"sourceRoot":"..\\..\\src","sources":["NativeDeviceInfoPlus.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA0DpCC,gCAAmB,CAACC,YAAY,CAAO,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
var _NativeDeviceInfoPlus = _interopRequireDefault(require("./NativeDeviceInfoPlus"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
const LINKING_ERROR = `The package 'react-native-device-info-plus' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
|
|
11
|
+
ios: "- Run 'pod install'\n",
|
|
12
|
+
default: ''
|
|
13
|
+
}) + '- Rebuild the app after installing the package\n' + '- If you are using Expo, run expo prebuild\n';
|
|
14
|
+
const DeviceInfoPlus = _NativeDeviceInfoPlus.default ? _NativeDeviceInfoPlus.default : new Proxy({}, {
|
|
15
|
+
get() {
|
|
16
|
+
throw new Error(LINKING_ERROR);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
const eventEmitter = new _reactNative.NativeEventEmitter(_reactNative.NativeModules.DeviceInfoPlus);
|
|
20
|
+
class DeviceInfoPlusModule {
|
|
21
|
+
// 设备信息
|
|
22
|
+
async getDeviceModel() {
|
|
23
|
+
return DeviceInfoPlus.getDeviceModel();
|
|
24
|
+
}
|
|
25
|
+
async getDeviceBrand() {
|
|
26
|
+
return DeviceInfoPlus.getDeviceBrand();
|
|
27
|
+
}
|
|
28
|
+
async getManufacturer() {
|
|
29
|
+
return DeviceInfoPlus.getManufacturer();
|
|
30
|
+
}
|
|
31
|
+
async getSystemVersion() {
|
|
32
|
+
return DeviceInfoPlus.getSystemVersion();
|
|
33
|
+
}
|
|
34
|
+
async getUniqueId() {
|
|
35
|
+
return DeviceInfoPlus.getUniqueId();
|
|
36
|
+
}
|
|
37
|
+
async getDeviceName() {
|
|
38
|
+
return DeviceInfoPlus.getDeviceName();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// 网络状态
|
|
42
|
+
async getNetworkType() {
|
|
43
|
+
return DeviceInfoPlus.getNetworkType();
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// 电池信息
|
|
47
|
+
async getBatteryLevel() {
|
|
48
|
+
return DeviceInfoPlus.getBatteryLevel();
|
|
49
|
+
}
|
|
50
|
+
async isBatteryCharging() {
|
|
51
|
+
return DeviceInfoPlus.isBatteryCharging();
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 存储信息
|
|
55
|
+
async getTotalStorage() {
|
|
56
|
+
return DeviceInfoPlus.getTotalStorage();
|
|
57
|
+
}
|
|
58
|
+
async getFreeStorage() {
|
|
59
|
+
return DeviceInfoPlus.getFreeStorage();
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// 屏幕信息
|
|
63
|
+
async getScreenInfo() {
|
|
64
|
+
return DeviceInfoPlus.getScreenInfo();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// 设备操作
|
|
68
|
+
vibrate(duration = 400) {
|
|
69
|
+
DeviceInfoPlus.vibrate(duration);
|
|
70
|
+
}
|
|
71
|
+
async setBrightness(brightness) {
|
|
72
|
+
if (brightness < 0 || brightness > 1) {
|
|
73
|
+
throw new Error('Brightness must be between 0 and 1');
|
|
74
|
+
}
|
|
75
|
+
return DeviceInfoPlus.setBrightness(brightness);
|
|
76
|
+
}
|
|
77
|
+
async getBrightness() {
|
|
78
|
+
return DeviceInfoPlus.getBrightness();
|
|
79
|
+
}
|
|
80
|
+
async setClipboard(text) {
|
|
81
|
+
return DeviceInfoPlus.setClipboard(text);
|
|
82
|
+
}
|
|
83
|
+
async getClipboard() {
|
|
84
|
+
return DeviceInfoPlus.getClipboard();
|
|
85
|
+
}
|
|
86
|
+
openSettings() {
|
|
87
|
+
DeviceInfoPlus.openSettings();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// 音量控制
|
|
91
|
+
async getVolume() {
|
|
92
|
+
return DeviceInfoPlus.getVolume();
|
|
93
|
+
}
|
|
94
|
+
async setVolume(volume) {
|
|
95
|
+
if (volume < 0 || volume > 1) {
|
|
96
|
+
throw new Error('Volume must be between 0 and 1');
|
|
97
|
+
}
|
|
98
|
+
return DeviceInfoPlus.setVolume(volume);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// 传感器监听
|
|
102
|
+
addAccelerometerListener(callback, interval = 100) {
|
|
103
|
+
DeviceInfoPlus.startAccelerometer(interval);
|
|
104
|
+
const subscription = eventEmitter.addListener('onAccelerometerData', callback);
|
|
105
|
+
return {
|
|
106
|
+
remove: () => {
|
|
107
|
+
subscription.remove();
|
|
108
|
+
DeviceInfoPlus.stopAccelerometer();
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
addGyroscopeListener(callback, interval = 100) {
|
|
113
|
+
DeviceInfoPlus.startGyroscope(interval);
|
|
114
|
+
const subscription = eventEmitter.addListener('onGyroscopeData', callback);
|
|
115
|
+
return {
|
|
116
|
+
remove: () => {
|
|
117
|
+
subscription.remove();
|
|
118
|
+
DeviceInfoPlus.stopGyroscope();
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
var _default = exports.default = new DeviceInfoPlusModule();
|
|
124
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_NativeDeviceInfoPlus","_interopRequireDefault","e","__esModule","default","LINKING_ERROR","Platform","select","ios","DeviceInfoPlus","NativeDeviceInfoPlus","Proxy","get","Error","eventEmitter","NativeEventEmitter","NativeModules","DeviceInfoPlusModule","getDeviceModel","getDeviceBrand","getManufacturer","getSystemVersion","getUniqueId","getDeviceName","getNetworkType","getBatteryLevel","isBatteryCharging","getTotalStorage","getFreeStorage","getScreenInfo","vibrate","duration","setBrightness","brightness","getBrightness","setClipboard","text","getClipboard","openSettings","getVolume","setVolume","volume","addAccelerometerListener","callback","interval","startAccelerometer","subscription","addListener","remove","stopAccelerometer","addGyroscopeListener","startGyroscope","stopGyroscope","_default","exports"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"..\\..\\src","sources":["NativeDeviceInfoPlus.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AA0DlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,gBAAgB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { NativeEventEmitter, NativeModules, Platform } from 'react-native';
|
|
2
|
+
import NativeDeviceInfoPlus from './NativeDeviceInfoPlus';
|
|
3
|
+
const LINKING_ERROR = `The package 'react-native-device-info-plus' doesn't seem to be linked. Make sure: \n\n` + Platform.select({
|
|
4
|
+
ios: "- Run 'pod install'\n",
|
|
5
|
+
default: ''
|
|
6
|
+
}) + '- Rebuild the app after installing the package\n' + '- If you are using Expo, run expo prebuild\n';
|
|
7
|
+
const DeviceInfoPlus = NativeDeviceInfoPlus ? NativeDeviceInfoPlus : new Proxy({}, {
|
|
8
|
+
get() {
|
|
9
|
+
throw new Error(LINKING_ERROR);
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
const eventEmitter = new NativeEventEmitter(NativeModules.DeviceInfoPlus);
|
|
13
|
+
class DeviceInfoPlusModule {
|
|
14
|
+
// 设备信息
|
|
15
|
+
async getDeviceModel() {
|
|
16
|
+
return DeviceInfoPlus.getDeviceModel();
|
|
17
|
+
}
|
|
18
|
+
async getDeviceBrand() {
|
|
19
|
+
return DeviceInfoPlus.getDeviceBrand();
|
|
20
|
+
}
|
|
21
|
+
async getManufacturer() {
|
|
22
|
+
return DeviceInfoPlus.getManufacturer();
|
|
23
|
+
}
|
|
24
|
+
async getSystemVersion() {
|
|
25
|
+
return DeviceInfoPlus.getSystemVersion();
|
|
26
|
+
}
|
|
27
|
+
async getUniqueId() {
|
|
28
|
+
return DeviceInfoPlus.getUniqueId();
|
|
29
|
+
}
|
|
30
|
+
async getDeviceName() {
|
|
31
|
+
return DeviceInfoPlus.getDeviceName();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// 网络状态
|
|
35
|
+
async getNetworkType() {
|
|
36
|
+
return DeviceInfoPlus.getNetworkType();
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// 电池信息
|
|
40
|
+
async getBatteryLevel() {
|
|
41
|
+
return DeviceInfoPlus.getBatteryLevel();
|
|
42
|
+
}
|
|
43
|
+
async isBatteryCharging() {
|
|
44
|
+
return DeviceInfoPlus.isBatteryCharging();
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 存储信息
|
|
48
|
+
async getTotalStorage() {
|
|
49
|
+
return DeviceInfoPlus.getTotalStorage();
|
|
50
|
+
}
|
|
51
|
+
async getFreeStorage() {
|
|
52
|
+
return DeviceInfoPlus.getFreeStorage();
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// 屏幕信息
|
|
56
|
+
async getScreenInfo() {
|
|
57
|
+
return DeviceInfoPlus.getScreenInfo();
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// 设备操作
|
|
61
|
+
vibrate(duration = 400) {
|
|
62
|
+
DeviceInfoPlus.vibrate(duration);
|
|
63
|
+
}
|
|
64
|
+
async setBrightness(brightness) {
|
|
65
|
+
if (brightness < 0 || brightness > 1) {
|
|
66
|
+
throw new Error('Brightness must be between 0 and 1');
|
|
67
|
+
}
|
|
68
|
+
return DeviceInfoPlus.setBrightness(brightness);
|
|
69
|
+
}
|
|
70
|
+
async getBrightness() {
|
|
71
|
+
return DeviceInfoPlus.getBrightness();
|
|
72
|
+
}
|
|
73
|
+
async setClipboard(text) {
|
|
74
|
+
return DeviceInfoPlus.setClipboard(text);
|
|
75
|
+
}
|
|
76
|
+
async getClipboard() {
|
|
77
|
+
return DeviceInfoPlus.getClipboard();
|
|
78
|
+
}
|
|
79
|
+
openSettings() {
|
|
80
|
+
DeviceInfoPlus.openSettings();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// 音量控制
|
|
84
|
+
async getVolume() {
|
|
85
|
+
return DeviceInfoPlus.getVolume();
|
|
86
|
+
}
|
|
87
|
+
async setVolume(volume) {
|
|
88
|
+
if (volume < 0 || volume > 1) {
|
|
89
|
+
throw new Error('Volume must be between 0 and 1');
|
|
90
|
+
}
|
|
91
|
+
return DeviceInfoPlus.setVolume(volume);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// 传感器监听
|
|
95
|
+
addAccelerometerListener(callback, interval = 100) {
|
|
96
|
+
DeviceInfoPlus.startAccelerometer(interval);
|
|
97
|
+
const subscription = eventEmitter.addListener('onAccelerometerData', callback);
|
|
98
|
+
return {
|
|
99
|
+
remove: () => {
|
|
100
|
+
subscription.remove();
|
|
101
|
+
DeviceInfoPlus.stopAccelerometer();
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
addGyroscopeListener(callback, interval = 100) {
|
|
106
|
+
DeviceInfoPlus.startGyroscope(interval);
|
|
107
|
+
const subscription = eventEmitter.addListener('onGyroscopeData', callback);
|
|
108
|
+
return {
|
|
109
|
+
remove: () => {
|
|
110
|
+
subscription.remove();
|
|
111
|
+
DeviceInfoPlus.stopGyroscope();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
export default new DeviceInfoPlusModule();
|
|
117
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","NativeDeviceInfoPlus","LINKING_ERROR","select","ios","default","DeviceInfoPlus","Proxy","get","Error","eventEmitter","DeviceInfoPlusModule","getDeviceModel","getDeviceBrand","getManufacturer","getSystemVersion","getUniqueId","getDeviceName","getNetworkType","getBatteryLevel","isBatteryCharging","getTotalStorage","getFreeStorage","getScreenInfo","vibrate","duration","setBrightness","brightness","getBrightness","setClipboard","text","getClipboard","openSettings","getVolume","setVolume","volume","addAccelerometerListener","callback","interval","startAccelerometer","subscription","addListener","remove","stopAccelerometer","addGyroscopeListener","startGyroscope","stopGyroscope"],"sourceRoot":"..\\..\\src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
export interface ScreenInfo {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
scale: number;
|
|
6
|
+
fontScale: number;
|
|
7
|
+
}
|
|
8
|
+
export interface SensorData {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
z: number;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
}
|
|
14
|
+
export interface Spec extends TurboModule {
|
|
15
|
+
getDeviceModel(): Promise<string>;
|
|
16
|
+
getDeviceBrand(): Promise<string>;
|
|
17
|
+
getManufacturer(): Promise<string>;
|
|
18
|
+
getSystemVersion(): Promise<string>;
|
|
19
|
+
getUniqueId(): Promise<string>;
|
|
20
|
+
getDeviceName(): Promise<string>;
|
|
21
|
+
getNetworkType(): Promise<string>;
|
|
22
|
+
getBatteryLevel(): Promise<number>;
|
|
23
|
+
isBatteryCharging(): Promise<boolean>;
|
|
24
|
+
getTotalStorage(): Promise<number>;
|
|
25
|
+
getFreeStorage(): Promise<number>;
|
|
26
|
+
getScreenInfo(): Promise<ScreenInfo>;
|
|
27
|
+
vibrate(duration: number): void;
|
|
28
|
+
setBrightness(brightness: number): Promise<void>;
|
|
29
|
+
getBrightness(): Promise<number>;
|
|
30
|
+
setClipboard(text: string): Promise<void>;
|
|
31
|
+
getClipboard(): Promise<string>;
|
|
32
|
+
openSettings(): void;
|
|
33
|
+
getVolume(): Promise<number>;
|
|
34
|
+
setVolume(volume: number): Promise<void>;
|
|
35
|
+
startAccelerometer(interval: number): void;
|
|
36
|
+
stopAccelerometer(): void;
|
|
37
|
+
startGyroscope(interval: number): void;
|
|
38
|
+
stopGyroscope(): void;
|
|
39
|
+
}
|
|
40
|
+
declare const _default: Spec;
|
|
41
|
+
export default _default;
|
|
42
|
+
//# sourceMappingURL=NativeDeviceInfoPlus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeDeviceInfoPlus.d.ts","sourceRoot":"","sources":["../../src/NativeDeviceInfoPlus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/B,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAGjC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAGlC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAGtC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACnC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAGlC,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAGrC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,IAAI,IAAI,CAAC;IAGrB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,iBAAiB,IAAI,IAAI,CAAC;IAC1B,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,IAAI,IAAI,CAAC;CACvB;;AAED,wBAAwE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ScreenInfo, SensorData } from './NativeDeviceInfoPlus';
|
|
2
|
+
export type { ScreenInfo, SensorData };
|
|
3
|
+
export interface AccelerometerSubscription {
|
|
4
|
+
remove: () => void;
|
|
5
|
+
}
|
|
6
|
+
export interface GyroscopeSubscription {
|
|
7
|
+
remove: () => void;
|
|
8
|
+
}
|
|
9
|
+
declare class DeviceInfoPlusModule {
|
|
10
|
+
getDeviceModel(): Promise<string>;
|
|
11
|
+
getDeviceBrand(): Promise<string>;
|
|
12
|
+
getManufacturer(): Promise<string>;
|
|
13
|
+
getSystemVersion(): Promise<string>;
|
|
14
|
+
getUniqueId(): Promise<string>;
|
|
15
|
+
getDeviceName(): Promise<string>;
|
|
16
|
+
getNetworkType(): Promise<string>;
|
|
17
|
+
getBatteryLevel(): Promise<number>;
|
|
18
|
+
isBatteryCharging(): Promise<boolean>;
|
|
19
|
+
getTotalStorage(): Promise<number>;
|
|
20
|
+
getFreeStorage(): Promise<number>;
|
|
21
|
+
getScreenInfo(): Promise<ScreenInfo>;
|
|
22
|
+
vibrate(duration?: number): void;
|
|
23
|
+
setBrightness(brightness: number): Promise<void>;
|
|
24
|
+
getBrightness(): Promise<number>;
|
|
25
|
+
setClipboard(text: string): Promise<void>;
|
|
26
|
+
getClipboard(): Promise<string>;
|
|
27
|
+
openSettings(): void;
|
|
28
|
+
getVolume(): Promise<number>;
|
|
29
|
+
setVolume(volume: number): Promise<void>;
|
|
30
|
+
addAccelerometerListener(callback: (data: SensorData) => void, interval?: number): AccelerometerSubscription;
|
|
31
|
+
addGyroscopeListener(callback: (data: SensorData) => void, interval?: number): GyroscopeSubscription;
|
|
32
|
+
}
|
|
33
|
+
declare const _default: DeviceInfoPlusModule;
|
|
34
|
+
export default _default;
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|