Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
m0_60613409
vue2-elm
提交
9b657473
V
vue2-elm
项目概览
m0_60613409
/
vue2-elm
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue2-elm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9b657473
编写于
2月 15, 2017
作者:
M
maguohua
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update reset
上级
3163e0f0
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
182 addition
and
5 deletion
+182
-5
README.md
README.md
+1
-1
src/page/forget/forget.vue
src/page/forget/forget.vue
+162
-4
src/service/getData.js
src/service/getData.js
+19
-0
未找到文件。
README.md
浏览文件 @
9b657473
...
...
@@ -26,7 +26,7 @@ vue2 + vue-rotuer2 + vuex + webpack + ES6/7 + fetch + sass + flex + svg + http-p
-
[x] 单个食品详情页面 -- 完成
-
[x] 商家详情页 -- 完成
-
[x] 登陆、注册 -- 完成
-
[
] 修改密码
-
[
x] 修改密码 -- 完成
-
[x] 个人中心 -- 完成
-
[ ] 帐户信息
-
[ ] 服务中心
...
...
src/page/forget/forget.vue
浏览文件 @
9b657473
<
template
>
<div
class=
"
c
ontainer"
>
<div
class=
"
restC
ontainer"
>
<head-top
head-title=
"重置密码"
goBack=
"true"
></head-top>
<div>
重置密码页
</div>
<form
class=
"restForm"
>
<section
class=
"input_container"
>
<input
type=
"text"
placeholder=
"手机号/邮箱"
v-model=
"userAccount"
>
</section>
<section
class=
"input_container"
>
<input
type=
"text"
placeholder=
"请输入旧密码"
name=
"oldPassWord"
v-model=
"oldPassWord"
>
</section>
<section
class=
"input_container"
>
<input
type=
"text"
placeholder=
"请输入新密码"
name=
"newPassWord"
v-model=
"newPassWord"
>
</section>
<section
class=
"input_container"
>
<input
type=
"text"
placeholder=
"请确认密码"
name=
"confirmPassWord"
v-model=
"confirmPassWord"
>
</section>
<section
class=
"input_container captcha_code_container"
>
<input
type=
"text"
placeholder=
"验证码"
maxlength=
"4"
v-model=
"codeNumber"
>
<div
class=
"img_change_img"
>
<img
v-show=
"captchaCodeImg"
:src=
"captchaCodeImg"
>
<div
class=
"change_img"
@
click=
"getCaptchaCode"
>
<p>
看不清
</p>
<p>
换一张
</p>
</div>
</div>
</section>
</form>
<div
class=
"login_container"
@
click=
"resetButton"
>
确认修改
</div>
<alert-tip
v-if=
"showAlert"
:showHide=
"showAlert"
@
closeTip=
"closeTip"
:alertText=
"alertText"
></alert-tip>
</div>
</
template
>
<
script
>
import
headTop
from
'
../../components/header/head
'
import
alertTip
from
'
../../components/common/alertTip
'
import
{
mapState
,
mapMutations
}
from
'
vuex
'
import
{
getcaptchas
,
checkExsis
,
sendMobile
}
from
'
../../service/getData
'
export
default
{
data
(){
return
{
userAccount
:
null
,
//帐号
oldPassWord
:
null
,
//旧密码
newPassWord
:
null
,
//新密码
confirmPassWord
:
null
,
//确认密码
captchaCodeImg
:
null
,
//验证码地址
codeNumber
:
null
,
//验证码
showAlert
:
false
,
//显示提示组件
alertText
:
null
,
//提示的内容
accountType
:
null
,
//注册方式
}
},
created
(){
this
.
getCaptchaCode
();
},
components
:
{
headTop
,
alertTip
,
},
methods
:
{
...
mapMutations
([
'
RECORD_USERINFO
'
,
]),
async
getCaptchaCode
(){
let
res
=
await
getcaptchas
();
this
.
captchaCodeImg
=
'
https://mainsite-restapi.ele.me/v1/captchas/
'
+
res
.
code
;
},
async
resetButton
(){
if
(
!
this
.
userAccount
)
{
this
.
showAlert
=
true
;
this
.
alertText
=
'
请输入您的帐号
'
;
return
}
else
if
(
!
this
.
oldPassWord
){
this
.
showAlert
=
true
;
this
.
alertText
=
'
请输入旧密码
'
;
return
}
else
if
(
!
this
.
newPassWord
){
this
.
showAlert
=
true
;
this
.
alertText
=
'
请输入新密码
'
;
return
}
else
if
(
!
this
.
confirmPassWord
){
this
.
showAlert
=
true
;
this
.
alertText
=
'
请输确认密码
'
;
return
}
else
if
(
!
this
.
codeNumber
){
this
.
showAlert
=
true
;
this
.
alertText
=
'
请输验证码
'
;
return
}
else
if
(
/^1
\d{10}
$/gi
.
test
(
this
.
userAccount
)){
this
.
accountType
=
'
mobile
'
;
let
res
=
await
checkExsis
(
this
.
userAccount
,
this
.
accountType
);
if
(
res
.
message
)
{
this
.
showAlert
=
true
;
this
.
alertText
=
res
.
message
;
return
}
else
if
(
!
res
.
is_exists
)
{
this
.
showAlert
=
true
;
this
.
alertText
=
'
您输入的手机号尚未绑定
'
;
return
}
}
else
if
(
/@/gi
.
test
(
this
.
userAccount
)){
this
.
accountType
=
'
email
'
;
let
res
=
await
checkExsis
(
this
.
userAccount
,
this
.
accountType
);
if
(
res
.
message
)
{
this
.
showAlert
=
true
;
this
.
alertText
=
res
.
message
;
return
}
else
if
(
!
res
.
is_exists
)
{
this
.
showAlert
=
true
;
this
.
alertText
=
'
您输入的邮箱尚未绑定
'
;
return
}
}
else
{
this
.
showAlert
=
true
;
this
.
alertText
=
'
请输入正确的手机号/邮箱
'
;
return
}
let
res
=
await
sendMobile
(
this
.
userAccount
,
this
.
codeNumber
,
this
.
accountType
);
if
(
res
.
message
)
{
this
.
showAlert
=
true
;
this
.
alertText
=
res
.
message
;
return
}
},
closeTip
(){
this
.
showAlert
=
false
;
}
}
}
</
script
>
...
...
@@ -24,7 +133,56 @@
<
style
lang=
"scss"
scoped
>
@import
'../../style/mixin.scss'
;
.
c
ontainer
{
.
restC
ontainer
{
padding-top
:
1
.95rem
;
}
.restForm
{
background-color
:
#fff
;
margin-top
:
.6rem
;
.input_container
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
.6rem
.8rem
;
border-bottom
:
1px
solid
#f1f1f1
;
input
{
@include
sc
(
.7rem
,
#666
);
flex
:
1
;
}
}
.captcha_code_container
{
height
:
2
.2rem
;
.img_change_img
{
display
:
flex
;
align-items
:
center
;
img
{
@include
wh
(
3
.5rem
,
1
.5rem
);
margin-right
:
.2rem
;
}
.change_img
{
display
:
flex
;
flex-direction
:
'column'
;
flex-wrap
:
wrap
;
width
:
2rem
;
justify-content
:
center
;
p
{
@include
sc
(
.55rem
,
#666
);
}
p
:nth-of-type
(
2
)
{
color
:
#3b95e9
;
margin-top
:
.2rem
;
}
}
}
}
}
.login_container
{
margin
:
1rem
.5rem
;
@include
sc
(
.7rem
,
#fff
);
background-color
:
#4cd964
;
padding
:
.5rem
0
;
border
:
1px
;
border-radius
:
0
.15rem
;
text-align
:
center
;
}
</
style
>
src/service/getData.js
浏览文件 @
9b657473
...
...
@@ -163,6 +163,25 @@ export const getcaptchas = () => fetch('POST', '/v1/captchas', {});
* 账号密码登陆
*/
//export const accountLogin = (username, password, captcha_code) => fetch('POST', '/v2/login', {username, password, captcha_code});
/**
* 检测帐号是否存在
*/
export
const
checkExsis
=
(
checkNumber
,
type
)
=>
fetch
(
'
GET
'
,
'
/v1/users/exists
'
,
{
[
type
]:
checkNumber
,
type
});
/**
* 发送帐号
*/
export
const
sendMobile
=
(
sendData
,
captcha_code
,
type
)
=>
fetch
(
'
POST
'
,
'
/v1/mobile/verify_code/send
'
,
{
action
:
"
send
"
,
captcha_code
,
[
type
]:
sendData
,
type
:
"
sms
"
,
way
:
type
,
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录