用Node.js来开发后台服务
发布于 2 年前 作者 jindong5210 3374 次浏览 来自 分享

今天介绍怎么样用 JSONStore开发一个云端的后台服务,并快速的与客户端对接。

1.创建应用

首先去JSONStore注册用户,并创建一个APP, 01.png

2.建立表结构

建立catalog和product两张表,分别代表分类表和产品表。如下: 02.png

03.png

3.添加数据

到数据页面分别给两张表增加几条数据

04.png

catalog表: 05.png product表 06.png

4.建立API

到API页面编写API。

4.1 查询所有产品并关联分类

新建一个/products 的API,参数如下:

  • 路径:/products
  • 名称:所有产品
  • 方法:GET
  • 跨域:开启

07.png

4.2 查询所有分类

新建一个/catalogs 的API,参数如下:

  • 路径:/catalogs
  • 名称:所有分类
  • 方法:GET
  • 跨域:开启

08.png

4.3 增加分类

到数据页面给分类表生成RESTAPI,如下: 09.png

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进行测试,如下: 10.png

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 运行

可以看到控制台已打印出产品的数据。 11.png

13 回复

创建表有问题,报500错误

image.png

第三方github登录出错

不错不错~ <a>hah</a>

@hezhongfeng 谢谢您的关注,我们将安排技术人员尽快修复。

@tonny0812 谢谢您的关注,我们将安排技术人员尽快修复。

没有权限操作,请求被拒绝!

今天打算博客中推荐以下,没想到无法操作了。

Github第三方登录的。

创建的任务全是403呀 没有权限呀

没有权限操作,请求被拒绝

@malaohu 您好,谢谢您的关注,问题已经修复,给您带来的不便我们深感抱歉。

@xxyGoTop 您好,谢谢您的关注,问题已经修复,给您带来的不便我们深感抱歉。

@mhkz 您好,谢谢您的关注,问题已经修复,给您带来的不便我们深感抱歉。

回到顶部