IOS例子
# 对接步骤
## 步骤一
**例子下载地址:https://ssdun.cn/home/API/SsdunEcIOS4.4.zip**
1. 解压压缩包
2. 将**plugin**文件夹内文件复制到 **脚本项目** 的**plugin文件夹内**
3. 将js文件夹内文件复制到 **脚本项目** 的**js文件夹内**
## 步骤二
打开Ssdun.js 根据备注填写参数值
```json
const SsdunConfig = {
userKey: "",//平台(控制台)->复制UserKey
appSecret: 0 ,////平台(软件列表)->Id
aesKey: "",//平台(软件列表)->KEY文件 加密模式为AES没有则留空
rsaPath: "",//平台(软件列表)->KEY文件 加密模式为RSA没有则留空 //下载的rsa文件放在res目录内
encryptionMode: 0,//加密模式选择 0 无加密,1 AES加密 2 RSA加密
deduct: 0,//解绑扣除天数 默认值
debug: true,//是否开启调试模式
verifyHeartbeatFirst: false,//是否开启有上次心跳先退出在 验证
returnData: false,//是否返回数据自己处理
cardKey: "card",//验证卡密默认读取项 ui保存的键值得键
crackDifficulty: 3,//加密等级 3 发送加密+获取本地时间 2发送加密+获取网络时间 1明文发送 +获取网络时间
};
```
**温馨小提示**:要是软件有选择加密模式
1. AES模式 需要把 平台的Key 填到Ssdun.js文件内 变量:SsdunConfign内得aesKey:"XXXXXX",并且encryptionMode:0 改为1
2. RSA模式 需要把 下载下来的Key文件放到 **脚本项目**内的**res**文件夹内然后在Ssdun.js文件内 变量:SsdunConfign内得rsaPath:"XXXXXX.pem",并且encryptionMode:0 改为2
## 步骤三
根据实际情况调用函数
### 卡密验证(有心跳版本)
```js
SsdunStorage.putString(SsdunConfig.cardKey,"内置卡密")//ui或者其他方式
function main() {
Ssdun.一键运行卡密验证(true,3);//配置完一般调用这个就可以
//下面写上你需要运行的代码
}
```
### 卡密验证(无授权或不心跳版本)
```js
SsdunStorage.putString(SsdunConfig.cardKey,"内置卡密")//ui或者其他方式
function main() {
Ssdun.一键运行卡密验证();//配置完一般调用这个就可以
//下面写上你需要运行的代码
}
```
# 模块函数
### 读取机器码
```js
/**
*
* @param readConfig true 则优先读取第一次读取后保存在配置内的机器码
* @return {string}
*/
Ssdun.读取机器码(readConfig);
```
### 心跳线程
```js
/**
*
* @param req_interval 请求间隔 单位分,最快10分钟心跳一次 建议10分钟心跳一次.最慢不得超过60分组
* @param Type 1 网络心跳验证,2 卡密心跳验证 3 试用心跳验证
* @param RetryCount 默认一次 重试几次不成功则停止脚本
*/
Ssdun.心跳线程(req_interval, Type, RetryCount);
```
### 一键运行卡密验证
```js
/**
* @param heartbeatVerify 是否开启心跳验证
* @param RetryCount 心跳失败重试几次
*/
Ssdun.一键运行卡密验证(heartbeatVerify,RetryCount);
```
### 一键运行网络验证
```js
/**
* @param heartbeatVerify 是否开启心跳验证
* @param RetryCount 心跳失败重试几次
*/
Ssdun.一键运行网络验证(heartbeatVerify,RetryCount);
```
### 一键运行试用验证
```js
/**
* @param heartbeatVerify 是否开启心跳验证
* @param RetryCount 心跳失败重试几次
*/
Ssdun.一键运行试用验证(heartbeatVerify,RetryCount);
```
### 网络验证
```js
/**
* @appSecret 软件Id
* @return 成功返回心跳Token,失败返回false
*/
Ssdun.网络验证(appSecret);
```
### 网络心跳验证
```js
/**
* @param token 心跳Token
* @return 成功 10100,失败返回 status_code 值
*/
Ssdun.网络心跳验证(token);
```
### 网络退出心跳验证
```js
/**
* @param token 心跳Token
* @return 成功 10101,失败返回 status_code 值
*/
Ssdun.网络退出心跳验证(token);
```
### 卡密验证
```js
/**
*
* @param card 卡密
* @param machineCode 机器码
* @param appSecret 软件Id
* @return 成功返回心跳Token,失败返回false
*/
Ssdun.卡密验证(card, machineCode, appSecret);
```
### 卡密心跳验证
```js
/**
* @param token 心跳Token
* @return 成功 10100,失败返回 status_code 值
*/
Ssdun.卡密心跳验证(token);
```
### 卡密退出心跳验证
```js
/**
* @param token 心跳Token
* @return 成功 10101,失败返回 status_code 值
*/
Ssdun.卡密退出心跳验证(token);
```
### 卡密解绑
```js
/**
*
* @param password 解绑卡密密码 没有则留空
* @param deduct 扣除天数
* @param appSecret 软件Id
* @param card 卡密
* @param machineCode 机器码
* @return 成功返回 treu,失败返回 fasle
*/
Ssdun.卡密解绑(password, deduct, appSecret, card, machineCode);
```
### 充值卡密
```js
/**
*
* @param use_card 充值卡
* @param appSecret 软件Id
* @param card 卡密
* @return 成功返回 treu,失败返回 fasle
*/
Ssdun.充值卡密(use_card, appSecret, card);
```
### 试用验证
```js
/**
*
* @param appSecret 软件Id
* @param machineCode 机器码
* @return 成功返回 心跳Token,失败返回 false
*/
Ssdun.试用验证(appSecret,machineCode);
```
### 试用心跳验证
```js
/**
*
* @param appSecret 软件Id
* @param machineCode 机器码
* @return 成功返回 心跳Token,失败返回 false
*/
Ssdun.试用验证(appSecret,machineCode);
```
### 试用验证效验
```js
/**
*
* @param Token 心跳Token
* @param appSecret 软件Id
* @param machineCode 机器码
* @return 成功返回10010 失败返回 status_code 值
*/
Ssdun.试用心跳验证(Token,appSecret,machineCode);
```
### 试用心跳线程
```js
/**
*
* @Ssdun_试用心跳线程
* @param req_interval 请求间隔 单位分,最快1分钟心跳一次 建议1分钟心跳一次.
* @param Type 1 网络心跳验证,2 卡密心跳验证 3 试用心跳验证
* @param RetryCount 默认一次 重试几次不成功则停止脚本
*/
Ssdun.试用心跳线程(req_interval, Type, RetryCount);
```
### 创建远程变量
```js
/**
*
* @param name 变量昵称
* @param Var 变量内容
* @return 成功返回 变量appSecret,失败返回fasle
*/
Ssdun.创建远程变量(name, Var);
```
### 删除远程变量
```js
/**
*
* @param appSecret 变量列表的ID
* @return 成功返回 true,失败返回fasle
*/
Ssdun.删除远程变量(appSecret);
```
### 设置远程变量
```js
/**
*
* @param appSecret
* @param Var
* @return 成功返回 true,失败返回fasle
*/
Ssdun.设置远程变量(appSecret, Var);
```
### 获取远程变量
```js
/**
*
* @param appSecret 变量列表的ID
* @return 成功返回 变量内容,失败返回fasle
*/
Ssdun.获取远程变量(appSecret);
```
### 获取远程变量V5
```js
/**
*
* @param appSecret 变量列表的ID
* @param token 网络验证心跳或者卡密验证心跳 默认读取优先级 卡密心跳>网络验证心跳
* @return 成功返回 变量内容,失败返回fasle
*/
Ssdun.获取远程变量V5(appSecret,token);
```
### 运行远程函数
```js
/**
*
* @param appSecret 变量列表的ID
* @param funn_name 运行函数名与参数
* @param parameters 运行参数[1,2,3]
* @return 成功返回 运行函数后返回的内容,失败返回fasle
*/
Ssdun.运行远程函数(appSecret,token);
```
### 获取版本号
```js
/**
*
* @return 成功该SDK版本号
*/
Ssdun.getVersion();
```
### 结束脚本
```js
/**
*
* @param delay 延迟结束 单位毫秒
*/
Ssdun.结束脚本(delay);
```