我们要做与微信相关的功能一定是进入api文档来参照文档操作[https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115]
1、首先需要先登录微信公众平台进入
第一步: “公众号设置”的“功能设置”里填写“JS接口安全域名”加入域名。
第二步:将“JS接口安全域名”中txt文件下载下来加入到环境的根目录。
第二步:在“基本设置”里面设置白名单,将当前环境域名的“IP地址或域名”设为白名单
备注:登录后可在“开发者中心”查看对应的接口权限->网页授权->业务域名和JS接口安全域名。
2、在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js
3、首先需要将配置项填写完整
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: '', // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
此时需要注意通过接口调用时最好使用post请求,向后台传参发送url地址时需要encodeURIComponent编码,URL地址最好用location.href.split(‘#’)[0];以防分享时微信自动向路径后加参数。
1,语音录入功能
//开始录音
wx.startRecord({
success: function() {},
cancel: function(){
$('.record-shade,.icon-wrapper').addClass('hide');
alert("用户拒绝授权录音");
}
});
//停止录音
wx.stopRecord();
//播放语音
wx.playVoice({
localId: localId, // 需要播放的音频的本地ID,由stopRecord接口获得
success: function() {},
fail: function(res) {
alert(resizeTo);
}
});
//监听录音自动停止
wx.onVoiceRecordEnd({
// 录音时间超过一分钟没有停止的时候会执行 complete 回调
complete: function (res) {
var localId = res.localId;
}
});
// 暂停播放语音
wx.pauseVoice({
localId: '' // 需要暂停的音频的本地ID,由stopRecord接口获得
});
// 停止播放语音
wx.stopVoice({
localId: '' // 需要停止的音频的本地ID,由stopRecord接口获得
});
// 监听语音播放完毕
wx.onVoicePlayEnd({
success: function (res) {
var localId = res.localId; // 返回音频的本地ID
}
});
//语音转文字
wx.translateVoice({
localId: localId, // 需要识别的音频的本地Id,由录音相关接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function(res){
alert(res.translateResult);// 语音识别的结果
}
});
2,分享功能
分享图标使用路径:location.origin +'/fenxiang/images/imgUrl.jpg’完整路径
/**
* 微信分享朋友、朋友圈操作
*/
var title = 'XXXXX';//标题
var desc = 'xxxxxxx';//分享描述
var imgUrl = location.origin +'/imgUrl.jpg';//分享图标
getWXdata();
function getWXdata(){
$.ajax({
url:'接口?url='+encodeURIComponent(location.href.split('#')[0]),
type:'post',
success:function(data){
wx.config({
debug:false,
appId:data.appId,
timestamp:data.timestamp,
nonceStr:data.nonceStr,
signature:data.signature,
jsApiList:[
'onMenuShareTimeline','onMenuShareAppMessage'
]
})
ready();
}
})
}
function ready(){
wx.ready(function(){
//分享到朋友圈
wx.onMenuShareTimeline({
title: title, // 分享标题
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
//分享朋友
wx.onMenuShareAppMessage({
title: title, // 分享标题
desc: desc, // 分享描述
link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: imgUrl, // 分享图标
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
})
}