微信jssdk开发,PHP,必要步骤

微信的文档几个重叠在一起,有点乱,自己用到就统计一下,减少字数直接上,毕竟懒。

一般说明步骤一:微信jssdk使用必须在微信公众平台进入其公众号设置,打开配置安全域名才可以。
安全域名则是请求调用微信接口的安全域名,非域名下则会出现权限错误,未授权域名等。

一般说明步骤二引入其对应的JS文件,这个基本知识不过多解释

一般说明步骤三:引入文件,调用其config接口,配置好对应的配置项即可

一般说明步骤四:通过ready接口里配置的响应接口在页面加载的时候就可以用,如果需要响应的就不需要放在这里面,注意:所有的接口需要在config之后,config是其一个异步操作

一般说明步骤五:error的信息报错会执行error函数,错误信息需要打开config中的debug

简而言之就是如下步骤:

步骤一:配置安全域名(配置JS接口安全域名)
步骤二:引入JS文件
步骤三:使用config接口,写入配置
步骤四:在ready里面配置需要在加载时候就可以用的接口
步骤五:error说明函数

假设调用成功,开启了debug,那么会提示:xxx:ok,xxx是你使用的接口名
假设调用用户取消,开启了debug,那么会提示:xxx:cancel,xxx是你使用的接口名
调用失败时:将会返回具体错误信息

以下是微信官方原版Demo:
注意,一定记得后台配置是否正确,配置js安全域名和appid以及secret
完整的一个微信分享Demo:分享示例

注意:重要提醒,在微信开发工具上面调试,千万别信报错,因为报错有时候是bug,但是代码是正确的,我写微信分享,正确的代码调试了一周,最后是工具的问题,用真机调试即可,工具就调样式,大致看看就ok,真机双重检验

<?php
require_once "jssdk.php";//使用官方原版的即可
$jssdk = new JSSDK("这里填写你的appid", "你的AppSecret");//去微信公众号里面找
$signPackage = $jssdk->GetSignPackage();//取得签名及其他必要信息的信息包
?>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title></title>
</head>
<body></body>
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>/** 注意:* 1. 所有的JS接口只能在公众号绑定的域名下调用,公众号开发者需要先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。* 2. 如果发现在 Android 不能分享自定义内容,请到官网下载最新的包覆盖安装,Android 自定义分享接口需升级至 6.0.2.58 版本及以上。* 3. 常见问题及完整 JS-SDK 文档地址:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html** 开发中遇到问题详见文档“附录5-常见错误及解决办法”解决,如仍未能解决可通过以下渠道反馈:* 邮箱地址:weixin-open@qq.com* 邮件主题:【微信JS-SDK反馈】具体问题* 邮件内容说明:用简明的语言描述问题所在,并交代清楚遇到该问题的场景,可附上截屏图片,微信团队会尽快处理你的反馈。*///这里使用wx调用config接口,填写配置项wx.config({debug: true,appId: '<?php echo $signPackage["appId"];?>',timestamp: <?php echo $signPackage["timestamp"];?>,nonceStr: '<?php echo $signPackage["nonceStr"];?>',signature: '<?php echo $signPackage["signature"];?>',jsApiList: [// 所有要调用的 API 都要加到这个列表中'onMenuShareAppMessage','onMenuShareTimeline','chooseWXPay','showOptionMenu',"updateAppMessageShareData","hideMenuItems","showMenuItems","onMenuShareTimeline",'onMenuShareAppMessage'],success: function(res) {// 以键值对的形式返回,可用的api值true,不可用为false// 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}}});wx.ready(function () {      //需在用户可能点击分享按钮前就先调用});//wx.success(function(res){// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。//});
</script>
</html>

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

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

相关文章

imagePreview接口调用微信自带图片播放器

2019独角兽企业重金招聘Python工程师标准>>> 在微信浏览器中&#xff0c;出现在网页上的图片通过点按一小段时间&#xff0c;可以调出微信隐藏的图片播放器&#xff0c;在播放器中看图可以随意放大缩小&#xff0c;体验更炫酷。不过这个功能默认只对通过微信后台编辑…

使用IdentityServer出现过SameSite Cookie这个问题吗?

原文作者&#xff1a;Sebastian Gingter原文链接&#xff1a;https://reurl.cc/Dygrgd译者&#xff1a;沙漠尽头的狼译文链接&#xff1a;https://reurl.cc/1ZYNoQ本文是作者2019年的一篇分享&#xff0c;里面的一些观点和使用的技术&#xff0c;对我们现在的开发依然有效&…

windows下sc create命令行添加/创建/修改服务

C:\Users\Administrator>HELP SC 描述: SC 是用于与服务控制管理器和服务进行通信的命令行程序。 用法: sc <server> [command] [service name] <option1> <option2>... 选项 <server> 的格式为 "\\ServerName"…

TypeError: 'MongoClient' object is not callable

在声明数据库的时候&#xff0c;将中括号[ ]换成了圆括号&#xff08;&#xff09;错误&#xff1a;修改完成后的代码&#xff1a;client pymongo.MongoClient(localhost)db client[my_database]#注意这里用中括号&#xff01;&#xff01; 之后再运行程序&#xff0c;就能存…

微信JSSDK分享页面自定义当前链接最简单示例

这个是使用微信原本的Deom修改 但是一定要注意几个注意事项&#xff0c;代码很简单&#xff0c;却让我一周mmp 在微信开发者工具调试&#xff0c;有时候你代码正确但是会报错 一定要真机调试 appid和secret一定要正确 一定要在在微信公众号后台设置正确的安全目录&#xff0c;…

信息系统开发有管理

做了一套题&#xff0c;又总结了下《信息系统开发与管理》。感觉又有了新的认识。这本书应该说总体的设计都是非常具有逻辑性的。内容设计的有些水到渠成。要说结构的话&#xff0c;应该算是总—分结构吧。一開始就以一篇概述全面的介绍了此书。我总结了以下的图。 信息、系统、…

C语言之字符数组在if{}里面赋值给char *引发的问题

1 问题 我的buff在if{}里面&#xff0c;然后对buff进行内存操作&#xff0c;最后赋值给char *类型的url,发现url最后没有得到数据 如下代码 #include <stdio.h> #define TRUE 1void set_value(char *p) {*p c;*(p 1) h;*(p 2) e;*(p 3) n; }int main() {char *…

python编译器如何设置中文_如何使setup.py test使用特定的fortran编译器?

我正在尝试测试一个包含一些f90文件的package。如果我构建或安装并指定fortran编译器&#xff0c;它可以正常工作。但是&#xff0c;当我尝试测试时&#xff0c;会出现以下错误&#xff1a;C:\Users\jsalvatier\workspace\scikits.bvp_solver>python setup.py config_fc --f…

memwatch内存泄露检测工具

工具介绍 官网 http://www.linkdata.se/sourcecode/memwatch/ 其功能如下官网介绍&#xff0c;挑选重点整理&#xff1a; 1、 号称功能&#xff1a; 内存泄露检测 &#xff08;检测未释放内存&#xff0c; 即 动态内存开辟未释放的情况&#xff09; 2、 检测 多次调用free&…

Windows命令大全

C:\Users\Administrator>help 有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联。 ATTRIB 显示或更改文件属性。 BREAK 设置或清除扩展式 CTRL+C 检查。 BCDEDIT 设置启动数据库中的属性以控制启动加载。 CACL…

command not found Operation not permitted

mysql -uroot -p 报错误:command not found因为苹果在OS X 10.11中引入的SIP特性使得即使加了sudo&#xff08;也就是具有root权限&#xff09;也无法修改系统级的目录&#xff0c;其中就包括了/usr/bin。要解决这个问题有两种做法&#xff1a;比较不安全的就是关闭SIP&#x…

Main 和 静态构造函数 到底谁先执行?

最近被问到一个很有意思的问题&#xff0c;到底是 Main函数 先执行还是 静态构造函数 先执行&#xff1f;参考如下代码&#xff1a;class Program{static Program(){Console.WriteLine("我是 静态构造 函数&#xff01;");}static void Main(string[] args){Console.…

c 正则提取html,c – 正则表达式以获取HTML表格内容

确实没有可能的正则表达式解决方案适用于任意数量的表数据,并将每个单元格放入单独的后向引用中.这是因为通过反向引用,您需要为要创建的每个backref创建一个独特的开放式窗口,并且您不知道自己有多少个单元格.使用一种或另一种循环来提取数据没有任何问题.例如,在最后一个,在P…

(五)python3 只需3小时带你轻松入门—— 逻辑运算符

如果if判断中存在多个表达式判断&#xff0c;需要使用逻辑运算符。 例如有一个变量a&#xff0c;需要判断是否在1到5之间&#xff0c;那么则需要判断a是否大于1且a小于5。这个时候需要使用and逻辑运算符进行判断。 and python中使用and判断左右两边表达式是同时正确&#xff0c…

[linux]unixODBC的安装配置说明

什么是unixODBC&#xff1a; ODBC(Open Database Connect)是由Microsoft 公司于1991 年提出的一个开放的&#xff0c;用于访问数据库的统一接口规范。 unixODBC的是为非Window平台的系统实现ODBC规范接口的中间件。 unixODBC的安装 有GUI的用户可以使用ODBCConfig tool 安装。教…

linux之systemctl设置自定义服务

1 问题 在linux系统上设置自定义服务,或者让我的服务开机就运行起来,比如我们就以tomcat服务为例子 /usr/local/tomcat/bin/startup.sh 启动tomcat的脚本/usr/local/tomcat/bin/shutdown.sh 关闭tomcat的脚本/usr/local/tomcat/bin/restart.sh 重启tomcat的脚本 2 解决方法 …

ASP.NET MVC入门(一)---MVC的Hello World

简单的MVC Hello world,着重处理Controller。 Step1 创建一个Asp.Net MVC 5项目打开Visual studio 2013 点“文件”->新建->项目。

for循环批量写文件 shell_shell脚本:for循环批量重命名带空格文件名的文件

今天在学习shell脚本攻略第二章2.13 批量重命名和移动时,由于我的文件命令有的文件名字中出现空格,出现了许多问题,因此将解决问题的过程记录了下来,希望能够和大家交流学习,共同进步,谢谢!问题代码问题代码最终成功代码最终代码步骤一思路: 由于在shell中运行此脚本时,发现将找…

HDU 4864 Task(贪心或高斯消元)

题意&#xff1a;n台机器工作时间为ai,等级bi,m个任务需要时间ai&#xff0c;等级bi,一台机器只能完成一个任务&#xff0c;完成一个任务收益为500*ai2*bi,求最大收益&#xff1b;(n,m>100000) 思路&#xff1a;先从大到小排时间&#xff0c;再从大到小排等级&#xff0c;借…

android模拟器无法拍照,为什么dafault相机无法在android模拟器中工作?

当我试图打开摄像头应用程序在模拟器defaultly给出&#xff0c;它意外停止和logcat的显示为什么dafault相机无法在android模拟器中工作&#xff1f;02-08 11:18:35.005: INFO/ActivityManager(83): Starting activity: Intent {act android.intent.action.MAIN cat[android.int…