H5调用企业微信扫一扫接口

一、依赖引入


	
    
    

jweixin.js

!function(e,n){"function"==typeof define&&(define.amd||define.cmd)?define(function(){return n(e)}):n(e,!0)}(window,function(o,e){if(!o.jWeixin){var n,c={config:"preVerifyJSAPI",onMenuShareTimeline:"menu:share:timeline",onMenuShareAppMessage:"menu:share:appmessage",onMenuShareQQ:"menu:share:qq",onMenuShareWeibo:"menu:share:weiboApp",onMenuShareQZone:"menu:share:QZone",previewImage:"imagePreview",getLocation:"geoLocation",openProductSpecificView:"openProductViewWithPid",addCard:"batchAddCard",openCard:"batchViewCard",chooseWXPay:"getBrandWCPayRequest",openEnterpriseRedPacket:"getRecevieBizHongBaoRequest",startSearchBeacons:"startMonitoringBeacons",stopSearchBeacons:"stopMonitoringBeacons",onSearchBeacons:"onBeaconsInRange",consumeAndShareCard:"consumedShareCard",openAddress:"editAddress"},a=function(){var e={};for(var n in c)e[c[n]]=n;return e}(),i=o.document,t=i.title,r=navigator.userAgent.toLowerCase(),s=navigator.platform.toLowerCase(),d=!(!s.match("mac")&&!s.match("win")),u=-1!=r.indexOf("wxdebugger"),l=-1!=r.indexOf("micromessenger"),p=-1!=r.indexOf("android"),f=-1!=r.indexOf("iphone")||-1!=r.indexOf("ipad"),m=(n=r.match(/micromessenger\/(\d+\.\d+\.\d+)/)||r.match(/micromessenger\/(\d+\.\d+)/))?n[1]:"",g={initStartTime:L(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},h={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:f?1:p?2:-1,clientVersion:m,url:encodeURIComponent(location.href)},v={},S={_completes:[]},y={state:0,data:{}};O(function(){g.initEndTime=L()});var I=!1,_=[],w={config:function(e){B("config",v=e);var t=!1!==v.check;O(function(){if(t)M(c.config,{verifyJsApiList:C(v.jsApiList),verifyOpenTagList:C(v.openTagList)},function(){S._complete=function(e){g.preVerifyEndTime=L(),y.state=1,y.data=e},S.success=function(e){h.isPreVerifyOk=0},S.fail=function(e){S._fail?S._fail(e):y.state=-1};var t=S._completes;return t.push(function(){!function(){if(!(d||u||v.debug||m<"6.0.2"||h.systemType<0)){var i=new Image;h.appId=v.appId,h.initTime=g.initEndTime-g.initStartTime,h.preVerifyTime=g.preVerifyEndTime-g.preVerifyStartTime,w.getNetworkType({isInnerInvoke:!0,success:function(e){h.networkType=e.networkType;var n="https://open.weixin.qq.com/sdk/report?v="+h.version+"&o="+h.isPreVerifyOk+"&s="+h.systemType+"&c="+h.clientVersion+"&a="+h.appId+"&n="+h.networkType+"&i="+h.initTime+"&p="+h.preVerifyTime+"&u="+h.url;i.src=n}})}}()}),S.complete=function(e){for(var n=0,i=t.length;n

 main.js中引入

H5调用企业微信扫一扫接口_第1张图片

二、在App.vue文件中加载微信的sdk


将获取的的js-sdk放到全局变量中缓存

三、在要调用扫一扫的页面加载企业微信接口

参数说明:

timestamp :时间戳

nonceStr:随机字符串

ticket:通过access_token获取的jsapi_ticket

corpid:企业微信的corpid,必须与当前登录的企业一致

agentid:企业微信的应用id

以上参数中corpid、agentid需要向企业微信官网注册

其他参数后端生成

四、参数生成方式


import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.XmlUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.http.webservice.SoapClient;

public HashMap getJsConfig() {

        // 生成时间戳
        String timestamp = String.valueOf(new Date().getTime());
        // 生成的随机字符串
        String nonceStr = RandomUtil.randomString(16);

        String ticket = getTicket();

        String corpid = wxCpProperties.getCorpId();
        //应用id
        String agentid = wxCpProperties.getAppConfigs().getAgentId().toString();

        String url = "http://testzhqk.anmining.com:19012/him/pages/him/inspection/dangerousList/index";

        StringBuffer jsapi_ticket = new StringBuffer()
                .append("jsapi_ticket=").append(ticket)
                .append("&noncestr=").append(nonceStr)
                .append("×tamp=").append(timestamp)
                .append("&url=").append(url);
        String signature = SecureUtil.sha1(jsapi_ticket.toString());
        HashMap map = new HashMap();
        map.put("timestamp", timestamp);
        map.put("nonceStr", nonceStr);
        map.put("ticket", ticket);
        map.put("corpid", corpid);
        map.put("url", url);
        map.put("signature", signature);
        map.put("agentid", agentid);

        return map;
    }

你可能感兴趣的:(企业微信,数据库)