H5页面微信内分享获取标题、摘要、图片等信息-基于ThinkPHP开发

ThinkPHP微信公众号自定义分享 步骤: 1、申请Appid、appSecret 2、获取access_token 3、通过access_token获取jsapi_ticket 4、生成签名 5、拼接JS所需参数 6、控制器调用 7、引入JS文件并调用JS 微信分享类 <?php class WxShare { private $appId; private $appSecret; /**... 阅读详情

普通的H5页面微信分享(转发朋友圈)时,显示的是:标题、图片为空、及链接,可读性不强,如果希望能够像微信公众号的文章一样,分享出标题、图片、摘要信息,那么需要如下几个步骤!
本文基于ThinkPHP开发!

一、准备工作
1.首先在公众号管理后台“公众号设置”的“功能设置”里填写JS接口安全域名,域名需要通过ICP备案,没有备案域名可以用SAE、BAE等平台。
2.自定义分享功能需要通过微信认证才能使用,没有认证的可以跟关系好的朋友借用权限,在他的JS接口安全域名设置这里填上你的域名和共享同一个开发者ID。
官方文档参考:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

二、开发
1.后台获取签名数据,这里我们通过Service来获取。

/**
 * 微信分享、登录等相关的服务类
 */
class WeChatService extends BaseService{

    /*
      获取微信公众号的ticket
    */
    public function getTicket()
    {
        $wxSign = new WxsignController();
        $appId = $wxSign->appid;
        $appSecret = $wxSign->secret;
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appSecret;
        $ch = curl_init();//初始化curl
        curl_setopt($ch, CURLOPT_URL, $url); //要访问的地址
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//跳过证书验证
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
        $data = json_decode(curl_exec($ch));
        $tocken = $data->access_token;
        //var_dump($data);
        if (curl_errno($ch)) {
            var_dump(curl_error($ch)); //若错误打印错误信息
        }
        curl_close($ch);//关闭curl

        $ticket = "";
        if (hasValue($tocken)) {
            $ch = curl_init();//初始化curl
            $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=" . $tocken . "&type=jsapi";
            curl_setopt($ch, CURLOPT_URL, $url); //要访问的地址
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//跳过证书验证
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
            $data_ticket = json_decode(curl_exec($ch));
            //var_dump($data_ticket);
            $ticket = $data_ticket->ticket;
            curl_close($ch);//关闭curl
        }

        //echo $ticket;
        return $ticket;

    }

    //微信用方法
    public function createNonceStr($length = 16)
    {
        $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        $str = "";
        for ($i = 0; $i < $length; $i++) {
            $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);
        }
        return $str;
    }

    /**
     * 获取签名数据
     * @return array
     */
    public function getSignPackage(){
        $nonceStr = $this->createNonceStr();
        $timestamp = time();
        $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";
        $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
        $ticket = $this->getTicket();
        $string = "jsapi_ticket=" . $ticket . "&noncestr=" . $nonceStr . "&timestamp=" . $timestamp . "&url=" . $url;
        $signature = sha1($string);
        $wxSign = new WxsignController();
        $appId = $wxSign->appid;
        $signPackage = array(
            "appId" => $appId,
            "nonceStr" => $nonceStr,
            "timestamp" => $timestamp,
            "url" => $url,
            "signature" => $signature,
            "rawString" => $string
        );

        return $signPackage;
    }
}

2、前端获取签名数据,设置分享对应的标题、图片、摘要信息

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>

<script type="text/javascript">
    function filterHTMLTag(msg) {
        msg = msg.replace(/<\/?[^>]*>/g, ''); //去除HTML Tag
        msg = msg.replace(/[|]*\n/, '') //去除行尾空格
        msg = msg.replace(/&npsp;/ig, ''); //去掉npsp
        return msg;
    }

    wx.config({
        debug: false,
        appId: '<?php echo $signPackage["appId"];?>',
        timestamp: <?php echo $signPackage["timestamp"];?>,
        nonceStr: '<?php echo $signPackage["nonceStr"];?>',
        signature: '<?php echo $signPackage["signature"];?>',
        jsApiList: [
        'onMenuShareAppMessage','onMenuShareTimeline'
    ]
    });

    wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
        var desc = "";//这里是摘要,可以提取description标签的值
        var title = $("title").html();//标题
        var link = location.href;
        var imgUrl = $("body").find("xxx").prop("src");//图片的地址

        //分享微信和QQ好友
        wx.onMenuShareAppMessage({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: imgUrl, // 分享图标
            success: function () {
                // 设置成功
            }
        })

        //分享朋友圈和QQ说说
        wx.onMenuShareTimeline({
            title: title, // 分享标题
            desc: desc, // 分享描述
            link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
            imgUrl: imgUrl, // 分享图标
            success: function () {
                // 设置成功

            }
        })
    });
</script>

注意:如果将js写在最后,那么有可能用户还没有加载到js就去分享了,这种情况下,是无法获取到分享文字摘要、图片相关的信息的。

微信自定义分享,网页分享微信实现标题,描述和图片的方法(2020) 公司做活动的,每次活动要让用户把活动H5页面分享到微信好友,朋友圈从而裂变,但是分享出来不显示描述和图标,很不正规。如下图: 所以想要实现能够自定义描述和图标的功能。如下图: 网上这方面的教程很多,但是却让我们走了很多弯路。因为大部分文章所说的方法都已经失效,还有一部分文章要么太过于专业,从一开始看不懂,要么讲解不全,模棱两可。如果看到我这篇文章的朋友,建议您不需要再找了,我们吃过这方面亏。安安心心的去研究微信官方公布的文档——《微信JSSDK说明文档》。 准备条件: 1,域名进行备案. 阅读详情

相关推荐

Uniapp+FastAdmin+ThinkPHP全开源旅游系统架构解析

旅游行业数字化系统需兼顾多端兼容、高并发库存、强数据隔离与快速迭代能力。基于Uniapp的跨端一致性开发、FastAdmin的可视化后台配置能力、ThinkPHP的国产化生态适配,构成一套面向旅游业务场景的轻量级MVC架构范式。该组合在微信小程序/H5/App三端协同、动态库存锁控、多源地图抽象、状态同步等核心环节提供可调试、可验证、可扩展的工程实践方案,特别适合中小型旅游服务商构建最小可行产品(MVP)或为传统系统补全移动端能力。

weixin_34356555的博客 447

Thinkphp实现微信分享

Thinkphp函数块 /** * 微信分享初始化 * @return array * @author simon <vsiryxm@qq.com> */ if (!function_exists('wx_share_init')) { function wx_share_init() { $wxconfig = array(); req...

sw__55的博客 574

FastAdmin+ThinkPHP+uni-app教育小程序全栈开发指南

教育培训类微信小程序是典型的多角色、强流程、高并发业务系统,其技术本质是前后端分离架构下的权限管理、数据关联与跨端渲染协同。FastAdmin提供开箱即用的后台权限体系和钩子机制,ThinkPHP 6.x以模块化设计和PSR-4规范支撑教务核心逻辑(如排课冲突检测、订单级联处理),uni-app则通过条件编译与原生API封装实现微信小程序、H5、App三端统一交付。该技术组合兼顾开发效率与生产稳定性,广泛应用于K12、职业培训等轻量级教培SaaS场景,是中小团队快速落地教育数字化项目的高性价比全栈方案。

weixin_34049948的博客 302

tp5实现微信分享

首先调用分享的php文件 jssdk.php 本人把这个放在extend的文件下的share/jssdk.(jssdk本人已上传到csdn的资源里 ) jssdk的链接: https://download.youkuaiyun.com/download/zhangweiguangsunjiao/11340400 use share\jssdk; 然后在控制器的方法里面写: $jssdk = n...

php_fighting的博客 2089

仿抖音H5商城源码全解析:从技术选型到部署上线的实战指南

在移动电商和社交内容融合的浪潮中,H5商城作为一种轻量化、跨平台的解决方案,因其开发效率高、易于传播而备受关注。其技术原理通常基于前后端分离架构,前端采用Vue.js等框架构建交互界面,后端通过PHP或Node.js提供API服务,实现商品展示、用户管理和交易流程。这种架构的价值在于能够快速搭建具备基础电商功能的系统,尤其适合内容电商、社交分销等需要快速试错的场景。以当前热门的仿抖音风格商城为例,其核心在于将短视频Feed流体验与购物流程结合,这对前端视频播放性能、后端内容处理能力提出了更高要求。本文聚焦于

weixin_34033624的博客 357

用Coze平台30分钟打造《花光10亿》小游戏:零代码AI开发实战

本文详细介绍了如何利用字节跳动推出的Coze平台,在30分钟内零代码开发一款名为《花光10亿》的AI小游戏。通过配置提示词、集成图像生成插件、构建自动化工作流以及使用数据库功能,即使没有编程基础的用户也能快速将创意转化为可交互的智能应用,体验AI开发的便捷与高效。

weixin_29313547的博客 206

php静态页面如何自定义分享朋友圈,静态页面H5页面如果调用微信JS-SDK进行自定义内容分享...

背景最近在给朋友手机站做一个手机静态页面,朋友要求能在微信中自定义分享的内容,百度有各种相关文章,翻了很多页也没找到一个能详细阐述的文章,站长爬了微信官方技术文档,同时也爬了很多相关文章,结合后就有了如下的文章。前提使用本文教程,必须满足几个条件:1、项目域名必须备案(想要使用微信的接口都必须要域名是备案的) 2、认证过的公众号 3、能运行PHP文件的环境满足上面几个条件的话,请接着往下看...

weixin_29340419的博客 475

PyCharm 2023最新版安装配置全攻略(附永久激活教程)

本文详细介绍了PyCharm 2023最新版的安装配置全流程,包括版本选择、初始配置、插件生态、工程模板、调试优化及团队协作等关键步骤。特别针对专业版和社区版的功能差异进行对比,帮助开发者高效搭建Python开发环境,提升编码效率与团队协作能力。

p4q5r6s7t的博客 864

微信h5实现分享给朋友url改变_微信公众号开发之H5分享SDK接入

之前一直碰到微信里消息里的文章或链接分享到朋友圈或微信好友后,链接的图标和标题都不是想要的(自定义);后来研究了一下微信公众号相关的SDK接入demo;微信在6.5之前的版本好像是微信自己抓取链接或文章的标题/图片(貌似是300*300),但是在6.5版本之后微信变得恶心了需要接入他的分享接口(SDK),效果如下:接入微信分享SDK,可以将这四个参数自定义显示:标题,链接,描述,图标,都可以达到自...

weixin_29147589的博客 747

基于R语言的DICE模型实践技术应用;预测不同减排路径下的经济增长、碳排放量、气候变化程度以及社会福利变化

DICE模型是一个动态综合气候经济模型,由诺贝尔经济学奖得主William Nordhaus开发,用于评估气候变化对经济的影响以及不同减排政策的经济成本和效益。以下是一个关于DICE模型在气候变化影响评估中的实际应用案例,结合R语言代码进行讲解。

KY_chenzhao的博客 866

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 240

微信公众号开发之H5分享SDK接入

之前一直碰到微信里消息里的文章或链接分享到朋友圈或微信好友后,链接的图标和标题都不是想要的(自定义);后来研究了一下微信公众号相关的SDK接入demo;微信在6.5之前的版本好像是微信自己抓取链接或文章的标题/图片(貌似是300*300),但是在6.5版本之后微信变得恶心了需要接入他的分享接口(SDK),效果如下:  接入微信分享SDK,可以将这四个参数自定义显示:标题,链接,描述,图标,都...

kaka1001的博客 1263

从流量到凭证:实战解析SMB协议中的NTLMv2/v1哈希提取与破解

本文详细解析了SMB协议中NTLMv2/v1哈希的提取与破解实战技巧。从流量捕获、哈希格式处理到Hashcat高效破解,提供了一套完整的操作指南。文章特别强调了NTLMv2和NTLMv1哈希的区别及处理要点,并分享了防护建议与检测方法,帮助安全人员提升渗透测试效率。

weixin_30642561的博客 116

【VUE H5 自定义微信分享 SDK THINKPHP5】

VUE H5 自定义微信分享 SDK THINKPHP5一、准备工作二、Thinkphp部分二、前端部分使用第三方sdk js_sdk 微信自定义分享样,显示标题,图片描述分享样式,前后端具体描述====小白级别都可以看懂!!! 一、准备工作 认证的公众号 绑定域名 登录微信公众平台,设置—公众号设置—功能设置里,填写『JS接口安全域名』。 填写的域名须通过ICP备案验证,将平台给的txt文件放到域名指向的web服务器之下,注意这里有次数限制没有必要不用修改,避免造成不必要的麻烦。 官网文档:官方文档

PCQ_Mr的博客 794

基于Matlab/Simulink的三相并网逆变器dq阻抗扫频仿真与理论建模实践指南

本文详细介绍了基于Matlab/Simulink的三相并网逆变器dq阻抗扫频仿真与理论建模实践方法。通过搭建仿真模型、设计扰动注入策略和FFT分析,精确提取阻抗特性,有效预测系统稳定性,为新能源并网系统设计提供可靠指导。

gold的博客 775

深入解析高通SA8775芯片:性能、架构与研发创新趋势

SA8775芯片凭借其强大的CPU、GPU和AI加速能力,能够应对现代智能系统中的复杂计算任务。它不仅适合高性能计算、深度学习应用,也在汽车、智能设备等领域有广泛的应用前景。无论是在自动驾驶系统中,还是在车载信息娱乐和高级嵌入式系统中,SA8775都展现了其出色的计算能力和能效平衡,是现代智能系统的重要硬件基础。SA8775芯片作为高通的高性能处理平台,具有出色的计算和AI加速能力,但也存在一些值得关注的地方。

weixin_43199439的博客 9342

thinkphp5 微信分享(sdk,生成签名,实现分享)

他thinkphp5 公众号微信分享(sdk,生成签名,实现分享) 1.下载sdk(生成签名和分享需要此sdk) 链接:https://pan.baidu.com/s/1JfuHyrCe2Oqu3dD8VPNS3w 密码:celq 2.讲sdk放在extend下 3.分享之前需要获取签名(前端调用可能会出现跨域问题,所以这里我们后端调用,然后返回给前端) function sweepSign(...

qq_35679620的博客 2778

【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦

好了,关于 【Python开发者必看】Windows下Python版本管理器Pyenv安装使用,轻松管理Python版本的入门与进阶指南,从此告别Python环境不兼容的噩梦 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。1、手动下载对应版本到 pyenv-win\install_cache 目录(如上手动操作安装步骤,文件名需匹配,如 python-3.10.0-amd64.exe)。该指令会列出,pyenv包管理工具所支持的所有python版本,

Spring Boot-Common On With You 851

thinkphp后台管理系统+vue前端H5 app

thinkphp后台管理系统+vue前端H5 app 众包接单型App 全部源码已发布,欢迎star, 移步码云 前言 1.帮朋友做的一个接单类型的后台管理系统(朋友的需求是淘宝好评刷管理) 2.目前利用空闲时间改造成了接单众包类型的后台管理系统并且利用vue做了个手机端H5App 3.目前没有服务器提供演示(具体我都会截图看效果) 业务场景介绍 当前十分火热的众包模式如美团众包,阿里众包等,国外已经火了很久了witkee模式 简单来讲就是用户可以在app中发布自己的需求让其他有能力的用户替自己办事并获得相

伟大光荣正确的博客 2226

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

FastAdmin+ThinkPHP+UniApp教培小程序开发实战

轻量级服务型小程序是中小教育机构数字化落地的核心载体,其本质是基于标准化前后端架构实现快速交付的MVP系统。FastAdmin作为后台生成器大幅降低CRUD开发成本,ThinkPHP提供稳定可靠的业务逻辑支撑,UniApp则保障多端一致性和微信生态兼容性。三者协同解决了教培场景中课程管理、学员运营、微信支付、权限隔离等高频需求,同时支持家政、宠物、社区团购等业务复用。本文聚焦真实部署中的PHP版本兼容性陷阱、UniApp编译七层校验、非标需求低成本扩展等工程实践要点,助力开发者规避常见坑点,实现源码可控、自

weixin_34006468的博客 629

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

php微信分享

&lt;?php namespace app\video_mall\controller; use think\Session; use think\Controller; use think\Cache; class WechatShare extends Controller { protected $AppId; protected $AppSecret; protecte...

j_xx4409的博客 238

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

公众号H5分享(PHP版)

Jssdk的getSignPackage方法为获取微信H5接口调用config的配置信息,子类可以重写覆盖。想要分享有效果必须使用卡片形式:开发工具完成后将访问链接生成二维码后扫码进行访问,否则分享将失效。很久没有开发公众号了,忘的差不多了,踩了个以前踩过的坑,特此留下记录避坑。Auth为公共授权,所有需要走微信授权的类皆可继承。PHP端 使用的thinkPHP8框架。

m0_37360025的博客 450

基于uniapp+thinkphp8+mysql开发的网络答题系统、可在线答题、教育培训、单选多选对错题型,可导入题库,随机抽取答题,一定的时间内完成答答题

在线答题系统说明 基于uni-app,小程序、H5微信登录、微信分享 显示排行榜 显示错题 答题时间设置 答题抽奖 奖品设置 中奖率设置 题库分类、题库一键导入导入、题库选择 前端演示地址:https://dati.nxguozi.com 后端为 ThinkPHP8+ElementUI+Mysql 是否登记手机号 是否显示错题 是否显示排行榜 是否限时 是否可以抽奖 题库中随机选择所设置数量的题目作答 每天答题次数 首页背景图片设置 答题背景设置 微信分享标题、分享图片、分享简介设置 更多功能。。。

zhkyzj的博客 577

分享网页到微信朋友圈,怎样才能带缩略图?

做微信H5的朋友都知道,在过去要设置"分享到朋友圈"的缩略图,是非常简单的一件事情,只需要制作一张300*300的缩略图片(如命名为300.jpg),然后在页面head部分的开头引入微信朋友圈缩略图代码即可。 <!doctype html> <html> <head> <div id='wx_pic' style='margin:0 a...

iuyiuty3的博客 250

FastAdmin+ThinkPHP+UniApp教培小程序开源方案

微信小程序作为教育机构数字化入口,其技术选型需兼顾开发效率、业务适配与生产稳定性。FastAdmin提供可视化后台与RBAC权限体系,大幅压缩教培场景下的CRUD开发周期;ThinkPHP 6.x凭借协程支持与Swoole集成,显著提升支付回调、文件上传等高并发模块性能;UniApp则通过一套代码多端编译,解决家长、学生、教师跨终端访问碎片化问题。三者组合构成可量产、可扩展、已验证付费流水的教育交付底座,适用于K12、职业教育等需快速上线排课、课消、直播回放与微信支付闭环的业务场景。

weixin_33842304的博客 283

基于uniapp+PHP的微信小程序非遗文化传承系统开发实践

在数字化转型浪潮中,非遗文化传播正借助轻量化应用触达更广泛的年轻用户。微信小程序凭借即扫即用、社交分享的特性,成为文化展示与内容分发的理想载体;uniapp跨端框架让一套代码同时编译至小程序、H5与App,显著降低多端维护成本;PHP后端则以其成熟的生态和极低的部署门槛,为中小型文化项目提供稳定的数据接口支撑。三者组合,既符合快速落地的工程需求,也契合非遗内容展示与用户互动的业务场景。本文以坭兴陶非遗文化传承系统为例,从系统架构、数据库设计到微信登录、首页聚合、富文本处理等核心模块,完整呈现基于该技术栈的微

weixin_29007135的博客 101
下一篇: 在H5页面中,点击链接跳转关注公众号的简单方法
hi-ant
博客等级 码龄15年 15粉丝 5原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值