发表于: 2018-01-02 22:45:08
1 448
今天完成的事情
将通过网页授权拉取用户信息的接口放到开发号上,测试接口
封装了一个工具类,用于发送htttps请求,通过两次调用微信接口,获取用户信息
@RequestMapping(value = "/a/code")
public String first(HttpServletRequest request,ModelMap model){
WeixinUtil weixinUtil = new WeixinUtil();
JSONObject userData = weixinUtil.getData(request);
String openId = userData.getString("openid");
Integer sex = userData.getInt("sex");
String area = userData.get("province")+","+userData.get("city");
然后进行判断,如果用户是第一次登陆,为其在用户表,签到表,签到历史表中建立对应的记录,
Long uid = null;
try {
uid = userService.getIdByOpenId(openId);//需要改为通过openId查询
// user = userService.getObjectById(id);
} catch (ServiceException e) {
e.printStackTrace();
} catch (ServiceDaoException e) {
e.printStackTrace();
}
HttpSession session = request.getSession();//获取 session
if (null == uid){ //首次登陆,数据库查询结果为空,需要创建记录
添加记录:
try {
userService.insert(user);//存入数据库,用户表
} catch (ServiceException e) {
e.printStackTrace();
} catch (ServiceDaoException e) {
e.printStackTrace();
}
签到表:
signService.insert(sign);
签到历史表:
signHistoryService.insert(history);
然后再公众号中添加网页授权的域名:
之后在自定义菜单中加入回调的接口:
确实能添加数据:
明天的计划
写签到模块
遇到的问题
微信会发送2,3次请求,导致code失效
还没想到办法
收获
公众号网页授权
评论