今天介绍怎么样用 JSONStore开发一个云端的后台服务,并快速的与客户端对接。
1.创建应用
首先去JSONStore注册用户,并创建一个APP,
2.建立表结构
建立catalog和product两张表,分别代表分类表和产品表。如下:
3.添加数据
到数据页面分别给两张表增加几条数据
catalog表: product表
4.建立API
到API页面编写API。
4.1 查询所有产品并关联分类
新建一个/products 的API,参数如下:
- 路径:/products
- 名称:所有产品
- 方法:GET
- 跨域:开启
4.2 查询所有分类
新建一个/catalogs 的API,参数如下:
- 路径:/catalogs
- 名称:所有分类
- 方法:GET
- 跨域:开启
4.3 增加分类
到数据页面给分类表生成RESTAPI,如下:
5.编写代码
- /products 查询所有产品
var conn = modules.conn;
var logger = modules.logger;
conn('product')
.select(["product.name", "product.price", "product.count", "catalog.name as catalog"])
.leftJoin('catalog', 'catalog.id', 'product.catalog')
.then(function(data){
res.send(data);
})
.catch(function (err) {
logger.error(err.stack);
res.status(500).send(err.message);
})
- /catalogs 查询所有分类
var conn = modules.conn;
var logger = modules.logger;
conn('catalog')
.select()
.then(function(data){
res.send(data);
})
.catch(function (err) {
logger.error(err.stack);
res.status(500).send(err.message);
})
- /catalog 增加分类
由系统生成,无需编写。
6.测试
到各个API的测试页面,对API进行测试,如下:
7.客户端调用
客户端调用时,用各个语言的HTTP客户端调用返回JSON数据即可。这里以Javascript为例。 注意:如果在HTML页面中用AJAX调用需要到设置页面中开启跨域。 参考 https://docs.jsonstore.cn/reference/invoke.html
7.1 获取AppKey 和 Secret
进入到设置页面得到AppKey 和 Secret。
7.2 在页面用AJAX调用
//获取指定位数的随机字符串(包含小写字母、大写字母、数字,0<length)
function randomString(length) {
//随机字符串的随机字符库
var KeyString = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var sb = "";
var len = KeyString.length;
for (var i = 0; i < length; i++) {
sb += KeyString.charAt(Math.round(Math.random() * (len - 1)));
}
return sb;
}
var appKey = "Pv6fH4AC3yCTrVye5lElMIJj0rEl0K";
var secret = "dUG6TRvo4p2Pq2Yv5bdSXuxMh6W1uW";
var nonce = randomString(10);
var curTime = new Date().getTime();
var checkSum = hex_sha1(secret + nonce + curTime); //SHA1算法加密
$.ajax({
type: "GET",
url: "https://api.jsonstore.cn/api/aaaa/products", //API调用地址
headers : {
"Content-Type" : "application/json",
"App-Key" : appKey,
"Nonce" : nonce,
"Cur-Time" : curTime,
"Check-Sum" : checkSum,
},
success : function(data){
console.log(data);
},
error : function (err){
console.log(err)
}
})
6.3 运行
可以看到控制台已打印出产品的数据。
666
666
创建表有问题,报500错误
第三方github登录出错
不错不错~ <a>hah</a>
@hezhongfeng 谢谢您的关注,我们将安排技术人员尽快修复。
@tonny0812 谢谢您的关注,我们将安排技术人员尽快修复。
没有权限操作,请求被拒绝!
今天打算博客中推荐以下,没想到无法操作了。
Github第三方登录的。
创建的任务全是403呀 没有权限呀
没有权限操作,请求被拒绝
@malaohu 您好,谢谢您的关注,问题已经修复,给您带来的不便我们深感抱歉。
@xxyGoTop 您好,谢谢您的关注,问题已经修复,给您带来的不便我们深感抱歉。
@mhkz 您好,谢谢您的关注,问题已经修复,给您带来的不便我们深感抱歉。