<script type="text/javascript">
        console.log('huati')
        wx.config({
                 debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                  appId: 'XXXXXXXXXXXXXX', // 必填,公众号的唯一标识
                  timestamp: "{$wxdata['timestamp']}", // 必填,生成签名的时间戳
                  nonceStr: "{$wxdata['noncestr']}", // 必填,生成签名的随机串
                  signature: "{$wxdata['signature']}",// 必填,签名,见附录1
                  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'
                  ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
              });
  
              wx.ready(function(){
                   // console.log(wx)
                  wx.onMenuShareTimeline({
                      title: 'test1', // 分享标题
                      link: "{$wxdata['link']}", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                      imgUrl: 'http://apix.yiku01.com/chinaxfta/img/logo.png', // 分享图标
                      success: function () {
                          //console.log('分享成功1');
                      // 用户确认分享后执行的回调函数
                      },
                      cancel: function () {
                          //console.log('分享失败1');
                      // 用户取消分享后执行的回调函数
                      }
                  });
                  wx.onMenuShareAppMessage({
                      title: 'test1', // 分享标题
                      desc: 'test1的描述', // 分享描述
                      link: "{$wxdata['link']}", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                      imgUrl: 'http://apix.yiku01.com/chinaxfta/img/logo.png', // 分享图标
                      type: 'link', // 分享类型,music、video或link,不填默认为link
                      dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
                      success: function () {
                          //console.log('分享成功');
                      // 用户确认分享后执行的回调函数
                      },
                      cancel: function () {
                          //console.log('分享失败');
                      // 用户取消分享后执行的回调函数
                      }
                  });
              })
    </script>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
    <!-- 9.27分享 -->
    <script src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

//获取微信签名所需的access_token
    public function getAccessToken() {
        //查询数据表里面的值
        $info = M('wxtoken')->find();
        if($info['expires_in'] < time()){
            //获取token的值
            $url_token = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=XXXXX&secret=XXXXXXX';
            $tmp = $this->CURLSend($url_token); //json格式
            //var_dump($tmp);die;
            $obj = json_decode($tmp);
            if($obj->access_token != null){
                $data['access_token'] = $obj->access_token;
                $data['expires_in'] = time() + $obj->expires_in;
                if($info['id']){
                    $res = M('wxtoken')->where('id='.$info['id'])->save($data);
                }else{
                    $res = M('wxtoken')->add($data);
                }
                if($res){
                    $data_new = $obj->access_token;
                }else{
                    $data_new = 'error';
                }
                return $data_new;
            }else return 'error';
        }else{
            return $info['access_token'];
        }
    }

//获取微信签名所需的 ticket
    public function getTicket(){
        $token = $this->getAccessToken();
        $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=$token&type=jsapi";
        $tmp = $this->CURLSend($url); //json格式
        $obj = json_decode($tmp);
        return $obj->ticket;
    }

//整理数据并获取微信签名
    public function generateSign(){
        $noncestr  = uniqid();
        $timestamp = time();
        $url       = 'http://' . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
        $ticket    = $this->getTicket();
        if ($ticket) {
            $str = 'jsapi_ticket='.$ticket.'&noncestr='.$noncestr.'&timestamp='.$timestamp.'&url='.$url;
            $signature = sha1($str);
            $data['noncestr'] = $noncestr;
            $data['timestamp'] = $timestamp;
            $data['signature'] = $signature;
            $data['appId'] = 'XXXXXX';
            $data['link'] = $url;
            return $data;
        }
    }

function CURLSend($url){
        $timeout = 15;
        $con = curl_init((string)$url);
        curl_setopt($con, CURLOPT_HEADER, false);
        curl_setopt($con, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($con, CURLOPT_TIMEOUT, (int)$timeout);

return curl_exec($con);
    }

$wxdata = $this->generateSign();
$this->assign('wxdata',$wxdata);

H5页面分享到朋友圈,自定义标题描述封面图 前端+php代码相关推荐

  1. c# 文章分享微信朋友圈自定义标题、摘要、缩略图

    微信升级后需要通过接入微信公众号才行,记录下. 一.登录微信公众号设置-功能设置-JS接口安全域名,设置网站的域名,可以多个 二.前端配置:测试阶段将wx.config中的debug设置为true,页 ...

  2. html怎么检测分享朋友圈没,微信中里如何判断页面被分享到朋友圈和微信号的成功,附代码...

    微信中里如何判断页面被分享到朋友圈和微信号的成功,附代码 其实微信已经给好了回调函数了. 见代码: /p> "http://www.w3.org/TR/html4/loose.dtd& ...

  3. 公众号 H5页面分享链接携带图片与标题(自定义卡片式分享链接)

    第一步:引入微信sdk(npm install weixin-js-sdk --save) 第二步:创建wechat.js import wx from "../node_modules/w ...

  4. 微信JSSDK进行朋友圈自定义标题、描述、图片、链接分享

    概述 微信JSSDK是什么? 微信的jssdk是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信的jssdk,网页开发者可以借助微信高效的使用拍照.选图.语音.位置等手机系统 ...

  5. 微信分享朋友圈自定义标题链接

    <?php require_once "jssdk.php"; $jssdk = new JSSDK("wxc5a65470f2a10f7", " ...

  6. vue页面分享微信朋友圈

    个人博客地址 微信官方文档 注:1.web的分享只能通过微信右上角自带的三个点分享,只有app才能实现自定义按钮的分享. 步骤: 1.安装 :npm i -S weixin-js-sdk 2.新建js ...

  7. plsql developer无监听程序_微信小程序支持分享到朋友圈啦!技术解读跟我来

    千呼万唤始出来!微信小程序页面分享到朋友圈的功能,终于在安卓系统灰度测试了!目前只在安卓系统!只在安卓系统!只在安卓系统!iOS系统还没有办法体验. 首先,我们看一下官方文档的描述,解读一下小程序分享 ...

  8. 微信小程序如何直接分享到朋友圈?

    近日微信终于公开了小程序分享到朋友圈,下面就分享一下技术上如何将小程序分享到朋友圈吧. 官方技术文档如下: 分享到朋友圈(Beta) 从基础库 2.11.3 开始支持 此功能为beta版,暂仅在And ...

  9. android分享朋友圈功能,微信小程序实现分享至朋友圈的功能来啦

    微信小程序「分享至朋友圈」能力,终于来了!(之前,我相信大部分微信小程序的开发者都是用"分享卡片"的形式,手动调用wx.createCanvasContext生成一张图片,让用户生 ...

最新文章

  1. JAVA学习day05
  2. 开发者基础知识游戏,共10关,欢迎挑战
  3. 为JPA的本机查询API键入安全查询
  4. 微服务精华问答:什么是微服务架构中的DRY?| 技术头条
  5. 【CCF】201812-2小明放学
  6. 第二部分 自动内存管理机制
  7. UML概要基础知识(待完善)
  8. Unity-汽车仿真-1.车库UI菜单滑动功能(利用iTween)
  9. live2d 看板娘
  10. h3c交换机配置远程管理_h3c 交换机配置VLAN和远程管理
  11. [Python]PEP8 编码规范及开发中的一些惯例和建议
  12. IDEA SpringBoot 自定义Banner
  13. ANSYS经典界面出图技巧总结
  14. 如何防止抄袭PCB电路板
  15. 找不到可插入的ISAM
  16. 微信,找回好友、群聊用户撤回的消息
  17. 最终幻想-核心危机中魔石融合附全能力详细教学
  18. 传感器检测技术及仪表笔记02第二章 检测系统的基本特性
  19. 无人机遥感在农林信息提取中的实现方法与GIS融合应用
  20. wasp软件怎么安装不了_安装选项 · alibaba/wasp Wiki · GitHub

热门文章

  1. 水果店圈子:怎么做好水果店线上营销方案,水果店线上如何做
  2. Windows实现微信双开
  3. html 截取指定字符串长度,前端js截取指定长度个数字符 v2.0.0
  4. 【python报错总结】pandas打开Excel文件失败
  5. 抽奖助手——端午老板加班让我写个抽奖助手给员工发福利
  6. Load balancer does not have available server for client: chwl-provider-order
  7. AndroidProjects个人项目归纳
  8. Android studio语音识别集成科大讯飞语音转文字
  9. 很多人将元宇宙与早前的区块链等转瞬即逝的风口作对比
  10. Matlab自带的分类学习工具箱(SVM、决策树、Knn等分类器)