利用 Parse-Server 来模拟后台

本文最后更新于 2021年4月4日 晚上

找到一个非常不错的工具, Parse-Server, 用它可以像 Firebase 那样提供 APP 后台, 且可以动态添加 JSON 数据进去, 并指定路径. 故在 APP 开发过程中十分有用.

Parse-Server 是一款开源的后端模拟工具, 且只要能安装 Node 的平台都可以安装它.

使用也非常简单, 详细的使用方法可以参考它的 Github 主页或它的文档.

另外它还提供了针对若干平台的 Parse SDK, 这样可以在程序中实现增删改查数据, iOS 端的 SDK 文档在这里, API 文档在这里.

关于 Parse-Server 的完整 REST API 文档, 在这里可以找到.

下面就来看它的简单安装和使用.

安装和使用

  1. 安装 node: 这个网上很多教程…

  2. 安装并启动 Parse-Server:

1
2
3
npm install -g parse-server mongodb-runner
mongodb-runner start
parse-server --appId APPLICATION_ID --masterKey MASTER_KEY --databaseURI mongodb://localhost/test
  1. 添加数据(这里添加的是对象):
1
2
3
4
5
curl -X POST \
-H "X-Parse-Application-Id: APPLICATION_ID" \
-H "Content-Type: application/json" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
http://localhost:1337/parse/classes/GameScore

添加对象后会收到对象对应的 ID:

1
2
3
4
{
"objectId": "2ntvSpRGIK",
"createdAt": "2016-03-11T23:51:48.050Z"
}
  1. 获取之前添加的对象:
1
2
3
$ curl -X GET \
-H "X-Parse-Application-Id: APPLICATION_ID" \
http://localhost:1337/parse/classes/GameScore/2ntvSpRGIK

其中 2ntvSpRGIK 即创建对象时候的对象 ID.

收到的响应如下:

1
2
3
4
5
6
7
8
{
"objectId": "2ntvSpRGIK",
"score": 1337,
"playerName": "Sean Plott",
"cheatMode": false,
"updatedAt": "2016-03-11T23:51:48.050Z",
"createdAt": "2016-03-11T23:51:48.050Z"
}

如果要获取对象接口下的所有对象, 则可以这样:

1
2
3
curl -X GET \
-H "X-Parse-Application-Id: APPLICATION_ID" \
http://localhost:1337/parse/classes/GameScore

响应如下:

1
2
3
4
5
6
7
8
9
10
11
12
{
"results": [
{
"objectId": "2ntvSpRGIK",
"score": 1337,
"playerName": "Sean Plott",
"cheatMode": false,
"updatedAt": "2016-03-11T23:51:48.050Z",
"createdAt": "2016-03-11T23:51:48.050Z"
}
]
}
  1. 另外有 DashBoard 可用:

安装方法如下:

1
npm install -g parse-dashboard

启动:

1
parse-dashboard --appId mytestapp --masterKey abc123 --serverURL "http://localhost:1337/parse" --appName TestApp

默认情况下这个面板不支持 HTTP 协议下的远程访问(部署在本地可用使用 http://localhost), 故这里需要配置 nginx 来支持 HTTPS 下访问其他端口…

远程部署的需求暂时没有, 可以先部署到本地直接使用.

附1: Nginx 配置非 433 端口的 HTTPS 访问

1
2
3
4
5
6
location /pss {
proxy_pass http://localhost:1337/parse;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

附2: Linux 根据进程名称查找进程

有下面这三种方法:

  • pidof firefox

  • ps aux | grep -i firefox

  • pgrep firefox


利用 Parse-Server 来模拟后台
https://blog.rayy.top/2018/11/18/2019-18-parse-server/
作者
貘鸣
发布于
2018年11月18日
许可协议