- 知识点
- 推荐教程
- 多人作业
- 单人作业
- RESTAPI
- JWT鉴权
- 参数校验
- ORM
- 工程化
- 异常处理
- 文件处理
- RESTAPI
- JWT鉴权知识 https://learnku.com/articles/17883
- JWT用法 https://blog.csdn.net/yangbindxj/article/details/125344291 (这里用了Fastapi的例子,其实jwt库两个都可以用)
- ORM 用Flask推荐flask-sqlalchemy,用Fastapi推荐sqlalchemy,flask-sqlalchemy可以通过paginate分页比较方便,sqlalchemy分页需要offset+limit
- 蓝图(Flask)/APIRouter(Fastapi)看各自的文档还有网上资料
- 通过异常处理器(@app.errorhandler/@app.exception_handler)捕获异常(参数错误/token错误),并把异常结果格式化为应该返回的格式
- 文件的上传,响应文件下载
根据要求,找一个队友完成以下内容:
众筹平台是一个意义比较宽泛的筹资平台,医疗求助、创业、项目筹资、灾害重建、宗教等可以向社会面求助的各种活动都可以利用众筹平台。
本次考核众筹平台的设定可以是宽泛的、也可以是单一的(可以只是作为公益爱心救助平台,也可以只是创业筹资平台,也可以都是)。众筹平台交易流通的形式也可以是货币,也可以是某种量度(比如点赞量,或者像支付宝小鸡农场献爱心的蛋量)
- 登录注册退出
- 基础信息,如身份、联系方式
- 搜索(搜索项目)
- 提交众筹项目材料(上传图片为主)
- 提交审核,查看我的项目和项目审核情况
- 页面多项目展示(分页)
- 查看某众筹项目
- 出资 (不需要对接真正的支付平台)
- 查看我出资的项目
- 审核项目 (通过则上传,不通过则删除)
- 处理项目(可以直接删除等)
- 建立积分机制。用户出资可获得积分
- 优化推送机制。基于积分机制,更高积分的用户的筹资项目推送将更靠前。或者其他优化推送机制也可以。
- 跨域功能
- 登录注册功能,对应密码应该进行密码哈希处理
- 对登录和注册的值进行检验,在检验有误时返回错误
- 登录后后端生成token并返回给前端,有些接口要对token的权限进行检验,不合法、没有权限或者过期返回错误
- 使用ORM对数据进行操作
- 有清晰的项目结构,通过蓝图(Flask)或者APIRouter(Fastapi)进行分组
- 编写接口文档
由于酷我音乐最新接口更改,本作业已无法根据相关文档完成,可忽略
前端页面 https://github.com/1379255913/westtwo-winter
接口文档 https://console-docs.apipost.cn/preview/40c70e0e04322bed/9a886251aff222d0
酷我音乐搜索页面 http://www.kuwo.cn/search/list?key=a
外链转化工具网站(通过rid获取歌曲地址) https://link.hhtjim.com/
根据前端页面和接口文档,完成以下内容:
- 使用爬取酷我音乐上的歌曲或接口,和本次功能对接
- 跨域功能
- 登录注册功能,对应密码应该进行密码哈希处理
- 对登录和注册的值进行检验,在检验有误时按照要求返回结果
- 登录后后端生成token并返回给前端,除登录注册外的所有接口都要对token进行检验,不合法或者过期按照要求返回结果
- 使用ORM对数据进行操作
- 可以通过rid来下载音乐文件,对下载的音乐的历史记录进行保存
- 可以对历史记录进行收藏和删除
- 分页搜索,默认一页为10条记录
- 有清晰的项目结构,分为user/search/history三个模块,通过蓝图(Flask)或者APIRouter(Fastapi)进行分组
- 符合RESTAPI(不符合你好像也对接不上)
- 对于有能力修改前端页面的,或者想做更多功能的,可以自行修改或者和我来交流