联系我们
028-61286886
投诉邮箱

q@xunruicms.com

请问小程序前端详情页怎么调用多图字段显示我使用文件中的自带的
方案栏目:迅睿CMS 发布时间:2020-03-24 18:26:32

请问小程序前端SHOW详情页怎么调用多图字段显示


我使用http.php文件中的自带的news_list_data读取不出任何数据出来。


所以请问下


1:详情页自定义回调接口要怎么写,为啥用http.php的自带参数后,访问JSON,得不到任何数据。

2:这个自定义字段要怎么调,比如多图字段,files,字段为:图片 / images/ Files




http.php

//自带
    public function news_list_data($data) {
    
        $rt = [];
        if ($data) {
            foreach ($data as $t) {
                $rt[] = [
                    'title' => $t['title'],
                    'id' => $t['id'],
                    'thumb' => dr_thumb($t['thumb'], 200, 200),
                    'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'),
                ];
            }
        }
        
        return $rt;
    }


show.js

var WxParse = require('../../wxParse/wxParse.js');

var app = getApp();
var http_url = app.globalData.http_api + "s=anli&c=show";
http_url += '&api_call_function=news_list_data';
var member_url = app.globalData.http_api + "s=api&app=anli&c=module&api_auth_code=" + wx.getStorageSync('member_auth') + "&api_auth_uid=" + wx.getStorageSync('member_uid');


Page({
data: {
id: '',
content: '',
supports: 0,
upsImg: "../../icons/ups.png",
collectImg: "../../icons/collect.png",
},
onLoad: function (options) {

app.showModel();
var self = this;
wx.request({
url: http_url,
data: {
id: options.id
},
header: {
'content-type': 'application/json'
},
dataType: 'json',
method: 'GET',
success: function (res) {


if (res.data.code == 1) {
// 是否收藏
wx.request({
url: member_url + '&m=is_favorite',
data: {
id: options.id
},
header: {
'content-type': 'application/json'
},
dataType: 'json',
method: 'GET',
success: function (sc) {
if (sc.data.code == 1) {
self.setData(
{
collectImg: "../../icons/collect-active.png",
})
}
}
});

// 格式化文章内容
var article = res.data.data.content;

WxParse.wxParse('data', 'html', article, self);

self.setData({
content: res.data.data,
supports: res.data.data.support,
id: options.id
})
wx.hideToast();
} else {
wx.showModal({
showCancel: false,
content: res.data.msg
})
}



}
})
},
// getCommentList: function () {//评论跳转

//   wx.navigateTo({
//     url: '../news/comment?id=' + this.data.content.id
//   })
// },


up: function () {//点赞

var self = this;
wx.request({
url: member_url + '&m=digg&value=1',
data: {
id: self.data.id
},
header: {
'content-type': 'application/json'
},
dataType: 'json',
method: 'GET',
success: function (sc) {
if (sc.data.code == 1) {
wx.showToast({
icon: 'success',
title: sc.data.msg,
duration: 2000
});
self.setData(
{
supports: sc.data.data,
})
} else {
wx.showModal({
showCancel: false,
content: sc.data.msg
})
}
}
});
},
collect: function () {//收藏
var self = this;
wx.request({
url: member_url + '&m=favorite',
data: {
id: self.data.id
},
header: {
'content-type': 'application/json'
},
dataType: 'json',
method: 'GET',
success: function (sc) {
if (sc.data.code == 1) {
wx.showToast({
icon: 'success',
title: sc.data.msg,
duration: 2000
});
if (sc.data.msg == '收藏成功') {
self.setData(
{
collectImg: "../../icons/collect-active.png",
})
} else {
self.setData(
{
collectImg: "../../icons/collect.png",
})
}
} else {
wx.showModal({
showCancel: false,
content: sc.data.msg
})
}
}
});

}


})









解决方案列表
  • 2020-03-24 18:53:16

    你发的自带的函数里面根本没有多图字段的回调啊,要自己写一个回调方法

  • 2020-03-24 18:56:37

    回复@易学习

    是没有呀,我就是不知道怎么写。我是两个问题

    第一个问题:我用默认自带的news_list_data这个参数,访问JSON,为啥任何数据都没有?去掉这个参数就可以得到详情数据。

    第二个问题:我这个多图files要怎么写回调,不懂写呀

  • 2020-03-24 19:14:15
    public function news_list_data($data) {
        
            $rt = [];
            if ($data) {
                foreach ($data as $t) {
                    $aa = dr_get_files($t['duotu']);$duotu=[];
                    foreach($aa as $a) {
                        $duotu[] = dr_get_file($a.file);
                    }
                    $rt[] = [
                        'title' => $t['title'],
                        'id' => $t['id'],
                        'thumb' => dr_thumb($t['thumb'], 200, 200),
                        'duotu' => $duotu,
                        'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'),
                    ];
                }
            }
            
            return $rt;
        }

    浏览器访问api看看duotu有木有值

  • 2020-03-24 19:39:11

    回复@易学习

    还是没数据,就是空的,

    我就直接访问这个JSON得到的就是空数据

    https://www.***.com/index.php?appid=**&appsecret=密钥***&s=anli&c=show&id=58&api_call_function=anli_show_data

    如果把文章ID号改一下,会提示没有这篇文章的JSON。所以没搞明白是咋回事!

  • 2020-03-24 20:09:17

    不对哦,你这个是show页面的接口,我给你写的list页面的接口,肯定不能用啊

  • 2020-03-24 20:13:27

    回复@易学习

    哈,大佬,我就是要SHOW页呀,show页的怎么写,是在http这个文件吗?还是要怎么处理?

  • 2020-03-24 20:18:47
    public function anli_show_data($data) {
        
            $rt = [];
            if ($data) {
                $aa = dr_get_files($data['duotu']);$duotu=[];
                    foreach($aa as $a) {
                        $duotu[] = dr_get_file($a.file);
                    }
                    return [
                        'title' => $data['title'],
                        'id' => $data['id'],
                        'thumb' => dr_thumb($data['thumb'], 200, 200),
                        'duotu' => $duotu,
                        'updatetime' => dr_date($data['_updatetime'], 'Y-m-d H:i:s'),
                    ];
            }
            
            return $rt;
        }
    最佳满意方案
  • 2020-03-24 20:31:27

    回复@易学习

    现在能获取到图片,但是地址是错的。我改了下字段,多图字段为images,但是还是是空数据

    得到的图片地址数量是对的,但是数据名称和后缀全没出来。

    如:

    /uploadfile/Arrayfile"

    /uploadfile/Arrayfile"

    /uploadfile/Arrayfile"

    /uploadfile/Arrayfile"

    全部是这样的数据

        public function anli_show_data($data) {
        
            $rt = [];
            if ($data) {
                $aa = dr_get_files($data['images']);$images=[];
                    foreach($aa as $a) {
                        $images[] = dr_get_file($a.file);
                    }
                    return [
                        'title' => $data['title'],
                        'id' => $data['id'],
                        'thumb' => dr_thumb($data['thumb'], 200, 200),
                        'images' => $images,
                        'updatetime' => dr_date($data['_updatetime'], 'Y-m-d H:i:s'),
                    ];
            }
            
            return $rt;
        }
  • 2020-03-24 20:38:54
    public function anli_show_data($data) {
        
            $rt = [];
            if ($data) {
                $aa = dr_get_files($data['duotu']);$duotu=[];
                    foreach($aa as $a) {
                        $duotu[] = dr_get_file($a['file']);
                    }
                    return [
                        'title' => $data['title'],
                        'id' => $data['id'],
                        'thumb' => dr_thumb($data['thumb'], 200, 200),
                        'duotu' => $duotu,
                        'updatetime' => dr_date($data['_updatetime'], 'Y-m-d H:i:s'),
                    ];
            }
            
            return $rt;
        }

    忘记语法了,写成模板标签了,可以QQ私聊

  • 2020-03-24 20:46:11
    @易学习:太感谢你了。可以了。谢谢大佬!