二进制开发组,主要涉及技术:
爬虫
Django
Restful
Vue
SpringBoot
自动报平安的后端实现Django or SpringBoot
# 提供一个接口使用的Demo (已完成)
# 集成restful_framework,跨域模块 (已完成)
# 提供登录接口,集成验证码 (1/2)
# 提供注册接口 (已完成)
# ==============================接口需求表============================
# 提供日期查询接口 (已完成)
# 提供判断账号接口 (已完成)
# 提供充值接口 (已完成)
# 提供绑定账号接口 (已完成)
# 提供邮箱验证接口 (已完成)
# ==================================================================
# 提供用户信息查询接口 (已完成)
# 提供用户报安详细信息设置接口 (已完成)
# 提供密钥生成接口(充值用) (已完成)
# 提供密钥查询接口(后台用) (已完成)
# 整合xadmin
软件架构说明 Django + Restful接口
接下来还需要的接口 统一使用post请求:
ok 日期查询:/days
无提供
返回 data:{days:"10"}
错误:{error:"错误信息"}
ok 判断某个用户是否存在报平安账号密码: /chkaccount
无提供
返回 data:{exist:"yes/no"}
错误:{error:"错误信息"}
ok 获取用户信息,用于在用户加载出主页后自动填入数据库已有的信息 /userdata
无提供 ,注意用户信息不存在情况
返回 data:{name:"**", province:"**", city:"**", area:"**",phone:"**",
urname:"**",urphone:"**",exectime:"**"}
错误:{error:"错误信息"}
ok 充值: /topup
思路,从request.user中拿到用户名,从前端拿到密钥,
验证密钥如果有效(1)就充值密钥的天数,并且将密钥valid设置为0,
在订单表里插入一条数据 用户名 使用密钥 充值容量 创建日期
提供 data:{cdk:"密钥"}
返回 data:{success:"yes/no", capacity:"30"} 注:capacity为使用密钥的容量
错误:{error:"错误信息"}
ok 绑定账号: /bindaccount
思路,从前端拿到 账号密码,在utils.py里创建一个方法checkaccount(username,password)
函数逻辑是通过爬虫访问报平安登录接口,如果能登录,说明账号密码正确,否则就是不正确,如果账号密码
正确,将此账号密码 插入到 用户信息表的 对应栏中
提供 data:{username:"1741302064", password:"287634"}
返回 data:{success:"yes/no"}
错误:{error:"错误信息"}
邮箱验证: /sendemail
思路,前端会反馈一个邮箱到后端,后端拿到邮箱后,将邮箱存入临时信息表,同时发送一份邮件包含6位数字的
/chkemail 验证码给用户的邮箱;用户收到邮件后,会填入验证码,进行第二步请求,后台拿到数据后进行判断,邮箱和验证码是否正确
如果正确,则写入邮箱到用户信息表的对应栏
第一步:
提供 data:{email:"邮箱"}
返回 data:{success:"yes/no"}
错误:{error:"错误信息"}
第二部:
提供 data:{email:"邮箱",code:"验证码"}
返回 data:{success:"yes/no"}
错误:{error:"错误信息"}
用来判断用户是否已经绑定邮箱 /havemail
无提供
返回:data:{
email:"kvy007@qq.com"
valid:"yes/no"
}
错误:{error:"错误信息"}
下方所有接口权限 为 staff 默认 get
1. 获取所有用户信息: /alluser
无提供
返回:[{"id":9,"name":"***","province":"***" , 后面不提供了,请参照数据库内容添加},
{"id":10,"name":"***","province":"***", 后面不提供了,请参照数据库内容添加},]
ps: 推荐使用restful接口,限定只能查询,多内容传递参照/invcode接口,和前端接收逻辑
2. 获取所有订单信息: /allorder
无提供
返回:[{"id":1,"username":"***","code":"***" , 后面不提供了,请参照数据库内容添加},
{"id":2,"username":"***","code":"***", 后面不提供了,请参照数据库内容添加},]
ps: 推荐使用restful接口,限定只能查询,多内容传递参照/invcode接口,和前端接收逻辑
3. 获取所有invcode信息: /allcode
原接口无法定制,所以只当作参考模板,除非你能进行定制
无提供
返回:[{"id":1,"code":"***","valid":"***" , 后面不提供了,请参照数据库内容添加},
{"id":2,"code":"***","valid":"***", 后面不提供了,请参照数据库内容添加},]
ps: 推荐使用restful接口,限定只能查询,多内容传递参照/invcode接口,和前端接收逻辑
4. 生成code: /gencode post请求
原接口无法定制,所以只当作参考模板,除非你能进行定制
思路:前端只提供 容量和 备注,code自行生成 8位 数字+大小写字母组成
以在utils.py 中提供gencode供使用
提供data:{
capacity:"30",
tips:"****"
}
返回:data:{
success:"yes/no"
}
错误:{error:"错误信息"}
---------------------------
接下来还需要的接口 统一使用post请求:接口权限为staff,错误统一返回
data:{
error:"**"
}
1.
/codeinfo
提供code查询接口 根据code查当前code的所有信息 (用来快速查找code的状态)
提供data:{
code:“**”
}
返回data:{
code:“**”, ...
}
2.
/codeorderinfo
提供order查询接口 根据code查order当前order的所有信息 (用来处理产生纠纷时的证据)
提供data:{
code:“**”
}
返回data:{
username:"***", code:"***", ...
}
3.
/editcode
提供code编辑接口, 提供 code ,编辑成功或失败 (用来防止误操作后的改正)
提供data:{
code:"**",
capacity:"***"
tips:"***"
}
返回data:{
success:"yes/no"
}
4.
/delcode
提供删除code接口, 提供 code,将code valid置为0 (使Code失效)
提供data:{
code:"**"
}
返回data:{
success:"yes/no"
}
5.
/deluser
提供用户删除接口,提供username, 设置 Detail_info 的start 字段为0 ,user的active 字段为零(限制登录,冻结账号)
提供 data:{
username:"fanzhe"
}
返回data:{
success:"yes/no"
}
6.
/userinfo
提供用户查询接口,提供username,返回其他信息
提供data{
username:"fanzhe"
}
返回data:{
报平安信息 + 权限信息(staff activate)
}
7.
/edituserinfo
提供用户编辑接口,提供username (管理员权限派发,禁用账号)
注意: 只是修改 User 中的 is_active, 不修改 Detail_info 中的 start(deluser接口修改)
提供data:{
username:"**",
password:"**",
active:"0/1",
staff:"0/1
}
返回data:{
success:"yes/no"
}
----------------------以上的已完成--------------------