Normalize phone input and default user phone
Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
@@ -62,7 +62,7 @@ func login(ctx *gin.Context) {
|
|||||||
if ss.CheckErr(err) {
|
if ss.CheckErr(err) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
phone, password := strings.TrimSpace(params.Get("phone")), params.Get("password")
|
phone, password := normalizePhone(params.Get("phone")), params.Get("password")
|
||||||
if phone == "" || password == "" {
|
if phone == "" || password == "" {
|
||||||
ss.Abort(errors.New("invalid login params"))
|
ss.Abort(errors.New("invalid login params"))
|
||||||
return
|
return
|
||||||
@@ -95,6 +95,10 @@ func AddUser(phone, password string, isDefault bool) (ghomeschema.LoginData, int
|
|||||||
loginMsg := "ok"
|
loginMsg := "ok"
|
||||||
loginTime := time.Now().Unix()
|
loginTime := time.Now().Unix()
|
||||||
created := false
|
created := false
|
||||||
|
phone = normalizePhone(phone)
|
||||||
|
if phone == "" {
|
||||||
|
return loginData, loginCode, loginMsg, created, errors.New("invalid phone")
|
||||||
|
}
|
||||||
|
|
||||||
var userID int
|
var userID int
|
||||||
var pass, autoKey, ticket string
|
var pass, autoKey, ticket string
|
||||||
@@ -373,6 +377,19 @@ func getAvailableUserID(seed int) (int, error) {
|
|||||||
return 0, errors.New("failed to allocate user id")
|
return 0, errors.New("failed to allocate user id")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func normalizePhone(phone string) string {
|
||||||
|
phone = strings.TrimSpace(phone)
|
||||||
|
if phone == "" {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
// 客户端上传的手机号可能带国家/地区区号,如 "86-13800000000"。
|
||||||
|
if idx := strings.Index(phone, "-"); idx >= 0 && idx+1 < len(phone) {
|
||||||
|
return strings.TrimSpace(phone[idx+1:])
|
||||||
|
}
|
||||||
|
return phone
|
||||||
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
router.AddHandler("v1", "POST", "/account/login", login)
|
router.AddHandler("v1", "POST", "/account/login", login)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,10 +14,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func login(ctx *gin.Context) {
|
func login(ctx *gin.Context) {
|
||||||
area := ctx.PostForm("area")
|
|
||||||
user := ctx.PostForm("user")
|
user := ctx.PostForm("user")
|
||||||
pass := ctx.PostForm("pass")
|
pass := ctx.PostForm("pass")
|
||||||
if area == "" || user == "" || pass == "" {
|
if user == "" || pass == "" {
|
||||||
ctx.JSON(http.StatusOK, webuischema.Msg{
|
ctx.JSON(http.StatusOK, webuischema.Msg{
|
||||||
Code: 1,
|
Code: 1,
|
||||||
Message: "参数不完整!",
|
Message: "参数不完整!",
|
||||||
@@ -26,10 +25,9 @@ func login(ctx *gin.Context) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
userName := " " + area + "-" + user
|
|
||||||
var userId int
|
var userId int
|
||||||
exists, err := db.UserEng.Table("users").
|
exists, err := db.UserEng.Table("users").
|
||||||
Where("phone = ? AND password = ?", userName, openssl.Md5ToString(pass)).
|
Where("phone = ? AND password = ?", user, openssl.Md5ToString(pass)).
|
||||||
Cols("user_id").Get(&userId)
|
Cols("user_id").Get(&userId)
|
||||||
utils.CheckErr(err)
|
utils.CheckErr(err)
|
||||||
if !exists {
|
if !exists {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultPhone = "86-1"
|
defaultPhone = "1"
|
||||||
defaultPassword = "klsbgames"
|
defaultPassword = "klsbgames"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
$(".login-btn").click(function () {
|
$(".login-btn").click(function () {
|
||||||
layer.open({
|
layer.open({
|
||||||
type: 1,
|
type: 1,
|
||||||
area: ['600px', '280px'],
|
area: ['600px', '230px'],
|
||||||
title: "登录",
|
title: "登录",
|
||||||
content: $('#login-form'),
|
content: $('#login-form'),
|
||||||
shade: 0
|
shade: 0
|
||||||
@@ -52,13 +52,11 @@
|
|||||||
})
|
})
|
||||||
|
|
||||||
$("#login-submit").click(function () {
|
$("#login-submit").click(function () {
|
||||||
let area = $("#area option:selected").val();
|
|
||||||
let user = $("#sifuser").val();
|
let user = $("#sifuser").val();
|
||||||
let pass = $("#sifpass").val();
|
let pass = $("#sifpass").val();
|
||||||
console.log(area)
|
|
||||||
console.log(user)
|
console.log(user)
|
||||||
console.log(pass)
|
console.log(pass)
|
||||||
$.post("/admin/login", { area: area, user: user, pass: pass }, function (data) {
|
$.post("/admin/login", { user: user, pass: pass }, function (data) {
|
||||||
if (data.code != 0) {
|
if (data.code != 0) {
|
||||||
layer.msg(data.message)
|
layer.msg(data.message)
|
||||||
return
|
return
|
||||||
@@ -75,20 +73,6 @@
|
|||||||
|
|
||||||
<div id="login-form" style="display: none; padding: 10px;">
|
<div id="login-form" style="display: none; padding: 10px;">
|
||||||
<form class="layui-form">
|
<form class="layui-form">
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label">地区</label>
|
|
||||||
<div class="layui-input-block">
|
|
||||||
<select name="area" id="area" lay-verify="required">
|
|
||||||
<option value="86" selected>中国大陆(+86)</option>
|
|
||||||
<option value="852">中国香港(+852)</option>
|
|
||||||
<option value="853">中国澳门(+853)</option>
|
|
||||||
<option value="886">中国台湾(+886)</option>
|
|
||||||
<option value="1">美国(+1)</option>
|
|
||||||
<option value="81">日本(+81)</option>
|
|
||||||
<option value="82">韩国(+82)</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">账号</label>
|
<label class="layui-form-label">账号</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
|
|||||||
Reference in New Issue
Block a user