内容库操作

获取内容库列表

wx.BaaS.ContentGroup.find(options)

qq.BaaS.ContentGroup.find(options)

BaaS.ContentGroup.find(options)

my.BaaS.ContentGroup.find(options)

swan.BaaS.ContentGroup.find(options)

参数说明

opions:

参数类型必填默认说明
withCountbooleanfalse是否返回 total_count
offsetnumber0偏移量
limitnumber20最大返回条数

请求示例

  1. wx.BaaS.ContentGroup.find({withCount: true, offset: 0, limit: 20}).then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })
  1. qq.BaaS.ContentGroup.find({withCount: true, offset: 0, limit: 20}).then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })
  1. BaaS.ContentGroup.find({withCount: true, offset: 0, limit: 20}).then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })
  1. my.BaaS.ContentGroup.find({withCount: true, offset: 0, limit: 20}).then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })
  1. swan.BaaS.ContentGroup.find({withCount: true, offset: 0, limit: 20}).then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })

返回示例

res.data:

  1. {
  2. meta: {
  3. limit: 20,
  4. offset: 0,
  5. total_count: 1,
  6. next: null,
  7. previous: null,
  8. },
  9. objects: [{
  10. id: 1234567890,
  11. name: '测试内容库',
  12. }],
  13. }

获取内容库详情

wx.BaaS.ContentGroup.get(contentGroupID)

qq.BaaS.ContentGroup.get(contentGroupID)

BaaS.ContentGroup.get(contentGroupID)

my.BaaS.ContentGroup.get(contentGroupID)

swan.BaaS.ContentGroup.get(contentGroupID)

参数说明

参数类型必填说明
contentGroupIDNumber内容库 ID

请求示例

  1. let contentGroupID = 1513076211190694
  2. wx.BaaS.ContentGroup.getContent(contentGroupID).then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })
  1. let contentGroupID = 1513076211190694
  2. qq.BaaS.ContentGroup.getContent(contentGroupID).then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })
  1. let contentGroupID = 1513076211190694
  2. BaaS.ContentGroup.getContent(contentGroupID).then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })
  1. let contentGroupID = 1513076211190694
  2. my.BaaS.ContentGroup.getContent(contentGroupID).then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })
  1. let contentGroupID = 1513076211190694
  2. swan.BaaS.ContentGroup.getContent(contentGroupID).then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })

返回示例

res.data:

  1. {
  2. id: 1234567890,
  3. name: '测试内容库',
  4. }

内容操作

以下操作都需指明操作的内容库,方法如下:

let MyContentGroup = new wx.BaaS.ContentGroup(contentGroupID)

let MyContentGroup = new qq.BaaS.ContentGroup(contentGroupID)

let MyContentGroup = new BaaS.ContentGroup(contentGroupID)

let MyContentGroup = new my.BaaS.ContentGroup(contentGroupID)

let MyContentGroup = new swan.BaaS.ContentGroup(contentGroupID)

参数说明

参数类型必填说明
contentGroupIDNumber内容库 ID

获取内容详情

MyContentGroup.getContent(richTextID)

参数说明

参数名类型必填说明
richTextIDNumber内容 ID

返回参数

参数类型说明
categoriesNumber Array内容分类
contentString内容详情
coverString封面图 url
created_atNumber创建时间
created_byNumberuser ID
descriptionString摘要
group_idNumber内容库 ID
idNumber内容 ID
titleString内容标题
update_atNumber更新时间
visit_countNumber文章阅读数

如果有自定义字段,则一并返回。

visit_count 字段,只有在已经开通了“文章统计”(“阅读数支持”)功能,且该文章的阅读数大于 0 时,才会返回。

“文章阅读数统计”是一个异步的操作,统计结果略有延迟。

请求示例

  1. let contentGroupID = 1513076211190694
  2. let richTextID = 1514529306082815
  3. let MyContentGroup = new wx.BaaS.ContentGroup(contentGroupID)
  4. MyContentGroup.getContent(richTextID).then(res => {
  5. // success
  6. }, err => {
  7. // err
  8. })
  1. let contentGroupID = 1513076211190694
  2. let richTextID = 1514529306082815
  3. let MyContentGroup = new qq.BaaS.ContentGroup(contentGroupID)
  4. MyContentGroup.getContent(richTextID).then(res => {
  5. // success
  6. }, err => {
  7. // err
  8. })
  1. let contentGroupID = 1513076211190694
  2. let richTextID = 1514529306082815
  3. let MyContentGroup = new BaaS.ContentGroup(contentGroupID)
  4. MyContentGroup.getContent(richTextID).then(res => {
  5. // success
  6. }, err => {
  7. // err
  8. })
  1. let contentGroupID = 1513076211190694
  2. let richTextID = 1514529306082815
  3. let MyContentGroup = new my.BaaS.ContentGroup(contentGroupID)
  4. MyContentGroup.getContent(richTextID).then(res => {
  5. // success
  6. }, err => {
  7. // err
  8. })
  1. let contentGroupID = 1513076211190694
  2. let richTextID = 1514529306082815
  3. let MyContentGroup = new swan.BaaS.ContentGroup(contentGroupID)
  4. MyContentGroup.getContent(richTextID).then(res => {
  5. // success
  6. }, err => {
  7. // err
  8. })

返回示例

res.data:

  1. {
  2. categories: [1513076252710475],
  3. content: "<p>\b 该片讲述了伊娅不满父亲的恶作剧</p>",
  4. cover: "https://cloud-minapp-1131.cloud.ifanrusercontent.com/1donykIpnuvcRiAX.jpg",
  5. created_at: 1513076305,
  6. created_by: 16042162,
  7. description: "iphoneX 发布",
  8. group_id: 1513076211190694,
  9. id: 1513076305938456,
  10. title: "iphone X",
  11. updated_at: 1513076364,
  12. visit_count: 10
  13. }

获取符合筛选条件的内容总数

MyContentGroup.count()

SDK v3.0 新增

  1. let query = new wx.BaaS.Query()
  2. query.arrayContains('categories', [1513076252710475])
  3. MyContentGroup.setQuery(query).count().then(num => {
  4. // success
  5. console.log(num) // 10
  6. }, err => {
  7. // err
  8. })
  1. let query = new qq.BaaS.Query()
  2. query.arrayContains('categories', [1513076252710475])
  3. MyContentGroup.setQuery(query).count().then(num => {
  4. // success
  5. console.log(num) // 10
  6. }, err => {
  7. // err
  8. })
  1. let query = new BaaS.Query()
  2. query.arrayContains('categories', [1513076252710475])
  3. MyContentGroup.setQuery(query).count().then(num => {
  4. // success
  5. console.log(num) // 10
  6. }, err => {
  7. // err
  8. })
  1. let query = new my.BaaS.Query()
  2. query.arrayContains('categories', [1513076252710475])
  3. MyContentGroup.setQuery(query).count().then(num => {
  4. // success
  5. console.log(num) // 10
  6. }, err => {
  7. // err
  8. })
  1. let query = new swan.BaaS.Query()
  2. query.arrayContains('categories', [1513076252710475])
  3. MyContentGroup.setQuery(query).count().then(num => {
  4. // success
  5. console.log(num) // 10
  6. }, err => {
  7. // err
  8. })

查询,获取内容列表

MyContentGroup.find(options)

参数说明

options:

参数类型必填默认说明
withCountbooleanfalse是否返回 total_count

当数据条目多时,可通过不返回 total_count 提高响应速度。

SDK v2.x 无法配置是否返回 total_count。

SDK v3.x 新增了 withCount 字段来配置是否返回 total_count,默认为 false

SDK v3.x 还新增了 count 方法,用来查询列表的数量。

内容查询与数据表查询方法一致。

MyContentGroup.find() 接口返回的内容中,不包含 content 字段。

请求示例

  1. // 查找该内容库下的所有内容
  2. MyContentGroup.find().then()
  3. // 查找该内容库下在指定分类下的内容
  4. let query = new wx.BaaS.Query()
  5. query.arrayContains('categories', [1513076252710475])
  6. MyContentGroup.setQuery(query).find().then(res => {
  7. // success
  8. }, err => {
  9. // err
  10. })
  1. // 查找该内容库下的所有内容
  2. MyContentGroup.find().then()
  3. // 查找该内容库下在指定分类下的内容
  4. let query = new qq.BaaS.Query()
  5. query.arrayContains('categories', [1513076252710475])
  6. MyContentGroup.setQuery(query).find().then(res => {
  7. // success
  8. }, err => {
  9. // err
  10. })
  1. // 查找该内容库下的所有内容
  2. MyContentGroup.find().then()
  3. // 查找该内容库下在指定分类下的内容
  4. let query = new BaaS.Query()
  5. query.arrayContains('categories', [1513076252710475])
  6. MyContentGroup.setQuery(query).find().then(res => {
  7. // success
  8. }, err => {
  9. // err
  10. })
  1. // 查找该内容库下的所有内容
  2. MyContentGroup.find().then()
  3. // 查找该内容库下在指定分类下的内容
  4. let query = new my.BaaS.Query()
  5. query.arrayContains('categories', [1513076252710475])
  6. MyContentGroup.setQuery(query).find().then(res => {
  7. // success
  8. }, err => {
  9. // err
  10. })
  1. // 查找该内容库下的所有内容
  2. MyContentGroup.find().then()
  3. // 查找该内容库下在指定分类下的内容
  4. let query = new swan.BaaS.Query()
  5. query.arrayContains('categories', [1513076252710475])
  6. MyContentGroup.setQuery(query).find().then(res => {
  7. // success
  8. }, err => {
  9. // err
  10. })

筛选字段

select 使用方法可以参考数据表 - 字段过滤小节

扩展字段

expand 使用方法可以参考数据表 - 字段扩展小节

假设 _richtextcontent 表中有一个类型为 pointer 的字段,名称为 pointer_test_oder, 指向了 test_order 表

请求示例 1

  1. MyContentGroup.select(['-title']).expand('pointer_test_oder').getContent(1513076305938456).then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })

请求结果 1

  1. {
  2. "statusCode": 200,
  3. "data": {
  4. "categories": [
  5. 1513076252710475
  6. ],
  7. "cover": "https://cloud-minapp-1131.cloud.ifanrusercontent.com/1donykIpnuvcRiAX.jpg",
  8. "created_at": 1513076305,
  9. "created_by": 16042162,
  10. "description": "iphoneX 发布",
  11. "group_id": 1513076211190694,
  12. "id": 1513076305938456,
  13. "updated_at": 1513076364,
  14. "pointer_test_order": {
  15. "created_at": 1538966895,
  16. "_table": "test_order",
  17. "id": "5bbac56fbd66033df7fd0aa2",
  18. "created_by": 61736923,
  19. "updated_at": 1538966895
  20. }
  21. }
  22. }

请求示例 2

  1. MyContentGroup.select(['title', 'pointer_test_oder']).expand('pointer_test_oder').find().then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })

请求结果 2

  1. {
  2. "statusCode": 200,
  3. "data": {
  4. "meta": {
  5. "next": null,
  6. "offset": 0,
  7. "total_count": 1,
  8. "limit": 20,
  9. "previous": null
  10. },
  11. "objects": [
  12. {
  13. "title": "iphone X",
  14. "pointer_test_order": {
  15. "created_at": 1538966895,
  16. "_table": "test_order",
  17. "id": "5bbac56fbd66033df7fd0aa2",
  18. "created_by": 61736923,
  19. "updated_at": 1538966895,
  20. "pointer_test_order": {
  21. "created_at": 1538966895,
  22. "_table": "test_order",
  23. "id": "5bbac56fbd66033df7fd0aa2",
  24. "created_by": 61736923,
  25. "updated_at": 1538966895
  26. }
  27. }
  28. }
  29. ]
  30. }
  31. }

获取分类详情

MyContentGroup.getCategory(categoryID)

OBJECT 参数说明

参数类型必填说明
categoryIDNumber分类 ID

返回参数

参数类型说明
childrenArray子分类列表
have_childrenBoolean是否含有子分类
idNumber分类 ID
nameString分类名称

请求示例

  1. let categoryID = 1513076252710475
  2. MyContentGroup.getCategory(categoryID).then(res => {
  3. // success
  4. }, err => {
  5. // err
  6. })

返回示例

res.data:

  1. {
  2. "have_children": true,
  3. "id": 1513076252710475,
  4. "name": "科技",
  5. "children": [
  6. {
  7. "have_children": false,
  8. "id": 1514515552050186,
  9. "name": "评测"
  10. }
  11. ]
  12. }

获取内容库分类列表

MyContentGroup.getCategoryList()

请求示例

  1. MyContentGroup.getCategoryList().then(res => {
  2. // success
  3. }, err => {
  4. // err
  5. })

分页与排序

内容查询的分页与排序操作和数据表分页与排序方法一致。

请求示例

  1. MyContentGroup.orderBy('-created_by').limit(5).offset(10).find().then()