# AutoBack **Repository Path**: binary_development_group/AutoBack ## Basic Information - **Project Name**: AutoBack - **Description**: 自动报平安的后端实现Django or SpringBoot - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-06-24 - **Last Updated**: 2022-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AutoBack #### 介绍 自动报平安的后端实现Django or SpringBoot #### 开发进度 ```python # 提供一个接口使用的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" } ----------------------以上的已完成-------------------- ``` #### 安装教程 1. 打开Terminal 2. 输入命令并运行 pip install -r requirements.txt #### 使用说明 1. cd ybautoback 2. python manage.py runserver 0.0.0.0:80