点击下载jssdk文件 :https://pan.baidu.com/s/1gN3mDD9GvprIYpGNR72i8A

密码:t2cr

<?php
class JSSDK {private $appId;private $appSecret;public function __construct($appId, $appSecret) {$this->appId = $appId;$this->appSecret = $appSecret;}public function getSignPackage() {$jsapiTicket = $this->getJsApiTicket();// 注意 URL 一定要动态获取,不能 hardcode.$protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";$url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";$timestamp = time();$nonceStr = $this->createNonceStr();// 这里参数的顺序要按照 key 值 ASCII 码升序排序$string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr&timestamp=$timestamp&url=$url";$signature = sha1($string);$signPackage = array("appId"     => $this->appId,"nonceStr"  => $nonceStr,"timestamp" => $timestamp,"url"       => $url,"signature" => $signature,"rawString" => $string);return $signPackage; }private 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;}private function getJsApiTicket() {// jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例$data = json_decode($this->get_php_file("jsapi_ticket.php"));if ($data->expire_time < time()) {$accessToken = $this->getAccessToken();// 如果是企业号用以下 URL 获取 ticket// $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";$res = json_decode($this->httpGet($url));$ticket = $res->ticket;if ($ticket) {$data->expire_time = time() + 7000;$data->jsapi_ticket = $ticket;$this->set_php_file("jsapi_ticket.php", json_encode($data));}} else {$ticket = $data->jsapi_ticket;}return $ticket;}private function getAccessToken() {// access_token 应该全局存储与更新,以下代码以写入到文件中做示例$data = json_decode($this->get_php_file("access_token.php"));if ($data->expire_time < time()) {// 如果是企业号用以下URL获取access_token// $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";$res = json_decode($this->httpGet($url));$access_token = $res->access_token;if ($access_token) {$data->expire_time = time() + 7000;$data->access_token = $access_token;$this->set_php_file("access_token.php", json_encode($data));}} else {$access_token = $data->access_token;}return $access_token;}private function httpGet($url) {$curl = curl_init();curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);curl_setopt($curl, CURLOPT_TIMEOUT, 500);// 为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,必须使用下面2行代码打开ssl安全校验。// 如果在部署过程中代码在此处验证失败,请到 http://curl.haxx.se/ca/cacert.pem 下载新的证书判别文件。curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);curl_setopt($curl, CURLOPT_URL, $url);$res = curl_exec($curl);curl_close($curl);return $res;}private function get_php_file($filename) {return trim(substr(file_get_contents($filename), 15));}private function set_php_file($filename, $content) {$fp = fopen($filename, "w");fwrite($fp, "<?php exit();?>" . $content);fclose($fp);}
}

H5 页面调用方式

微信 H5分享 下载jssdk文件相关推荐

  1. android 打开h5文件下载,微信h5页面下载app —— 安卓直接下载apk文件包,IOS跳转AppStore的实现代码...

    需求:微信h5页面下载app -- 安卓直接下载apk文件包,IOS跳转AppStore 分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX有合作的应用,否则也不 ...

  2. 微信h5页面下载app —— 安卓直接下载apk文件包,IOS跳转AppStore的实现代码

    需求:微信h5页面下载app -- 安卓直接下载apk文件包,IOS跳转AppStore 分析:微信不支持,在微信中屏蔽了apk文件的下载以及AppStore的跳转(且除非和TX有合作的应用,否则也不 ...

  3. 微信h5分享好友和朋友圈功能

    在开发公众号H5项目时,如果想和小程序一样有分享朋友圈和好友功能时发现会不一样. 开发微信小程序时做分享有会有onShareAppMessage 这个方法.因为H5有许多限制,所以在做微信H5分享时就 ...

  4. 微信H5分享外部链接,缩略图不显示

    微信公众号酒酒酒搜索 "微信H5分享外部链接,缩略图不显示" 查看原文 前言:最近做了一款推广茶的APP软件,展厅.产品需要分享功能:从APP内分享到H5网页:微信内打开H5网页, ...

  5. 微信H5分享接口问题(避开99%坑)

    记录一下微信H5分享接口问题(一次性跳出99%的坑)-小叶白龙博客 这个是官方分享接口地址:概述 | 微信开放文档 微信 JS 接口签名校验工具:微信 JS 接口签名校验工具 1,按文档第一步到第四步 ...

  6. php微信h5分享到朋友圈,H5页面在微信端的分享(分享到朋友圈,好友)

    一.获取基本信息 找到已有公众号的appid,根据这个appid和url向后端发起请求,拿到配置所需要的参数:timestamp.noncestr和signature. 二.实现 1.页面引入JS-S ...

  7. 微信小程序下载保存文件

    前言 总是有需求想在微信小程序里面做下载文件并保存的功能,所以自己整理了一下小程序涉及到下载api,大致理了下在小程序里面下载的流程和解决方案. 一.涉及api 1.wx.saveFile() ​ 文 ...

  8. 苹果手机微信扫码下载pdf文件,出现空白页。

    问题描述 要实现微信扫二维码下载pdf文件的功能,苹果手机微信扫码后,第一次扫码,提示下载:后续扫码有时pdf文件被空白页遮挡,有时正常:,用安卓手机微信扫码.或者用苹果手机支付宝扫码都是正常,怀疑是 ...

  9. 在微信中分享下载APP或H5页面如何做好域名防封

    很多情况下H5作为微信推广裂变的一种方式,特别是在QP.BC.CP方面的效力,得到特别多的关注和应用,且有些商家通过H5页面搭建虚假红包链接.跳转APP,甚至出现恶意传播来获取关注,造成了特别的大的影 ...

最新文章

  1. 数论基础--洛谷P1072 Hankson 的趣味题
  2. 【ASP.NET MVC 学习笔记】- 16 Model Binding(模型绑定)
  3. java或者jsp中修复会话标识未更新漏洞
  4. ubuntu指令模式修改IP等信息
  5. 如何为物联网选择微控制器?
  6. 2018年7月1日笔记
  7. 数学建模的13种常用的方法
  8. CEO的行为风格会影响公司业绩吗?
  9. 小程序云开发(二) 上传图片到云服务器、上传图片并展示
  10. linux网卡命名规则及修改ip地址
  11. 测试——Monkey测试的介绍及使用
  12. 100部伴随我们长大的电影
  13. tcl 950 android 7,TCL 950测评:商务旗舰手机界的一股清流
  14. 自动配音软件下载与使用
  15. 【Azure Data Platform】ETL工具(22)——Azure Databricks与ADF整合
  16. 【C语言】冒泡排序学习笔记
  17. 最短路计数(入门最短路)
  18. 笑话集原创笑话精品展3
  19. python写入文件没反应_python写入文本 如何用python将变量及其值写入文本文件?...
  20. Pycharm中无法通过点击查看csv文件解决方法

热门文章

  1. CSS 奇思妙想 | 巧妙的实现带圆角的三角形
  2. 中标麒麟安装达梦数据库DM8
  3. Android6.0 源码添加黑名单拦截电话和短信记录
  4. Java中字符串开头,java中如何判断字符串是以什么开头
  5. 【软件网每日新闻播报│第9-25期】
  6. QQ聊天记录丢了怎么恢复
  7. Latex 中的警告 Foreign command \atop 的解决方法
  8. [安卓开发笔记二]android Studio通过jni调用C++代码
  9. 2021年高处作业安装拆除维护证考试题库及高处安装、维护、拆除试题解析
  10. 「深度好文」TCP BBR拥塞控制算法深度解析