欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

调用微信扫一扫&获取JS-SDK使用权限签名

程序员文章站 2024-01-24 08:59:34
...

依赖条件

开发步骤

  1. 获取access_token,微信开发文档写的很清楚
获取access_token: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183

2、获取jsapi_ticket

用第一步拿到的access_token 采用httpGET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存
jsapi_ticket):https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi

3、签名

public String bean2Sign(JSSDKPreSign jssdkPreSign) throws IllegalAccessException {
            Class<JSSDKPreSign> cls = (Class<JSSDKPreSign>) jssdkPreSign.getClass();
            List<String> fieldNames = new ArrayList<>();
            Map<String, Object> fieldMap = new HashMap<>();
            Field[] fields = cls.getFields();
            for (Field field : fields) {
                if (null == field.get(jssdkPreSign)) {
                    continue;
                }
                fieldMap.put(field.getName(), field.get(jssdkPreSign));
                fieldNames.add(field.getName());

            }
            Collections.sort(fieldNames);
            StringBuilder sb = new StringBuilder();
            for (String s : fieldNames) {
                Object o = fieldMap.get(s);
                sb.append(s + "=" + o.toString() + "&");
            }
            String content = sb.toString();
            String result = content.substring(0, content.lastIndexOf("&") - 1);
            return result;
}

4、注意点 前端请求的url如 http://www.bai.com/ 使用URLEncoder解码会忽略末尾的 “/”,想办法比如自己手动加上.

相关标签: 微信公众号开发