发表于: 2018-01-02 22:45:08

1 447


今天完成的事情

将通过网页授权拉取用户信息的接口放到开发号上,测试接口

封装了一个工具类,用于发送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失效

还没想到办法


收获

公众号网页授权


返回列表 返回列表
评论

    分享到