如何实现付费下载功能?

2022-10-31 09:06:58 +08:00
 dream4ever

现在需要在微信公众号网页中实现这样一个功能:

  1. 有一批 PDF 文件,用户在未付费状态下只显示前几页的内容。
  2. 用户在微信中付费之后,才能下载这些 PDF 文件。

我初步设想的实现思路是这样的:

  1. 提取出这批 PDF 的前几页存为图片,把图片展示在网页中,让用户可以预览 PDF 的部分内容。
  2. 用户付费成功后,显示一个文件下载按钮,用户点击按钮即可下载文件至手机。

在功能的具体实现方面,我有几个问题:

a. 对于 iOS 用户(以及一部分安卓用户),很多人下载文件后也不知道去哪儿找这个文件。那么有什么方法可以让用户比较方便地在电脑上下载文件么? b. 获取文件下载链接的功能,是否可以通过纯前端的方式来实现?如果通过后端服务来提供文件下载的话,可能需要花费较多的时间来开发这个功能。一方面这项业务并不需要对下载文件进行十分严密的保护,另一方面工期也比较紧,所以前端来控制下载权限的话是不是会简单很多?

第一次做这种功能,Google 了一下也没找到可以参考的资料,所以来这里咨询一下,谢谢先~

PS: 后端是用 Express.js 写的。

4753 次点击
所在节点    程序员
23 条回复
jackma0571
2022-10-31 09:16:35 +08:00
给一个百度云盘的地址,让他们存到自己百度云盘
1343EFF
2022-10-31 09:18:30 +08:00
付费成功后在用户中心显示一个购买记录供随时下载
即便用户找不到下载的文件去哪儿了
这个时候怪罪的也是微信&IOS 系统层的设计而不是怪罪 APP 开发者
下载文件的功能必须后端参与判断吧
比如提供一个有效期的密钥
严格一点甚至可以加入 IP 判定防止用户随意分享付费资源
GoCoV2
2022-10-31 09:20:10 +08:00
@jackma0571 给阿里云盘地址吧,起码不限速
dabai0806
2022-10-31 09:31:07 +08:00
邮箱发送 pdf
darkengine
2022-10-31 09:31:22 +08:00
free_version.pdf, paid_version.pdf ,不用每次都生成。

下载权限限制肯定要在后端做,放在前端太容易被绕过了。
lhx2008
2022-10-31 09:33:11 +08:00
如果是服务号可以直接发消息
lakehylia
2022-10-31 09:34:21 +08:00
发邮箱呗。
A3m0n
2022-10-31 10:10:08 +08:00
PDF 可以加密,可以提供下载加密后的版本,付费买个密码就可以了。
Ausmo
2022-10-31 11:26:38 +08:00
微信内网页压根不给下载文件吧?
Ausmo
2022-10-31 11:32:21 +08:00
@Ausmo 好吧 试了下是可以下载的,以前记得会被微信屏蔽来着
weak
2022-10-31 11:40:07 +08:00
开个淘宝店,个人不要钱,阿奇索设置自动发货
weak
2022-10-31 11:40:55 +08:00
要在公众号啊 看错了
Fucter
2022-10-31 12:26:55 +08:00
@weak 电子出版物虚拟物品开店不是押金十万吗。。。 付费下载可以 wordpress +插件实现 discuz 也行
brust
2022-10-31 12:34:12 +08:00
用原文件分出来一个小文件(预览版)只显示几页 后面几页直接写付费后可见
pianjiao
2022-10-31 13:12:24 +08:00
公众号 直接有付费购买呀
pianjiao
2022-10-31 13:13:33 +08:00
weak
2022-10-31 13:55:50 +08:00
@Fucter 你猜那些卖账号的付了十万没有
xboxv
2022-10-31 14:53:41 +08:00
问题不错。 如果不是微信公众号,现在也有很多网站 需要扫描关注微信公众好或者付款之后才可看到网页内容,这个是怎么做到的? wordPress 好像有插件可以配置 对接支付可见
wangyu17455
2022-10-31 16:19:52 +08:00
pdf 放对象存储上,买了的用户每次想下载让后端调对象存储的 sdk 生成临时链接
yufeng0681
2022-10-31 22:58:58 +08:00
微信公众号 不审核你 这些 pdf 是否有版权? 你被举报了一次,还想卖就得被封好久,怎么举证?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/891301

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX