From 8bd3e8d0c4fbd747bb61411aacfa37cdae5528d3 Mon Sep 17 00:00:00 2001 From: Junling Bu Date: Sun, 1 Apr 2018 19:42:59 +0800 Subject: [PATCH] =?UTF-8?q?update[litemall-wx,litemall-wx-api,litemall-db]?= =?UTF-8?q?:=E5=AE=9E=E7=8E=B0=E8=B4=A6=E6=88=B7=E7=99=BB=E5=BD=95?= =?UTF-8?q?=EF=BC=8C=E4=BD=86=E5=A4=9A=E6=AC=A1=E5=A4=B1=E8=B4=A5=E9=AA=8C?= =?UTF-8?q?=E8=AF=81=E7=A0=81=E8=BF=98=E4=B8=8D=E6=94=AF=E6=8C=81=E3=80=82?= =?UTF-8?q?"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../db/service/LitemallUserService.java | 6 +++ .../litemall/wx/web/WxAuthController.java | 48 ++++++++++++++++++- litemall-wx/config/api.js | 1 + litemall-wx/pages/auth/login/login.js | 12 +++-- litemall-wx/pages/auth/login/login.wxml | 14 +++--- 5 files changed, 69 insertions(+), 12 deletions(-) diff --git a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java index 1be5b0e8..63f7f6a8 100644 --- a/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java +++ b/litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java @@ -63,4 +63,10 @@ public class LitemallUserService { LitemallUserExample example = new LitemallUserExample(); return (int)userMapper.countByExample(example); } + + public List queryByUsername(String username) { + LitemallUserExample example = new LitemallUserExample(); + example.or().andUsernameEqualTo(username); + return userMapper.selectByExample(example); + } } diff --git a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java index 852c123d..7fbe1b97 100644 --- a/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java +++ b/litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import java.time.LocalDate; import java.util.HashMap; +import java.util.List; import java.util.Map; @RestController @@ -35,14 +36,59 @@ public class WxAuthController { @Autowired private WxMaService wxService; + /** + * 微信登录 + */ + @RequestMapping("login") + public Object login(@RequestBody String body, HttpServletRequest request) { + String username = JacksonUtil.parseString(body, "username"); + String password = JacksonUtil.parseString(body, "password"); + if(username == null || password == null){ + return ResponseUtil.badArgument(); + } + + List userList =userService.queryByUsername(username); + LitemallUser user = null; + if(userList.size() > 1){ + return ResponseUtil.fail502(); + } + else if(userList.size() == 0){ + return ResponseUtil.badArgumentValue(); + } + else { + user = userList.get(0); + } + + if(!user.getPassword().equals(password)){ + return ResponseUtil.badArgumentValue(); + } + + // userInfo + UserInfo userInfo = new UserInfo(); + userInfo.setNickName(username); + userInfo.setAvatarUrl(user.getAvatar()); + + // token + UserToken userToken = UserTokenManager.generateToken(user.getId()); + + Map result = new HashMap(); + result.put("token", userToken.getToken()); + result.put("tokenExpire", userToken.getExpireTime().toString()); + result.put("userInfo", userInfo); + return ResponseUtil.ok(result); + } + /** * 微信登录 */ @RequestMapping("login_by_weixin") public Object loginByWeixin(@RequestBody String body, HttpServletRequest request) { - String code = JacksonUtil.parseString(body, "code"); FullUserInfo fullUserInfo = JacksonUtil.parseObject(body, "userInfo", FullUserInfo.class); + if(code == null || fullUserInfo == null){ + return ResponseUtil.badArgument(); + } + UserInfo userInfo = fullUserInfo.getUserInfo(); String sessionKey = null; diff --git a/litemall-wx/config/api.js b/litemall-wx/config/api.js index 0112869a..4a114832 100644 --- a/litemall-wx/config/api.js +++ b/litemall-wx/config/api.js @@ -21,6 +21,7 @@ module.exports = { CatalogCurrent: WxApiRoot + 'catalog/current', //分类目录当前分类数据接口 AuthLoginByWeixin: WxApiRoot + 'auth/login_by_weixin', //微信登录 + AuthLoginByAccount: WxApiRoot + 'auth/login', //账号登录 GoodsCount: WxApiRoot + 'goods/count', //统计商品总数 GoodsList: WxApiRoot + 'goods/list', //获得商品列表 diff --git a/litemall-wx/pages/auth/login/login.js b/litemall-wx/pages/auth/login/login.js index 2e351086..a18b3479 100644 --- a/litemall-wx/pages/auth/login/login.js +++ b/litemall-wx/pages/auth/login/login.js @@ -48,7 +48,7 @@ Page({ accountLogin: function () { var that = this; - if (that.data.password.length < 1 || that.data.username.length < 1) { + if (this.data.password.length < 1 || this.data.username.length < 1) { wx.showModal({ title: '错误信息', content: '请输入用户名和密码', @@ -58,7 +58,7 @@ Page({ } wx.request({ - url: api.ApiRootUrl + 'auth/login', + url: api.AuthLoginByAccount, data: { username: that.data.username, password: that.data.password @@ -68,11 +68,12 @@ Page({ 'content-type': 'application/json' }, success: function (res) { - if(res.data.code == 200){ + if (res.data.errno == 0){ that.setData({ - 'loginErrorCount': 0 + loginErrorCount: 0 }); app.globalData.hasLogin = true; + wx.setStorageSync('userInfo', res.data.data.userInfo); wx.setStorage({ key:"token", data: res.data.data.token, @@ -84,6 +85,9 @@ Page({ }); } else{ + that.setData({ + loginErrorCount: that.data.loginErrorCount + 1 + }); app.globalData.hasLogin = false; util.showErrorToast('账户登录失败'); } diff --git a/litemall-wx/pages/auth/login/login.wxml b/litemall-wx/pages/auth/login/login.wxml index d2365536..f3f12e93 100644 --- a/litemall-wx/pages/auth/login/login.wxml +++ b/litemall-wx/pages/auth/login/login.wxml @@ -2,7 +2,7 @@ - + @@ -11,22 +11,22 @@ - + - - 注册账号 + + 注册账号 忘记密码 - + - + \ No newline at end of file