请问如何测试微信JSSDK的wx.config、wx.checkJsApi 是否通过?着急在线等! 10C

请问如何测试微信JSSDK的wx.config配置是否成功?和wx.checkJsApi 是否通过?着急在线等!
这是自己的代码,可是测试时什么动静都没有?希望有这方面经验的大神给予帮助,我要做的是播放微信语音!
wx.config({

debug: true,

appId: 'wxf8b4f85f3a794e77',

timestamp: 1417504553,

nonceStr: 'HvKDeQuRmBNBSVyMOfA7ZxOjEj6RuxTlRaXDIFE0ywVzrOJ7kpwoaIno-G0IjL6gi7PGXLjzar4M7rKeAq6xNkohqZmPJgrMu2CbH_dR2so',

signature: 'e8de0fc3abc4870434e5b641bc252449f471026f',

jsApiList: [

'playVoice'
]

});

    wx.ready(function (){
        $("#playVocie").click(function(){
            wx.playVoice({
              jsApiList: [
                'playVocie'
              ],
              success: function (res) {
                alert(JSON.stringify(res));
              }
            });
          });

            $("#playVoice").click(function(){
                    alert("播放语音");
            });

2个回答

wx.ready如果执行了就是验证成功了,你要验证失败注册wx.error(function(){alert('config失败')})

判断当前客户端版本是否支持指定JS接口

 wx.checkJsApi({
    jsApiList: ['chooseImage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
    success: function(res) {
        // 以键值对的形式返回,可用的api值true,不可用为false
        // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
    }


});

http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E5.88.A4.E6.96.AD.E5.BD.93.E5.89.8D.E5.AE.A2.E6.88.B7.E7.AB.AF.E7.89.88.E6.9C.AC.E6.98.AF.E5.90.A6.E6.94.AF.E6.8C.81.E6.8C.87.E5.AE.9AJS.E6.8E.A5.E5.8F.A3

sinat_29821865
hantf_hh 回复showbo: 还要获取本地音频的localid啊?那么麻烦?请问你有这方面的代码吗?可以加我QQ聊么?384567147,startRecord是什么?
4 年多之前 回复
showbo
支付宝加好友偷能量挖 回复Da韓韓韓: 直接播放已经存在的好像不行,没有接口获取本地音频的localId。一般是调用startRecord后,通过stopRecord在回调success中得到localId,你用一个全局变量存储这个localId后再playVoice。如果录制了多个语音,你可以用数组保存localId,然后自己render多个选项给用户选择进行播放(生成的div选项,或者其他标签,你用个自顶属性存储对应的localId),点击播放时候获取自定义的localId属性
4 年多之前 回复
sinat_29821865
hantf_hh 我的wx.ready已经执行了,现在就是要调用wx.playVoice这个接口,但是接口里的localId是音频本地ID,可是我要读取的是语音的mediaId啊?怎么搞?
4 年多之前 回复

wx.ready如果执行了就是验证成功了,你要验证失败注册wx.error(function(){alert('config失败')})

判断当前客户端版本是否支持指定JS接口

wx.checkJsApi({ jsApiList: ['chooseImage'], // 需要检测的JS接口列表,所有JS接口列表见附录2, success: function(res) { // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} } });

http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html#.E5.88.A4.E6.96.AD.E5.BD.93.E5.89.8D.E5.AE.A2.E6.88.B7.E7.AB.AF.E7.89.88.E6.9C.AC.E6.98.AF.E5.90.A6.E6.94.AF.E6.8C.81.E6.8C.87.E5.AE.9AJS.E6.8E.A5.E5.8F.A3

sinat_29821865
hantf_hh 这个我已经看过了,也把代码贴在wx.ready中了,但是运行后什么反应都没有?怎么办?加我QQ说吧,384567147谢谢
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
微信JSSDK wx.config问题

去年做了个微信扫一扫的功能,调用微信接口。今天放假归来微信APP更新了,导致IOS可以正常调用摄像头扫码,而安卓却没有半点反应。有大佬遇到过这样的问题吗

微信JSSDK,wx.config配置在哪里?三个参数如何获取?

请问wx.config配置到哪里?还有就是timestamp,nonceStr,signature这三个参数如何获取的呢?有没有代码接口呢?目前在做微信语音播放这块,好多都是自学,有没有相同经验可以借鉴下,谢谢!!!

微信企业号 jsSDKwx.config报invalid signature错误api接口无法使用

问题发生的背景是这样的: 同样的代码在我们公司的产品上就不会报这个错误,可以正确调用接口。但是放在客户的服务器上,wx.config里面的参数配置成客户微信企业号信息就会报错。 和微信提供的签名校验工具进行对比发现后台计算的和微信计算的一致,说明计算方法没有问题。 可信域名在微信企业号后台也进行了配置。 和后台同学关于这个问题已经查询了很多地方,但是还是没有解决。 如果有哪位大神解决过类似问题,还请不吝赐教,最好能留qq号方便沟通。 也留一下本人的qq号:931745526

微信jssdk的java web项目运行一段时间后就提示wx.config注册失败??/

微信jssdk的项目java web项目,刚运行起一切正常,但是5个小时左右后就wx.config就注册失败,各种微信接口都用不起,必须重新发布整个项目才会又正常,这是怎么回事啊?

手机测试 wx.config 无反应,愿意发微信红包, 求大佬帮忙分析解决

我在微信开发工具测试, wx.config 显示ok , wx.chooseWXPay.没有此SDK或暂不支持此SDK模拟 **问题出在, 我用手机测试 (ios,android) wx.config无反应,** erro和ready均不进入 wx.chooseWXPay也无法用, 我在https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 验证了签名是一毛一样的, 求教大佬, 我这代码是出了啥毛病 ``` <!doctype html> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html lang="zh-cn"> <head> <%@include file="/pc/inc/commoncontent.inc"%> <script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script> <script src="<%=contextPath%>/m/smartHotel/script/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> </script> <title>订单-支付</title> <span class="disb picNum padTB30"><i class="disib iconPic" onClick="openPic(this);" >3532rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr张</i></span> </head> <body> <script type="text/javascript"> var appId1,timeStamp1,nonceStr1,packageStr1,signType1,paySign1; $(document).ready(function () { $.ajax({ url : contextPath+ "/weixin/hotelorder/wxPay.action", type:"post", dataType:'json', //接受数据格式 async: false, data:{url:window.location.href.split('#')[0].replace(/\&/g,"%26")},//传参,建议使用json //1:手机号, 2:房间数.3单价4总价 5: 当前bedid 6 :入住人 姓名 7 发票8 入住日离开日 error:function(data){//请求失败时处理 // alert(data); window.location.href = '<%=contextPath%>/m/smartHotel/html/yysb.html'/*预订失败页*/ }, success:function(data) { if( data) { appId1 = data.pay.appId; timeStamp1 = data.pay.timeStamp; nonceStr1 = data.pay.nonceStr; packageStr1 = data.pay.package; signType1 = data.pay.signType; paySign1 = data.pay.paySign; } wx.config({ debug:false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:data.pay.appId, // 必填,公众号的唯一标识 timestamp:data.config.timestamp, // 必填,生成签名的时间戳 nonceStr:data.config.noncestr, // 必填,生成签名的随机串 signature:data.config.configSign, // 必填,签名,见附录1 jsApiList:['chooseWXPay','closeWindow'] }); wx.error(function(res){ alert("error enter"); }); wx.ready(function(){ alert("ready enter"); pay(); }); //onBridgeReady(); // alert("success inter"); } }); }); function pay() { // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 console.log(appId1 +" / "+ timeStamp1+" / " + nonceStr1+" / "+packageStr1 +" / "+ signType1+" / "+paySign1); wx.chooseWXPay({ timestamp:timeStamp1, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr:nonceStr1, // 支付签名随机串,不长于 32 位 package:packageStr1, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) signType:signType1, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign:paySign1, // 支付签名 success:function(res) { alert("8888888888888"); alert(res); alert(res.errMsg); console.log(res.errMsg); // 支付成功后的回调函数 if (res.errMsg == "chooseWXPay:ok") { //支付成功 alert('支付成功'); } else { alert(res.errMsg); } } }); } function onBridgeReady(){ alert("进入了onbridgeready"); WeixinJSBridge.log("889"); WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId":appId1, //公众号名称,由商户传入 "timeStamp":timeStamp1, //时间戳,自1970年以来的秒数 "nonceStr":nonceStr1, //随机串 "package":packageStr1, "signType":"MD5", //微信签名方式: "paySign":paySign1 //微信签名 }, function(res){ WeixinJSBridge.log(res); alert("进入了success"); alert(res.errorMsg); // 使用以下方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。 if(res.errMsg == "get_brand_wcpay_request:ok") { alert("支付成功"); // window.location.href = "${pageContext.request.contextPath}/wx/success?orderId=${orderId}"; }else if(res.errMsg == "get_brand_wcpay_request:fail"){ alert('支付失败'); }else if(res.errMsg == "get_brand_wcpay_request:cancel"){ alert('支付取消'); }else{ alert(res.errMsg); } } ); } function openPic() { pay(); //wx.closeWindow(); } //调用模拟 回调 // $.ajax({ // url : contextPath+ "/weixin/hotelorder/moniWXPay.action", // type:"post", // dataType:'json', //接受数据格式 // async: false, // data:{parm1:getQueryString2("orderId")},//传参,建议使用json // error:function(data){//请求失败时处理 // alert(data); // }, // success:function(data) // { // if(data.result =="success") // { // window.location.href = '<%=contextPath%>/m/smartHotel/html/yycg.jsp?orderId='+getQueryString2("orderId"); // } // // } // }); function getQueryString2(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if(r != null) return decodeURI(r[2]); return null; } </script> </body> </html> ```

微信JSSDK图像接口调用,从缓存中获取到的 localId,wx.getLocalImgData 为什么不能执行?

$(document).ready(function () { //查看缓存,判断是否有已经有上传过照片,但是没有提交且刷新页面导致照片消失的情况,在提交表单的时候会清除此缓存 var zpIDs = localStorage.getItem("zpIDs"); alert(1); alert(zpIDs); if(zpIDs!=null&&zpIDs!=''){ var IDs = zpIDs.split(","); for (var i = 0; i < IDs.length; i++) { WX_FUN.showImgByobj(IDs[i], addImg, IDs[i]); } } } ``` _WXUtils.prototype={ init: function(appId,timestamp,nonceStr,signature){ //配置微信JS调用 wx.config({ debug: false, appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ ] }); }, //用于显示图片 add by lv showImgByobj:function(localId,callback,obj){ alert(1111); //用于适配新版的ios 微信 if(window.__wxjs_is_wkwebview==true){ alert(2222); wx.getLocalImgData({ localId: localId.toString(), success: function (res) { var localData = res.localData; alert(3333); callback(localData,obj); } }); }else{ callback(localId,obj); } } } ``` //动态添加img ,add by lv function addImg(src, localId) { var id = localId.replace(/[^0-9]/ig, ""); var lis_count = $("#xsphoto li").length; var li = "<li class='mui-table-view-cell mui-media mui-col-xs-4'>" + "<div class='imgDiv'>" + "<img class='mui-media-object' src='" + src + "'>" + "<input type='hidden' name='picbase64str_zp' id='" + id + "'/>" + "<a href='#' onclick='delImg(this," + lis_count + ")'>" + "<img src='${req.contextPath}/images/cha.png' class='delete' />" + "</a>" + "</div>" + "</li>"; $("#xsphoto ul").append(li); } ``` ``` alert(1111)和alert(2222);都可以执行,但是alert(3333)就不执行,可见 wx.getLocalImgData 没有执行或者执行失败?有大佬知道原因吗?

微信jssdk调用接口没有响应

代码如下:![图片说明](https://img-ask.csdn.net/upload/201508/21/1440167766_329505.jpg)![图片说明](https://img-ask.csdn.net/upload/201508/21/1440167812_989022.jpg)![图片说明](https://img-ask.csdn.net/upload/201508/21/1440167784_144506.jpg) 没有任何报错信息

微信JSSDK引入debug无效

微信 JSSDK JSP 页面中引入了 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> wx.config 中 debug: true 可是访问的时候页面没有任何反应,不是应该有debug调试的弹窗提示么?

微信公众号使用wx.openAddress接口提示wx.openAddress is not a function

wx.config({ debug: true, appId: '{$info.appId}', timestamp: '{$info.timestamp}', nonceStr: '{$info.nonceStr}', signature: '{$info.signature}', jsApiList: [ 'checkJsApi', 'openAddress', ] }); wx.ready(function () { }); wx.checkJsApi({ jsApiList: [ 'openAddress', ], success: function (res) { alert(JSON.stringify(res)); } }); wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 }); wx.openAddress({ success: function (res) { var userName = res.userName; // 收货人姓名 var postalCode = res.postalCode; // 邮编 var provinceName = res.provinceName; // 国标收货地址第一级地址(省) var cityName = res.cityName; // 国标收货地址第二级地址(市) var countryName = res.countryName; // 国标收货地址第三级地址(国家) var detailInfo = res.detailInfo; // 详细收货地址信息 var nationalCode = res.nationalCode; // 收货地址国家码 var telNumber = res.telNumber; // 收货人手机号码 } }); ![图片说明](https://img-ask.csdn.net/upload/201904/22/1555923856_705509.png)

微信jssdk,wx.config中的debug改为false没用

不alert这个弹窗![图片说明](https://img-ask.csdn.net/upload/201505/21/1432176099_196209.png)

微信JSSDK config显示OK,checkJsApi显示OK,然后就没有任何反应了,求指导

这是我的测试地址:http://ecapex.top/wx/sample/php/sample.php 以下是我的前端代码: ``` <script> 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 都要加到这个列表中 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline' ] }); //将分享的数组组成json数组 window.share_config = { "share": { "imgUrl": "http://ecapex.top/upload/partertalents/min/20180629202242.jpg",//分享图,默认当相对路径处理,所以使用绝对路径的的话,“http://”协议前缀必须在。 "desc" : "你真是太棒了",//摘要,如果分享到朋友圈的话,不显示摘要。 "title" : '你真是非常的棒',//分享卡片标题 "link": 'http://ecapex.top',//分享出去后的链接,这里可以将链接设置为另一个页面。 "success":function(){//分享成功后的回调函数 }, 'cancel': function () { // 用户取消分享后执行的回调函数 } } }; wx.ready(function () { // 在这里调用 API //判断当前客户端版本是否支持指定JS接口 wx.checkJsApi({ jsApiList: [ // 所有要调用的 API 都要加到这个列表中 'updateAppMessageShareData', 'updateTimelineShareData', 'onMenuShareAppMessage', 'onMenuShareTimeline' ], // 需要检测的JS接口列表,所有JS接口列表见附录2, success: function(res) { console.log(res) // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} } }); }); function AppMessage() { wx.updateAppMessageShareData(share_config.share); } function Timeline() { wx.updateTimelineShareData(share_config.share); } function Messages() { wx.onMenuShareAppMessage(share_config.share); } function timelines() { wx.onMenuShareTimeline(share_config.share) } </script> <button onclick="AppMessage()">自定义分享给朋友</button><br> <button onclick="Timeline()">自定义分享到朋友圈</button><br> <button onclick="Messages()">分享给朋友</button> <button onclick="timelines()">分享到朋友圈</button> ``` 后端代码: ``` 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,//当前网页的URL "signature" => $signature,//签名 "rawString" => $string ); return $signPackage; } //设置签名的随机串并按ASCII 码从小到大排序 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; } //获取ticket private function getJsApiTicket() { // jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例 $data = json_decode($this->get_php_file("jsapi_ticket.php")); if ($data->expire_time < time()) { $accessToken = $this->getAccessToken(); $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; } //获取accesstoken private function getAccessToken() { // access_token 应该全局存储与更新,以下代码以写入到文件中做示例 $data = json_decode($this->get_php_file("access_token.php")); if ($data->expire_time < time()) { $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,$type='get',$res='json',$arr='') { $ch = curl_init(); if (class_exists('\CURLFile')) { curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true); } else { if (defined('CURLOPT_SAFE_UPLOAD')) { curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); } } curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); if($type=='post'){ curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $arr); } curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); if($res=='json'){ if( curl_errno($ch) ){ //请求失败 return curl_error($ch); curl_close($ch); }else{ //请求成功 curl_close($ch); return $output; } } } //获取对应文件内容(accesstoken、ticket) private function get_php_file($filename) { return trim(substr(file_get_contents($filename), 15)); } //设置对应文件内容(accesstoken、ticket) private function set_php_file($filename, $content) { $fp = fopen($filename, "w"); fwrite($fp, "<?php exit();?>" . $content); fclose($fp); } } ``` 有没有大佬告诉下,到底是怎么回事啊?我的接口权限、js安全域名都是OK的,方便的话可以加我QQ指点下我825114245

加载微信的jssdk后,通过文档提供的wx对象调用,提示wx为undefined

``` <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> <script type="text/jscript" href="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> <style> body{width:100%; min-height:100%;} body img{width:100%;} </style> <title>关注分享送红包</title> </head> <body> <p id="test">ttttttttttt</p> <script> 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 都要加到这个列表中 'checkJsApi', 'openLocation', 'getLocation', 'onMenuShareTimeline', 'onMenuShareAppMessage' ] }); wx.ready(function(){ alert('成功'); }) wx.error(function(res){ // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的 debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。 $('#test').html(res); }); $('#test').html("bbbbbbbb"); </script> ```

关于在网页面调用微信jssdk接口,网页是不是只有在微信内置浏览器里打开,才能触发里面的事件

第一次弄这个,网上看了很多资料,也去官网上看了文档。但是找到一个确定答案。 这次项目需要做一个可以把我们的网站分享到微信的功能,看了网上的网站都是点击一个图标出现一个二维码。 当时我就在想我是不是先要做一个生成二维码的功能呢。网上也有很多插件可以实现。 又搜索到网上有很多调用微信jssdk的方法。 开始我还以为直接调用微信jssdk,就可以弹出一个二维码呢。 后来发现太天真了,写了很多代码,点击之后啥反应都没有。 想问一问微信jssdk里的接口,比如说是分享接口。 1.是不是说我们网上发布的网站里必须写好微信jssdk帮助文档里所说的那些配置和接口,并且必须要用户通过扫一扫在手机微信内置浏览器中打开,并且点击右上角的三个点点,并点击分享按钮才能触发。 2.而我们在网页上写的和微信相关的代码,其实就是在点击微信内置浏览器里右上角三个点点的时候,在手机底部跳出来的这个菜单呢。 3.如果是这样,那我们网站在本地开发不是没法调试了吗?本地调试的话有什么工具呢??? 4.还有这些和公众号有什么关系呢。我们的方法写在网页里,难道接口返回的内容不在网页后台接受吗? 希望有人可以回答我吧。不问具体怎么写,只是问一下逻辑而已。不知道我想的对不对!

java如何 获取wx.config 的值

想做一个微信分享的功能,java是如何 获取wx.config 的值的!

angualr框架 IOS版本偶尔调用微信分享wx.onMenuShareAppMessage无效

本人用的是angualr前端开发框架,在微信分享中,如果签名使用当前页URL,页面URL包含#(签名会报错invalid signature),页面刷新一次后签名才会正确,分享也正常。如果用window.location.href.split('#')[0]签名,签名正确,但IOS手机调用微信JSSDK偶尔会失效,分享错误。之前试过URL去#号模式,问题同上。求解???

uniapp导入微信jssdk实现微信扫一扫的功能,导入jssdk失败?

步骤:(看网上整的) 1. 安装 npm install jweixin-module --save 2.导入 let jweixin = require('jweixin-module') Vue.prototype.$wx = jweixin 此时报错 undefined is not an object (evaluating 'o.jWeixin') 跪求大佬解答QAQ

微信JSSDK调用播放音频接口为什么没有响应?求大神指点!!!!

在做微信语音播放的项目,可是调用后为什么没有动静?wx.ready方法已经通过了,可以alert,但是把检测的JS接口的wx.checkJsApi贴上去也没有什么反应?而且wx.playVoice的接口中localId是否是mediaid?代码如下:求指点。。。。 var timestamp=""; var nonceStr=""; var signature=""; function getVoice(mediaId){ $.ajax({ url : "/getVoice", type : "GET", dataType : "json", success : function(data){ timestamp=data.timestamp; nonceStr=data.nonceStr; signature=data.signature; }, error : function(){ alert("系统故障,请稍后再试!"); } }); } //通过config接口注入权限验证配置,所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用 wx.config({ debug: true, appId: 'wxf8b4f85f3a794e77', timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'playVoice' ] }); //通过ready接口处理成功验证 wx.ready(function (){ wx.checkJsApi({ jsApiList: ['playVoice'], // 需要检测的JS接口列表,所有JS接口列表见附录2, success: function(res) { alert(res); // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} }, fail function (res){ alert(res); } }); }); wx.playVoice({ localId: '' // 需要播放的音频的本地ID,由stopRecord接口获得 });

如何使用mediaId来播放微信语音?着急,在线等。。。。

微信JSSDK的wx.config配置好了,wx.ready也能通过,当我点击按钮的时候播放微信语音,如何实现?目前代码是: //通过ready接口处理成功验证 wx.ready(function (){ alert(123); }); function getVoice(mediaId){ alert("播放语音"); wx.downloadVoice({ serverId: 'mediaId', // 需要下载的音频的服务器端ID,由uploadVoice接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: function (res) { var localId = res.localId; // 返回音频的本地ID } }); wx.playVoice({ localId: 'mediaId' // 需要播放的音频的本地ID,由stopRecord接口获得 }); }

微信公众号分享接口updateAppMessageShareData 没有回调

由于微信版本的升级,旧版的分享接口已经即将弃用,不少新版本的微信用户反映分享功能有BUG, 看了下文档微信公众号新的分享接口, “请注意,原有的 wx.onMenuShareTimeline、wx.onMenuShareAppMessage、wx.onMenuShareQQ、wx.onMenuShareQZone 接口,即将废弃。请尽快迁移使用客户端6.7.2及JSSDK 1.4.0以上版本支持的 wx.updateAppMessageShareData、updateTimelineShareData 接口” 所以就用了updateAppMessageShareData 这个接口来分享,分享的话是成功了,但是由于 业务关系 需要在分享成功之后做一些操作,按找文档上的代码格式编写了回调函数,但是没有分享成功或取消分享之后没有回调。求解。代码如下 function lqCard(){ var url = window.location.href; var openid = $("#openid").val(); var sign = $("#sign").val(); var remberId= $("#remberId").val(); //alert("remberId:"+remberId+"openid:"+openid); $.ajax({ url: "<@spring.url '/getJSSDKSignature'/>", //请求的url地址 dataType: "json", //返回格式为json data: { "url":url, }, //参数值 type: "GET", //请求方式 success: function(result) { var appId = result.appId; var timestamp = result.timestamp; var nonceStr = result.nonceStr; var signature = result.signature; wx.config({ debug: true, appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ 'updateAppMessageShareData' ] }); wx.ready(function(){ var remark="123"; var url="https://www.xxxx.cn"; var imgURL="https://www.xxxx.cn/xx.jpg"; wx.updateAppMessageShareData({ title: remark, // 分享标题 desc: "点击领取电子凭证", // 分享描述 link: url, imgUrl:imgURL, // 分享图标 },function (res) { alert("[调试信息]"); }); }); wx.error(function(res){ alert("error"); }); } }); } ``` ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java校招入职华为,半年后我跑路了

何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

@程序员:GitHub这个项目快薅羊毛

今天下午在朋友圈看到很多人都在发github的羊毛,一时没明白是怎么回事。 后来上百度搜索了一下,原来真有这回事,毕竟资源主义的羊毛不少啊,1000刀刷爆了朋友圈!不知道你们的朋友圈有没有看到类似的消息。 这到底是啥情况? 微软开发者平台GitHub 的一个区块链项目 Handshake ,搞了一个招募新会员的活动,面向GitHub 上前 25万名开发者派送 4,246.99 HNS币,大约价...

再不跳槽,应届毕业生拿的都比我多了!

跳槽几乎是每个人职业生涯的一部分,很多HR说“三年两跳”已经是一个跳槽频繁与否的阈值了,可为什么市面上有很多程序员不到一年就跳槽呢?他们不担心影响履历吗? PayScale之前发布的**《员工最短任期公司排行榜》中,两家码农大厂Amazon和Google**,以1年和1.1年的员工任期中位数分列第二、第四名。 PayScale:员工最短任期公司排行榜 意外的是,任期中位数极小的这两家公司,薪资...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

华为初面+综合面试(Java技术面)附上面试题

华为面试整体流程大致分为笔试,性格测试,面试,综合面试,回学校等结果。笔试来说,华为的难度较中等,选择题难度和网易腾讯差不多。最后的代码题,相比下来就简单很多,一共3道题目,前2题很容易就AC,题目已经记不太清楚,不过难度确实不大。最后一题最后提交的代码过了75%的样例,一直没有发现剩下的25%可能存在什么坑。 笔试部分太久远,我就不怎么回忆了。直接将面试。 面试 如果说腾讯的面试是挥金如土...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

win10暴力查看wifi密码

刚才邻居打了个电话说:喂小灰,你家wifi的密码是多少,我怎么连不上了。 我。。。 我也忘了哎,就找到了一个好办法,分享给大家: 第一种情况:已经连接上的wifi,怎么知道密码? 打开:控制面板\网络和 Internet\网络连接 然后右击wifi连接的无线网卡,选择状态 然后像下图一样: 第二种情况:前提是我不知道啊,但是我以前知道密码。 此时可以利用dos命令了 1、利用netsh wlan...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

立即提问
相关内容推荐