first commit

This commit is contained in:
cys841515238
2023-03-02 16:13:28 +08:00
commit 2733a60b97
741 changed files with 76931 additions and 0 deletions

View File

@@ -0,0 +1,143 @@
package com.peanut.modules.wx.controller;
import com.alibaba.fastjson.JSONObject;
import com.peanut.common.utils.ConstantPropertiesUtil;
import com.peanut.common.utils.HttpClientUtils;
import com.peanut.common.utils.R;
import com.peanut.modules.book.service.MyUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;
@Controller
@RequestMapping("/api/ucenter/wx")
public class WeixinApiController {
@Autowired
private MyUserService userInfoService;
//微信扫描后回调的方法
// @GetMapping("callback")
// public String callback(String code,String state) {
// //1、获取到临时票据 code
// System.out.println("code"+code);
// //2、拿着code和微信id和秘钥请求微信固定地址
// StringBuffer baseAccessTokenUrl = new StringBuffer()
// .append("https://api.weixin.qq.com/sns/oauth2/access_token")
// .append("?appid=%s")
// .append("&secret=%s")
// .append("&code=%s")
// .append("&grant_type=authorization_code");
//
//
// String accessTokenUrl = String.format(baseAccessTokenUrl.toString(),
// ConstantPropertiesUtil.WX_OPEN_APP_ID,
// ConstantPropertiesUtil.WX_OPEN_APP_SECRET,
// code);
// //使用httpclient请求这个地址
// try {
// String accesstokenInfo = HttpClientUtils.get(accessTokenUrl);
// System.out.println("accesstokenInfo:"+accesstokenInfo);
//
// //从返回字符串获取两个值 openid 和 access_token
// JSONObject jsonObject = JSONObject.parseObject(accesstokenInfo);
// String access_token = jsonObject.getString("access_token");
// String openid = jsonObject.getString("openid");
//
//
// //判断数据库是否存在微信扫码记录
// //根据openid判断
// UserInfo userInfo = userInfoService.selectWxInfoOpenId(openid);
//
// if (null == userInfo) {
// //拿着openid 和 access_token 请求微信地址,得到扫码人信息
// String baseUserInfoUrl = "https://api.weixin.qq.com/sns/userinfo" +
// "?access_token=%s" +
// "&openid=%s";
// String userInfoUrl = String.format(baseUserInfoUrl, access_token, openid);
//
// String resultInfo = HttpClientUtils.get(userInfoUrl);
// System.out.println("resultInfo"+resultInfo);
//
// JSONObject resultUserInfo = JSONObject.parseObject(resultInfo);
//
// //获取昵称
// String nickname = resultUserInfo.getString("nickname");
//
// //获取头像
// String headimgurl = resultUserInfo.getString("headimgurl");
//
// userInfo = new UserInfo();
// userInfo.setNickName(nickname);
// userInfo.setOpenid(openid);
// userInfo.setStatus(1);
// userInfoService.save(userInfo);
// }
//
//
//
//
// //返回map
// Map<String,String> map = new HashMap<>();
// String name = userInfo.getName();
// if (StringUtils.isEmpty(name)) {
// name = userInfo.getNickName();
// }
//
// if (StringUtils.isEmpty(name)) {
// name = userInfo.getPhone();
// }
//
// map.put("name",name);
//
// //前端判断如果openid不为空说明没有绑定手机号进行绑定为空说明已经绑定不再绑定
//
// if (StringUtils.isEmpty(userInfo.getPhone())) {
// map.put("openid",userInfo.getOpenid());
// } else {
// map.put("openid","");
// }
//
// String token = JwtHelper.createToken(userInfo.getId(), name);
// map.put("token",token);
//
// //注意我这里跳转的是一个前端的页面带着用户的信息
// return "redirect:"+ ConstantPropertiesUtil.YYGH_BASE_URL + "/weixin/callback?token="+map.get("token")+
// "&openid="+map.get("openid")+"&name="+URLEncoder.encode(map.get("name"),"utf-8");
// } catch (Exception e) {
// e.printStackTrace();
// return null;
// }
// }
//1、生成微信扫描二维码
//生成二维码需要的参数
@ResponseBody
@GetMapping("/getLoginParam")
public R getLoginParam() {
try {
Map<String,Object> map = new HashMap<>();
String wxOpenRedirectUrl = ConstantPropertiesUtil.WX_OPEN_REDIRECT_URL;
String wxRedirectUri = URLEncoder.encode(wxOpenRedirectUrl, "utf-8");
map.put("appid", ConstantPropertiesUtil.WX_OPEN_APP_ID);
map.put("scope","snsapi_login");
map.put("redirect_uri",wxRedirectUri);
map.put("state",System.currentTimeMillis());
return R.ok(map);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
return null;
}
}
}