小程序
小游戏
企业微信
微信支付
扫描小程序码分享
同样的签名
jsApiList: [ 'scanQRCode', ] // 这个就不行 jsApiList: [ 'chooseWXPay', ] // 这个就可以
支付接口都可以了,扫一扫却不可以
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
laravel6.0 JS页面代码 $(function(){ wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '{{$__appid}}', // 必填,公众号的唯一标识 timestamp: '{{$__timestamp}}' , // 必填,生成签名的时间戳 nonceStr: '{{$__noncestr}}', // 必填,生成签名的随机串 signature: '{{$__signature}}',// 必填,签名 jsApiList: [ 'scanQRCode', ] // 必填,需要使用的JS接口列表 }); wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 alert(res.errMsg); }); wx.ready(function(){ // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 }); }); function scans() { wx.scanQRCode({ needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 alert(result); } }); }
public function writeScanView(Request $request){ $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url=urlencode("$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"); $ticket = $this->getGzhJsApiTicket(); $noncestr = strtolower(Str::random(10)); // 10位随机数 $timestamp = time(); // $string1 = "jsapi_ticket=$ticket&noncestr=$noncestr×tamp=$timestamp&url=$url"; $data = [ "jsapi_ticket"=>$ticket, "noncestr"=>$noncestr, "timestamp"=>$timestamp, "url"=>$url, ]; ksort($data); $string1 = ToUrlParams($data); $signature = sha1($string1); $__appid = gzh_appid; $__timestamp = $timestamp; $__noncestr = $noncestr; $__signature = $signature; return view("advertisers.writeScan",compact('__appid','__timestamp','__noncestr','__signature'))->with("title","扫码"); }
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
建议你把 调用方法和js代码贴出来
你意思是接口没法用调不起来?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
laravel6.0 JS页面代码 $(function(){ wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '{{$__appid}}', // 必填,公众号的唯一标识 timestamp: '{{$__timestamp}}' , // 必填,生成签名的时间戳 nonceStr: '{{$__noncestr}}', // 必填,生成签名的随机串 signature: '{{$__signature}}',// 必填,签名 jsApiList: [ 'scanQRCode', ] // 必填,需要使用的JS接口列表 }); wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 alert(res.errMsg); }); wx.ready(function(){ // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 }); }); function scans() { wx.scanQRCode({ needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果, scanType: ["qrCode"], // 可以指定扫二维码还是一维码,默认二者都有 success: function (res) { var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果 alert(result); } }); }
public function writeScanView(Request $request){ $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; $url=urlencode("$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"); $ticket = $this->getGzhJsApiTicket(); $noncestr = strtolower(Str::random(10)); // 10位随机数 $timestamp = time(); // $string1 = "jsapi_ticket=$ticket&noncestr=$noncestr×tamp=$timestamp&url=$url"; $data = [ "jsapi_ticket"=>$ticket, "noncestr"=>$noncestr, "timestamp"=>$timestamp, "url"=>$url, ]; ksort($data); $string1 = ToUrlParams($data); $signature = sha1($string1); $__appid = gzh_appid; $__timestamp = $timestamp; $__noncestr = $noncestr; $__signature = $signature; return view("advertisers.writeScan",compact('__appid','__timestamp','__noncestr','__signature'))->with("title","扫码"); }
建议你把 调用方法和js代码贴出来
你意思是接口没法用调不起来?