Skip to content

Latest commit

 

History

History
521 lines (403 loc) · 14 KB

API_DOC.md

File metadata and controls

521 lines (403 loc) · 14 KB

Node服务端

目录结构(作废)

├── Conf                               项目配置
│   ├── Conf.js                        参数配置文件
│
├── Util                               常用工具函数
│   ├── MySQL.js                       MySQL相关操作
│
├── User                               用户模块
│   ├── Router.js                      路由
│   ├── WXMPController.js              微信用户控制器
│   ├── Model.js                       数据模型
│   ├── util.js                        工具函数
│
├── Trip                               行程模块
│   ├── Router.js                      路由
│   ├── APIController.js               控制器
│   ├── Model.js                       数据模型
│   ├── util.js                        工具函数

数据库结构

user 用户表

字段名 注释 类型 Key Null
id 用户id INTEGER unsigned PRI NO
nick_name 昵称 CHAR(64) YES
avatar_url 用户头像url CHAR(255) YES
state 用户状态:
1=正常;
3=封禁;
INTEGER NO
created_time 发生时间 TIMESTAMP NO
last_updated_time 最后更新时间 DATETIME NO

user_bind 用户第三方绑定表

字段名 注释 类型 Key Null
id 记录id int(10) unsigned PRI NO
user_id 用户id int(11) NO
platform 绑定平台:
1, 微信小程序
int(11) NO
open_id 所在平台的用户id char(32) NO
created_time 发生时间 timestamp NO
last_updated_time 最后更新时间 datetime NO

user_online_state 用户在线状态表

字段名 注释 类型 Key Null
id 记录id int(10) unsigned PRI NO
user_id 用户id int(11) UNI NO
platform 登录平台:
1, 微信小程序
INTEGER NO
state 状态:
1, 生效中;
2, 过期
INTEGER NO
client_token 客户端token char(32) UNI NO
session_key 与第三方服务端会话 char(64) YES
created_time 发生时间 timestamp NO
last_updated_time 最后更新时间 datetime NO

trip 行程订单列表

字段名 注释 类型 Key Null
id 记录id int(10) unsigned PRI NO
order_number 订单编号 char(32) UNI NO
user_id 创建人的用户id int(11) NO
state 当前状态:
0, 已创建,还未开始行程(作废,将不会出现此种情况);
1, 行程正在进行;
2, 行程已经结束;
3, 失联(断线中);
int(11) No
created_time 行程创建时间 timestamp NO
last_updated_time 最后更新时间 datetime NO

trip_logs 行程日志

字段名 注释 类型 Key Null
id 记录id int(10) unsigned PRI NO
order_number 订单编号 char(32) NO
event_type 事件类型:
1, ��Socket连接事件;
2, Socket断开事件;
3, 求救事件;
INTEGER NO
operation 操作内容 char(255) No
remark 备注 char(255) YES
created_time 日志产生时间 timestamp NO

trip_polyline 行程轨迹

字段名 注释 类型 Key Null
id 记录id int(10) unsigned PRI NO
order_number 订单编号 char(32) NO
longitude 经度 char(255) NO
latitude 纬度 char(255) No
remark 备注 char(255) YES
created_time 日志产生时间 timestamp NO

用户相关接口

微信小程序用户注册

GET /v1/user/wxmp/login?code={code}&nickname={nickname}&avatarurl={avatarurl}
  • 请求参数说明
参数名 解释 类型 必填
code wx.login()获取的临时code String
nickname wx.getUserInfo()获取的用户昵称 String length < 32
avatarurl wx.getUserInfo()获取的用户头像url String length < 64
  • 成功返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
token 登录token String
  • 失败/错误返回参数说明:
参数名 解释 类型
code 状态码 非0 Int
msg 提示信息 String
  • 返回说明
//正常返回的JSON数据包
{
      "code": 0,
      "msg": "login success.",
      "token": "login token"
}

//错误时返回JSON数据包(示例为Code无效)
{
    "code": -1,
    "msg": "Code无效"
}

行程相关接口

查询我未完成的订单(需登录)

GET /v1/t/unfinished?session={session}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
  • 成功返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
ordernumber 行程订单编号(如果有,null表示没有) String
  • 失败/错误返回参数说明:
参数名 解释 类型
code 状态码 非0 Int
msg 提示信息 String
  • 返回说明
//正常返回的JSON数据包
{
    "code": 0,
    "msg": "success",
	"ordernumber": "ordernumber"
}

//错误时返回JSON数据包
{
    "code": -1,
    "msg": "Session已过期"
}

创建行程(需登录,且当前无未完成的行程订单)

GET /v1/t/create?session={session}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
  • 成功返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
ordernumber 行程订单编号 String
  • 失败/错误返回参数说明:
参数名 解释 类型
code 状态码 非0 Int
msg 提示信息 String
  • 返回说明
//正常返回的JSON数据包
{
    "code": 0,
    "msg": "success",
	"ordernumber": "ordernumber"
}

//错误时返回JSON数据包
{
    "code": -1,
    "msg": "Session已过期"
}

取消行程(需登录,且订单未开始前)

GET /v1/t/cancel?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}

开始行程(需登录,且订单未开始前)

GET /v1/t/start?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}

结束行程(需登录,且订单已经开始,包含求救状态)

GET /v1/t/stop?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}

发出求救(需登录,且订单已经开始)

GET /v1/t/sos/start?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}

解除求救(需登录,且订单处于求救状态)

GET /v1/t/sos/stop?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}

获取行程信息(需登录,且订单已经开始,包含求救状态)

GET /v1/t/info/get?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 成功返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
info 行程信息 Dictionary
info.type 行程类型:默认1 Int
info.destination 目的地 String
info.tool 搭乘工具 String
info.state 当前状态:
0, 已创建,还未开始行程;
1, 行程已开始,目前安全;
2, 已结束行程;
3, 发生危险;
4, 取消行程;
Int
info.created_time 创建时间 String
  • 失败/错误返回参数说明:
参数名 解释 类型
code 状态码 非0 Int
msg 提示信息 String
  • 返回说明
//正常返回的JSON数据包
{
    "code": 0,
    "msg": "查询成功",
    "info": {
        "type": 1,
        "destination": null,
        "tool": null,
        "state": 1,
        "created_time": "2018-06-12T16:40:23.000Z"
    }
}

//错误时返回JSON数据包
{
    "code": -1,
    "msg": "Code无效"
}

更新行程信息(需登录,且订单未开始前)

GET /v1/t/info/update?session={session}&ordernumber={ordernumber}&destination={destination}&tool={tool}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
destination 目的地 String length < 32
tool 搭乘工具 String length < 32
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}

获取位置/行驶轨迹(需登录,且订单未开始前)

GET /v1/t/location/all?session={session}&ordernumber={ordernumber}
  • 请求参数说明
参数名 解释 类型 必填
session 小程序与服务器会话session String
ordernumber 行程订单编号 String
  • 返回参数说明
参数名 解释 类型
code 状态码 Int
msg 提示信息 String
  • 返回说明
//返回的JSON数据包
{
    "code": 0,
    "msg": "success"
}