微信JS-SDK接口上传图片以及wx.config的配置
最近做的微信网页要实现一个上传图片的功能,倒腾了半天终于搞好了,具体的步骤可以查看微信官方文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html,这里只是简答说一下,
JSSDK使用步骤
步骤一:绑定域名
先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。
备注:登录后可在“开发者中心”查看对应的接口权限。
步骤二:引入JS文件
在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.4.0.js
如需进一步提升服务稳定性,当上述资源不可访问时,可改访问:http://res2.wx.qq.com/open/js/jweixin-1.4.0.js
第三步:请求后台接口,注入配置信息
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: '', // 必填,公众号的唯一标识
timestamp: , // 必填,生成签名的时间戳
nonceStr: '', // 必填,生成签名的随机串
signature: '',// 必填,签名
jsApiList: [] // 必填,需要使用的JS接口列表
});
下面是前端详细代码:
1 (function () {
2 let url = 'caf/Verification/getConfig.do';
3 let myData = {};
4 myData['configUrl'] = location.href;
5 //alert(location.href);
6 sendAjax(url, myData, callback);
7
8 function callback(data) {
9 var timestamp = data.timestamp;
10 var noncestr = data.nonceStr;
11 var signature = data.signature;
12 //通过config接口注入权限验证配置
13 wx.config({
14 debug: false, //调试模式建议开启true
15 appId: "wx68df519fcf184a96", //微信公众号的appid,不是个人的
16 timestamp: timestamp.toString(),
17 nonceStr: noncestr, //生成签名的随机串
18 signature: signature, //签名
19 jsApiList: ['chooseImage', 'uploadImage', 'downloadImage'] //下面要调用的微信接口写在这里,否则不能使用
20 });
21 }
22 })();
//请求函数封装
function sendAjax(url,requestdata,callback) {
var getDataAddress = 'http://wx.ccnuoxin.cn/credit/'
mui.ajax({
type: "post",
url: getDataAddress+url,
async: true,
data: requestdata,
headers: {'Content-Type': 'application/json'},
dataType: "json",
//jsonp: "jsoncallback",
success: function (data) {
callback(data);
}
});
}
请求完成后,就可以调用上面配置的微信接口了
function chooseImgfun(imgdesc, id) {
wx.chooseImage({
count: 1, // 默认9,1-9张
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
//上传图片
wx.uploadImage({
localId: '' + localIds + '', // 需要上传的图片的本地ID,由chooseImage接口获得
isShowProgressTips: 1, // 默认为1,显示进度提示
success: function (res) {
var serverId = res.serverId; // 返回图片的服务器端ID
let url = 'archives/Verification/uploadFile.do';
let myData = {};
myData['mediaId'] = serverId;
sendAjax(url, myData, chooseImgfun_callback);
function chooseImgfun_callback(data) {
mui.toast('上传成功');
var timestamp = parseInt((new Date()).valueOf());
var div = document.createElement("div");
div.className = "filebox";
div.id = "content" + timestamp;
div.innerHTML =
'<div class="uploadimg">' +
'<img class="uploadimgUrl" src="' + localIds + '" alt=""> ' +
'<span>' + imgdesc + '</span>' +
'</div>' +
'<div class="comm1 delete" id="delete' + timestamp + '" onclick="delefun(' + timestamp + ')"> ' +
'<img style="margin-right:0.4rem;width: 1.5rem;height: 1.5rem;vertical-align: middle" src="../image/delete.png" alt=""> ' +
'<span>删除</span> ' +
'</div>';
mui('#edcationContent')[0].append(div);
mui('#jnpopover').popover('hide'); //选择完关闭弹出框
var listData = {};
listData = {
"fileTypeId": id,
"filePath": data.filePath,
"dataid": timestamp
};
archivesList.push(listData);
}
}
});
}
})
}
wx.config的配置不需要前端做什么处理,都是后端处理好之后传到前端,前端拿来用即可,没有很复杂,希望帮到有需要的同行们
微信JS-SDK接口上传图片以及wx.config的配置的更多相关文章
- 关于微信JS SDK接口wx.previewImage预览接口的使用
然后后之前的项目,突然往微信上迁移了,一些微信的接口没怎么用过,比较陌生,这次的功能是想调用微信的接口,实现图片放大的功能, 就找到官方文档:http://qydev.weixin.qq.com/wi ...
- 微信js SDK接口
微信JS-SDK说明文档 http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html 一.微信登录功能 在进行微信OAut ...
- 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(转)
进行微信开发已经一阵子了,从最初的什么也不懂,到微信授权登录,分享,更改底部菜单,素材管理,等. 今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入. 官方文档走一下简单说:四步 ...
- 微信JS SDK接入的几点注意事项
微信JS SDK接入,主要可以先参考官网说明文档,总结起来有几个步骤: 1.绑定域名:先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.备注:登录后可在“开发者中心”查看对 ...
- 微信js sdk上传多张图片
微信js sdk上传多张图片,微信上传多张图片 该案例已tp3.2商城为例 直接上代码: php代码: public function ind(){ $appid="111111111111 ...
- 实战微信JS SDK开发:贺卡制作与播放(1)
前段时间忙于CanTK 2.0的开发,所以博客一直没有更新.CanTK 2.0主要增强了游戏和富媒体的开发,现在编码和测试基本完成了,等文档完成了再正式发布,里面有不少激动人心的功能,等发布时再一一细 ...
- 微信JS SDK配置授权,实现分享接口
微信开放的JS-SDK面向网页开发者提供了基于微信内的网页开发工具包,最直接的好处就是我们可以使用微信分享.扫一扫.卡券.支付等微信特有的能力.7月份的时候,因为这个分享的证书获取问题深深的栽了一坑, ...
- 微信JS SDK Demo 官方案例[转]
摘要: 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统的能力,同时可以直接使用 ...
- 微信JS SDK Demo
微信JS-SDK 分享到朋友圈 分享给朋友 分享到QQ 拍照或从手机相册中选图 识别音频并返回识别结果 使用微信内置地图查看位置原文:http://www.cnblogs.com/txw1958/p/ ...
随机推荐
- python在windows中运行文件
"d:Program Files\python35\python.exe" hello.txt
- loadRunner函数之web_add_header
web_add_header 功能:用于添加指定的报文头到下一次HTTP请求 格式:web_add_header( const char *Header, const char *Content ), ...
- PCB底层打印到热转印纸上 Altium Designer
切记:如果是TopLayer,应该勾选镜像打印(Mirror) 切记:底层Bottom Layer ,不勾选镜像
- Microsoft SQL Server(sql server 关系型数据库管理系统)
sql server一般指Microsoft SQL Server 关系型数据库管理系统 Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级 ...
- [CSP-S模拟测试]:String Master(暴力)
题目描述 所谓最长公共子串,比如串$A:"abcde"$,串$B:"jcdkl"$,则它们的最长公共子串为串$"cd"$,即长度最长的字符串 ...
- [CSP-S模拟测试]:赤壁情(DP)
前赤壁赋 壬戌之秋,七月既望,苏子与客泛舟游于赤壁之下.清风徐来,水波不兴.举酒属客,诵明月之诗,歌窈窕之章.少焉,月出于东山之上,徘徊于斗牛之间.白露横江,水光接天.纵一苇之所如,凌万顷之茫然.浩浩 ...
- liunx 上无法kill 掉 redis服务
要新学习一下redis 的哨兵服务,但是发现启动redis的时候,哨兵服务已经存在了,而且reids6379的服务也杀不死,就找到这样的参考方案 /etc/init.d/redis-server st ...
- jmeter添加自定义扩展函数之DoubleSum
1,打开eclipse,新建maven工程,在pom中引用jmeter核心jar包,具体请看---https://www.cnblogs.com/guanyf/p/10863033.html---,这 ...
- 关于vsftp出现Restarting vsftpd (via systemctl): Job for vsftpd.service failed because the control 的解决办法
转载于:http://blog.csdn.net/it_dream_er/article/details/50783111 刚刚在搭建ftp服务器时,在配置好一切的参数之后,在我重启时,出现了无法启动 ...
- Weblgic安装应用报错:Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=web-a
文章目录 报错如下 解决: 报错如下 Exception in AppMerge flows' progression 后台日志报错: Caused by: com.bea.xml.XmlExcept ...