微信分享链接自定义卡片和内容信息

官方文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

准备工作

1、公众号appid和secret秘钥信息,配置ip白名单
2、配置js域名信息
3、php后端接口处理
4、前段接口调用

实现效果
微信发送给朋友

分享到朋友圈

1、公众号appid和secret秘钥信息,配置ip白名单

2、配置js域名信息

3、php后端接口处理
公共方法类

/*** 生成随机字串* @param number $length 长度,默认为16,最长为32字节* @return string*/
function generateNonceStr($length = 16)
{// 密码字符集,可任意添加你需要的字符$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";$str = "";for ($i = 0; $i < $length; $i++) {$str .= $chars[mt_rand(0, strlen($chars) - 1)];}return $str;
}
//curl请求
function http_url($url)
{$info = curl_init();curl_setopt($info, CURLOPT_RETURNTRANSFER, true);curl_setopt($info, CURLOPT_HEADER, 0);curl_setopt($info, CURLOPT_NOBODY, 0);curl_setopt($info, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($info, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($info, CURLOPT_URL, $url);$output = curl_exec($info);curl_close($info);return $output;
}//get请求function do_get($url, $params){$url = "{$url}?" . http_build_query($params);$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');curl_setopt($ch, CURLOPT_TIMEOUT, 60);curl_setopt($ch, CURLOPT_POSTFIELDS, $params);$result = curl_exec($ch);curl_close($ch);return $result;}

业务类

//获取公众平台access_tokenprotected function getopen_token(){if (Cache::get('open_token_time') > time()) {return Cache::get('open_token');} else {$appid = '公众号appid';$appsecret = '公众号秘钥';$url = 'https://api.weixin.qq.com/cgi-bin/token';$data = ['grant_type' => 'client_credential','appid' => $appid,'secret' => $appsecret];$res = do_get($url, $data);$res = json_decode($res, true);Cache::set('open_token_time', time() + 7200);Cache::set('open_token', $res['access_token']);return $res['access_token'];}}//  公众号换ticketprotected function wxticket(){if (Cache::get('open_ticket_time') > time()) {return Cache::get('open_ticket');} else {$url = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=' . $this->getopen_token() . '&type=jsapi';$res = http_url($url);$res = json_decode($res,true);$ticket = $res['ticket'];Cache::set('open_ticket_time', time() + 7200);Cache::set('open_ticket', $ticket);return $ticket;}}// 公众号生成签名public function signtrue(){header("Access-Control-Allow-Origin:*");header('Access-Control-Allow-Methods:*');$ticket = $this->wxticket();$timestamp = (string)time();$noncestr = generateNonceStr();$string1 = 'jsapi_ticket='.$ticket;$string1.='&noncestr='.$noncestr;$string1.='&timestamp='.$timestamp;$string1.='&url=https://0315678.cn/';$str = sha1($string1);$data = ['timestamp'=>$timestamp,'noncestr'=>$noncestr,'signature'=>$str];return json(['status'=>1,'data'=>$data]);}

前段只需要调用signtrue即可
4、前段接口调用

$.ajax({type: "post",url: "后端业务域名/signtrue",data: {},dataType: "json",success: function (res) {wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: '公众号appid', // 必填,公众号的唯一标识timestamp: res.data.timestamp, // 必填,生成签名的时间戳nonceStr: res.data.noncestr, // 必填,生成签名的随机串signature: res.data.signature,// 必填,签名jsApiList: ['updateAppMessageShareData', 'updateTimelineShareData'] // 必填,需要使用的JS接口列表});wx.ready(function () {   //需在用户可能点击分享按钮前就先调用wx.updateAppMessageShareData({title: '唐山共享科技', // 分享标题desc: '唐山共享科技有限公司官网|软件定制开发|小程序开发|网站开发|管理软件开发|行业解决方案提供商', // 分享描述link: 'https://0315678.cn', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: 'https:0315678.cn/public/logo.png', // 分享图标success: function () {// 设置成功}})wx.updateTimelineShareData({title: '唐山共享科技', // 分享标题link: 'https://0315678.cn', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: 'https:0315678.cn/public/logo.png', // 分享图标success: function () {// 设置成功}})});}});

微信分享链接卡片,php业务处理相关推荐

  1. vue 分享微信传参_vue实现微信分享链接添加动态参数的方法

    微信分享时 分享链接携带参数可能不是固定的 需要在分享的前一刻才知道 这里就是动态设置分享链接的基本写法 代码不是那么详尽 但大致流程如下 1.安装引用jssdk npm install --save ...

  2. 微信分享链接优化 title icon 描述

    项目中要做微信分享链接的优化,展示公司产品的相关信息.摸索了下,也踩了不少坑,记录一下. 起步 微信分享到微信好友或qq好友 微信分享到朋友圈或qq空间 微信分享到企业微信 注意事项 起步 (1)查阅 ...

  3. 解决微信分享链接不能显示缩略

    微信分享链接,如果不是公众号合法域名,分享或者转发出去的内容会被微信默认的图标替换,现在出解决方案,必须要调用JSSDK,必须要调用! 1. 需要有一个已经认证的微信公众号 2.按照官方文档依次配置域 ...

  4. 微信分享链接怎么自定义标题、描述和缩略图?

    什么是微信图文链接? 图文链接就是把一条普通的分享链接经过技术编辑,生成一张卡片,卡片表面包含标题,简介,小图片,用户点击卡片机会跳转相应的网页. 没生成图文链接之前,不仅把网址显示出来,缩略图也是不 ...

  5. iOS 学习 - 13.微信分享链接、QQ 分享图片

    准备工作---原文来自这个 首先要在微信开放平台申请 AppID 和 QQ ID(我第一天晚上申请的,第二天中午就通过了),接着导入 SDK,也就是3个 .h 和一个 .a 文件,详情见这里 如果你是 ...

  6. php 微信分享链接怎么弄,PHP实现 微信--分享朋友链接

    不是些高深知识,但是第一次做,确实费了很多的时间.终于一点一点的扣了出来. 目前已经使用中. 解决这个问题,总共碰到了几次BUG,1是生成的签名不对,自己打印出来,在去微信的签名算法页面一一核对.这时 ...

  7. 微信分享链接,如何自定义图片,标题,内容介绍

    如图,分享链接的时候,本来是上面的样子,老板说太丑了,没有让人点击的欲望,so... 没有公众号的朋友可以前往:138TOOL微信小工具 (百度搜索138TOOL) 官方文档就不说了,肯定是要看的,说 ...

  8. 微信分享链接含敏感词被屏蔽的问题

    最近在开发一个微信活动web页面时,遇到了一个奇怪的问题.我调用了微信JS-SDK的接口,但是分享出去的链接有时正常,有时异常.而且分享时发送方分享链接有图标,接收方分享链接没有图标.截图如下: 我的 ...

  9. 微信分享链接自定义文案,微信jssdk配置

    需要公众号appid,APPSECRET,与公众号绑定的js安全域名 三样就可以完成微信jssdk的配置,这里以微信分享自定义文案链接为例 一.前端vue页面编写 1.设置data参数 2.设置js参 ...

最新文章

  1. 面试季:如何在面试中介绍自己的项目经验
  2. 最简单的SAP云平台开发教程 - 如何开发UI5应用并运行在SAP云平台上
  3. 【计算几何】【分类讨论】Gym - 101173C - Convex Contour
  4. On Perseverance
  5. 利用python进行数据分析学习笔记 第7章(3)
  6. ubuntu安装matlab2009,Ubuntu中安装Matlab2010a
  7. TCP/IP 免费ARP
  8. Linux 文件操作
  9. one hot encoding
  10. excel使用教程_Excel教程大合集:史上最全面的Excel视频教程合集+模板,免费送...
  11. android动画入门
  12. java数据类型 枚举_枚举(enum)属于原始数据类型(primitive typ
  13. ckfinder 配置 php,GitHub - itxq/ckfinder: CkFinder3.5.1 for PHP 优化版 (添加又拍云存储)...
  14. 企业微信后台应用配置步骤
  15. Java动态数组的用法详解
  16. 工作邮件的若干注意事项
  17. 爬虫|wallhere壁纸批量下载
  18. QQ能联网但是电脑上所有的浏览器都不能上网
  19. 【4】RagTag-基于近缘/同物种的基因组同源组装
  20. 拓扑容差如何修改_拓扑编辑

热门文章

  1. nginx部署https域名
  2. shell中竖线的作用_Shell中符号意义
  3. 浪潮之巅读书笔记(四)
  4. Unity/UI —— 使用字符图片自定义字体(Custom Font)
  5. C++ cout输出小数位数
  6. v-model的理解
  7. AMD 3550H 4500u 4600u 4600H 4700 4800u 4800H 4900H 对比
  8. 现在用云服务器建站还是用虚拟主机建站好?
  9. 一梦江湖网页提交问题服务器错误,【一梦江湖攻略】安宁寺侠士副本预备中(详细教程)...
  10. samba服务日志文件