有时我们需要点击下菜单就调出扫一扫,然后将值传给自己的程序进行处理,返回一个结果给用户。比如打开一个网页,返回一个文字或者图文消息。
笔者之前对微信上的开发也是一窍不通,一顿浑水摸鱼后大概明白了,网页上可以弄个按钮,点击下就调用扫一扫,然而并不是随便让你调用的,这个扫一扫严格来说叫做微信提供的jssdkapi,是他提供的接口,那么就得遵循他的要求来,否则不给你用,需要对当前网页进行严格的wx.config配置。首先你得有一个公众号,并且是已认证的,认证费嘛300块大洋,哈哈,并且是每年,当然了接到项目做,这些都是用户提供了给你的。
忽然我不想说详细的过程了,为什么?是太懒了,太费劲了,要说明白得截一通图,真心累。而且之前我有篇博文也说过的。参考:https://blog.csdn.net/sysdzw/article/details/50756015 我这里就大致说下吧。想要点击菜单就扫一扫,无非就两种情况。
1.配置服务器模式,调用菜单接口。这样的效果好直接点击菜单就立马出现扫一扫窗口了。如果在电脑上点击会提示不支持。
{
"type": "scancode_waitmsg",
"name": "扫一扫-查询",
"key": "扫一扫-查询"
},
2.使用网页形式,jssdkapk。点击相应菜单后打开一个网页,然后网页里自动执行扫一扫接口的代码。这个就有个延时问题,用户的等待网页打开完毕!好处是不用配置服务器方式,微信后台的东西都能用,比如自定义菜单啊什么的。缺点是不能回复图文消息,只能是网页形式。 如果要正儿八经专业的做微信开发还是得配置服务器的,一切都在自己服务器上实现。
wx.config({
debug: false,
appId: '<%=session("appId_kubo_fw")%>',
timestamp: <%=session("timestamp_kubo_fw")%>,
nonceStr: '<%=session("nonceStr_kubo_fw")%>',
signature: '<%=session("signature_kubo_fw")%>',
jsApiList: [
。
。
。
wx.ready(function () {
//下面代码是直接进行调用扫描二维码的功能
wx.scanQRCode({
needResult: 1,
desc: 'scanQRCode desc',
success: function (res) {
var r=res.resultStr.split("-")
if(r.length==2){
$("#fwm").val(r[1]);
$("#tijiao").click();
}
}
});
});