微信JS网页授权

1.登录微信公众号平台

2.设置

3.授权url配置,

签名model类:

public class JsConfigVo {

	private String appId;
	
	private String timestamp;
	
	private String nonceStr;
	
	private String signature;
	
	private String url;

	public String getAppId() {
		return appId;
	}

	public void setAppId(String appId) {
		this.appId = appId;
	}

	public String getTimestamp() {
		return timestamp;
	}

	public void setTimestamp(String timestamp) {
		this.timestamp = timestamp;
	}

	public String getNonceStr() {
		return nonceStr;
	}

	public void setNonceStr(String nonceStr) {
		this.nonceStr = nonceStr;
	}

	public String getSignature() {
		return signature;
	}

	public void setSignature(String signature) {
		this.signature = signature;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}
	
}  

授权:

@Controller
@RequestMapping("/api/js")
public class WxSdkController {
	@Autowired
	private final static Logger LOG = LoggerFactory.getLogger(WxSdkController.class);
	/**
	 * 微信JS-SDK
	 * @param request
	 * @return
	 */
	@Autowired
	private TaskExecutor task;
	@Autowired
	private WeixinAccountService weixinAccountService;
	
	@RequestMapping(value = "/sdk",method ={RequestMethod.GET,RequestMethod.POST})
	@ResponseBody
	public Result wxsdk(String signUrl){
		signUrl=URLDecoder.decode(signUrl);
		final Result result = Result.newInstance();
		ResultObj obj=new ResultObj();
		try {
			WeixinAccount weixinAccount = weixinAccountService.findOne(WeixinPublicPlatform.DJ17.getDescription());
			String	appId = weixinAccount.getAppId();
			String appSecret = weixinAccount.getAppSecret();
			ApiConfig config = new ApiConfig(appId, appSecret,true);
			String ticket = config.getJsApiTicket();
			String jsapi_ticket = ticket;
			String noncestr = WxJsConfigUtils.getNoncestr();
			String timestamp = WxJsConfigUtils.getTimestamp();
			
			String str = "jsapi_ticket="+jsapi_ticket+"&noncestr="+noncestr+"&timestamp="+timestamp+"&url="+signUrl;  
			System.out.println(str);
			String signature =WxJsConfigUtils.newSHA1(str); 
			System.out.println(signature);
			
			JsConfigVo vo = new JsConfigVo();
			vo.setAppId(appId);
			vo.setNonceStr(noncestr);
			vo.setTimestamp(timestamp);
			vo.setSignature(signature);
			vo.setUrl(signUrl);			

			obj.put("jsSdk", vo);
			result.setObj(obj);
			result.setCode(ResultCode.SUCCESS);
			result.setSuccess(true);
			result.setMsg("获取配置成功");									
		} catch (Exception e) {
			LOG.error(e.getMessage(), e);
			result.setSuccess(false);
			result.setCode(ResultCode.SERVICE_EXCEPTION);
			result.setMsg(Constants.EXCEPTION_MSG);
		}
		
		return result;
	
		
		
	}
	


}

  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值