deeke-script-app 1.8.7 → 1.8.9
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/@deekeScript/@type/interface/Device.d.ts +17 -0
- package/@deekeScript/@type/interface/DeviceApp.d.ts +97 -0
- package/@deekeScript/@type/interface/DeviceHardware.d.ts +36 -0
- package/@deekeScript/@type/interface/DeviceKiosk.d.ts +30 -0
- package/@deekeScript/@type/interface/DevicePolicy.d.ts +27 -0
- package/@deekeScript/@type/interface/FloatDialogs.d.ts +24 -0
- package/@deekeScript/@type/interface/KeyBoards.d.ts +9 -0
- package/deekeScript.json +20 -0
- package/deekeScript.schema.json +7 -0
- package/package.json +1 -1
|
@@ -246,6 +246,23 @@ interface Device {
|
|
|
246
246
|
* @returns 导航栏高度(像素),如果隐藏或获取失败返回0
|
|
247
247
|
*/
|
|
248
248
|
public getNavigationBarHeight(): number;
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* 获取所有已安装应用的包名列表
|
|
252
|
+
* @returns 应用包名数组
|
|
253
|
+
*/
|
|
254
|
+
public getInstalledPackages(): string[];
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* 获取所有已安装应用的详细信息列表
|
|
258
|
+
* @returns 应用信息数组,每个元素包含应用信息对象(packageName, appName, versionName, versionCode等)
|
|
259
|
+
*/
|
|
260
|
+
public getInstalledApplications(): Array<{
|
|
261
|
+
packageName: string;
|
|
262
|
+
appName: string;
|
|
263
|
+
versionName: string;
|
|
264
|
+
versionCode: number;
|
|
265
|
+
}>;
|
|
249
266
|
}
|
|
250
267
|
|
|
251
268
|
export { };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var DeviceApp: DeviceApp;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
interface DeviceApp {
|
|
6
|
+
/**
|
|
7
|
+
* 权限策略常量 - 提示用户
|
|
8
|
+
*/
|
|
9
|
+
PERMISSION_POLICY_PROMPT: number;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* 权限策略常量 - 自动授予
|
|
13
|
+
*/
|
|
14
|
+
PERMISSION_POLICY_AUTO_GRANT: number;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 权限策略常量 - 自动拒绝
|
|
18
|
+
*/
|
|
19
|
+
PERMISSION_POLICY_AUTO_DENY: number;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 权限授予状态常量 - 默认状态
|
|
23
|
+
*/
|
|
24
|
+
PERMISSION_GRANT_STATE_DEFAULT: number;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* 权限授予状态常量 - 已拒绝
|
|
28
|
+
*/
|
|
29
|
+
PERMISSION_GRANT_STATE_DENIED: number;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* 权限授予状态常量 - 已授予
|
|
33
|
+
*/
|
|
34
|
+
PERMISSION_GRANT_STATE_GRANTED: number;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 静默安装应用
|
|
38
|
+
* 需要Device Owner权限
|
|
39
|
+
* @param packageUri 应用安装包URI(文件路径),例如 "file:///sdcard/app.apk" 或 "/sdcard/app.apk"
|
|
40
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
41
|
+
*/
|
|
42
|
+
installPackage(packageUri: string): boolean;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* 静默卸载应用
|
|
46
|
+
* 需要Device Owner权限
|
|
47
|
+
* @param packageName 应用包名,例如 "com.example.app"
|
|
48
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
49
|
+
*/
|
|
50
|
+
uninstallPackage(packageName: string): boolean;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 隐藏/显示应用
|
|
54
|
+
* 隐藏的应用将从启动器中移除,但不会卸载
|
|
55
|
+
* 需要Device Owner权限
|
|
56
|
+
* @param packageName 应用包名,例如 "com.example.app"
|
|
57
|
+
* @param hidden true表示隐藏,false表示显示
|
|
58
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
59
|
+
*/
|
|
60
|
+
setApplicationHidden(packageName: string, hidden: boolean): boolean;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* 检查应用是否隐藏
|
|
64
|
+
* 需要Device Owner权限
|
|
65
|
+
* @param packageName 应用包名,例如 "com.example.app"
|
|
66
|
+
* @returns true表示应用已隐藏,false表示应用未隐藏或查询失败
|
|
67
|
+
*/
|
|
68
|
+
isApplicationHidden(packageName: string): boolean;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* 设置应用权限策略
|
|
72
|
+
* 需要Device Owner权限
|
|
73
|
+
* @param policy 权限策略,使用常量:PERMISSION_POLICY_PROMPT (0) - 提示用户,PERMISSION_POLICY_AUTO_GRANT (1) - 自动授予,PERMISSION_POLICY_AUTO_DENY (2) - 自动拒绝
|
|
74
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
75
|
+
*/
|
|
76
|
+
setPermissionPolicy(policy: number): boolean;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 授予运行时权限
|
|
80
|
+
* 需要Device Owner权限
|
|
81
|
+
* @param packageName 应用包名,例如 "com.example.app"
|
|
82
|
+
* @param permission 权限名称,例如 "android.permission.CAMERA"
|
|
83
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
84
|
+
*/
|
|
85
|
+
grantRuntimePermission(packageName: string, permission: string): boolean;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* 检查权限是否已授予
|
|
89
|
+
* 需要Device Owner权限
|
|
90
|
+
* @param packageName 应用包名,例如 "com.example.app"
|
|
91
|
+
* @param permission 权限名称,例如 "android.permission.CAMERA"
|
|
92
|
+
* @returns true表示权限已授予,false表示权限未授予或查询失败
|
|
93
|
+
*/
|
|
94
|
+
isPermissionGranted(packageName: string, permission: string): boolean;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var DeviceHardware: DeviceHardware;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
interface DeviceHardware {
|
|
6
|
+
/**
|
|
7
|
+
* 禁用/启用截屏功能
|
|
8
|
+
* 禁用后,用户无法通过系统快捷键截屏
|
|
9
|
+
* 需要Device Owner权限
|
|
10
|
+
* API级别要求:API 28 (Android 9.0) 及以上
|
|
11
|
+
* @param disabled true表示禁用截屏,false表示启用截屏
|
|
12
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
13
|
+
*/
|
|
14
|
+
setScreenCaptureDisabled(disabled: boolean): boolean;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* 禁用/启用锁屏界面
|
|
18
|
+
* 禁用后,设备将不会显示锁屏界面(但可能仍需要解锁)
|
|
19
|
+
* 需要Device Owner或Profile Owner权限
|
|
20
|
+
* @param disabled true表示禁用锁屏界面,false表示启用锁屏界面
|
|
21
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
22
|
+
*/
|
|
23
|
+
setKeyguardDisabled(disabled: boolean): boolean;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* 禁用/启用状态栏
|
|
27
|
+
* 禁用后,状态栏将被隐藏
|
|
28
|
+
* 需要Device Owner权限
|
|
29
|
+
* API级别要求:API 26 (Android 8.0) 及以上
|
|
30
|
+
* @param disabled true表示禁用状态栏,false表示启用状态栏
|
|
31
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
32
|
+
*/
|
|
33
|
+
setStatusBarDisabled(disabled: boolean): boolean;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var DeviceKiosk: DeviceKiosk;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
interface DeviceKiosk {
|
|
6
|
+
/**
|
|
7
|
+
* 设置锁定任务模式的应用包名列表
|
|
8
|
+
* 需要Device Owner权限
|
|
9
|
+
* 设置后,这些应用可以进入锁定任务模式(Kiosk模式)
|
|
10
|
+
* @param packages 应用包名数组
|
|
11
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
12
|
+
*/
|
|
13
|
+
setLockTaskPackages(packages: string[]): boolean;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 获取锁定任务模式的应用包名列表
|
|
17
|
+
* 需要Device Owner权限
|
|
18
|
+
* @returns 应用包名数组,如果失败返回null
|
|
19
|
+
*/
|
|
20
|
+
getLockTaskPackages(): string[] | null;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 检查锁定任务模式是否启用
|
|
24
|
+
* 注意:此方法检查的是是否配置了锁定任务应用,而不是当前是否处于锁定任务模式
|
|
25
|
+
* @returns true表示已配置锁定任务应用,false表示未配置
|
|
26
|
+
*/
|
|
27
|
+
isLockTaskModeEnabled(): boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
var DevicePolicy: DevicePolicy;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
interface DevicePolicy {
|
|
6
|
+
/**
|
|
7
|
+
* 检查当前应用是否为Device Owner
|
|
8
|
+
* @returns true表示是Device Owner,false表示不是
|
|
9
|
+
*/
|
|
10
|
+
isDeviceOwner(): boolean;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 立即锁屏/息屏
|
|
14
|
+
* 需要Device Owner权限
|
|
15
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
16
|
+
*/
|
|
17
|
+
lockNow(): boolean;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 亮屏/唤醒屏幕
|
|
21
|
+
* 需要WAKE_LOCK权限(在AndroidManifest.xml中声明)
|
|
22
|
+
* @returns 是否成功,true表示成功,false表示失败
|
|
23
|
+
*/
|
|
24
|
+
wakeScreen(): boolean;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export {};
|
|
@@ -42,6 +42,30 @@ interface FloatDialogs {
|
|
|
42
42
|
* @param visible 是否显示
|
|
43
43
|
*/
|
|
44
44
|
public setFloatWindowVisible(visible: boolean): void;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* 显示确认对话框,支持动态修改内容和回调函数
|
|
48
|
+
* 此方法会阻塞当前线程,直到用户点击按钮或回调函数返回true
|
|
49
|
+
* 注意:此方法需要在初始化FloatDialogs时传入scope参数才能使用
|
|
50
|
+
* @param title 弹窗标题
|
|
51
|
+
* @param content 弹窗内容
|
|
52
|
+
* @param confirmText 确定按钮文字
|
|
53
|
+
* @param cancelText 取消按钮文字
|
|
54
|
+
* @param callback 回调函数,接收一个dialog对象作为参数,可以通过dialog.setContent()动态修改弹窗内容。如果回调函数返回true,则自动关闭对话框;返回false或不返回值,则继续等待用户点击按钮
|
|
55
|
+
* @returns 如果用户点击了确定按钮返回true,点击了取消按钮返回false
|
|
56
|
+
*/
|
|
57
|
+
public confirm(title: string, content: string, confirmText: string, cancelText: string, callback: (dialog: FloatDialog) => boolean | void): boolean;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* FloatDialog 接口,用于管理对话框状态
|
|
62
|
+
*/
|
|
63
|
+
interface FloatDialog {
|
|
64
|
+
/**
|
|
65
|
+
* 设置对话框内容
|
|
66
|
+
* @param content 对话框内容
|
|
67
|
+
*/
|
|
68
|
+
setContent(content: string): void;
|
|
45
69
|
}
|
|
46
70
|
|
|
47
71
|
export { };
|
|
@@ -49,6 +49,15 @@ interface KeyBoards {
|
|
|
49
49
|
* 发送空格键
|
|
50
50
|
*/
|
|
51
51
|
public pressSpace(): boolean;
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* 智能方法:根据当前状态自动跳转到合适的页面
|
|
55
|
+
* - 如果已经是默认输入法,返回 true
|
|
56
|
+
* - 如果未启用,跳转到启用页面(用户需要先启用)
|
|
57
|
+
* - 如果已启用但未设为默认,弹出输入法选择界面(用户可以选择为默认)
|
|
58
|
+
* @returns 返回当前输入法是否已设为默认(true表示已是默认,false表示需要用户操作)
|
|
59
|
+
*/
|
|
60
|
+
public showInputMethodPicker(): boolean;
|
|
52
61
|
}
|
|
53
62
|
|
|
54
63
|
export { };
|
package/deekeScript.json
CHANGED
|
@@ -119,6 +119,26 @@
|
|
|
119
119
|
"step": 1,
|
|
120
120
|
"value": 60
|
|
121
121
|
},
|
|
122
|
+
{
|
|
123
|
+
"type": "switch",
|
|
124
|
+
"value": true,
|
|
125
|
+
"name": "switch",
|
|
126
|
+
"label": "开启后,子表单也开启",
|
|
127
|
+
"childrenParams": [
|
|
128
|
+
{
|
|
129
|
+
"type": "text",
|
|
130
|
+
"label": "子表单1",
|
|
131
|
+
"name": "child_text1",
|
|
132
|
+
"value": ""
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"type": "number",
|
|
136
|
+
"label": "子表单2",
|
|
137
|
+
"name": "child_number1",
|
|
138
|
+
"value": 0
|
|
139
|
+
}
|
|
140
|
+
]
|
|
141
|
+
},
|
|
122
142
|
{
|
|
123
143
|
"type": "checkboxGroup",
|
|
124
144
|
"label": "运行时间",
|
package/deekeScript.schema.json
CHANGED
|
@@ -607,6 +607,13 @@
|
|
|
607
607
|
"type": "boolean",
|
|
608
608
|
"description": "是否隐藏",
|
|
609
609
|
"default": false
|
|
610
|
+
},
|
|
611
|
+
"childrenParams": {
|
|
612
|
+
"type": "array",
|
|
613
|
+
"description": "子表单参数列表(仅在 switch 类型下使用,当 switch 开启时显示)",
|
|
614
|
+
"items": {
|
|
615
|
+
"$ref": "#/definitions/param"
|
|
616
|
+
}
|
|
610
617
|
}
|
|
611
618
|
}
|
|
612
619
|
},
|