Skip to content

Commit 5548703

Browse files
🔄 Sync from private repository - 2026-02-04 14:24:16
1 parent df5e962 commit 5548703

4 files changed

Lines changed: 7 additions & 125 deletions

File tree

TrollScript-Private

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Subproject commit afbfa06de792cbe625301d228f79a50a35ba0c74
1+
Subproject commit ef4c41193458c61c94e229846c8507364279b489

npm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@dompling/trollscript-types",
3-
"version": "1.0.49",
3+
"version": "1.0.50",
44
"description": "TypeScript definitions for TrollScript",
55
"main": "",
66
"types": "index.d.ts",

templates/API/SMS.md

Lines changed: 0 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,6 @@ SMS 模块提供了短信读取和管理功能。你可以使用它来读取短
1111
## 快速开始
1212

1313
```javascript
14-
// 检查数据访问权限
15-
const access = sms.checkAccess();
16-
console.log('访问状态:', access);
17-
18-
// 检查是否为真实数据
19-
if (sms.isRealDataAvailable()) {
20-
console.log('可以访问真实短信数据');
21-
} else {
22-
console.log('当前使用模拟数据');
23-
}
24-
2514
// 读取最近的短信
2615
const messages = sms.read(20);
2716
messages.forEach(msg => {
@@ -40,51 +29,6 @@ if (code) {
4029

4130
## API 参考
4231

43-
### 权限管理
44-
45-
#### `sms.checkAccess()`
46-
检查短信访问权限。**返回:** `'available'` | `'needsCopy'` | `'unavailable'`
47-
48-
**返回值说明:**
49-
- `'available'` - 可以访问真实数据
50-
- `'needsCopy'` - 需要复制数据库文件(需要 Root Helper)
51-
- `'unavailable'` - 无法访问,将使用模拟数据
52-
53-
```javascript
54-
const status = sms.checkAccess();
55-
if (status === 'available') {
56-
console.log('可以直接访问短信');
57-
} else if (status === 'needsCopy') {
58-
console.log('需要复制数据库');
59-
sms.tryAccess();
60-
}
61-
```
62-
63-
#### `sms.tryAccess()`
64-
尝试获取短信访问权限(通过 Root Helper 复制数据库)。**返回:** `boolean`
65-
66-
```javascript
67-
if (sms.checkAccess() === 'needsCopy') {
68-
const success = sms.tryAccess();
69-
if (success) {
70-
console.log('访问权限获取成功');
71-
}
72-
}
73-
```
74-
75-
#### `sms.isRealDataAvailable()`
76-
检查当前是否使用真实数据。**返回:** `boolean`
77-
78-
```javascript
79-
if (sms.isRealDataAvailable()) {
80-
console.log('正在使用真实短信数据');
81-
} else {
82-
console.log('正在使用模拟数据(用于测试)');
83-
}
84-
```
85-
86-
---
87-
8832
### 读取短信
8933

9034
#### `sms.read(limit?)`
@@ -437,59 +381,6 @@ exportChat('10086');
437381

438382
---
439383

440-
## 最佳实践
441-
442-
### 1. 检查数据可用性
443-
444-
```javascript
445-
// ✅ 正确
446-
if (sms.isRealDataAvailable()) {
447-
const messages = sms.read();
448-
processMessages(messages);
449-
} else {
450-
console.log('当前使用模拟数据');
451-
}
452-
453-
// ❌ 错误 - 不检查
454-
const messages = sms.read(); // 可能是模拟数据
455-
```
456-
457-
### 2. 处理权限问题
458-
459-
```javascript
460-
// ✅ 正确
461-
const access = sms.checkAccess();
462-
if (access === 'needsCopy') {
463-
if (sms.helperAvailable()) {
464-
sms.tryAccess();
465-
} else {
466-
console.log('需要 Root 权限');
467-
}
468-
}
469-
```
470-
471-
### 3. 限制读取数量
472-
473-
```javascript
474-
// ✅ 正确 - 限制数量
475-
const recent = sms.read(100);
476-
477-
// ❌ 错误 - 读取所有(可能很慢)
478-
const all = sms.read(999999);
479-
```
480-
481-
### 4. 验证码时效性
482-
483-
```javascript
484-
// ✅ 正确 - 指定时间范围
485-
const code = sms.getVerificationCode(60); // 最近 60 秒
486-
487-
// ❌ 错误 - 可能获取到旧验证码
488-
const code = sms.getVerificationCode(3600);
489-
```
490-
491-
---
492-
493384
## 注意事项
494385

495386
1. **Root 权限**: 读取真实短信需要 TrollStore 环境和 Root Helper

templates/TestScripts/test_sms.js

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,12 @@ async function run() {
1414
return;
1515
}
1616

17-
// Note: SMS reading often requires root/special entitlements/TrollStore
18-
const access = sms.checkAccess();
19-
console.log("SMS Access:", access);
20-
21-
if (access || sms.tryAccess()) {
22-
const msgs = sms.read(5);
23-
console.log("Recent SMS:", JSON.stringify(msgs));
24-
assert(Array.isArray(msgs), "read() returns array");
25-
26-
const stats = sms.getStatistics();
27-
console.log("SMS Stats:", JSON.stringify(stats));
28-
} else {
29-
console.warn("SMS Access unavailable");
30-
}
17+
const msgs = sms.read(5);
18+
console.log("Recent SMS:", JSON.stringify(msgs));
19+
assert(Array.isArray(msgs), "read() returns array");
3120

21+
const stats = sms.getStatistics();
22+
console.log("SMS Stats:", JSON.stringify(stats));
3223
console.log("--- SMS Module Test Finished ---");
3324
}
3425

0 commit comments

Comments
 (0)