免费期间只用了“在线安装”,没登陆官方点过本站下载按钮 —— 插件收费后,需要付费。
因为后台在线安装,不需要注册本站账号,也不需要登录本站,程序不知道你是谁,只知道你的站点是谁。如果访问官网,使用本站下载按钮下载,只要用户在免费期间点过本站的“下载”,系统已经给他写了一条 0 元订单,收费后仍算已购,不会让他重新买。
判定逻辑
- 免费(含限时免费)时,登录用户点下载会在 plugin_plugin_market_receiver_orders 写一条 price_points=0, status='free' 的记录。
- 是否拥有看 has_order():status IN ('paid','free') 都算。
- 所以改价后:按钮显示“再次下载”而不是“购买”;想在线更新可以点“授权码”拿一次性安装码,不扣积分、不用重新购买;在授权码管理里他会显示为“免费领取”。
价格改回收费时,免费订单不会被改写,也不需要你“补录购买”。
以下情况会变成“需要重新购买”
- 免费期间只用了“在线安装”,没点过本站下载按钮 —— 在线安装走的是市场安装接口,只记 installs 表(按 host,一台站点一条,且是匿名/远端身份),不会写用户订单。插件收费后这些人没有 free 订单,获取授权码会被拦,只能重新买。
- 免费期间下载发生在“免费下载自动记录订单”这个功能上线之前 —— 老数据没有订单行。
最后由 bbs1 编辑于 2026-10-31 15:54主楼