接口标识:show
接口url:https://你的网站/index.php?s=xiaochengxu&c=home&m=show&id=10
接口参数:
字段名称 | 字段说明 | 类型 | 必填 | 备注 |
---|---|---|---|---|
id | 文章id | num | 必填 | 文章id |
catid | 栏目id | num | 可不填 | catid和mid必填其中一个 |
mid | 模型id | num | 可不填 | catid和mid必填其中一个 |
小程序代码
- swan.request({
- url: app.globalData.api + "show",
- data: {
- id: id,
- aid: app.globalData.aid
- },
- method: 'POST',
- header: {
- 'content-type': 'application/x-www-form-urlencoded',
- 'x-safecode': app.globalData.safecode
- },
- success: function (res) {
- var content = res.data.data;
- content.updatetime = util.formatTime(content.updatetime, 'Y-M-D h:m:s');
- content.taglist = content.keywords.split(",");
- bdParse.bdParse('article', 'html', content.content, that, 10);
- var catid = content.catid;//获取当前文章所属栏目
- that.get_other(catid,10);//获取同栏目下相关文章
- var catinfo = CATEGORYS[catid];
- var pid = catinfo['pid'];//父栏目
- var pcatinfo = pid == 0 ? '' : CATEGORYS[pid];
- var catlist = common.get_catlist(catid);//优先调用子栏目,没有子栏目调用兄弟栏目
- that.setData({
- all:content,
- catid:catid,
- title:content.title,
- catinfo:catinfo,
- pid:pid,
- pcatinfo:pcatinfo,
- catlist:catlist,
- prev: content.prev,
- next: content.next,
- tindex:tindex,
- })
- //设置页面标题
- swan.setNavigationBarTitle({
- title: content.title + "-" + app.globalData.appname
- })
- },
- })
说明:
(1)该页面引入了require('../../utils/util.js'),里边封装的有对时间的处理,因为api返回的是时间戳,需要处理
(2)由于小程序不支持直接的html标签,所以引入bdparse插件,具体参考demo。微信是wxparse,头条是头条版的wxparse
- content.relations[i].updatetime = util.formatTime(content.relations[i].updatetime, 'Y-M-D');
(3)relation默认关闭,需要修改代码来开启,参考demo
(4)接口返回的数据包含文章的上一篇和下一篇,调用代码:
(5)某些字段如果不是全部模型都有的,调用之前最好是加个判断,防止某些模型该字段不存在报错
- that.setData({
- pre: content.preNext.pre,
- next: content.preNext.next,
- })
前端:
- if (content.hasOwnProperty("baojia")) { //首先判断baojia字段是否存在
- if (content.baojia.length > 0) {
- bdParse.bdParse('baojia', 'html', content.baojia, that, 5),
- that.setData({
- baojiakg: true,
- })
- }
- }
- <view class="nextpage mt10" bindtap="nextpage" data-catid="{{prev.catid}}" data-id="{{prev.id}}">
- 上一篇:{{prev.title}}</view>
- <view class="nextpage" bindtap="nextpage" data-catid="{{next.catid}}" data-id="{{next.id}}">
- 下一篇:{{next.title}}</view>