实例

test.php

<?php
/*** 微信JS-SDK* 定义:微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包* 开发步骤:* 1、绑定域名,“JS接口安全域名”* 2、引入JS文件* 3、通过config接口注入权限验证设置* 4、通过ready接口处理成功验证* 5、通过error接口处理失败验证*** 本次实例:微信分享接口:分享朋友圈,分享给朋友(接口即将废弃),拍照或从手机相册中选图接口,预览图片接口* 文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115*//*** 获取config配置选项中的参数:* 签名文档地址:https://mp.weixin.qq.com/wiki?action=doc&id=mp1421141115&t=0.9420729498129117#62* 签名步骤:* 1.获取票据:jsapi_ticket,有效期7200秒,次数限制,做好缓存* 2.获取access_token* 3.用access_token调用https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi,换取jsapi_ticket,请求方式get**/
//获取jsapi_ticket
/*
$ch = curl_init();
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$tokenArr['access_token']."&type=jsapi";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$outPut = curl_exec($ch);
curl_close($ch);
$arr = json_decode($outPut,true);
print_r($arr);//HoagFKDcsGMVCIY2vOjf9l25caYhqwncbGyHpx4PqKNv9c4xlJHq3pwkkJ8w58wMh4xbDBcP395fgmPP-KT6UQ
*/
//signature算法
//步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:
$jsapi_ticket = 'HoagFKDcsGMVCIY2vOjf9l25caYhqwncbGyHpx4PqKMU7UW4nHmMWCD_dJZqqLLI1-4wvq4hYXanX5DvliAlHg';
$timestamp = time();
$nonceStr = "Wm3WZYTPz0wzccnW";//自定义,长度和类型都未限制,推荐16位数字和字母
$url = "http://wx.smallzhou.cn/share.html";
$signature = "jsapi_ticket=".$jsapi_ticket."&noncestr=".$nonceStr."&timestamp=".$timestamp."&url=".$url;//必须按照jsapi_ticket,noncestr,timestamp,url顺序
//步骤2.对string1进行sha1签名
$signature = sha1($signature);
echo $timestamp;
echo "<hr>";
echo $signature;
//可能出现的原因:1.url invalid domain 解决方法:在JS接口安全域名出去除填写域名的http://部分

share.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewpoint" content="initial-scale=1.0;width=device-width"><title>微信分享实例</title><!--1、绑定域名--><!--2、引入JS文件--><script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
</head>
<body><script>//3、通过config接口注入权限验证配置wx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: 'wxc7991ed87e25dc13', // 必填,公众号的唯一标识timestamp: 1531890990, // 必填,生成签名的时间戳nonceStr: 'Wm3WZYTPz0wzccnW', // 必填,生成签名的随机串signature: 'ed933bc9ce7d7f2ea1a61fb5792c44d8d85dee14',// 必填,签名jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage','chooseImage','previewImage','scanQRCode'] // 必填,需要使用的JS接口列表});//4、通过ready接口处理成功验证wx.ready(function () {wx.onMenuShareTimeline({//分享朋友圈title: '分享标题', // 分享标题link: 'http://wx.smallzhou.cn/test1.php', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: 'https://www.baidu.com/img/bd_logo1.png?where=super', // 分享图标success: function () {// 用户点击了分享后执行的回调函数},cancle: function () {//用户取消分享后执行的回调函数}});wx.onMenuShareAppMessage({//分享给朋友title: '朋友标题', // 分享标题desc: '朋友描述', // 分享描述link: 'http://wx.smallzhou.cn/test1.php', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: 'https://www.baidu.com/img/bd_logo1.png?where=super', // 分享图标type: 'link', // 分享类型,music、video或link,不填默认为linkdataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空success: function () {// 用户点击了分享后执行的回调函数},cancle: function () {//用户取消分享后执行的回调函数}});});function show() {wx.chooseImage({//拍照或从手机相册中选图接口count: 2, // 默认9sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有success: function (res) {var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片wx.previewImage({//图片预览接口current: '', // 当前显示图片的http链接urls: [localIds[0],localIds[1]] // 需要预览的图片http链接列表});}});}function sacn() {//微信扫一扫wx.scanQRCode({needResult: 0, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有success: function (res) {var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果}});}//5、通过error接口处理失败验证wx.error(function (res) {alert(res);});</script><button onclick="show()">相册</button><button onclick="sacn()">扫一扫</button>
</body>
</html>

PHP微信公众平台开发高级篇--微信JS-SDK相关推荐

  1. PHP微信公众平台开发高级篇—生成二维码接口

    一.说明 1.这里讲解生成二维码接口(临时二维码和永久二维码) 2.这里给出简单的实现代码,不做详细说明 3.可以参考开发手册: https://mp.weixin.qq.com/wiki?t=res ...

  2. PHP微信公众平台开发高级篇--群发接口

    群发消息接口 订阅号:每天一条的群发权限 服务号:每月(自然月)4条群发权限 实例 <?php /*** 群发接口* PS:群发之前调用"预览接口"进行测试* PS:通过第三 ...

  3. PHP微信公众平台开发高级篇--生成二维码接口

    临时二维码 实例 临时二维码 <?php /*** 生成二维码接口* 文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id= ...

  4. 微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发

    本文主要讲解如何使用 weinxinFundation 进行二次开发. 步骤如下: 1.创建新的web项目. 在eclipse里新建一个dynamicly web project,比如本文叫weixi ...

  5. 微信公众平台开发(93) 关闭微信浏览器

    原文地址为: 微信公众平台开发(93) 关闭微信浏览器 在这篇微信公众平台开发教程中,我们将介绍如何使用微信JS接口关闭微信内置浏览器返回到微信聊天窗口界面. 微信的JS接口目前已公布了三种:右上角按 ...

  6. 微信公众平台开发 高级群发接口

    在这篇微信公众平台高级接口开发教程中,我们将介绍如何使用接口实现微信公众平台群发功能.本文分为以下四个部分:准备群发内容选择群发对象执行群发接收群发结果一.准备群发内容群发内容可以是文本.图片.语音. ...

  7. C#微信公众平台开发—高级群发接口

    涉及access_token的获取请参考<C#微信公众平台开发-access_token的获取存储与更新> 一.为了实现高级群发功能,需要解决的问题 1.通过微信接口上传图文消息素材时,J ...

  8. Java微信公众平台开发(一)--接入微信公众平台

    转载自崔用志博客:http://www.cuiyongzhi.com/ 前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我 ...

  9. Java微信公众平台开发(一)——接入微信公众平台

    前面几篇文章一直都在说微信公众平台的开发准备工作,那么从这篇开始我们就将正式的进入JAVA微信公众平台开发的整个流程,那么这篇我们开始聊聊如何将我们的服务端和微信公众平台对接! (一)接入流程解析 在 ...

  10. 获取微信用户信息java开发_Java微信公众平台开发(十二)--微信用户信息的获取

    前面的文章有讲到微信的一系列开发文章,包括token获取.菜单创建等,在这一篇将讲述在微信公众平台开发中如何获取微信用户的信息,在上一篇我们有说道微信用户和微信公众账号之间的联系可以通过Openid关 ...

最新文章

  1. 个人理财必读书目(转载)
  2. 【atcoder】Enclosed Points [abc136F]
  3. pyecharts第二节、饼图
  4. ASCII表完整版(包含16进制对应表)
  5. java课程之团队开发冲刺1.8
  6. VS2008系列培训教程之四:What's new in C# 3.0 Visual Basic 9.0
  7. P6846-[CEOI2019]Amusement Park【状压dp,FWT】
  8. 信息学奥赛一本通 2068:【例2.6】鸡兔同笼
  9. 比较有意思的老家见闻一二三
  10. 杭电2100Lovekey
  11. 誰毀了全新Vista電腦﹖
  12. java paint方法_在Java中,为了使paint()方法执行,以下各项中,()是最佳的调用方法
  13. 基于springboot的贫困帮扶系统
  14. dep指定版本 go_golang 官方依赖管理工具 dep 使用和持续集成
  15. python爬虫的线程、进程、异步的基础讲解
  16. 解决Excel表格输入身份证号码显示异常的问题
  17. 启动计算机按住del不放,电脑开机需要按del进入系统怎么办
  18. php composer.phar install,解决composer.phar安装问题
  19. 交换机链路聚合(静态,动态)
  20. 2022年5月协会与各专委会大事记

热门文章

  1. 《软件设计师》备考笔记
  2. 小程序:npm下载使用weiui
  3. Geoserver发布OSM官网地图
  4. 大一作业:c语言,用static变量编写一个函数fac(int n),此函数连续调用n次,可以依次返回1至n的阶乘值。最后用main调用fac函数输出1-5的阶乘。
  5. android 播放gif方案集合
  6. oracle虚拟机安装苹果,虚拟机中如何安装MAC OS系统?虚拟机安装苹果系统教程
  7. 如何安装Chrome扩展程序或插件
  8. 【Unity游戏开发】动画系统(四)Unity3d动画基础
  9. 小草音乐播放器[emlog插件]
  10. 华为机试HJ102:字符统计