<%@ page language="java" pageEncoding="UTF-8" %>
<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
<script type="text/javascript">
var localCache = JSON.parse(window.localStorage.getItem('localCache'));
var serverCache = JSON.parse(window.localStorage.getItem('serverCache'));
//加载参数
$(document).ready(function () {
jsapi.function.uploadJssdk();
});
var jsapi = {
function: {
/**
* 加载参数接口
*/
uploadJssdk: function () {
var url = location.href.split('#')[0];
$.ajax({
url: "/wechat/jssdk",
type: "get",
dataType: "json",
data: {
url: url
},
success: function (data) {
if (data.success) {
var config = data.obj.config;
var share = data.obj.share;
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: config.appid, // 必填,公众号的唯一标识
timestamp: config.timestamp, // 必填,生成签名的时间戳
nonceStr: config.nonceStr, // 必填,生成签名的随机串
signature: config.signature,// 必填,签名,见附录1
jsApiList: ['chooseImage', 'downloadImage', 'previewImage', 'uploadImage', 'startRecord', 'stopRecord', 'onVoiceRecordEnd', 'uploadVoice', 'downloadVoice', 'playVoice', 'onVoicePlayEnd', 'chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(function () {
/**
* 监听录音自动停止接口
*/
wx.onVoiceRecordEnd({
// 录音时间超过一分钟没有停止的时候会执行 complete 回调
complete: function (res) {
var localId = res.localId;
//录音上传微信服务器
jsapi.function.uploadVoice(localId);
}
});
/**
* 分享给朋友
*/
wx.onMenuShareAppMessage({
title: share.title, // 分享标题
desc: share.desc, // 分享描述
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: share.image, // 分享图标
// type: '', // 分享类型,music、video或link,不填默认为link
// dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数 文章分享数+1
$.ajax({
url: "/wechat/share",
type: "post",
dataType: "json",
data: { articleId: share.id },
success: function () {}
});
},
cancel: function () {
toast('已取消...');
}
});
/**
* 分享到朋友圈
*/
wx.onMenuShareTimeline({
title: share.title, // 分享标题
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: share.image, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数 文章分享数+1
$.ajax({
url: "/wechat/share",
type: "post",
dataType: "json",
data: { articleId: share.id },
success: function () {}
});
},
cancel: function () {
// 用户取消分享后执行的回调函数
toast('已取消...');
}
});
/**
* 分享给QQ好友
*/
wx.onMenuShareQQ({
title: share.title, // 分享标题
desc: share.desc, // 分享描述
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: share.image, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数 文章分享数+1
$.ajax({
url: "/wechat/share",
type: "post",
dataType: "json",
data: { articleId: share.id },
success: function () {}
});
},
cancel: function () {
// 用户取消分享后执行的回调函数
toast('已取消...');
}
});
/**
* 分享到QQ空间
*/
wx.onMenuShareQZone({
title: share.title, // 分享标题
desc: share.desc, // 分享描述
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: share.image, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数 文章分享数+1
$.ajax({
url: "/wechat/share",
type: "post",
dataType: "json",
data: { articleId: share.id },
success: function () {}
});
},
cancel: function () {
// 用户取消分享后执行的回调函数
toast('已取消...');
}
});
});
}
}
});
},
/**
* 预览图片接口
* thisimg:当前显示图片的http链接
* srcs:所有需要预览的图片http链接列表
*/
previewImage: function (thisimg, srcs) {
wx.previewImage({
current: thisimg, // 当前显示图片的http链接
urls: srcs // 需要预览的图片http链接列表
});
},
/**
* 拍照或从手机相册中选图接口
*/
chooseImage: function (callback) {
wx.chooseImage({
count: 9, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
localIds.forEach(function (localId) {
if (!localCache) {
localCache = {};
localCache[localId] = '';
jsapi.function.uploadImage(localId, callback);
} else {
if (!localCache[localId]) {
localCache[localId] = '';
jsapi.function.uploadImage(localId, callback);
} else {
callback(localId, localCache[localId]);
}
}
});
}
});
},
/**
* 上传图片接口
*/
uploadImage: function (localId, callback) {
wx.uploadImage({
localId: localId, // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
callback(localId, res.serverId);
}
});
},
/**
* 下载图片接口
*/
downloadImage: function (serverId, callback) {
wx.downloadImage({
serverId: serverId, // 需要下载的图片的服务器端ID,由uploadImage接口获得
isShowProgressTips: 0, // 默认为1,显示进度提示
success: function (res) {
callback(res.localId);
}
});
},
/**
* 开始录音接口
*/
startRecord: function () {
wx.startRecord({
success: function (obj) {
console.log(obj.errMsg);
},
cancel: function () {
alert('请开通授权录音');
}
});
},
/**
* 停止录音接口
*/
stopRecord: function (callback) {
wx.stopRecord({
success: function (res) {
localId = res.localId;
//录音上传微信服务�