1 var images = {
2 localId : [],
3 serverId : []
4 };//传给后台的参数
5 //修改头像
6 $.ajax({
7 url: "",
8 dataType: "json",
9 data: {
10 url: location.href.split('#')[0]
11 },
12 type: "post",
13 success: function(data) {
14 var dataObj = eval("(" + data + ")");
15 wx.config({
16 debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
17 appId: dataObj.results.data.appId, // 必填,公众号的唯一标识
18 timestamp: dataObj.results.data.timestamp, // 必填,生成签名的时间戳
19 nonceStr: dataObj.results.data.nonceStr, // 必填,生成签名的随机串
20 signature: dataObj.results.data.signature, // 必填,签名,见附录1
21 jsApiList: ['downloadImage', 'chooseImage', 'uploadImage']
22 // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
23 });
24 //微信JS-SDK说明文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
25 wx.ready(function() {
26 // 如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。
27 $(".setheadImg").click(function() {
28 wx.chooseImage({
29 debug: false,
30 count: 1, // 限制图片最多选1张
31 sizeType: ['compressed'], // 指定是压缩图
32 success: function(res) {
33 var localIds = res.localIds;
34 if(localIds.length == 1) {
35 $(".setheadImg").attr("src", localIds[0]);
36 // 微信的坑点iOS微信6.5.3及其之后的版本window.__wxjs_is_wkwebview为true时是使用WKWebview,为false或者“undefine”时是UIWebviewWKWebview
37 // 不支持res.localIds显示图片,必须用res.localData
38 if(window.__wxjs_is_wkwebview) {
39 wx.getLocalImgData({
40 localId: localIds[0],
41 success: function(res) {
42 if(res.localData != "") {
43 $(".setheadImg").attr("src", res.localData);//头像图片的容器
44 }
45 }
46 });
47 }
48 syncUpload(localIds);
49
50 }
51 },
52 error: function(res) {
53 alert(res)
54 }
55 });
56 });
57 // sync upload pic
58 var syncUpload = function(localIds) {
59 var localId = localIds.pop();
60 wx.uploadImage({
61 localId: localId,
62 isShowProgressTips: 1,
63 success: function(res) {
64 var serverId = res.serverId; // 返回图片的服务器端ID
65 images.serverId.push(serverId);
66 if(localIds.length > 0) {
67 syncUpload(localIds);
68 }
69 }
70 });
71 }
72 }, function(data) {
73 alert('系统繁忙,请刷新页面!')
74 });
75 },
76 error: function(data) {
77 alert('系统繁忙,请刷新页面!')
78 }
79 })