一.引入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+"&timestamp="+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  });               }  }       }

微信服务号调用扫一扫接口和拍照上传接口相关推荐

  1. 微信服务号自定义菜单添加扫码功能

    本文主要介绍微信服务号自定义菜单添加扫码功能的详细步骤.本来百度了一个多小时,愣是没找个一个好用的方法,能够在自定义菜单里添加扫码功能. 这些文章要么就是写的太复杂,要把页面跳转到某https网页,然 ...

  2. oAuth2.0商品发布API接口,店铺上传接口,店铺商品发布接口,超详细的介绍

    一.新商品发布接口,商品上下架接口,店铺上传接口,新的接口对接方式文档如下: 第一步:打开开放平台链接:https://open.taobao.com/docV3.htm?spm=a219a.7386 ...

  3. 微信服务号申请、认证、认证后申请商家支付接口

    商户如何接入微信支付 微信公众号申请.认证:01. 账号申请开始------>02.申请账号结束----->7个工作日--->03.开始账号认证----->04.结束账号认证- ...

  4. 新商品发布接口,商品上下架接口,店铺上传接口,oAuth2.0商品发布新的接口对接方式

    一.开放平台新商品发布接口,商品上下架接口,淘宝店铺上传接口,新的接口对接方式文档如下: 第一步:打开开放平台链接:https://open.taobao.com/docV3.htm?spm=a219 ...

  5. 淘宝/天猫开放平台新商品发布API接口,商品发布接口,店铺上传接口,利用淘宝新品发布商品接口进行上传商品至淘宝店铺,接口对接方案

    一.淘宝/天猫开放平台新商品发布API接口参数说明: 1.通过注册key和secret得到测试账号,然后给到淘宝应用市场的店铺授权购买,然后再平台上面进行店铺添加审核,审核通过后即可用请求链接上传商品 ...

  6. 微信公众号调用手机相册并将图片上传到本地服务器

    最近有一个需求,用公众号调用本地相册,并将图片上传到本地服务器(不是微信服务器). 步骤一:引入JS文件 在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq ...

  7. 【微服务|openfeign】使用openfeign远程调用文件上传接口

    文章目录 服务提供者-文件上传接口 FeignClient 消费者-通过FeignClient调用文件上传接口 服务提供者-文件上传接口 @PostMapping("/saveFile&qu ...

  8. 淘宝店铺商品发布API(新)接口,店铺上传接口代码对接教程

    淘宝店铺商品发布API(新)接口,整理好一套淘宝店铺发布接口,店铺上传接口代码对接教程如下: 1.公共参数 名称 类型 必须 描述(接口代码教程wx19970108018) key String 是 ...

  9. 【若依(ruoyi)】Swagger 上传接口

    前言 若依(ruoyi): v4.3 swagger 1.5.21 (https://github.com/swagger-api/swagger-core) Swagger 上传接口定义 /*** ...

最新文章

  1. Linux2.6内核--对块IO层操作的讨论
  2. Android宫格动态列,Android实现宫格图片连续滑动效果
  3. javascript 本地对象和内置对象_JavaScript 的面向对象
  4. 图形图像显示研究(一)
  5. Java7 ConcurrentHashMap源码浅析
  6. Eclipse 皮肤
  7. 三步彻底清除电脑的mysql
  8. 全国高等院校英语能力大赛模拟题
  9. 有限元分析法matlab,用MATLAB进行结构的有限元法分析
  10. win7副本不是正版_为什么有人愿意放弃win10,重装成盗版的win7呢原因有三点!...
  11. Ruby 之Gem kaminari
  12. 信息检索平台Terrier的使用
  13. 使用 IntraWeb (22) - 基本控件之 TIWCalendar
  14. 【Xilinx】Spartan 7上手指南(ARTY S7开发板)
  15. 《视觉SLAM进阶:从零开始手写VIO》(二)
  16. 学生评教html模板,关于学校教学计划范文模板
  17. FCFS、SJF、RR、SRT进程调度算法的代码实现
  18. 数字 IC 技能拓展(14)基于 C 程序的 FFT 设计
  19. Oracle中同义词(synonym)的用法
  20. location.origin

热门文章

  1. 石头剪刀布 L1-044 稳赢 15分
  2. 关于六年级定格动画计算机教案,信息技术教案六年级下2014西交大版.docx
  3. Linux服务器常见运维性能测试(3)CPU测试super_pi、sysbench
  4. 构件CAD平面图绘制
  5. JAVA大厅有100盏灯_由100盏灯想到的(一)
  6. linux中ssh客户端中文乱码( i18n文件配置)
  7. Idea 启动play
  8. 华为交换机一次性进入多个接口_华为交换机怎样选择多个端口号
  9. 变频空调器故障的检修方法主要有以下几种。
  10. [PBRT翻译] PBRT阅读:第一章 1.1文学编程(Literate Programming)