安浪APP开发规范

接口与服务端开发约束

1. 统一返回格式,RESTful API

路径格式:/api版本/模块/控制器/方法/...

api版本为最高级别,服务端或者客户端对应版本,如果客户端或者服务端升级版本,则不匹配的api接口被废弃
复制代码

例:(ThinkPHP需要使用路由表,非默认的路由支架)

    /v1/admin/user/signin //管理员登录地址
    /v1/admin/user/signup //管理员注册地址

    /v1/wechat/user/bind //微信绑定地址
    /v1/app/user/mobile_bind //APP端手机号绑定地址
复制代码
//统一返回一个如下对象
object{
    status: int,//请求状态码 客户端根据此代码来决策是否继续解析data下面的内容
    msg: string,//请求提示信息
    exp: long, //请求过期时间
    time: long, //数据生成时间
    data:[]/{} //该对象装载 实际返回的数据,对象或者数组
}
复制代码

实例一个登陆请求返回结果:

POST /v1/app/user/sign
//登录成功:
    {
        "status": 0,
        "msg": "登录成功",
        "exp": 0,
        "time": 1537106828380,
        "data": {
            "user": {
                "id": 10000,
                "username": "jiankian",
                "nickname": "绿血贵族",
                "avatar": "https://app.anline.cn/uploaad/images/2018/09/15/s_212391239.png",
                "gender": "男",
                "area": 532324,
                "area_decode": "云南省楚雄彝族自治州南华县",
                "mobile": "13529513104",
                "tel": "0878-6991011",
                "age": 23,
                "birthday": "1999-11-11"
            },
            "token": "eyJpc3MiOiJKb2huI.eyJpc3MiOiJ.Kb2huIFd1IEp"


        }
    }
    //登录失败:
    {
        "status": -1,
        "msg": "登录失败,用户不存在",
        "exp": 0,
        "time": 1537106828380,
        "data": null
    }
复制代码
2. 客户端请求方法

PHP仅使用 GETPOST 方法

3. 时间格式
统一使用Unix 时间戳格式,php时间戳格式长度无毫秒级,精确度*1000
MYSQL数据库存储时间戳为BIGINT类型
复制代码
4. 文件/图片上传

多图和多文件上传则遍历此请求遍历返回,此接口只接受单文件

统一文件/图片/附件上传接口,统一在数据库存储文件签名、路径、大小、类型等信息
复制代码
5. 身份认证使用 jwt 鉴权

jws, jwe, jwk, jwa, jwt 使用jwt鉴权、同时生成的token字符串存储在数据库,对于必要的api请求地址,使用AES加密请求参数,防止被抓包窃取接口资源

服务端身份验证:

除了文件上传接口以外的地方,(部分文件上传组件不支持添加headers参数,只能使用拼加GET参数)
全部使用header携带token来鉴权
header字段name:`ANN-Token`
复制代码
6. 数据编码

标准编码 UTF-8

7. 数据库

数据库版本:

MySQL: 5.6、5.7  (5.7请允许验证空字段)
复制代码

数据库编码: 考虑客户端emoji标签字符,iOS和Android表情代码,图片存储等

Database Encoding: utf8mb4
Database Collation: utf8mb4_unicode_ci复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值