Snapaper Platform | 学习资源分享平台

2022-11-17 14:18:48 浏览数 (2)

背景

来自学科老师的提议。

附属 Snapaper 的学习相关产品,主要是视频的内容付费,也包含文章内容。基于WP,准备建立以PGC为主UGC为辅的资源分享社群。

技术方面

主要涉及到的难点是:

  1. 支付接口开发和使用
  2. 视频资源上传与权限配置

支付方面,我用上了支付宝和微信支付前段时间申请好的接口,顺便借这个机会了解和学习了一些支付平台的网站支付的开发。找了很多开源作者的写好的接口demo,终于大概了解了支付逻辑。

支付宝大概是:

  1. 配置接口认证信息和异步&同步回调地址
  2. 发送请求到平台接口
  3. 客户端跳转支付界面
  4. 支付成功
  5. 客户端回调到同步地址
  6. 平台POST返回异步地址
  7. 同步地址展示支付状态信息并跳转原网站
  8. 异步地址处理业务逻辑

微信大概是:

  1. 配置接口认证信息和异步回调地址
  2. 发送请求到平台接口
  3. 客户端展示生成的二维码
  4. 开始循环请求支付状态
  5. 状态改变,支付成功
  6. 客户端跳转到原网站
  7. 平台POST返回异步地址
  8. 异步地址处理业务逻辑

由于异步与同步回调地址不在wp逻辑内,不能调用wp函数直接保存信息。目前我通过订单号字符串分割(如用户、文章等)与平台返回的敏感信息(如金额、时间等)相结合来处理业务逻辑。

↑支付宝业务逻辑处理

视频方面,本来想使用七牛等对象储存的,但是在找开源网站播放器的时候偶然看到了 DogeCloud 这个专门做视频云的小平台,看了看文档发现居然可以直接使用播放器 Token 实现鉴权播放,省去了很多工作。加之价格对比普通对象储存便宜不少...果断选择就是他了!

视频发布任然使用 WP 文章,加入了 DogeCloud 的视频 id 为自定义字段来实现视频播放,并且DogeCloud支持自定义的 DPlayer 播放器,避免了用户直接下载视频(真是太贴心了!)

使用了 DogeCloud 的播放 Token 来限制付费视频资源的观看,加密算法使用了它的 Demo

↑视频文章页面鉴权

顺便还重新写了写小半的收藏功能加在了视频播放页面,前端全部使用了jquery,后端直接在 WP 添加了接口,更安全了:)

↑收藏接口功能

大概就这些,小细节就不扯了。大概做了3天的总时长,帮助我复习了 sql

0 人点赞