微信公众号,图片预览功能 有单个图片,

 

html

          <div class="zc_img">
                    <volist name="remark['img']" id="img_vo">
                        <i class="zc_img_i a{$remark['id']}" data-img="{$img_vo}" data-id="{$remark['id']}" style="background-image: url('{$img_vo}')" onClick="img('a'+{$remark['id']},'zc_img','a'+{$remark['id']})"></i>
                       </volist>
                </div>

 

js

复制代码
{:wx_jssdk_config("false")}/*封装的方法*/
<script>
    
    /*调用微信预览图片的 循环 方法*/
    function img(a,b,c){
        var nowImgurl = $('.'+a).attr("data-img");
        var imgs = [];
        var imgObj = $("."+b+' '+'.'+c);//这里改成相应的对象
        $.each(imgObj,function(index,el){
            imgs.push(imgObj.eq(index).attr("data-img"));
        });
        wx.ready(function(){
            wx.previewImage({
                current: nowImgurl, // 当前显示图片的http链接
                urls: imgs // 需要预览的图片http链接列表
            });
        });
    }
    
    /*调用微信预览图片的 单个 方法*/
    $('.zc_img').on("click",".zc_img_i",function(){
        var nowImgurl = $(this).attr("data-img");
        var imgs = [];
        var imgObj = $(".zc_img .zc_img_i");//这里改成相应的对象
        $.each(imgObj,function(index,el){
            imgs.push(imgObj.eq(index).attr("data-img"));
        });
        wx.ready(function(){
            wx.previewImage({
                current: nowImgurl, // 当前显示图片的http链接
                urls: imgs // 需要预览的图片http链接列表
            });
        });
    })


</script>
复制代码

 

function.php 

复制代码
/**
 * 直接生成微信jssdk_config
 * @echo string $jssdk Jssdk_config
 * @author 5heAtMin9 <sheatming@foxmail.com>
 */

function wx_jssdk_config($debug='true'){
    $getSignPackage = wx_getSignPackage();
    $jssdk = '<script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>';
    $jssdk .= '<script>
    wx.config({
        debug: '.$debug.', 
        appId: "'.$getSignPackage['appId'].'",
        timestamp: "'.$getSignPackage['timestamp'].'",
        nonceStr: "'.$getSignPackage['nonceStr'].'",
        signature: "'.$getSignPackage['signature'].'",
        jsApiList: ["checkJsApi","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ", "onMenuShareWeibo","onMenuShareQZone","hideMenuItems","showMenuItems","hideAllNonBaseMenuItem","showAllNonBaseMenuItem","translateVoice","startRecord","stopRecord","onVoiceRecordEnd","playVoice","onVoicePlayEnd","pauseVoice","stopVoice","uploadVoice","downloadVoice","chooseImage","previewImage","uploadImage","downloadImage","getNetworkType","openLocation","getLocation","hideOptionMenu","showOptionMenu","closeWindow","scanQRCode","chooseWXPay","openProductSpecificView","addCard","chooseCard","openCard"],
    });
</script>';
    echo $jssdk;
}
复制代码

 

posted @   遇事稳坐钓鱼台  阅读(2592)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示