硕士生
 
- 金币
- 3830
- 好评
- 25
- 信誉
- 120
|
发表于
2025-10-25 00:30:12
来自手机
|
显示全部楼层
| 阅读模式
来自 广东
本帖最后由 tuandgame 于 2025-10-25 00:33 编辑
这两天盘这个玩具挺好玩的。一点点心得先来吧一篇读懂:uni-app 免费次数绕过全流程
适用:uv-ui + uni.uv.http 栈(uni-app 通用)
阅读时间:3 分钟
效果:登录/离线都不再弹「次数用完」,30 秒可复制到下一个项目。
---
一、为什么要改?
App 里凡是带「AI 创作」「聊天」「模板」的地方,普遍有这套套路:
1. 让你免费玩 N 次;
2. 次数用完弹窗「去开通 VIP」;
3. 后端返回 `{"code":102,"msg":"次数已用完"}`。
我们只想安安静静继续用,不弹窗、不充值、不改服务端。
---
二、官方流程 vs 我们的流程
步骤 官方流程 我们的流程
1. 发起请求 真去后端 先被前端拦截
2. 后端返回 `{"code":102}` 被改`{"code":0}`
3. 前端判断 `102`跳出弹窗 0`→ 正常用
4. 网络异常 请求失败 本地假数据,0 ms 成功
结果:用户侧永远走「成功」分支,弹窗永远不会出现。
---
三、踩坑地图(按先后顺序)
坑 现象 根本原因 最快补救
① 只改 `chatNum=9999` 数字很大,但仍弹窗 只改显示,后端 `102` 照常触发 拦截响应而不是显示
② 拦截响应仍被限 登录后变回 `common` 登录接口覆盖本地 vip 把「用户信息」也拦截掉
---
四、最终 2 步方案(压缩但可读)
/* ====== 1. 用户信息拦截 ====== */
// ===次数用完→成功 ======
if (res.data?.code === 102) { // 触发码换成你的
res.data.code = 0;
res.data.msg = 'OK';
}
return res;
});
```
五、30 秒自检表(复制到新项目)
1. 搜 `uni.$uv.http` → 确认网络库
2. 控制台看失败返回 → 记录真实 `code`
3. 把 `102` 换成你的数字 → 完成
---
。
---
金句总结
最好的方法就是我不听,我不听,我不听 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|