浏览代码

IPU标准版:整理系统&设备类插件

liufl5 3 年之前
父节点
当前提交
bb40a00b52

+ 30 - 36
IPUMobileFunc/IPUMobileFunc/IPUBasicPlugin.h

@ -12,97 +12,91 @@
12 12
13 13
/**
14 14
 发送短信
15
16 15
 @param param ["电话号码", "短信内容"]
17 16
 */
18 17
- (void)sms:(NSArray *)param;
19 18
20 19
/**
21 20
 拨打电话
22
23 21
 @param param ["电话号码"]
24 22
 */
25 23
- (void)call:(NSArray *)param;
26 24
27 25
/**
28
 响铃
26
 打开邮箱,供外部接口(JS)调用
27
 */
28
- (void)email:(NSArray *)param;
29 29
30
/**
31
 响铃
30 32
 @param param soundID: ["1007"], 可为空, 参考http://iphonedevwiki.net/index.php/AudioServices
31 33
 */
32 34
- (void)beep:(NSArray *)param;
33 35
34 36
/**
35 37
 震动
36
37
 @param param <#param description#>
38 38
 */
39 39
- (void)shock:(NSArray *)param;
40 40
41 41
/**
42 42
 获取IP\MAC地址
43
44
 @param param <#param description#>
45 43
 */
46 44
- (void)getNetInfo:(NSArray *)param;
47 45
48 46
/**
49 47
 获取系统信息
50
51 48
 @param param OSVERSION  PLATFORM IMEI MODEL UUID MANUFACTURER BRAND SDKVERSION TIMEZONEID PRODUCTNAME STATUSBARHEIGHT
52 49
 */
53 50
- (void)getSysInfo:(NSArray *)param;
54 51
55 52
/**
56
 获取设备信息
53
 获取终端类型
54
 */
55
- (void)getTerminalType:(NSArray *)param;
57 56
58
 @param param <#param description#>
57
58
/**
59
 获取设备信息
59 60
 */
60 61
- (void)deviceVersion:(NSArray *)param;
61 62
63
/**
64
 获取应用版本号
65
 */
66
- (void)getAppVersion:(NSArray *)param;
67
68
/**
69
 设置状态栏颜色
70
 */
71
- (void)resetStatusBarColor:(NSArray *)param;
72
73
/**
74
 退出应用
75
 */
76
- (void)closeApp:(NSArray *)param;
62 77
63 78
/*****
64 79
 * 打开指定APP
65 80
 * param(param)  : 参数列表,其中param[0]:scheme param[1]:params param[2]:installUrl
66
 *
67 81
 * 对应JS接口: Mobile.openApp:function(appId,urlParams,installUrl,err)
68 82
 */
69 83
- (void)openApp:(NSArray *)param;
70 84
71 85
/**
72 86
 打开指定App
73
74 87
 @param param ['', '', 'ios-app-scheme', 'ios-download-url', ...]
75 88
 */
76 89
- (void)openOuterApp:(NSArray *)param;
77 90
78 91
/**
79
 获取应用版本号
80
81
 @param param <#param description#>
92
 检查是否安装了某App
93
 @param params 应用scheme,比如["ipushow://text"]
82 94
 */
83
- (void)getAppVersion:(NSArray *)param;
84
85
/**
86
 退出应用
87
88
 @param param <#param description#>
89
 */
90
- (void)closeApp:(NSArray *)param;
95
- (void)detectApps:(NSArray *)params;
91 96
92 97
/**
93
 获取终端类型
94
95
 @param param <#param description#>
96
 */
97
- (void)getTerminalType:(NSArray *)param;
98
99
/*
100
 设置状态栏颜色
98
 检查app是否被禁止显示通知
101 99
 */
102
- (void)resetStatusBarColor:(NSArray *)param;
103
104
/// 检查是否安装了某App
105
/// @param params 应用scheme,比如["ipushow://text"]
106
- (void)detectApps:(NSArray *)params;
100
- (void)isNotificationBlocked:(NSArray *)params;
107 101
108 102
@end

+ 109 - 43
IPUMobileFunc/IPUMobileFunc/IPUBasicPlugin.m

@ -22,6 +22,10 @@
22 22
23 23
@implementation IPUBasicPlugin
24 24
25
/**
26
 发送短信
27
 @param param ["电话号码", "短信内容"]
28
 */
25 29
- (void)sms:(NSArray *)param {
26 30
    NSParameterAssert(param && param.count > 1);
27 31
    
@ -33,6 +37,10 @@
33 37
    }];
34 38
}
35 39
40
/**
41
 拨打电话
42
 @param param ["电话号码"]
43
 */
36 44
- (void)call:(NSArray *)param {
37 45
    NSParameterAssert(param && param.count);
38 46
    
@ -43,6 +51,21 @@
43 51
    }];
44 52
}
45 53
54
/**
55
 打开邮箱,供外部接口(JS)调用
56
 */
57
- (void)email:(NSArray *)param {
58
    [self sendMail:param[0]];
59
}
60
- (BOOL)sendMail:(NSString *)address {
61
    BOOL re = [self openUrl:[NSString stringWithFormat:@"mailto://%@", address]];
62
    return re;
63
}
64
65
/**
66
 响铃
67
 @param param soundID: ["1007"], 可为空, 参考http://iphonedevwiki.net/index.php/AudioServices
68
 */
46 69
- (void)beep:(NSArray *)param {
47 70
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
48 71
    [basicUtil beep:(param && param.count ? [param[0] integerValue] : 0)];
@ -50,6 +73,9 @@
50 73
    [self callback:@""];
51 74
}
52 75
76
/**
77
 震动
78
 */
53 79
- (void)shock:(NSArray *)param {
54 80
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
55 81
    [basicUtil shock];
@ -57,6 +83,9 @@
57 83
    [self callback:@""];
58 84
}
59 85
86
/**
87
 获取IP\MAC地址
88
 */
60 89
- (void)getNetInfo:(NSArray *)param {
61 90
    NSParameterAssert(param && param.count);
62 91
    
@ -66,6 +95,10 @@
66 95
    (result && result.length) ? [self callback:result] : [self error:[NSString stringWithFormat:@"获取%@失败", param[0]]];
67 96
}
68 97
98
/**
99
 获取系统信息
100
 @param param OSVERSION  PLATFORM IMEI MODEL UUID MANUFACTURER BRAND SDKVERSION TIMEZONEID PRODUCTNAME STATUSBARHEIGHT
101
 */
69 102
- (void)getSysInfo:(NSArray *)param {
70 103
    NSParameterAssert(param && param.count);
71 104
    
@ -76,11 +109,63 @@
76 109
    (value && value.length) ? [self callback:value] : [self error:[NSString stringWithFormat:@"获取%@失败", key]];
77 110
}
78 111
112
/**
113
 获取终端类型
114
 */
115
- (void)getTerminalType:(NSArray *)param {
116
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
117
    NSString *terminalType = [basicUtil getTerminalType];
118
    
119
    [self callback:terminalType];
120
}
121
122
123
/**
124
 获取设备信息
125
 */
79 126
- (void)deviceVersion:(NSArray *)param {
80 127
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
81 128
    [self callback:[basicUtil deviceInfo]];
82 129
}
83 130
131
/**
132
 获取应用版本号
133
 */
134
- (void)getAppVersion:(NSArray *)param {
135
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
136
    NSString *version = [basicUtil getAppVersion];
137
    
138
    [self callback:version];
139
}
140
141
/**
142
 设置状态栏颜色
143
 */
144
- (void)resetStatusBarColor:(NSArray *)param {
145
    IPUViewController *vc = (IPUViewController *)[self getViewController];
146
    NSString *colorStr = nil;
147
    if (param && param.count>0 && param[0]!=[NSNull null]) {
148
        colorStr = param[0];
149
    }
150
    UIColor *color = [IPUCommonTool convertHexToColor:colorStr];
151
    [vc setStatusBarColor:color];
152
}
153
154
/**
155
 退出应用
156
 */
157
- (void)closeApp:(NSArray *)param {
158
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
159
    [basicUtil closeApp];
160
    
161
    [self callback:@""];
162
}
163
164
/*****
165
 * 打开指定APP
166
 * param(param)  : 参数列表,其中param[0]:scheme param[1]:params param[2]:installUrl
167
 * 对应JS接口: Mobile.openApp:function(appId,urlParams,installUrl,err)
168
 */
84 169
- (void)openApp:(NSArray *)param {
85 170
    NSParameterAssert(param && param.count);
86 171
    
@ -107,6 +192,10 @@
107 192
    }];
108 193
}
109 194
195
/**
196
 打开指定App
197
 @param param ['', '', 'ios-app-scheme', 'ios-download-url', ...]
198
 */
110 199
- (void)openOuterApp:(NSArray *)param {
111 200
    NSString *appScheme = nil;
112 201
    NSString *appDownload = nil;
@ -125,28 +214,27 @@
125 214
    }
126 215
}
127 216
128
- (void)getAppVersion:(NSArray *)param {
129
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
130
    NSString *version = [basicUtil getAppVersion];
131
    
132
    [self callback:version];
133
}
134
135
- (void)closeApp:(NSArray *)param {
136
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
137
    [basicUtil closeApp];
217
/**
218
 检查是否安装了某App
219
 @param params 应用scheme,比如["ipushow://text"]
220
 */
221
- (void)detectApps:(NSArray *)params {
222
    if (!params || !params.count) {
223
        [self error:@"参数缺失"];
224
        return;
225
    }
138 226
    
139
    [self callback:@""];
140
}
141
142
143
- (void)getTerminalType:(NSArray *)param {
144
    IPUBasicUtil *basicUtil = [[IPUBasicUtil alloc] init];
145
    NSString *terminalType = [basicUtil getTerminalType];
227
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:params[0]]]) {
228
        [self callback:@"0"];
229
        return;
230
    }
146 231
    
147
    [self callback:terminalType];
232
    [self callback:@"1"];
148 233
}
149 234
235
/**
236
 检查app是否被禁止显示通知
237
 */
150 238
- (void)isNotificationBlocked:(NSArray *)params {
151 239
    if (@available(iOS 10.0, *)) {
152 240
        dispatch_semaphore_t signal = dispatch_semaphore_create(0);
@ -171,31 +259,9 @@
171 259
    }
172 260
}
173 261
174
/*
175
 设置状态栏颜色
176
 */
177
- (void)resetStatusBarColor:(NSArray *)param {
178
    IPUViewController *vc = (IPUViewController *)[self getViewController];
179
    NSString *colorStr = nil;
180
    if (param && param.count>0 && param[0]!=[NSNull null]) {
181
        colorStr = param[0];
182
    }
183
    UIColor *color = [IPUCommonTool convertHexToColor:colorStr];
184
    [vc setStatusBarColor:color];
185
}
186 262
187
- (void)detectApps:(NSArray *)params {
188
    if (!params || !params.count) {
189
        [self error:@"参数缺失"];
190
        return;
191
    }
192
    
193
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:params[0]]]) {
194
        [self callback:@"0"];
195
        return;
196
    }
197
    
198
    [self callback:@"1"];
199
}
263
264
265
200 266
201 267
@end

+ 1 - 1
display-center/Res/config/mobile-action.xml

@ -5,7 +5,6 @@
5 5
    <action name="beep"  class="IPUBasicPlugin" method="beep"/>
6 6
    <action name="shock" class="IPUBasicPlugin" method="shock"/>
7 7
    <action name="email" class="IPUBasicPlugin" method="email"/>
8
9 8
    <action name="detectApps"    class=@"IPUBasicPlugin" method="detectApps"/>
10 9
    <action name="getNetInfo"    class="IPUBasicPlugin" method="getNetInfo"/>
11 10
    <action name="getSysInfo"    class="IPUBasicPlugin" method="getSysInfo"/>
@ -16,6 +15,7 @@
16 15
    <action name="closeApp"      class="IPUBasicPlugin" method="closeApp"/>
17 16
    <action name="setStatusBarColor" class="IPUBasicPlugin" method="resetStatusBarColor"/>
18 17
    <action name="getTerminalType"   class="IPUBasicPlugin" method="getTerminalType"/>
18
    <action name="isNotificationBlocked"   class="IPUBasicPlugin" method="isNotificationBlocked"/>
19 19
    
20 20
    <action name="getDate"      class="IPUMobileUIPlugin" method="date"/>
21 21
    <action name="tip"          class="IPUMobileUIPlugin" method="tip"/>

二进制
display-center/display-center.xcodeproj/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate