微信公众号开发 ----微信网页开发config接口注入(3)

步骤一:绑定域名

在这里插入图片描述

步骤二:引入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 (支持https)。

备注:支持使用 AMD/CMD 标准模块加载方法加载

步骤三:通过config接口注入权限验证配置

需要以下配置信息

wx.config({
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: '', // 必填,公众号的唯一标识
    timestamp: , // 必填,生成签名的时间戳
    nonceStr: '', // 必填,生成签名的随机串
    signature: '',// 必填,签名
    jsApiList: [] // 必填,需要使用的JS接口列表
});

1.首先要获取一个jsapi_ticket 通过之前获得的access_token 来获取

   /**
     * 根据access_token 取得jsapi_ticket
     * @return
     */
    public static String getJsapiTicket() {
    //之前的取得access_token 方法 (两种,这里用的是无code的那种)
        String access_token = getAccessToken();
//    "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+access_token+"&type=jsapi";
        StringBuffer sb = new StringBuffer();
        //头
        sb.append("https://api.weixin.qq.com/cgi-bin/ticket/getticket?");
        //access_token
        sb.append("access_token=" + access_token);
        //appID
        sb.append("&type=jsapi");
        String backData = HttpClientUtil.doGet(String.valueOf(sb));
        String jsapiTicket = (String) JSONObject.fromObject(backData).get("ticket");
        return jsapiTicket;
    }

2.通过jsapi_ticket 生成签名,生成配置需要的参数

  /**
     * @param url 注入页面url
     * @return
     */
    @Override
    public Map<String, String> getConfigSign(String url) {
        WechatPayConfig wechatConfig = new WechatPayConfig();

        Map<String, String> ret = new HashMap<String, String>();
        //取得jsapi_ticket 
        String jsapi_ticket = wechatJSSDK.getJsapiTicket();
        //随机字符串
        String nonce_str = WXPayUtil.generateNonceStr();
        //时间戳
        String timestamp = wechatJSSDK.getTimestamp();
        String string1;
        String signature = "";
        //config接口注入签名 第一次签名 注意这里参数名必须全部小写,且必须有序
        string1 = "jsapi_ticket=" + jsapi_ticket +
                "&noncestr=" + nonce_str +
                "&timestamp=" + timestamp +
                "&url=" + url;
        signature = wechatJSSDK.getSha1(string1);
        log.info("第一次wx.config签名:" + signature);
        ret.put("url", url);//公众号的唯一标识
        ret.put("appId", wechatConfig.getAppID());
        ret.put("jsapi_ticket", jsapi_ticket);
        ret.put("nonceStr", nonce_str);// 必填,生成签名的随机串
        ret.put("timestamp", timestamp);// 必填,生成签名的时间戳
        ret.put("signature", signature);// 必填,生成的签名
        return ret;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值