内容操作

#内容库操作

获取内容库列表

wx.BaaS.ContentGroup.find(options)

参数说明

opions:

参数类型必填默认说明

withCount

boolean

false

是否返回 total_count

offset

number

0

偏移量

limit

number

20

最大返回条数

请求示例

wx.BaaS.ContentGroup.find({withCount: true, offset: 0, limit: 20}).then(res => {
  // success
}, err => {
  // err
})

返回示例

res.data:

{
  meta: {
    limit: 20,
    offset: 0,
    total_count: 1,
    next: null,
    previous: null,
  },
  objects: [{
    id: 1234567890,
    name: '测试内容库',
  }],
}

获取内容库详情

wx.BaaS.ContentGroup.get(contentGroupID)

参数说明

参数类型必填说明

contentGroupID

Number

内容库 ID

请求示例

let contentGroupID = 1513076211190694

wx.BaaS.ContentGroup.get(contentGroupID).then(res => {
  // success
}, err => {
  // err
})

返回示例

res.data:

{
  id: 1234567890,
  name: '测试内容库',
}

内容操作

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

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

参数说明

参数类型必填说明

contentGroupID

Number

内容库 ID

获取内容详情

MyContentGroup.getContent(richTextID)

参数说明

参数名类型必填说明

richTextID

Number

内容 ID

返回参数

参数类型说明

categories

Number Array

内容分类

content

String

内容详情

cover

String

封面图 url

created_at

Number

创建时间

created_by

Number

user ID

description

String

摘要

group_id

Number

内容库 ID

id

Number

内容 ID

title

String

内容标题

update_at

Number

更新时间

visit_count

Number

文章阅读数

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

visit_count 字段,只有在已经开通了[“文章统计”(“阅读数支持”)功能](https://cloud.minapp.com/dashboard/#/app/[[app_id | addSlashPostfixIfNotEmpty]]settings/info/),且该文章的阅读数大于 0 时,才会返回。

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

请求示例

let contentGroupID = 1513076211190694
let richTextID = 1514529306082815

let MyContentGroup = new wx.BaaS.ContentGroup(contentGroupID)
MyContentGroup.getContent(richTextID).then(res => {
  // success
}, err => {
  // err
})

返回示例

res.data:

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

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

MyContentGroup.count()

info SDK v3.0 新增

let query = new wx.BaaS.Query()
query.arrayContains('categories', [1513076252710475])
MyContentGroup.setQuery(query).count().then(num => {
  // success
  console.log(num)  // 10
}, err => {
  // err
})

查询,获取内容列表

MyContentGroup.find(options)

参数说明

options:

参数类型必填默认说明

withCount

boolean

false

是否返回 total_count

{{totalCount.withCountTips()}}

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

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

请求示例

// 查找该内容库下的所有内容
MyContentGroup.find().then()

// 查找该内容库下在指定分类下的内容
let query = new wx.BaaS.Query()
query.arrayContains('categories', [1513076252710475])
MyContentGroup.setQuery(query).find().then(res => {
  // success
}, err => {
  // err
})

筛选字段

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

扩展字段

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

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

请求示例 1

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

请求结果 1

{
  "statusCode": 200,
  "data": {
    "categories": [
      1513076252710475
    ],
    "cover": "https://cloud-minapp-1131.cloud.ifanrusercontent.com/1donykIpnuvcRiAX.jpg",
    "created_at": 1513076305,
    "created_by": 16042162,
    "description": "iphoneX 发布",
    "group_id": 1513076211190694,
    "id": 1513076305938456,
    "updated_at": 1513076364,
    "pointer_test_order": {
      "created_at": 1538966895,
      "_table": "test_order",
      "id": "5bbac56fbd66033df7fd0aa2",
      "created_by": 61736923,
      "updated_at": 1538966895
    }
  }
}

请求示例 2

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

请求结果 2

{
  "statusCode": 200,
  "data": {
    "meta": {
      "next": null,
      "offset": 0,
      "total_count": 1,
      "limit": 20,
      "previous": null
    },
    "objects": [
      {
        "title": "iphone X",
        "pointer_test_order": {
          "created_at": 1538966895,
          "_table": "test_order",
          "id": "5bbac56fbd66033df7fd0aa2",
          "created_by": 61736923,
          "updated_at": 1538966895,
          "pointer_test_order": {
            "created_at": 1538966895,
            "_table": "test_order",
            "id": "5bbac56fbd66033df7fd0aa2",
            "created_by": 61736923,
            "updated_at": 1538966895
          }
        }
      }
    ]
  }
}

获取分类详情

MyContentGroup.getCategory(categoryID)

OBJECT 参数说明

参数类型必填说明

categoryID

Number

分类 ID

返回参数

参数类型说明

children

Array

子分类列表

have_children

Boolean

是否含有子分类

id

Number

分类 ID

name

String

分类名称

请求示例

let categoryID = 1513076252710475
MyContentGroup.getCategory(categoryID).then(res => {
  // success
}, err => {
  // err
})

返回示例

res.data:

{
  "have_children": true,
  "id": 1513076252710475,
  "name": "科技",
  "children": [
    {
      "have_children": false,
      "id": 1514515552050186,
      "name": "评测"
    }
  ]
}

获取内容库分类列表

MyContentGroup.getCategoryList()

请求示例

MyContentGroup.getCategoryList().then(res => {
  // success
}, err => {
  // err
})

分页与排序

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

请求示例

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

Last updated