@Getmapping("/car/{id}")
@PathVariable("id") Integer id
@RequestHeader 获取请求头
@RequestOaram 获取请求参数
@CookieValue 获取cookie
@RequestBody(获取请求体post)
@RequstAttribute
@MatrixVariable 矩阵变量
uni -app微信小程序登录实现流程
// #ifdef MP-WEIXIN
uni.login({
success(res) {
uni.request({
url: 'http://127.0.0.1:8082/hello',
data: {
code: res.code
},
success: (res) => {
console.log(res);
}
});
}
})
// #endif
调用uni.login 获取code并将code传到后端
public class hello {
private String appID="wx31651688cc77edf4";
private String appSecret="437742a2992fb2fbccc81719f0e41b85";
@RequestMapping("/hello")
public String userLogin( String code) throws IOException {
String result = "";
try{//请求微信服务器,用code换取openid。HttpUtil是工具类,后面会给出实现,Configure类是小程序配置信息,后面会给出代码
result = HttpUtil.get(
"https://api.weixin.qq.com/sns/jscode2session?appid="
+ this.appID + "&secret="
+ this.appSecret + "&js_code="
+ code
+ "&grant_type=authorization_code");
}
catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
后端接口 通过code拿到openid openid每个微信用户在每个小程序唯一所以可以当作数据库中的主键。
methods:{
loginTest() { // 获取用户信息
uni.getUserProfile({
lang:'zh_CN',
desc:'登录',
success:(res)=>{
// #ifdef MP-WEIXIN
uni.login({
success(res) {
uni.request({
url: 'http://127.0.0.1:8082/hello',
data: {
code: res.code
},
success: (res) => {
console.log(res);
}
});
}
})
// #endif
console.log(res);
},
fail:(res)=>{
console.log(res)
}
});
}
}
}
接口回调拿到openid 和session_key