Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
8bd3e8d0
Commit
8bd3e8d0
authored
Apr 01, 2018
by
Junling Bu
Browse files
update[litemall-wx,litemall-wx-api,litemall-db]:实现账户登录,但多次失败验证码还不支持。"
parent
eb499e85
Changes
5
Hide whitespace changes
Inline
Side-by-side
litemall-db/src/main/java/org/linlinjava/litemall/db/service/LitemallUserService.java
View file @
8bd3e8d0
...
...
@@ -63,4 +63,10 @@ public class LitemallUserService {
LitemallUserExample
example
=
new
LitemallUserExample
();
return
(
int
)
userMapper
.
countByExample
(
example
);
}
public
List
<
LitemallUser
>
queryByUsername
(
String
username
)
{
LitemallUserExample
example
=
new
LitemallUserExample
();
example
.
or
().
andUsernameEqualTo
(
username
);
return
userMapper
.
selectByExample
(
example
);
}
}
litemall-wx-api/src/main/java/org/linlinjava/litemall/wx/web/WxAuthController.java
View file @
8bd3e8d0
...
...
@@ -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
<
LitemallUser
>
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
<
Object
,
Object
>
result
=
new
HashMap
<
Object
,
Object
>();
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
;
...
...
litemall-wx/config/api.js
View file @
8bd3e8d0
...
...
@@ -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
'
,
//获得商品列表
...
...
litemall-wx/pages/auth/login/login.js
View file @
8bd3e8d0
...
...
@@ -48,7 +48,7 @@ Page({
accountLogin
:
function
()
{
var
that
=
this
;
if
(
th
at
.
data
.
password
.
length
<
1
||
th
at
.
data
.
username
.
length
<
1
)
{
if
(
th
is
.
data
.
password
.
length
<
1
||
th
is
.
data
.
username
.
length
<
1
)
{
wx
.
showModal
({
title
:
'
错误信息
'
,
content
:
'
请输入用户名和密码
'
,
...
...
@@ -58,7 +58,7 @@ Page({
}
wx
.
request
({
url
:
api
.
A
piRootUrl
+
'
a
uth
/l
ogin
'
,
url
:
api
.
Auth
L
ogin
ByAccount
,
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
==
20
0
){
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
(
'
账户登录失败
'
);
}
...
...
litemall-wx/pages/auth/login/login.wxml
View file @
8bd3e8d0
...
...
@@ -2,7 +2,7 @@
<view class="form-box">
<view class="form-item">
<input class="username" value="{{username}}" bindinput="bindUsernameInput" placeholder="账号"
auto-focus
/>
<input class="username" value="{{username}}" bindinput="bindUsernameInput" placeholder="账号"/>
<image wx:if="{{ username.length > 0 }}" id="clear-username" class="clear" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
...
...
@@ -11,22 +11,22 @@
<image class="clear" id="clear-password" wx:if="{{ password.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<view class="form-item-code" wx-if="{{loginErrorCount >= 3}}">
<!--
<view class="form-item-code" wx-if="{{loginErrorCount >= 3}}">
<view class="form-item code-item">
<input class="code" value="{{code}}" bindinput="bindCodeInput" placeholder="验证码"/>
<image class="clear" id="clear-code" wx:if="{{ code.length > 0 }}" src="/static/images/clear_input.png" catchtap="clearInput"></image>
</view>
<image class="code-img" src="https://dl.reg.163.com/cp?pd=yanxuan_web&pkid=SkeBZeG&random=1489903563234"></image>
</view>
</view>
-->
<button type="default" class="login-btn" bindtap="accountLogin">账号登录</button>
<view class="form-item-text">
<navigator url="/pages/auth/register/register" class="register">注册账号</navigator>
<view class="form-item-text">
<navigator url="/pages/auth/register/register" class="register">注册账号</navigator>
<navigator url="/pages/auth/reset/reset" class="reset">忘记密码</navigator>
</view>
</view>
<button type="primary" class="login-btn" bindtap="wxLogin">微信直接登录</button>
<button type="primary" class="login-btn" bindtap="wxLogin">微信直接登录</button>
</view>
</view>
\ No newline at end of file
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment