内容操作

获取内容详情

Content article = Contents.content(contentId)

参数说明

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

返回参数

参数类型说明
Content.CATEGORIESNumber Array内容分类
Content.CONTENTString内容详情
Content.COVERString封面图 url
Content.CREATED_ATNumber创建时间
Content.CREATED_BYNumberuser ID
Content.DESCRIPTIONString摘要
Content.GROUP_IDNumber内容库 ID
Content.IDNumber内容 ID
Content.TITLEString内容标题
Content.UPDATE_ATNumber更新时间

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

请求示例

  1. Content article = Contents.content("1514529306082815");

返回示例

  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. }

查询,获取内容列表

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

请求示例

  1. // 查找内容库 groupId 下的所有内容
  2. Query query = new Query();
  3. query.put(Content.QUERY_CONTENT_GROUP_ID, "groupId");
  4. PagedList<Content> contents = Contents.contents(query);
  5. // 查找该内容库下在指定分类下的内容
  6. Query query = new Query();
  7. query.put(Content.QUERY_CONTENT_GROUP_ID, "groupId");
  8. Where where = new Where();
  9. where.containedIn(Content.CATEGORIES, Arrays.asList("1513076252710475"));
  10. PagedList<Content> contents = Contents.contents(query);

筛选字段

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

扩展字段

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

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

请求示例 1

  1. Where where = new Where();
  2. where.equalTo(Content.ID, "1513076305938456");
  3. Query query = new Query()
  4. .keys("-title", "-content")
  5. .expand("pointer_test_oder")
  6. .put(where);
  7. Content content = Contents.contents(query).getObjects().get(0);

请求结果 1

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

请求示例 2

  1. Query query = new Query()
  2. .keys("title", "content", "pointer_test_oder")
  3. .expand("pointer_test_oder")
  4. .put(where);
  5. PagedList<Content> contents = Contents.contents(query);

请求结果 2

  1. {
  2. "data": {
  3. "meta": {
  4. "next": null,
  5. "offset": 0,
  6. "total_count": 1,
  7. "limit": 20,
  8. "previous": null
  9. },
  10. "objects": [
  11. {
  12. "content": "<p>\b 该片讲述了伊娅不满父亲的恶作剧</p>",
  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. }

获取分类详情

Contents.contentCategory(id)

ContentCategory 结构

参数类型说明
ContentCategory.CHILDRENArray子分类列表
ContentCategory.HAVE_CHILDRENBoolean是否含有子分类
ContentCategory.IDString分类 ID
ContentCategory.NAMEString分类名称

ContentCategory请求示例

  1. Contents.contentCategory("1513076252710475");

返回示例

  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. }

获取内容库分类列表

Contents.contentGroups(query)

请求示例

  1. PagedList<ContentGroup> groups = Contents.contentGroups(null);

分页与排序

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

请求示例

  1. Query query = new Query().offset(10).limit(5).orderBy("-created_by")
  2. PagedList<ContentGroup> groups = Contents.contentGroups(query);