# PotatoCloud SDK - EasyClick 平台

# 介绍

potato cloud EasyClick sdk 开发包,potato cloud 全方位的后端服务平台。

# 项目地址

https://gitee.com/chengdu-xuda-network/potato_cloud_easyclick_sdk.git (opens new window)

# 文件说明

文件 说明
potato_cloud.js SDK 核心文件(单文件,直接引入即可)
main.js 测试/示例脚本
README.md 本文档

# 快速开始

# 1. 引入 SDK

potato_cloud.js 放入你的 EasyClick 项目目录,然后引入:

var PotatoCloud = require("./potato_cloud.js");
1

# 2. 创建实例

var myApp = PotatoCloud.createApp({
    askKey: "你的应用密钥",
    signSecretKey: "你的签名密钥",
    signType: 1,
    requestEncryptType: 2,
    responseEncryptType: 2,
    encryptSecretKey: "你的加密密钥"
});
1
2
3
4
5
6
7
8

# 3. 调用接口

// 获取应用信息
var appInfo = myApp.getAppInfo();
logd("应用信息: " + JSON.stringify(appInfo));

// 卡密验证
var result = myApp.verifyCardV2({
    card: "你的卡密",
    deviceCode: device.getIMEI()
});
logd("验证结果: " + JSON.stringify(result));
1
2
3
4
5
6
7
8
9
10

# 配置参数

参数 类型 必填 说明
askKey String 应用密钥
host String API地址,默认 https://api.potatocloud.cn
signSecretKey String 验签密钥
signType Number 验签类型,默认 0
requestEncryptType Number 请求加密类型,默认 0
responseEncryptType Number 响应加密类型,默认 0
encryptSecretKey String 加解密密钥
timeout Number 请求超时(毫秒),默认 30000

# 加密类型说明

类型 说明
0 不加密 明文传输
1 Base64 Base64 编码
2 AES/ECB/PKCS5Padding AES 加密,密钥自动填充至32字节
3 DES/ECB/PKCS7 DES 加密,密钥截取/填充至8字节
4 AES/ECB/NoPadding AES 加密,16位密钥,数据手动填充
5 RC4 RC4 流加密

# 验签类型说明

类型 算法
0 不验签 -
1 V1 md5(signSecretKey + timestamp)
2 V2 md5(排序参数拼接 + signSecretKey + timestamp)
3 V3 md5(排序参数拼接 + signSecretKey + timestamp + nonce)

# API 列表

# 基础接口

方法 说明 请求方式
getAppInfo() 获取应用信息 GET
getNotice(params) 获取公告 GET
updateApp(params) 检查更新 POST
verifyCardV2(params) 卡密验证(卡密制) POST
unbindCard(params) 解绑卡密 POST
createOrder(params) 创建订单 POST
pay(params) 发起支付 POST
searchOrder(params) 查询订单 POST
getSignInList(params) 获取签到列表 POST
startApp(params) 启动应用 GET
getAppUpdateLog(params) 获取更新日志 POST
feedBack(params) 用户反馈 POST
getDoc(params) 获取文本 POST
messageBoard(params) 用户留言 POST
getMessageBoardList(params) 查询留言板 POST
getGoodsList(params) 获取商品列表 POST
getLabelList(params) 获取标签列表 GET
registerV2(params) 用户注册V2 POST
createCardMy(params) 生成卡密 POST
getCardMyList(params) 查询卡密列表 POST
updateUserBalance(params) 修改用户余额 POST
getUserBalanceList(params) 查询余额列表 POST
getVipList(params) 查询会员列表 POST
userByVipWithBalance(params) 余额购买会员 POST
sendWeChatMessage(params) 发送微信消息 POST
sendBatchWeChatMessage(params) 批量发送微信消息 POST
execFunction(params) 执行云函数 POST

# 用户接口

方法 说明 请求方式
sendEmailMessage(params) 发送注册邮箱验证码 POST
register(params) 用户注册 POST
login(params) 用户登录 POST
updateUserInfo(params) 修改用户信息 POST
updatePassWord(params) 修改密码 POST
sendEmailByUser(params) 用户发送邮件 POST
verifyCardV1(params) 卡密验证(会员制) POST
getCodeImg(params) 获取验证码图片 GET
signInUser(params) 用户签到 GET

# 数据库接口

方法 说明 请求方式
selectOne(tableName, params) 查询单条数据 POST
selectList(tableName, params) 查询多条数据 POST
addOne(tableName, params) 新增单条数据 POST
addList(tableName, params) 新增多条数据 POST
updateOne(tableName, params) 修改数据 POST
deleteOne(tableName, params) 删除数据 POST

# Token 管理

方法 说明
setUserToken(token) 手动设置用户Token
removeUserToken() 清除用户Token
getUserToken() 获取当前Token

登录成功后 Token 会自动保存,无需手动设置。

# 通用请求

// 自定义请求
var result = myApp.request("/api/yourEndpoint", "POST", {key: "value"});
1
2

# 使用示例

# 卡密验证

var PotatoCloud = require("./potato_cloud.js");

var myApp = PotatoCloud.createApp({
    askKey: "你的askKey",
    signSecretKey: "Potato",
    signType: 1,
    requestEncryptType: 2,
    responseEncryptType: 2,
    encryptSecretKey: "Potato"
});

function main() {
    var result = myApp.verifyCardV2({
        card: "XXXX-XXXX-XXXX",
        deviceCode: device.getIMEI()
    });
    if (result && result.code == 200) {
        logd("验证成功: " + JSON.stringify(result.data));
    } else {
        logd("验证失败: " + (result ? result.message : "未知错误"));
    }
}

main();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 用户登录 + 数据库操作

var PotatoCloud = require("./potato_cloud.js");

var myApp = PotatoCloud.createApp({
    askKey: "你的askKey",
    signSecretKey: "Potato",
    signType: 1,
    requestEncryptType: 0,
    responseEncryptType: 0,
    encryptSecretKey: ""
});

function main() {
    // 登录
    var loginResult = myApp.login({
        userName: "user1",
        passWord: "pass123"
    });
    logd("登录: " + JSON.stringify(loginResult));

    // 登录成功后 Token 自动保存,可直接调用需要认证的接口
    if (loginResult && loginResult.code == 200) {
        // 查询数据
        var data = myApp.selectList("my_table", {
            pageNum: "1",
            pageSize: "10"
        });
        logd("数据: " + JSON.stringify(data));
    }
}

main();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
lastUpdate: 6/3/2026, 8:32:12 PM