业务经理

微信扫描以上二维码

028-61286886

技术咨询

微信分享,PC能分享出去,移动端分享就是报错

迅睿框架 更新 2021-12-03 11:23:13 严波

微信分享,PC能分享出去,移动端分享就是报错。

{xunruicms_img_title}

把defug打开,显示

<script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

<?php \Phpcmf\Service::C()->init_file('weixin');$signPackage=\Phpcmf\Service::L('jssdk','weixin')->GetSignPackage();?>
<?php $imgUrl = $thumb ? dr_get_file($thumb,400,400) : SITE_URL.'logo.png'; ?>
<?php $title = $title; ?>

<script>
    wx.config({
        // debug: true,
        appId: '<?php echo $signPackage["appId"];?>',
        timestamp: <?php echo $signPackage["timestamp"];?>,
    nonceStr: '<?php echo $signPackage["nonceStr"];?>',
        signature: '<?php echo $signPackage["signature"];?>',
        jsApiList: ['onMenuShareTimeline', 'onMenuShareQQ', 'onMenuShareQZone', 'onMenuShareAppMessage','updateAppMessageShareData','updateTimelineShareData']
    });
    wx.ready(function () {
        // 在这里调用 API
         wx.updateAppMessageShareData({ 
     title: '{$title}', // 分享标题
            desc: '{$description}', // 分享描述
            link: '{dr_now_url()}', // 分享链接
            imgUrl: '{$imgUrl}', // 分享图标
    success: function () {
      // 设置成功
    }
  });


插件版权:官方插件
插件名称:微信系统

方案

  • 官方插件技术-陈老师 #1 · 2021-10-06 15:01:46
    从数据上说它是权限不够,你去微信公众号平台把移动端的域名也添加进去白名单。
  • 严波 #2 · 2021-10-06 15:03:41
    官方插件技术-陈老师 公众号IP白名单 我们加了IP ,现在还要加英文域名的意思吗?
  • 官方插件技术-陈老师 #3 · 2021-10-06 15:05:54
    对,子域名,主域名都要加白名单参考文档:《Jssdk类》
  • 严波 #4 · 2021-10-06 15:07:37
    我们ip白名单 121.199.20.212也加上去了的
  • 严波 #5 · 2021-10-06 15:08:37


  • 严波 #6 · 2021-10-06 15:08:54
    安全域名啥的 JS域名也都加了的
  • 官方插件技术-陈老师 #7 · 2021-10-06 15:11:04


  • 严波 #8 · 2021-10-06 15:15:28
    加了的哦。这个肯定都加的哈,最基本的JS分享
  • 严波 #9 · 2021-10-06 15:16:31
    我们手机端和PC段是用一个域名
  • 严波 #10 · 2021-10-06 15:22:37
  • 官方插件技术-陈老师 #11 · 2021-10-06 15:23:15
    同一个域名肯定不会这种情况 了,分享是按域名来的,都一样了,说明权限也是一样了,等一天观察观察看看是不是微信那边的问题
  • 严波 #12 · 2021-10-06 15:23:25
    官方插件技术-陈老师 陈老师 ,网址是https://tc.xdmrz.com/index.php?s=zz&c=show&id=54 这个你可以打开看下。
  • 官方插件技术-陈老师 #13 · 2021-10-06 15:26:44
    可以,我分享没有提示错误,手机分享
  • 严波 #14 · 2021-10-06 16:17:18
    官方插件技术-陈老师 我把debug取消了的。分享出去没有显示摘要和缩略图。只有网址
    如果debug打开,页面是报错的状态 就是上图发的报错。
  • 设计部 #15 · 2021-10-06 16:25:53
    图片不显示可能是图片url是远程url,需要把图片url的域名加入白名单
  • 严波 #16 · 2021-10-06 17:02:52
    满意答案
    感觉是签名函数的问题哈。
    https://tc.xdmrz.com/aa.php
    直接能输出 token
    /**
     *  通过URL获取页面信息
     * @param $url  地址
     * @return mixed  返回页面信息
     */
    function get_url($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url);  //设置访问的url地址
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);//不输出内容
        $result =  curl_exec($ch);
        curl_close ($ch);
        return $result;
    }
    
    
    $file_contents = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=修改ID&secret=自己的秘钥';
    
     $res =get_url($file_contents);
    
    //  $res =httpRequest($url,$data);
        $json_array = json_decode($res,true);
        $data=$json_array['access_token'];
         
        echo $data;
    上面的APPID 我修改了的。
  • 严波 #17 · 2021-10-06 17:25:23
    问题是,PC能分享,移动端不能分享哈。PC端 微信浏览器分享是正常的。移动端就是不行,主要是这个问题。
  • 官方插件技术-陈老师 #18 · 2021-10-06 17:36:16
    这个问题不太好排查,关键是你域名都一样,
  • 严波 #19 · 2021-10-07 09:15:18
    官方插件技术-陈老师 是的。现在的问题就是 我pc分享正常,移动端微信分享不正常。要么你就两个不正常。所以 我感觉是移动端的签名是不是哪儿有问题。同一个域名下,移动端分享。
  • 官方插件技术-陈老师 #20 · 2021-10-07 09:18:35
    签名理论上应该不会有问题,程序没变,域名没变,理论上签名也就没变化。你可以尝试用用微信自带的demo程序试一试
  • 严波 #21 · 2021-10-07 09:55:04
    官方插件技术-陈老师 会不会是因为我windows服务器的原因啊?然后代码里面有严格模式,
    现在发现的问题是,cache/temp/这个文件夹 没有access_token.php和jsapi_ticket.php这两个缓存文件的写入 会不会是这个原因??
  • 严波 #22 · 2021-10-07 09:56:29
    <?php \Phpcmf\Service::C()->init_file('weixin');$signPackage=\Phpcmf\Service::L('jssdk','weixin')->GetSignPackage();?>
    这个写入出现的JS明面上的分享代码都正常
    wx.config({    
    // debug: ,    
    appId: 'wxacaea66d3f229416',    
    timestamp: 1633571764,    
    nonceStr: 'ZHJ03TjZ5PAM99zE',    
    signature: '9756099bc2f88400674212f90a6e850ec27b2594',
  • 严波 #23 · 2021-10-07 10:12:39
    提示的是 php提示签名报错
  • 官方插件技术-陈老师 #24 · 2021-10-07 10:15:06
    可以对比下html模式下的值是否一样的
  • 严波 #25 · 2021-10-07 10:28:04
    官方插件技术-陈老师

    https://tc.xdmrz.com/index.php?s=zz&c=show&id=27


    这个网站麻烦陈老师 你微信打开看看,报错是这些信息,是分享接口没有获取到哈,我把debug打开了

  • 严波 #26 · 2021-10-07 10:28:44






  • 官方插件技术-陈老师 #27 · 2021-10-07 10:29:32
    老师也判断不出来原因了 😅
  • 严波 #28 · 2021-10-07 10:45:16
    手机上会弹出{"errmsg":"config invalid signature"}这个百度了下 基本上都是说签名错误的问题 😄
  • 官方插件技术-陈老师 #29 · 2021-10-07 10:50:32
    理论上签名也不会有变化
  • 严波 #30 · 2021-10-07 10:53:19
    找到了问题,官方JSSDK问题

    微信JS-SDK 分享朋友圈时报:signature 错误

    /dayrui/App/Weixin/Libraries/Jssdk.php103 104

    找到下面两行代码:

    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);

    然后将true改为false原因:通过查询curl用法我们可以看到上面两行代码是配置curl是否使用ssl的带证书(https协议)访问,一般我们是没有安装证书的(http协议),所以将true改为false就好!
    一般来说 我们都是https的,它还搞个验证。

  • 严波 #31 · 2021-10-07 11:00:37
    简单点 我感觉就是网站如果是泛域名ssl证书的话 ,二级站点分享都需要把这个改成false
  • 官方插件技术-陈老师 #32 · 2021-10-07 11:06:12
    收到,没有想到前缀问题,一般网站都是https模式,下次提醒一下用户https
  • 严波 #33 · 2021-12-03 11:23:13
    @严波:这个修改下

迅睿系统漏洞

GEO系统
GEO系统(2026-09-15)
运营客户端,防止误触阴影处关闭对话框
独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...