现在需要在微信公众号网页中实现这样一个功能:
我初步设想的实现思路是这样的:
在功能的具体实现方面,我有几个问题:
a. 对于 iOS 用户(以及一部分安卓用户),很多人下载文件后也不知道去哪儿找这个文件。那么有什么方法可以让用户比较方便地在电脑上下载文件么? b. 获取文件下载链接的功能,是否可以通过纯前端的方式来实现?如果通过后端服务来提供文件下载的话,可能需要花费较多的时间来开发这个功能。一方面这项业务并不需要对下载文件进行十分严密的保护,另一方面工期也比较紧,所以前端来控制下载权限的话是不是会简单很多?
第一次做这种功能,Google 了一下也没找到可以参考的资料,所以来这里咨询一下,谢谢先~
PS: 后端是用 Express.js 写的。
1
jackma0571 2022-10-31 09:16:35 +08:00
给一个百度云盘的地址,让他们存到自己百度云盘
|
2
1343EFF 2022-10-31 09:18:30 +08:00
付费成功后在用户中心显示一个购买记录供随时下载
即便用户找不到下载的文件去哪儿了 这个时候怪罪的也是微信&IOS 系统层的设计而不是怪罪 APP 开发者 下载文件的功能必须后端参与判断吧 比如提供一个有效期的密钥 严格一点甚至可以加入 IP 判定防止用户随意分享付费资源 |
3
GoCoV2 2022-10-31 09:20:10 +08:00
@jackma0571 给阿里云盘地址吧,起码不限速
|
4
dabai0806 2022-10-31 09:31:07 +08:00
邮箱发送 pdf
|
5
darkengine 2022-10-31 09:31:22 +08:00
free_version.pdf, paid_version.pdf ,不用每次都生成。
下载权限限制肯定要在后端做,放在前端太容易被绕过了。 |
6
lhx2008 2022-10-31 09:33:11 +08:00
如果是服务号可以直接发消息
|
7
lakehylia 2022-10-31 09:34:21 +08:00
发邮箱呗。
|
8
A3m0n 2022-10-31 10:10:08 +08:00
PDF 可以加密,可以提供下载加密后的版本,付费买个密码就可以了。
|
9
Ausmo 2022-10-31 11:26:38 +08:00
微信内网页压根不给下载文件吧?
|
11
weak 2022-10-31 11:40:07 +08:00 via iPhone
开个淘宝店,个人不要钱,阿奇索设置自动发货
|
12
weak 2022-10-31 11:40:55 +08:00 via iPhone
要在公众号啊 看错了
|
13
Fucter 2022-10-31 12:26:55 +08:00 via Android
@weak 电子出版物虚拟物品开店不是押金十万吗。。。 付费下载可以 wordpress +插件实现 discuz 也行
|
14
brust 2022-10-31 12:34:12 +08:00
用原文件分出来一个小文件(预览版)只显示几页 后面几页直接写付费后可见
|
15
pianjiao 2022-10-31 13:12:24 +08:00
公众号 直接有付费购买呀
|
16
pianjiao 2022-10-31 13:13:33 +08:00
|
18
xboxv 2022-10-31 14:53:41 +08:00
问题不错。 如果不是微信公众号,现在也有很多网站 需要扫描关注微信公众好或者付款之后才可看到网页内容,这个是怎么做到的? wordPress 好像有插件可以配置 对接支付可见
|
19
wangyu17455 2022-10-31 16:19:52 +08:00
pdf 放对象存储上,买了的用户每次想下载让后端调对象存储的 sdk 生成临时链接
|
20
yufeng0681 2022-10-31 22:58:58 +08:00
微信公众号 不审核你 这些 pdf 是否有版权? 你被举报了一次,还想卖就得被封好久,怎么举证?
|
21
dream4ever OP @yufeng0681 教育相关的企业,内容是自己生产制作的,版权完全没问题。
|
22
yufeng0681 2022-11-01 09:50:24 +08:00
有个面包多网站,最近因为内容违规,主域名被封了
https://support.qq.com/products/64077/?id=50255 这是它家的内容介绍, 看文章介绍是可以在微信公众号里面引流到它的平台付费的, 自制电子书可以卖 https://mbd.pub/ 目前这个域名是可用的。 他家这样的竞品也有 |
23
dream4ever OP 研究了一下,初步定了这么一个实现方案:
1. 用户在微信中支付成功后,保存微信所返回的订单信息和所购买 PDF 文件的 id ,订单信息中包含用户微信号的 openid ,这个可以用来唯一标识用户。 2. 用户下载的时候,后端 Express.js 查询订单表中是否有该用户的 openid 和和所下载文件的 id ,有的话就用 res.sendFile() 把文件发送给前端。 这样就完全不会暴露文件地址给前端,实现起来也简单。 |