Skip to content

Latest commit

 

History

History
101 lines (71 loc) · 4.09 KB

4-音乐下载与众筹平台.md

File metadata and controls

101 lines (71 loc) · 4.09 KB

4-音乐下载与众筹平台

  • 知识点
  • 推荐教程
  • 多人作业
  • 单人作业

知识点

  1. RESTAPI
  2. JWT鉴权
  3. 参数校验
  4. ORM
  5. 工程化
  6. 异常处理
  7. 文件处理

推荐教程

  1. RESTAPI
  2. JWT鉴权知识 https://learnku.com/articles/17883
  3. JWT用法 https://blog.csdn.net/yangbindxj/article/details/125344291 (这里用了Fastapi的例子,其实jwt库两个都可以用)
  4. ORM 用Flask推荐flask-sqlalchemy,用Fastapi推荐sqlalchemy,flask-sqlalchemy可以通过paginate分页比较方便,sqlalchemy分页需要offset+limit
  5. 蓝图(Flask)/APIRouter(Fastapi)看各自的文档还有网上资料
  6. 通过异常处理器(@app.errorhandler/@app.exception_handler)捕获异常(参数错误/token错误),并把异常结果格式化为应该返回的格式
  7. 文件的上传,响应文件下载

多人作业

根据要求,找一个队友完成以下内容:

众筹平台是一个意义比较宽泛的筹资平台,医疗求助、创业、项目筹资、灾害重建、宗教等可以向社会面求助的各种活动都可以利用众筹平台。

本次考核众筹平台的设定可以是宽泛的、也可以是单一的(可以只是作为公益爱心救助平台,也可以只是创业筹资平台,也可以都是)。众筹平台交易流通的形式也可以是货币,也可以是某种量度(比如点赞量,或者像支付宝小鸡农场献爱心的蛋量)

功能需求

基本功能

  1. 登录注册退出
  2. 基础信息,如身份、联系方式
  3. 搜索(搜索项目)

提出众筹者

  1. 提交众筹项目材料(上传图片为主)
  2. 提交审核,查看我的项目和项目审核情况

一般用户

  1. 页面多项目展示(分页)
  2. 查看某众筹项目
  3. 出资 (不需要对接真正的支付平台)
  4. 查看我出资的项目

管理员

  1. 审核项目 (通过则上传,不通过则删除)
  2. 处理项目(可以直接删除等)

加分项

  1. 建立积分机制。用户出资可获得积分
  2. 优化推送机制。基于积分机制,更高积分的用户的筹资项目推送将更靠前。或者其他优化推送机制也可以。

多人作业要求

  1. 跨域功能
  2. 登录注册功能,对应密码应该进行密码哈希处理
  3. 对登录和注册的值进行检验,在检验有误时返回错误
  4. 登录后后端生成token并返回给前端,有些接口要对token的权限进行检验,不合法、没有权限或者过期返回错误
  5. 使用ORM对数据进行操作
  6. 有清晰的项目结构,通过蓝图(Flask)或者APIRouter(Fastapi)进行分组
  7. 编写接口文档

单人作业

由于酷我音乐最新接口更改,本作业已无法根据相关文档完成,可忽略

前端页面 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/

根据前端页面和接口文档,完成以下内容:

  1. 使用爬取酷我音乐上的歌曲或接口,和本次功能对接
  2. 跨域功能
  3. 登录注册功能,对应密码应该进行密码哈希处理
  4. 对登录和注册的值进行检验,在检验有误时按照要求返回结果
  5. 登录后后端生成token并返回给前端,除登录注册外的所有接口都要对token进行检验,不合法或者过期按照要求返回结果
  6. 使用ORM对数据进行操作
  7. 可以通过rid来下载音乐文件,对下载的音乐的历史记录进行保存
  8. 可以对历史记录进行收藏和删除
  9. 分页搜索,默认一页为10条记录
  10. 有清晰的项目结构,分为user/search/history三个模块,通过蓝图(Flask)或者APIRouter(Fastapi)进行分组
  11. 符合RESTAPI(不符合你好像也对接不上)
  12. 对于有能力修改前端页面的,或者想做更多功能的,可以自行修改或者和我来交流