微信服务号调用扫一扫接口和拍照上传接口
一.引入js
<script type="text/javascript" src="${path}/wechat/js/jweixin-1.2.0.js"></script>
二.java后端发送授权参数
//1、时间戳和随机字符串
String noncestr = UUID.randomUUID().toString().replace("-", "").substring(0, 16);//随机字符串
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);//时间戳
//2、获取url
String rurl = request.getRequestURL().toString();
if (StringUtils.isNotEmpty(request.getQueryString()))rurl += "?" + request.getQueryString();
//3、获取jsapiTicket
String jsapiTicket = super.getJsapiTicket();
//4、将参数排序并拼接字符串
String str = "jsapi_ticket="+jsapiTicket+"&noncestr="+noncestr+"×tamp="+timestamp+"&url="+rurl;
//5、将字符串进行sha1加密
String signature =super.SHA1(str);
mav.addObject("signature", signature);
mav.addObject("nonceStr", noncestr);
mav.addObject("timestamp", timestamp);
mav.addObject("appId",getCorpId());
三.配置需要用到的功能
$(function(){doConfig();//配置功能
});
function doConfig(){var timestamp = $("#timestamp").val();//时间戳var nonceStr = $("#nonceStr").val();//随机串var signature = $("#signature").val();//签名var appId = $("#appId").val();//公众号的唯一标识wx.config({debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。appId: appId+'', // 必填,公众号的唯一标识timestamp: timestamp, // 必填,生成签名的时间戳nonceStr: nonceStr+'', // 必填,生成签名的随机串signature: signature+'',// 必填,签名,见附录1jsApiList: [ //扫码权限'scanQRCode' ,//拍照权限'chooseImage', //预览图片权限'previewImage', //上传图片权限'uploadImage', //下载图片权限'downloadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2});wx.error(function(res){configSuccess = false;// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。});// 执行了doConfi之后执行的回调函数,进行定位wx.ready(function(){configSuccess = true;// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。});}
三.在需要用到的地方调用
function takeScanQRCode(){wx.scanQRCode({needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,scanType: ["qrCode","barCode"], // 可以指定扫二维码还是一维码,默认二者都有success: function (res) {var result = res.resultStr; // 当needResult 为 1 时,扫码返回的结果var qrcode=result.split(",");$("#barCode").val(qrcode[1]);}});}function upload(id,obj){wx.uploadImage({localId: id, // 需要上传的图片的本地ID,由chooseImage接口获得isShowProgressTips: 0, // 默认为1,显示进度提示success: function (res) {var serverId = res.serverId; // 返回图片的服务器端IDsaveToFtp(obj,serverId);}});}function previewImage(){//微信预览var imgsurl=[];var nowurl=''; var imgObj=$("#photo img");for(var i=0;i<imgObj.length;i++){if(imgObj[i].name=='2'){imgsurl[i]=imgObj[i].src; }else{imgsurl[i]=imgObj[i].name; }imgObj[i].onclick=function(){ if(this.name=='2'){nowurl=this.src;}else{nowurl=this.name;}wx.previewImage({ current: nowurl, urls: imgsurl }); } } }
微信服务号调用扫一扫接口和拍照上传接口相关推荐
- 微信服务号自定义菜单添加扫码功能
本文主要介绍微信服务号自定义菜单添加扫码功能的详细步骤.本来百度了一个多小时,愣是没找个一个好用的方法,能够在自定义菜单里添加扫码功能. 这些文章要么就是写的太复杂,要把页面跳转到某https网页,然 ...
- oAuth2.0商品发布API接口,店铺上传接口,店铺商品发布接口,超详细的介绍
一.新商品发布接口,商品上下架接口,店铺上传接口,新的接口对接方式文档如下: 第一步:打开开放平台链接:https://open.taobao.com/docV3.htm?spm=a219a.7386 ...
- 微信服务号申请、认证、认证后申请商家支付接口
商户如何接入微信支付 微信公众号申请.认证:01. 账号申请开始------>02.申请账号结束----->7个工作日--->03.开始账号认证----->04.结束账号认证- ...
- 新商品发布接口,商品上下架接口,店铺上传接口,oAuth2.0商品发布新的接口对接方式
一.开放平台新商品发布接口,商品上下架接口,淘宝店铺上传接口,新的接口对接方式文档如下: 第一步:打开开放平台链接:https://open.taobao.com/docV3.htm?spm=a219 ...
- 淘宝/天猫开放平台新商品发布API接口,商品发布接口,店铺上传接口,利用淘宝新品发布商品接口进行上传商品至淘宝店铺,接口对接方案
一.淘宝/天猫开放平台新商品发布API接口参数说明: 1.通过注册key和secret得到测试账号,然后给到淘宝应用市场的店铺授权购买,然后再平台上面进行店铺添加审核,审核通过后即可用请求链接上传商品 ...
- 微信公众号调用手机相册并将图片上传到本地服务器
最近有一个需求,用公众号调用本地相册,并将图片上传到本地服务器(不是微信服务器). 步骤一:引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq ...
- 【微服务|openfeign】使用openfeign远程调用文件上传接口
文章目录 服务提供者-文件上传接口 FeignClient 消费者-通过FeignClient调用文件上传接口 服务提供者-文件上传接口 @PostMapping("/saveFile&qu ...
- 淘宝店铺商品发布API(新)接口,店铺上传接口代码对接教程
淘宝店铺商品发布API(新)接口,整理好一套淘宝店铺发布接口,店铺上传接口代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 ...
- 【若依(ruoyi)】Swagger 上传接口
前言 若依(ruoyi): v4.3 swagger 1.5.21 (https://github.com/swagger-api/swagger-core) Swagger 上传接口定义 /*** ...
最新文章
- Linux2.6内核--对块IO层操作的讨论
- Android宫格动态列,Android实现宫格图片连续滑动效果
- javascript 本地对象和内置对象_JavaScript 的面向对象
- 图形图像显示研究(一)
- Java7 ConcurrentHashMap源码浅析
- Eclipse 皮肤
- 三步彻底清除电脑的mysql
- 全国高等院校英语能力大赛模拟题
- 有限元分析法matlab,用MATLAB进行结构的有限元法分析
- win7副本不是正版_为什么有人愿意放弃win10,重装成盗版的win7呢原因有三点!...
- Ruby 之Gem kaminari
- 信息检索平台Terrier的使用
- 使用 IntraWeb (22) - 基本控件之 TIWCalendar
- 【Xilinx】Spartan 7上手指南(ARTY S7开发板)
- 《视觉SLAM进阶:从零开始手写VIO》(二)
- 学生评教html模板,关于学校教学计划范文模板
- FCFS、SJF、RR、SRT进程调度算法的代码实现
- 数字 IC 技能拓展(14)基于 C 程序的 FFT 设计
- Oracle中同义词(synonym)的用法
- location.origin
热门文章
- 石头剪刀布 L1-044 稳赢 15分
- 关于六年级定格动画计算机教案,信息技术教案六年级下2014西交大版.docx
- Linux服务器常见运维性能测试(3)CPU测试super_pi、sysbench
- 构件CAD平面图绘制
- JAVA大厅有100盏灯_由100盏灯想到的(一)
- linux中ssh客户端中文乱码( i18n文件配置)
- Idea 启动play
- 华为交换机一次性进入多个接口_华为交换机怎样选择多个端口号
- 变频空调器故障的检修方法主要有以下几种。
- [PBRT翻译] PBRT阅读:第一章 1.1文学编程(Literate Programming)