更新记录

2.2.1(2022-07-01)

1.注释掉阿里云oss配置,防止没有配置时运行报错

2.2.0(2022-05-06)

1.新增爬取指定小说【在后台管理-->书籍管理-->爬取当前小说】

查看更多

平台兼容性

阿里云 腾讯云
Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

云函数类插件通用教程

使用云函数类插件的前提是:使用HBuilderX 2.9+


说明

lz-book,是一个小说阅读器模板,支持小说翻页动画,滚动、仿真、平滑等,支持爬取笔趣阁小说资源

特性

  • 兼容安卓,iOS,微信小程序,H5
  • 后台使用的是uniCloud,支持爬取网站小说
  • 支持阅读记录存储
  • 小说资源不可进行商用,如有侵权后果自负

官方文档

lzBook文档链接-->点击跳转

注意事项

爬取网站小说时记得把本地超时时间设置长一点,否则超时时,小说就没有存储成功,在云函数reptiles-book-->index.js中可进行本地运行 我测试使用的是阿里云

链接

平台 体验链接 体验账号 密码
H5 lzBook 18715125421 123456
APP lzBook 18715125421 123456
后台管理系统 lzBook 18715125421 123456
官方文档 lzBook -- --

下面是我的一个客户他自己上架的小程序(自己在后台发布读书)

感谢

本项目使用了,感谢以下作者提供的资源 101***@qq.com uview

使用

```
1. 运行项目没有数据,因为阿里云数据库还没有爬取数据,需在云函数uniCloud-aliyun/cloudfunctions/reptiles-book/index.js中本地运行下云函数
函数会自动抓取,笔趣阁https://www.xbiquge.la网站的小说数据到数据库中,小说内容会以json的格式存储在云存储中,这样的好处就算笔趣阁网站小说内容改变了也不影响
已经爬取的小说
2.如果遇到查找文件main。js不存在,检查下package.josn文件(或删除运行下)
```
  • 如何开启爬取小说?
  • 1.先找到云函数reptiles-book-->index.js 在此函数上 ctr + R 运行本地云函数
  • 2.运行本地云函数主要事项
    1.如果小说打开为空白,可能原因如下
    小说爬取时如果超时了,内容就没有写入数据库
    不过不影响,你下次爬取时,如果还是爬取到这个小说,我会检测你的数据库有没有爬取内容,如果没有继续爬取
    2.记得设置编辑的超时时间设置长一点,在编辑器的工具中找到运行时的超时时间

此插件可搭配lzbook项目做的后管平台 lzbook小说

  • 1.App后台管理系统[目前支持自己写小说上架,更新章节,支持APP首页轮播图管理,支持可配置点击跳转]

url化的接口

小说接口传参的固定形式

url:https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com

参数 必选 类型 说明
params ture objct 接口所需的参数
action true string 接口的类型

1.登录

  • 接口:/user-center
  • action:login
  • params的内容如下:
参数 必选 类型 说明
username ture string 用户名
password true string 用户密码

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message/msg true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/user-center',
    data: {
        params: {
            username: '18715125421',
            password: '123456'
        },
        action: 'login',
    },
    success(res) {
        console.log(res);
    }
})
  • 返回示例
{
    "code": 0,
    "msg": "",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiI2MThiOGNkODk5MjgwYTAwMDE1NTVjM2YiLCJyb2xlIjpbImFkbWluIl0sInBlcm1pc3Npb24iOltdLCJpYXQiOjE2MzY2MTIwODYsImV4cCI6MTYzOTIwNDA4Nn0._8VyIRhLM72SjMKYsofXNUlGvQZ5GgTrw_lW58sBfjY",
    "uid": "618b8cd899280a0001555c3f",
    "username": "18715125421",
    "type": "login",
    "userInfo": {},
    "tokenExpired": 1639204086455,
    "errCode": 0,
    "errMsg": "",
    "message": ""
}

2.注册

  • 接口:/user-center
  • action:register
  • params的内容如下:
参数 必选 类型 说明
username ture string 用户名
password true string 用户密码

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message/msg true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/user-center',
    data: {
        params: {
            username: '18715125421',
            password: '123456'
        },
        action: 'register',
    },
    success(res) {
        console.log(res);
    }
})
  • 返回示例
"data": {
    "code": 0,
    "msg": "",
    "token": "",
    "tokenExpired": 1639204266159,
    "uid": "618cb8aaa9e51d00018777d7",
    "type": "register",
    "userInfo": {},
    "username": "18715125422",
    "errCode": 0,
    "errMsg": "",
    "message": ""
}

3.修改密码

  • 接口:/user-center
  • action:changePassword
  • token:用户登录后返回的token

params的内容如下:

参数 必选 类型 说明
oldPassword ture string 旧密码
newPassword true string 新密码

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/user-center',
    data: {
        params: {
            oldPassword: '123456',
            newPassword: '666666'
        },
        action: 'changePassword',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

3.获取人气飙升榜(最大返回10个数据)

  • 接口:/get-books
  • action:getPopularityList
  • token:用户登录后返回的token

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/get-books',
    data: {
        params: {},
        action: 'getPopularityList',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

4.获取小说分类信息

  • 接口:/get-books
  • action:classification
  • token:用户登录后返回的token

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息

5.小说搜索

  • 接口:/get-books
  • action:seachBook
  • token:用户登录后返回的token
  • params:具体参数

params的内容如下:

参数 必选 类型 说明
keyword ture string 关键词小说名称
bookType true number 书的类型 1.玄幻2.修真3......
pageSize true number 每页多少数据
pageNum true number 当前第几页

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/get-books',
    data: {
        params: {
            keyword:'',
            pageSize:10,
            pageNum:1,
            bookType:1,
        },
        action: 'seachBook',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

6.获取小说详细信息

  • 接口:/get-books
  • action:getBookInfo
  • token:用户登录后返回的token
  • params:具体参数

params的内容如下:

参数 必选 类型 说明
bookId ture string 小说的id

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/get-books',
    data: {
        params: {
           bookId:''
        },
        action: 'getBookInfo',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

7.获取小说目录

  • 接口:/get-books
  • action:getBookMenu
  • token:用户登录后返回的token
  • params:具体参数

params的内容如下:

参数 必选 类型 说明
bookId ture string 小说的id

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/get-books',
    data: {
        params: {
           bookId:''
        },
        action: 'getBookMenu',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

7.获取小说同类推荐(默认返回三个)

  • 接口:/get-books
  • action:similar
  • token:用户登录后返回的token
  • params:具体参数

params的内容如下:

参数 必选 类型 说明
bookType ture number 小说类别

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/get-books',
    data: {
        params: {
           bookType:1
        },
        action: 'similar',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

8.增加书的人气值

  • 接口:/get-books
  • action:addBookPopularity
  • token:用户登录后返回的token
  • params:具体参数

params的内容如下:

参数 必选 类型 说明
bookId ture string 小说id

响应参数

参数 必选 类型 说明
code ture Number 错误码,0表示成功
message true string 详细信息
  • 接口示例
uni.request({
    method: 'POST',
    url: 'https://89ea5479-ab9e-4b20-86b1-1b26c9f06428.bspapp.com/get-books',
    data: {
        params: {
           bookId:''
        },
        action: 'addBookPopularity',
        token:'****'
    },
    success(res) {
        console.log(res);
    }
})

9.获取章节内容

  • 接口:/get-books
  • action:getBookMenu
  • token:用户登录后返回的token
  • params:具体参数

小说的章节内容就是在小说目录接口中的json文件中

如需获取某一个章节内容只需要拿到这个json文件的url,通过请求这个url拿到数据 具体实现可参考我的插件lzbook

隐私、权限声明

1. 本插件需要申请的系统权限列表:

暂无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

暂无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问