更新记录
1.0.0(2026-10-26)
- 首发发布:小说阅读赚钱APP(读者端 uni-app x 云端一体页面模板)
- 书城首页:轮播 Banner、编辑推荐、分类导航入口
- 分类页:按品类检索小说
- 书架:追更订阅、更新角标(N 章更新)、打开即标记已看(角标清零)
- 阅读器:字体 / 主题 / 翻页模式,本地进度缓存
- 激励视频变现:观看激励视频解锁付费章节(uni-ad 聚合,可关闭)
- 书签:阅读器工具栏 + 目录星标快速书签
- 书评评分:书籍详情页评分概览、书评列表、撰写 / 删除书评(评分聚合回写书籍)
- 创作投稿与签约稿费:作者入驻、投稿、后台签约与稿费结算基础能力
平台兼容性
云端兼容性
| 支付宝云 | 腾讯云 | 阿里云 |
|---|---|---|
| √ | × | × |
uni-app x(5.24)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | √ | - | - | - |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
qingxia-novel-reader
「看广告免费阅读小说」用户端插件(uni-app x)· 内置 uniCloud 后端服务 本插件是云端代码唯一载体:云对象、云函数、公共模块、数据库 Schema 全部随本插件发布与部署。
插件组成
| 部分 | 内容 |
|---|---|
| 前端组件 | components/uni-novel-reader/uni-novel-reader.uvue(easycom 阅读器组件,前端云编译加密) |
| 客户端封装 | utssdk/index.uts(novel-user-service 统一调用入口) |
| 业务页面 | pages/(书城/分类/搜索/书籍详情/阅读器/书架/个人中心,经 pages_init.json 注册) |
| 后端服务 | uniCloud/:云对象 novel-user-service、novel-admin-service;云函数 novel-ad-callback(广告解锁业务回调,验签由 uni-ad 官方 uniAdCallback 自动完成)、novel-daily-stat(定时聚合);公共模块 novel-common;全部数据库 Schema 与索引 |
管理端界面由另一插件 qingxia-novel-admin 提供(同服务空间调用本插件部署的云对象,本插件不包含管理端页面)。
环境要求
| 项 | 要求 |
|---|---|
| HBuilderX | 4.0 或更高(蒸汽模式 + 前端加密必须) |
| 项目类型 | uni-app x |
| 云服务 | uniCloud 支付宝云服务空间(与 qingxia-novel-admin 同一空间) |
| 广告 | uni-ad 激励视频广告位(自行开通) |
安装与部署
- 从插件市场导入本插件到你的 uni-app x 项目;
- 右键
uni_modules/qingxia-novel-reader/uniCloud/database→ 上传所有 DB Schema 及索引; - 右键
uni_modules/qingxia-novel-reader/uniCloud/cloudfunctions/novel-ad-callback→ 上传部署(勾选加密); - 依次上传部署
novel-daily-stat、novel-user-service、novel-admin-service、公共模块novel-common; - uni-ad 控制台开启激励视频「服务器回调」,回调云函数选择
novel-ad-callback(uni-ad 会自动部署官方uniAdCallback转发;若服务空间已存在同名旧云函数需先删除); - 在页面使用
<uni-novel-reader>(Props/Events 见下)。
组件 API
Props
| 属性 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
bookId |
string | ✅ | — | 书籍 ID |
chapterId |
string | ✅ | — | 初始章节 ID(组件内部只取一次,后续跳章用 ref 的 goToChapter) |
adpid |
string | ✅ | — | 激励视频广告位 ID(未开通广告时可传空串,付费章节按试读处理) |
adapter |
object | ❌ | 同空间云对象 | 自定义数据源(不依赖本插件后端时传入,需实现 getChapterContent/adUnlockReady/verifyUnlock/saveProgress) |
theme |
object | ❌ | 内置主题 | 自定义主题 { background, textColor, fontFamily };不传则用内置主题(羊皮纸/护眼绿/夜间,阅读器内可切换并本地持久化) |
fontSize |
number | ❌ | 0(不接管) |
初始字号(px),仅 14~26 区间内的值会被采纳 |
pageMode |
string | ❌ | ''(不接管) |
初始模式:'scroll' 滚动 / 'pager' 翻页,其它值视为未传 |
偏好优先级:宿主传入的
fontSize/pageMode> 本地存储(nr_fontSize、nr_pageMode、nr_theme、nr_lineHeight)> 组件默认。宿主不传这两项时,读者自己在阅读器底部栏记住的偏好照常生效。
theme 内置默认:{ background: '#F5F1E8', textColor: '#3a3a3a', borderColor: '#d8ccb4' }(羊皮纸);fontFamily: 'night' 时按夜间主题渲染。
Events
| 事件 | 参数 | 触发时机 |
|---|---|---|
unlock-success |
{ chapterId } |
服务器回调确认解锁成功后 |
unlock-failed |
{ chapterId, reason } |
广告未看完 / 回调失败 |
chapter-change |
{ chapterId } |
用户切换章节 |
ad-error |
{ code, message } |
广告加载失败(-1004 无填充属正常) |
方法(ref 调用)
goToChapter(chapterId)、onPrev()、onNext()、saveProgressNow()、currentChapterId
后端服务说明
| 名称 | 类型 | 职责 |
|---|---|---|
novel-ad-callback |
云函数 | 广告解锁业务回调:trans_id 去重 → 写 novel-unlock-records → 返回 {isValid:true}(验签由 uni-ad 官方 uniAdCallback 完成) |
novel-daily-stat |
云函数 | 每日 01:00 聚合解锁数据到 novel-stat-daily(看板数据源) |
novel-user-service |
云对象 | 书城/目录/正文/解锁校验/书架/进度 |
novel-admin-service |
云对象 | 内容 CRUD/批量导入/用户/广告配置/统计(admin 角色) |
novel-common |
公共模块 | 统一响应、错误码、参数校验、redis 计数、章节冗余维护 |
安全铁律:客户端 isEnded 仅作 UI 反馈,奖励发放完全由服务器回调驱动(uni-ad 官方 uniAdCallback 验签 → novel-ad-callback 写库);novel-unlock-records.ad_trans_id 与 user_id+chapter_id 建唯一索引防刷。
数据库集合:novel-books、novel-chapters、novel-unlock-records、novel-shelf、novel-reading-progress、novel-ad-config、novel-stat-daily(详见插件内 uniCloud/database/)。
广告解锁流程
用户点击"看视频免费解锁"
→ adUnlockReady(付费/次数前置校验)
→ 播放激励视频(uni-ad)
→ onClose(isEnded) ← 仅 UI 反馈,不发放奖励
→ uni-ad 服务器回调:官方 uniAdCallback 验签 → novel-ad-callback ← 真正的发放触发点
→ trans_id 去重 + 写 unlock_records
→ 客户端轮询 verifyUnlock → 解锁成功,加载章节
常见问题
- 激励视频无回调:检查 uni-ad 后台是否开启服务器回调、回调云函数是否选对本空间与
novel-ad-callback、云函数日志;若空间存在同名旧uniAdCallback需先删除再让官方自动部署。快手广告有反作弊调整,被风控用户可能不回调,换设备/网络测试。 - -1004:无广告填充,正常情况,做降级提示;-5002:adpid 与基座不匹配,测试位与正式位勿混用。
- 客户端 isEnded 为 true 但没解锁:设计如此,奖励由服务器回调驱动。
- 管理端页面在哪:需同时购买安装
qingxia-novel-admin插件。
授权与定价
| 类型 | 价格 | 说明 |
|---|---|---|
| 普通授权 | ¥399 | 加密分发,禁止反编译与二次分发(对齐《普通授权协议》) |
| 源码授权 | ¥2499 | 完整源码交付,可二次开发,禁止转售与竞争产品(对齐《源码授权协议》) |
- 与
qingxia-novel-admin组合购买:普通 ¥499 / 源码 ¥2999; - 7 天全功能试用,试用结束加密云函数自动失效;
- 本插件不含小说内容源,版权合规由购买方负责。

收藏人数:
购买源码授权版(
导入插件并试用
赞赏(0)
下载 0
赞赏 0
下载 35238
赞赏 159
赞赏
京公网安备:11010802035340号