基于PHP的读书分享网站ppt,基于Thinkphpcmf框架开发的网页微信分享自定义标题描述和图片...

news/2024/5/19 11:18:15/文章来源:https://blog.csdn.net/weixin_33138569/article/details/116083471

之前做过关于《微信转发或分享朋友圈带缩略图、标题和描述的实现方法》的介绍,帮助不少站长实现网站链接分享至微信端自定义简介和图标,最近有一个后台基于Thinkphpcmf框架开发的站长联系到我,用我介绍的方法并没有实现自定义分享,他自己研究两天后,终于搞定,也把实现方法分享出来,希望可以帮助有需要的人。

737b13e42b900ac0de4c957621ef3e5c.png

以下教程皆为CSDN博主Iphone886的原创。

微信里分享一个链接,如下如:

00b22c449c66776aef4d42eed6f37a2d.png

要求带标题,描述,缩略图,如下图:

3aef1b287205cd5ab388f6ecbb210cfd.png

首先。需要了解一下微信JS-SDK说明文档,大概有个了解。看完我们只需知道这四点:

1. 根据appId和appsecret获取access_token;

2. 使用access_token获取jsapi_ticket;

3. 使用时间戳,随机串,jsapi_ticket和要访问的url按照签名算法拼接字符串;

4. 对第三步的字符串进行SHA1加密,得到签名;

其中。官方文档中三个东西我们可以用的:

用来检测你的token是否正确获取。填入你的微信ID和秘钥。成功返回200 OK,如图:

d091131901917e700b1d45fce03ffde5.png

70989532bace5f451b35c5eeb8ac90f1.png

http://res.wx.qq.com/open/js/jweixin-1.4.0.js(支持https) 或者http://res2.wx.qq.com/open/js/jweixin-1.4.0.js(支持https)

废话少说,开撸:

1,登录公众平台,“公众号设置”的“功能设置”里填写“JS接口安全域名”,“网页授权域名”,如下图:

2d7912ff27369bf6cb496f9bcae3d2d9.png

2,登录公众平台,开发,基本配置。找到微信ID(AppID)和秘钥(AppSecret),IP白名单填写为你域名解析的IP如下图:

3,打开后台项目文件,注释写的很清楚,不要填错。直接上代码:

publicfunction index()

{

// 1.设置appId和appsecret

$appid = '你的微信AppID'; //此处填写绑定的微信公众号的appid

$appsecret = '你的微信AppSecret'; //此处填写绑定的微信公众号的密钥id

// 2.获取access_token

$result = file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret);

$json = json_decode($result,true);

$access_token = $json['access_token'];

// 3.获取ticket;

$urls = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$access_token";

$res = json_decode ( file_get_contents ( $urls ) );

$ticket = $res->ticket;

//获取url

$url='https://'.$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];

//随机字符串

$nonceStr=$this->nonceStr(16);

//时间戳

$timestamp=time();

$ws=$this->getWxConfig($appid,$ticket,$timestamp,$nonceStr,$url);

$a=($ws['appId']);

$b=($ws['nonceStr']);

$c=($ws['signature']);

$d=($ws['timestamp']);

$this->assign('appId',$a);

$this->assign('nonceStr',$b);

$this->assign('signature',$c);

$this->assign('timestamp',$d);

return$this->fetch(':index');

}

function getWxConfig($appid,$ticket,$timestamp,$nonceStr,$url) {

// 4.使用时间戳,随机串,jsapi_ticket,url按照签名算法拼接字符串;

$string = "jsapi_ticket=$ticket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";

// 5对第三步的字符串进行SHA1加密,得到签名;

$signature = sha1 ( $string );

$WxConfig["appId"] = $appid;

$WxConfig["nonceStr"] = $nonceStr;

$WxConfig["timestamp"] = $timestamp;

$WxConfig["url"] = $url;

$WxConfig["signature"] = $signature;

$WxConfig["rawString"] = $string;

return$WxConfig;

}

function nonceStr($length){

$str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJK1NGJBQRSTUVWXYZ';//随即串,62个字符

$strlen = 62;

while($length > $strlen){

$str .= $str;

$strlen += 62;

}

$str = str_shuffle($str);

returnsubstr($str,0,$length);

}

4,前台HTML文件。直接上代码:

wx.config({

debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。

appId: '{$appId}', // 必填,公众号的唯一标识

timestamp:'{$timestamp}' , // 必填,生成签名的时间戳

nonceStr: '{$nonceStr}', // 必填,生成签名的随机串

signature: '{$signature}',// 必填,签名,见附录1

jsApiList: [

'checkJsApi',

'onMenuShareTimeline',

'onMenuShareAppMessage',

'onMenuShareQQ'

] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

})

wx.ready(function(){

//分享朋友圈

wx.onMenuShareTimeline({

title: '倍享高尔夫夏令营火热招募中,少年未来可期!', // 分享标题

link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

imgUrl: "https://你的域名/themes/mobile/public/assets/images/image.png", // 分享图标

success: function () {

// alert("成功")

}

});

//分享好友

wx.onMenuShareAppMessage({

title: '倍享高尔夫夏令营火热招募中,少年未来可期!', // 分享标题

desc: '寓教于乐,内外兼修的多维课程丰富而精彩,这个暑假,当少年遇上高尔夫,让自信与优秀成为一种习惯,倍享成长快乐!', // 分享描述

link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

imgUrl: "https://你的域名/themes/mobile/public/assets/images/image.png", // 分享图标

type: '', // 分享类型,music、video或link,不填默认为link

dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空

success: function () {

// alert("成功")

}

});

});

倍享高尔夫夏令营

最终效果如下图所示:

87ff7fd391549278f4fc997ecc8818eb.png

本文后台基于Thinkphpcmf框架开发。

注意事项:

域名为HTTP,URL也为HTTP。如果是HTTPS。URL也为HTTPS

IP白名单必填。

关闭错误提示只需步骤4中,debug: false即可。

如果还有问题,请留言,谢谢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_765366.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

团购网站号称563人团购实则3人报名...

团购网站号称563人团购实则3人报名... 随着网购日益发达,一种以组织消费者一起购买商品或服务而获得折扣的“团购”网站如雨后春笋般涌入人们的视线。美容美发、餐饮娱乐、家居建材等都是此类网站上常见的团购内容。然而,日前市民李小姐参与团购后却被卖…

HTML日志抓取,如何通过网站日志查看百度蜘蛛抓取情况

我们做SEO都知道,百度用于抓取网页的程序叫做Baiduspider - 百度蜘蛛,我们查看网站被百度抓取的情况主要是分析,网站日志里百度蜘蛛Baiduspider的活跃性:抓取频率,返回的HTTP状态码。我们该如何查看百度蜘蛛的抓取情况…

【网站公告】新Web服务器上线

上次一台Web服务器中暑后,为了保证网站的稳定运行,并进一步提高网站访问速度,我们采购了两台强劲的Dell服务器。 今天,其中一台Web服务器已经部署完毕,正式投入运行。博客程序已运行于新服务器,如果大家发现…

一个网站的诞生- MagicDict未来予想図4 [表格的动态增加行和删除行,完整版]

首先,感谢 路过秋天 开源了他的系统,让园子里的童鞋有了新的研究方向,带动了园子的繁荣,拉动了园子的GDP。 昨天又花了一整天来做在线单词编辑器,动态表格的增加行和删除行的一些问题,基本算是搞明白了&…

div内容横排 html_计算机毕业设计中大学生个人网站案例html

点击上方“蓝字”,关注我们.案例介绍此作品为学生个人主页网页设计题材,代码为简单学生水平 DIV CSS布局制作,整个作品由主页、个人历程、兴趣爱好、学业成绩、联系我们共5页组成,作品下载后可使用任意HTML编辑软件(例如&#xff…

抓取某一个网站整站的记录

经常由于某些原因我们需要爬取某一个网站或者直接复制某一个站点,到网上找了很多工具进行测试,试了很多各有各的问题,最终选择了Teleport Ultra,用起来效果很好;具体的操作手册等东西就不在这里说了,网上搜…

网站中英文转换 php_Markdown 自动添加中英文空格

pangu「有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。與大家共勉之…

如何让sharepoint2010网站根据权限隐藏ribbon

项目要求让普通用户看不到“网站操作”,为了解决该问题,我找了好几篇博客,但都是sharepoint2007,按照sharepoint designer签出,签入,审批,发布。可能是sharepoint2007和sharepoint2010的区别&am…

手机端使用ghelper_手机建站的五个技巧让用户体验得到提升

现今移动设备的使用成为了人们生活中不可或缺的一部分,习惯了在移动端获取信息和购物。所以企业的目光也逐渐转移到移动端,进行移动端建站刻不容缓。但是,移动端网站该如何设计才能获得广大用户的喜爱呢?如何将友好性表达的淋漓尽…

WordPress小工具开发教程(网站公告)

WordPress小工具开发教程(网站公告) BY TIANQIXIN 2012 年 12 月 26 日 wordpress主题小工具,可以自由拖动到侧边栏,并在前台实现相应功能!一般自带的小工具功能有限,我们可以通过自己开发小工具来增强wor…

跳转html时请求头怎么取,爬取网站时请求被拒绝?scrapy轻松解决请求头设置!就是不讲道理...

默认请求头命令行执行,新建爬虫scrapy startproject myspidercd myspider scrapy genspider scrapy_spider httpbin.org我们通过对 https://httpbin.org/get?show_env1 的请求,查看本次请求的浏览器信息,可以打开看一看是否是自己的浏览器信…

seo管理php源码_黑帽SEO,黑帽SEO优化隐身技术(二)

此系统文章总共分为四篇,分别是手法篇、工具篇、隐藏篇、总结篇;本篇为隐身篇,主要介绍黑帽seo中一些隐身的手段。黑帽seo与其他黑产行为不同的是,它需要时间去创造价值。如果是倒卖数据,只需要入侵服务器脱裤走人&…

计算机设置定时原理,可编程定时和计数器-微计算机原理-电子发烧友网站

第四节 可编程定时和计数器在控制系统中,经常需要有一些实时钟以实现实时或延时控制,如定时启动,定时检测,定时通信等,计数器 对外部事件计数.实现这些要求经常有三种方法:(1)设计数字逻辑电路,用硬件实现定时或计数功能,如用NE555芯片实现定时,用74LS163电路实现计数等.(2)软件…

关于算法介绍的一些网站

2019独角兽企业重金招聘Python工程师标准>>> 通过动画的形式展示常见排序算法的排序过程 Sorting Algorithm Animations | Toptal https://www.toptal.com/developers/sorting-algorithms/ 转载于:https://my.oschina.net/ray1421/blog/713796

phpcms选择文件无法加载插件怎么办_网站加速图片优化插件 Smush

如果要推荐一款网站加速图片优化插件,出现在我的推荐名单中应该有 Smush 的身影。别误会,这款插件没用给我广告费用,这篇文章也不是吹捧Smush插件的马屁文章。为了便于一站式集成化操作,所以我在亲测了多款图像压缩优化插件&#…

[网站摘录]数据库查询优化 之 MySQL索引

转载于:https://blog.51cto.com/10237569/1846380

5个基于Linux命令行的下载和网站浏览工具

为什么80%的码农都做不了架构师?>>> Linux命令行是GNU/Linux中最神奇迷人的部分,它是非常强大的工具。命令行本身功能多样,多种内建或者第三方的命令行应用使得Linux变得更加健壮和强大。Linux Shell支持多种不同类型的网络应用&…

url 收录工具_Python与seo的应用,sitemap.xml文件制作工具源码

sitemap.xml文件是严格按照xml语言编写的网站地图,用来引导搜索蜘蛛对本站点文章等内容的索引,它是由google提出来的概念。链接提交使用说明链接提交工具是网站主动向百度搜索推送数据的工具,本工具可缩短爬虫发现网站链接时间,网…

如何查看Drupal网站使用的模块

大家在学习使用Drupal的过程中,总喜欢去查看或借鉴那些做得十分优秀的drupal网站,很想知道这个drupal网站使用了哪些模块?其实很简单,已经有人帮我们实现了这个愿望。 那就是DrupalXray网站(link is external),通过这个…

酷站欣赏:来自国外的一组耀眼的扁平化网站作品

扁平化设计对于印刷品设计、网页设计和移动操作系统的设计来都带去了新的变化。扁平化网页设计是指设计形式摒弃图案纹理背景,阴影文字以及网站盒模型的部分。谷歌是第一个使用扁平化设计准备对重构 Web 应用程序的公司,现在越来越多的公司正在效仿。 您…