h5页面嵌入微信进行语音识别和分享功能注意问题

我们要做与微信相关的功能一定是进入api文档来参照文档操作[https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115]
1、首先需要先登录微信公众平台进入
第一步: “公众号设置”的“功能设置”里填写“JS接口安全域名”加入域名。
第二步:将“JS接口安全域名”中txt文件下载下来加入到环境的根目录。
h5页面嵌入微信进行语音识别和分享功能注意问题_第1张图片
第二步:在“基本设置”里面设置白名单,将当前环境域名的“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 () {
				// 用户取消分享后执行的回调函数
			}
		});
	})
}

你可能感兴趣的:(微信,JS)