- 工具:Wampserver、ThinkPHP v5.0.10、CA证书、Postman、Navicat
- 工具下载地址:百度网盘下载 密码:zqd0
- 使用方法:
git clone git@github.com:RiversCoder/tp5-api.git
cd tp5-api
在applicaton/route.php中配置路由:实现api二级域名访问指定模块; 配置域名参数简写风格
在api模块的Common.php中配置公共方法:
- 验证请求时间戳是否过期
- 验证token是否匹配
- 验证参数是否合理
在调用的控制器方法内(例如:User),继承Common类
涉及具体url参数的定义,可以查阅application目录下route.php文件
创建Code类(继承Common类)实现创建验证码
判断用户输入的邮箱或者手机号,匹配数据库,判断是否已经存在
检测用户的输入信息,配合TP自带的检测机制完成检测结果,确认用户输入的是邮箱或者是手机号
如果是邮箱,则将该验证码发送至用户输入的邮箱地址
如果是手机号,则将该验证码发送至用户的手机
验证接口路由配置:Route::get('code/:time/:token/:username/:is_exist', 'code/get_code')
调用参考:
- api.movi.com/code/11/1/13368669852/0
{"code": 200,"msg": "手机验证码发送成功,每天发送5次,请在一分钟内验证!","data": []}- api.movi.com/code/11/1/88888888@qq.com/0
{"code": 200,"msg": "验证码发送成功,请注意查收!","data": []}接口路由:Route::post('user/register', 'user/register')
用该用户名(手机/邮箱)获取验证码,然后用这个用户名该调用该接口,才会匹配上验证码
url请求(POST) : api.movi.com/user/register
post参数:user_name 、 user_pwd、code
user_name user_pwd code string string int 用户名 用户密码 验证码 返回数据参考:
{"code": 200,"msg": "用户注册成功!","data": []}接口路由:Route::post('user/login', 'user/login')
url请求(POST) : api.movi.com/user/login
post参数:user_name 、 user_pwd
time token user_name user_pwd int int string string 时间戳 验证身份 用户名 用户密码 返回数据参考:
{"code": 200,"msg": "登陆成功!","data": {"user_id": 3,"user_phone": "","user_name": "","user_email": "1569853706@qq.com","user_rtime": 1522822718}}接口路由:Route::post('user/icon', 'user/uploadHeadImg')
url请求(POST) : api.movi.com/user/icon
post参数:
time token user_id user_icon int int int object 时间戳 验证身份 用户id 上传的图片资源 返回数据参考:
{"code": 200,"msg": "上传头像成功","data": "/uploads/20180405/efa4c44b4dae92c092f66b4384f787d3.jpg"}接口路由:Route::post('user/change_pwd', 'user/changePwd')
url请求(POST) : api.movi.com/user/change_pwd
post参数:
time token user_name user_old_pwd user_pwd int int string string string 时间戳 验证身份 用户名 旧密码 新密码 返回数据参考:
{"code": 200,"msg": "密码修改成功!","data": []}接口路由:Route::post('user/find_pwd', 'user/findPwd')
url请求(POST) : api.movi.com/user/find_pwd
post参数:
time token user_name user_pwd code int int string string int 时间戳 验证身份 用户名 新密码 验证码 返回数据参考:
{"code": 200,"msg": "密码修改成功!","data": []}接口路由:Route::post('user/bind_phone_email', 'user/bindPhoneEmail')
url请求(POST) : api.movi.com/user/bind_phone_email
post参数:
time token user_name user_id code int int string int int 时间戳 验证身份 要绑定的手机号/邮箱 用户ID 验证码 返回数据参考:
{"code": 200,"msg": "绑定邮箱成功!","data": []}接口路由:Route::post('user/nickname', 'user/modifyUsername')
url请求(POST) : api.movi.com/user/nickname
post参数:
time token user_nickname user_id int int string int 时间戳 验证身份 昵称 用户ID 返回数据参考:
{"code": 200,"msg": "昵称设置成功!","data": []}接口路由:Route::post('article', 'article/addArticle')
url请求(POST) : api.movi.com/article
post参数: * 表示必须字段
time token article_uid article_title artcle_ctime article_content int int int string int string *时间戳 *验证身份 *用户ID *文章标题 *发布时间 文章内容 返回数据参考: (data为文章的id)
{"code": 200,"msg": "新增文章成功!","data": "5"}接口路由:Route::get('articles/:time/:token/:user_id/[:num]/[:page]', 'article/getArticles')
url请求(GET) : api.movi.com/articles/1/1/2/2/1
post参数: * 表示必须字段
time token user_id num page int int int int int *时间戳 *验证身份 *用户ID 查询条数 查询页数 返回数据参考:
{"code": 200,"msg": "查询成功!","data": {"articles": [{"article_id": 1,"article_ctime": 1523030209,"article_title": "太平洋战争","user_nickname": "cici"},{"article_id": 2,"article_ctime": 1523030405,"article_title": "太平洋战争","user_nickname": "cici"}],"page_num": 4}}接口路由:Route::get('article/:time/:token/:article_id', 'article/articleDetail')
url请求(GET) : api.movi.com/article/1/1/8
post参数: * 表示必须字段
time token article_id int int int *时间戳 *验证身份 *文章ID 返回数据参考:
{"code": 200,"msg": "查询成功!","data": {"article_id": 8,"article_ctime": 1523159078,"article_title": "那年那月","article_content": "<script>console.log('风华雪月,大漠孤烟直!')</script>","user_nickname": "cici"}}接口路由:Route::put('article', 'article/updateArticle')
url请求(PUT) : api.movi.com/article
put参数: * 表示必须字段 * x-www-form-urlencoded
time token article_id article_title article_content int int int string string *时间戳 *验证身份 *文章ID 文章标题 文章内容 返回数据参考:
{"code": 200,"msg": "修改文章成功!","data": []}接口路由:Route::delete('article', 'article/deleteArticle')
url请求(PUT) : api.movi.com/article
put参数: * 表示必须字段 * x-www-form-urlencoded
time token article_id int int int *时间戳 *验证身份 *文章ID 返回数据参考:
{"code": 200,"msg": "删除文章成功!","data": []}欢迎关注我的个人博客 : 小青蛙的博客