# Auto.js
**Repository Path**: Suendanny/auto
## Basic Information
- **Project Name**: Auto.js
- **Description**: Tmd_1.1.js For Auto.js
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 5
- **Created**: 2020-09-12
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## Tmd_1.1.js
### 说明:
原 `vfcode` 改为 `Tmd.js` ,返回值处理核心改为正则匹配,忽略各个接码平台的返回值类型,一律按照 String 处理,优化配置项参数,去除自定义匹配函数配置项,增加扩展项。
*注:目前只迁移了个别平台到 `Tmd_1.1.js`,如需接入其他平台,请在 Issues 中发起并说明平台地址等一些必要信息*
### 使用:
如何正确的引用模块文件:
**本地引用:**
```js
eval('/sdcard/脚本目录/TheHot/Tmd_1.0.js'); // 路径自行设置,请在脚本头部引用模块
```
**远程引用:**
```js
eval(http.get('https://gitee.com/thehot_admin/auto/raw/master/TModule/Tmd_1.1.js').body.string()); // 请在脚本头部引用模块
```
### 1. Tmd()
说明:模块类,每次调用需要实例化对象,可以多次实例化模块类以同时获取多平台号码
语法如下:
```js
var obj = new Tmd();
```
| 参数 | 说明 |
| ----- | ------------------------------------------------------------ |
| debug | true/false,默认关闭调试功能,开启后会在控制台输出每次请求的 URL 和 返回值 |
例如:
```js
var obj = new Tmd(true); // 实例化对象并开启调试
```
### 2. 初始化函数
语法如下:
> ```js
> obj.init(pt, user, pwd, item [, vno] [,phoneType]);
> ```
| 参数 | 说明 |
| --------- | --------------------------------------------------------- |
| pt | 平台【必填】 |
| user | 用户名【必填】 |
| pwd | 密码【必填】 |
| item | 项目ID【必填】 |
| vno | 虚拟号设置:0为虚拟号,1为排除虚拟号,为空则随机【选填】 |
| phoneType | 运营商设置:0为移动,1为联通,2为电信,为空则随机【选填】 |
例一:
```js
var api = new Tmd();
// 随机虚拟号和运营商
api.init("yingtaoyun", "user", "password", "100");
```
例二:
```js
var api = new Tmd();
// 取联通号段的虚拟号
api.init("yingtaoyun", "user", "password", "100", 0, 1)
```
### 3. 获取手机号
语法如下:
> ```js
> var phone = api.getPhone([phone]);
> ```
例一:获取新号码
```js
var new_phone = api.getPhone();
```
例二:获取指定号码
```js
var new_phone = api.getPhone();
var old_phone = api.getPhone(new_phone);
```
### 4. 获取验证码
语法如下:
> ```js
> var code = api.getCode(phone [,timeout] [,regx]);
> ```
| 参数 | 说明 |
| ------- | --------------------------------------------------- |
| phone | 传入需要接码的手机号【必填】 |
| timeout | 获取超时时间,默认为30秒【选填】 |
| regx | 正则表达式,默认匹配 4-8 位数字 `/\d{4,8}/`【选填】 |
例一:
```js
var phone = api.getPhone();
// 获取 phone 号码的验证信息,默认超时时间为 30 秒,匹配 4-8 位数字验证码
var code = api.getCode(phone);
```
例二:
```js
var phone = api.getPhone();
// 获取 phone 号码的验证信息,超时时间为 10 秒,匹配 4 位数字验证码
var code = api.getCode(phone,10,/\d{4}/);
```
### 5. 释放手机号
语法如下:
> ```js
> var res = recPhone(phone);
> ```
说明:没有格式化的返回值,直接返回服务请求数据 `phone` 参数为必填
### 6. 拉黑手机号
语法如下:
> ```js
> var res = adbPhone(phone);
> ```
说明:没有格式化的返回值,直接返回服务请求数据 `phone` 参数为必填
### 7. 获取账户信息
语法如下:
> ```js
> var info = api.getSummary()
> ```
说明:没有格式化的返回值,直接返回服务请求数据
### 8. 开发者配置项
以樱桃云为例:
```js
var _conf = {
yingtaoyun: {
name: "樱桃云",
method: "get", // 接口请求类型
resType: "string", // 返回值类型
url: "http://www.cherry888.top:8000/doApi/",
phone_key: "phone",
token_key: "token",
item_key: "sid",
split_key: "|", // 根据返回值类型填写
getToken: {
login_api: "loginIn",
user_key: "name",
pwd_key: "password",
ext: {author:"thehot"}, // 开发者扩展项
},
getPhone: {
getPhone_api: "getPhone",
vno: {
key: 'vno',
val: ['0', '1'] // 成员字段值分别代表:使用虚拟号、排除虚拟号
},
type: {
key: 'phoneType',
val: ['1', '2', '3'] // 成员字段值分别代表:移动、联通、电信
},
ext: {author:"thehot"}, // 开发者扩展项
},
getCode: {
getCode_api: "getMessage",
ext: {}, // 开发者扩展项
},
recPhone: {
recPhone_api: "cancelRecv"
},
adbPhone: {
adbPhone_api: "addBlacklist"
},
getSummary: {
getSummary_api: "getSummary"
}
}
}
```
**参数说明文档:**
| 属性 | 值 |
| ------------ | ------------------------------------------------------------ |
| **通用配置项** | |
| name | 无特殊含义【选填】 |
| method | 请求方式【必填】 |
| resType | 返回值类型(string、json)【必填】 |
| url | 请求接口地址【必填】 |
| phone_key | 手机号字段Key【必填】 |
| token_key | Token字段Key【必填】 |
| item_key | 项目ID字段Key【必填】 |
| split_key | 返回值分隔符【返回值为 String 时必填,JSON 选填】 |
| **获取Token值配置项(getToken)** | |
| login_api | 获取Token字段接口后缀【必填】 |
| user_key | 用户名字段Key【字段】 |
| pwd_key | 密码字段Key【字段】 |
| **获取手机号配置项(getPhone)** | |
| getPhone_api | 获取手机号接口字段【必填】 |
| vno | 虚拟号配置项【必填】
1. key 为虚拟号字段 key【必填】
2. val: ['0', '1'] // 成员字段值分别代表:使用虚拟号、排除虚拟号 |
| type | 运营商配置项【必填】
1. key 为运营商字段 key【必填】
2. val: ['1', '2', '3'] // 成员字段值分别代表:移动、联通、电信 |
| **获取验证码配置项(getCode)** | |
| getCode_api | 获取验证码接口字段【必填】 |
| **释放手机号配置项(recPhone)** | |
| recPhone_api | 释放手机号接口字段【必填】 |
| **拉黑手机号配置项(adbPhone)** | |
| adbPhone_api | 拉黑手机号字段接口【必填】 |
| **获取账户信息配置项(getSummary)** | |
| getSummary_api | 获取账户信息字段接口【必填】 |
| **开发者扩展项:** | ext: { key: "value" } |