使用weixin4j开发微信JS-SDK微信配置接口实现分享朋友圈

微信JS-SDK网页开发

本文带大家使用weixin4j生成wx.config所需要的参数。

说明:微信JSSDK使用的基础步骤请参考官方文档。

开发案例

本文以springmvc框架restful为案例编写,仅供参考

import com.alibaba.fastjson.JSONObject;
import java.util.UUID;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.weixin4j.Configuration;
import org.weixin4j.Weixin;
import org.weixin4j.WeixinException;
import org.weixin4j.pay.JsApiTicket;
import org.weixin4j.pay.SignUtil;

@RestController
public class WxConfigController {

    @GetMapping("/api/jssdk/wx-config")
    public JSONObject get_wx_config() throws WeixinException {
        Weixin weixin = new Weixin();
        //登录微信获取Access_Token
        weixin.login(Configuration.getOAuthAppId(), Configuration.getOAuthSecret());

        //定义返回配置JSON对象
        JSONObject config = new JSONObject();

        //获取微信js-sdk开发ticket
        //注意,jsapi_ticket,有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket
        //请自行保存到缓存
        //本示例仅演示获取流程
        JsApiTicket jsApiTicket = weixin.getJsApi_Ticket();

        //获得jsapi_ticket之后,就可以生成JS-SDK权限验证的签名了。
        //签名算法
        //签名生成规则如下:
        //参与签名的字段包括noncestr(随机字符串),有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分)。
        //对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。
        //这里需要注意的是所有参数名均为小写字符。
        //对string1作sha1加密,字段名和字段值都采用原始值,不进行URL转义。
        //对应我们weixin4j的开发,则已经把签名算法写好了
        String noncestr = UUID.randomUUID().toString().substring(0, 15);
        String timestamp = System.currentTimeMillis() + "";
        //注:本链接仅作为演示,实际链接请以自己业务链接为主
        String url = "http://www.weixin4j.org/index.html";
        String signature = SignUtil.getSignature(jsApiTicket.getTicket(), noncestr, timestamp, url);

        //返回wx.config参数
        config.put("appId", Configuration.getOAuthAppId());
        config.put("timestamp", timestamp);
        config.put("nonceStr", noncestr);
        config.put("signature", signature);
        return config;
    }
}

欢迎加入weixin4j官方VIP群学习,QQ群:473227872

猜你喜欢

转载自blog.csdn.net/yakson/article/details/79930296