Java实现微信扫一扫功能获取签名

目录

一、流程:

二、分步骤解析:

1)获取token

2)拿token获取ticket

3)获取随机字符串(用自带的UUID就行)

4)获取当前时间戳,记得除以1000(10位数) 例如:1626139722

5)、6)拼接参数,并加密

三、完整代码:

四、总结


一、流程:

1) 前端请求后台接口,传入url

2) 后端接收请求,处理业务逻辑,返回签名等参数

1.获取token

2.拿token获取ticket

3.获取随机字符串(用自带的UUID就行)

4.获取当前时间戳,记得除以1000(10位数) 例如:1626139722

5.拼接参数(url是前端传过来的)

        String context = "jsapi_ticket=xxxx&noncestr=xxxx&timestamp=xxxx&url=xxxx“

6.参数SHA1加密

7.封装,返回前端

二、分步骤解析:

如果不想了解,直接去最下面Cope完整代码

1)获取token

appid、secret、grant_type这三个值都是固定值

前两个值是微信公众号开发者平台上的凭据,AppId 和 AppSecret

微信公众平台凭据调试工具:微信公众平台接口调试工具

------------------------------------------------------------------------------------------------------------

appid:公众号的id

secret:公众号的秘钥

grant_type:授权码发放类型(固定值:client_credential

        grant_type=client_credential

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

private static JsonParser parse = new JsonParser();


/**
 * 获取 token
 * @return
 */
public static String getToken() {
	// https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxxx&secret=xxxx
	String url = ACCESS_TOKEN_URL + "?grant_type=" + GRANT_TYPE + "&appid=" + APPID + "&secret=" + SECRET;
	//请求链接获取token,这个httpGetForJson()方法去完整代码中找
	String response = httpGetForJson(url);
	return ((JsonObject) parse.parse(response)).get(ACCESS_TOKEN_KEY).getAsString();
}

2)拿token获取ticket

import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

private static JsonParser parse = new JsonParser();


/**
 * 获取 ticket
 * @param token
 * @return
 */
public static String getTicket(String token) {
	// https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=xxxx&type=jsapi
	String url = TICKET_URL + "?access_token=" + token + "&type=" + TYPE;
	//请求链接获取token,这个httpGetForJson()方法去完整代码中找
	String response = httpGetForJson(url);
	return ((JsonObject) parse.parse(response)).get(TICKET_KEY).getAsString();
}
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学弟不想努力了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值