背景
来自学科老师的提议。
附属 Snapaper 的学习相关产品,主要是视频的内容付费,也包含文章内容。基于WP,准备建立以PGC为主UGC为辅的资源分享社群。
技术方面
主要涉及到的难点是:
- 支付接口开发和使用
- 视频资源上传与权限配置
支付方面,我用上了支付宝和微信支付前段时间申请好的接口,顺便借这个机会了解和学习了一些支付平台的网站支付的开发。找了很多开源作者的写好的接口demo,终于大概了解了支付逻辑。
支付宝大概是:
- 配置接口认证信息和异步&同步回调地址
- 发送请求到平台接口
- 客户端跳转支付界面
- 支付成功
- 客户端回调到同步地址
- 平台POST返回异步地址
- 同步地址展示支付状态信息并跳转原网站
- 异步地址处理业务逻辑
微信大概是:
- 配置接口认证信息和异步回调地址
- 发送请求到平台接口
- 客户端展示生成的二维码
- 开始循环请求支付状态
- 状态改变,支付成功
- 客户端跳转到原网站
- 平台POST返回异步地址
- 异步地址处理业务逻辑
由于异步与同步回调地址不在wp逻辑内,不能调用wp函数直接保存信息。目前我通过订单号字符串分割(如用户、文章等)与平台返回的敏感信息(如金额、时间等)相结合来处理业务逻辑。
↑支付宝业务逻辑处理
视频方面,本来想使用七牛等对象储存的,但是在找开源网站播放器的时候偶然看到了 DogeCloud 这个专门做视频云的小平台,看了看文档发现居然可以直接使用播放器 Token 实现鉴权播放,省去了很多工作。加之价格对比普通对象储存便宜不少...果断选择就是他了!
视频发布任然使用 WP 文章,加入了 DogeCloud 的视频 id 为自定义字段来实现视频播放,并且DogeCloud支持自定义的 DPlayer 播放器,避免了用户直接下载视频(真是太贴心了!)
使用了 DogeCloud 的播放 Token 来限制付费视频资源的观看,加密算法使用了它的 Demo
↑视频文章页面鉴权
顺便还重新写了写小半的收藏功能加在了视频播放页面,前端全部使用了jquery,后端直接在 WP 添加了接口,更安全了:)
↑收藏接口功能
大概就这些,小细节就不扯了。大概做了3天的总时长,帮助我复习了 sql 🙂