Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pptist
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
viitto
pptist
Commits
8eb954cc
Commit
8eb954cc
authored
Jun 18, 2024
by
zhengke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
账号编辑
parent
ec89cfb0
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
16 deletions
+55
-16
UserCard.vue
src/components/User/UserCard.vue
+12
-7
follow.vue
src/components/home/follow.vue
+1
-1
wechatLogin.vue
src/views/Auth/components/wechatLogin.vue
+1
-1
Setting.vue
src/views/UserCenter/Setting.vue
+41
-7
No files found.
src/components/User/UserCard.vue
View file @
8eb954cc
...
...
@@ -87,7 +87,7 @@
/></el-icon>
<
template
#
dropdown
>
<div
class=
"MarketPopoverMore row wrap pointer"
>
<div
class=
"column"
v-for=
"(item, index) in moreList"
@
click=
"forward(item
.Url
)"
>
<div
class=
"column"
v-for=
"(item, index) in moreList"
@
click=
"forward(item)"
>
<div>
<img
:src=
"item.icon"
width=
"34"
height=
"34"
/>
</div>
...
...
@@ -100,6 +100,7 @@
<!-- 创建设计 -->
<temDesign
:addTem=
"addVisible"
@
close=
"addVisible=false"
/>
<OrderReview
v-if=
"orderVisible"
:show-person=
"isShowPerson"
:default-type=
"isShowPerson?1:2"
@
close=
"()=>orderVisible=false"
></OrderReview>
<follow
v-if=
"isPublicAccount"
@
close=
"isPublicAccount=false"
></follow>
</template>
<
script
lang=
"ts"
setup
>
import
{
ref
}
from
"vue"
;
...
...
@@ -112,6 +113,7 @@ import { EntMemberRight, ENT_USER_THEME, FreeMemberRight, PersonMemberRight, VIP
import
OrderReview
from
'@/views/components/Order/Review.vue'
import
UserServices
from
"@/services/UserService"
;
import
{
ApiResult
}
from
"@/configs/axios"
;
import
follow
from
"@/components/home/follow.vue"
;
const
props
=
defineProps
({
size
:
{
...
...
@@ -136,14 +138,15 @@ const currentRoute = router.currentRoute.value
const
parmas
=
ref
({}
as
any
)
parmas
.
value
=
currentRoute
const
isPublicAccount
=
ref
(
false
)
const
format
=
(
percentage
:
number
)
=>
{
return
percentage
==
100
?
''
:
``
}
const
moreList
=
[
{
icon
:
require
(
"@/assets/img/homeMore0.png"
),
Name
:
"添加到桌面"
},
{
icon
:
require
(
"@/assets/img/homeMore1.png"
),
Name
:
"关注公众号"
},
{
icon
:
require
(
"@/assets/img/homeMore2.png"
),
Name
:
"我的订单"
,
Url
:
'/u/order'
},
{
icon
:
require
(
"@/assets/img/homeMore3.png"
),
Name
:
"意见反馈"
,
Url
:
'https://work.weixin.qq.com/kfid/kfc378aada578ca8b0e'
},
{
icon
:
require
(
"@/assets/img/homeMore0.png"
),
Name
:
"添加到桌面"
,
Id
:
1
,
},
{
icon
:
require
(
"@/assets/img/homeMore1.png"
),
Name
:
"关注公众号"
,
Id
:
2
,
},
{
icon
:
require
(
"@/assets/img/homeMore2.png"
),
Name
:
"我的订单"
,
Url
:
'/u/order'
,
Id
:
3
,
},
{
icon
:
require
(
"@/assets/img/homeMore3.png"
),
Name
:
"意见反馈"
,
Url
:
'https://work.weixin.qq.com/kfid/kfc378aada578ca8b0e'
,
Id
:
4
,
},
];
const
TravelDesign
=
ref
({}
as
any
)
...
...
@@ -155,10 +158,12 @@ const goDesNorm = () => {
const
forwardUserCenter
=
()
=>
{
router
.
push
(
'/u'
)
}
const
forward
=
(
url
:
string
|
undefined
)
=>
{
if
(
u
rl
){
const
forward
=
(
item
:
any
)
=>
{
if
(
item
.
U
rl
){
if
(
url
.
includes
(
'http://'
)
||
url
.
includes
(
'https://'
))
openNewBlank
(
url
)
else
router
.
push
(
url
)
}
else
{
// if(item.Id==2) isPublicAccount.value = true
}
}
const
loginOutHandler
=
()
=>
{
...
...
src/components/home/follow.vue
View file @
8eb954cc
...
...
@@ -3,7 +3,7 @@
<div
class=
"followForm-bj"
></div>
<div
class=
"followBox row flex-center"
>
<div
class=
"followBox-center"
>
<img
src=
"../../assets/
/
img/follow.png"
<img
src=
"../../assets/img/follow.png"
style=
"height: 33.7vw;"
/>
<span
class=
"close-btn cursor-pointer column items-center flex-center"
@
click=
"close"
><IconClose
size=
"0.83vw"
></IconClose></span>
...
...
src/views/Auth/components/wechatLogin.vue
View file @
8eb954cc
<
template
>
<div
class=
"wechatLoginForm text-center q-mt-lg"
v-loading=
"qrLoading"
>
<
QRCode
:value=
"qrCode"
style=
"width: 159px;height: 159px;border: 1px solid #EBEBEB;"
v-if=
"!qrLoading"
></QRCode
>
<
img
:src=
"qrCode"
style=
"width: 159px;height: 159px;border: 1px solid #EBEBEB;border-radius: 8px;"
v-if=
"!qrLoading"
></img
>
<QRCode
value=
"http://www.viitto.com"
style=
"width: 159px;height: 159px;border: 1px solid #EBEBEB;"
v-if=
"qrLoading"
></QRCode>
</div>
</
template
>
...
...
src/views/UserCenter/Setting.vue
View file @
8eb954cc
...
...
@@ -31,9 +31,9 @@
<div
class=
"setting-item"
>
<div>
<div
class=
"text-dark"
>
账号
</div>
<div
class=
""
>
+86 173****7817
</div>
<div
class=
""
>
{{personalInfor.EmLoginMobile}}
</div>
</div>
<el-button
>
更换
账号
</el-button>
<el-button
v-if=
"personalInfor.IsDefaultAccount==1"
:disabled=
"personalInfor.IsDefaultAccount!=1"
@
click=
"bindDatas(4)"
>
修改
账号
</el-button>
</div>
<div
class=
"setting-item"
>
<div>
...
...
@@ -100,6 +100,11 @@
<el-input
v-model=
"model.pwd"
type=
"password"
:placeholder=
"isPwd?'设置密码':'新密码'"
autocomplete=
"new-password"
show-password
/>
</el-form-item>
</
template
>
<
template
v-if=
"dialogType==4"
>
<el-form-item
label=
""
prop=
"account"
>
<el-input
v-model=
"model.account"
type=
"text"
placeholder=
"编辑账号"
/>
</el-form-item>
</
template
>
<!-- <el-form-item label="">
<vue-hcaptcha ref="invisibleHcaptchaBind" sitekey="46e00e53-ddb2-4e7b-9c51-621534c2f1f5" @verify="verifyHandler"></vue-hcaptcha>
</el-form-item> -->
...
...
@@ -108,7 +113,9 @@
<div
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
class=
"ppt-button"
size=
"large"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm(bindFormRef)"
class=
"ppt-button"
size=
"large"
:loading=
"loading"
>
确定
<template
v-if=
"dialogType==1"
>
{{
Mailbox
?
'换绑'
:
'绑定'
}}
</
template
><
template
v-else
>
{{
isPwd
?
'设置'
:
'更换'
}}
</
template
>
确定
<template
v-if=
"dialogType==1"
>
{{
Mailbox
?
'换绑'
:
'绑定'
}}
</
template
>
<
template
v-if=
"dialogType==2"
>
{{
isPwd
?
'设置'
:
'更换'
}}
</
template
>
<
template
v-if=
"dialogType==4"
>
编辑
</
template
>
</el-button>
</div>
</template>
...
...
@@ -116,7 +123,7 @@
</template>
<
script
lang=
"ts"
setup
>
import
{
ElMessage
,
FormInstance
,
FormRules
}
from
'element-plus'
;
import
{
ElMessage
,
FormInstance
,
FormRules
,
ElMessageBox
}
from
'element-plus'
;
import
{
useUserStore
}
from
"@/store"
;
import
{
storeToRefs
}
from
"pinia"
;
import
{
nextTick
}
from
"vue"
;
...
...
@@ -139,7 +146,7 @@ const dialogType = ref(null as any)
const
dialogTitle
=
ref
(
''
)
const
mailRegex
=
/^
[
A-Za-z0-9
\u
4e00-
\u
9fa5
]
+@
[
a-zA-Z0-9_-
]
+
(
.
[
a-zA-Z0-9_-
]
+
)
+$/
const
model
=
ref
({
//
account:'',
account
:
''
,
oldpwd
:
''
,
pwd
:
''
,
mail
:
''
,
...
...
@@ -155,6 +162,7 @@ const isSend = ref(false)
const
isCountdown
=
ref
(
false
)
const
countValue
=
ref
<
number
>
(
0
)
const
loadingImg
=
ref
(
false
)
const
personalInfor
=
ref
({})
const
validateMail
=
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
if
(
value
===
''
)
{
callback
(
new
Error
(
'请输入你的邮箱账户'
))
...
...
@@ -165,6 +173,10 @@ const validateMail = (rule:any,value:any,callback:any)=>{
}
}
const
rules
=
reactive
<
FormRules
<
RuleForm
>>
({
account
:
[
{
required
:
true
,
message
:
'请输入你的账号'
,
trigger
:
'blur'
},
{
min
:
6
,
message
:
'请输入正确的账号'
,
trigger
:
'blur'
},
],
oldpwd
:
[
{
required
:
true
,
message
:
'请输入你的原密码'
,
trigger
:
'blur'
},
{
min
:
6
,
max
:
20
,
message
:
'密码的长度应为6-20位'
,
trigger
:
'blur'
},
...
...
@@ -234,6 +246,23 @@ const bindHandler = async () =>{
if
(
dialogType
.
value
==
1
)
response
=
await
UserServices
.
setBindUserEmail
(
model
.
value
.
mail
,
model
.
value
.
code
)
if
(
dialogType
.
value
==
2
)
response
=
await
UserServices
.
setModifyUserPwd
(
model
.
value
.
pwd
,
model
.
value
.
oldpwd
)
if
(
dialogType
.
value
==
3
)
response
=
await
UserServices
.
ModifyUserPhoto
(
userInfo
.
value
.
photo
)
if
(
dialogType
.
value
==
4
)
{
ElMessageBox
.
confirm
(
`确认编辑后将无法更改,请谨慎!`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
,
}
).
then
(
async
()
=>
{
response
=
await
UserServices
.
SetMembers
(
personalInfor
.
value
.
id
,
1
,
model
.
value
.
account
,
''
,
''
)
getResponse
(
response
)
}).
catch
(()
=>
{})
}
else
getResponse
(
response
)
}
const
getResponse
=
async
(
response
:
any
)
=>
{
if
(
response
){
if
(
response
.
data
.
resultCode
==
ApiResult
.
SUCCESS
){
if
(
dialogType
.
value
==
1
)
{
...
...
@@ -244,6 +273,10 @@ const bindHandler = async () =>{
ElMessage
.
success
({
message
:
`
${
isPwd
.
value
?
'设置'
:
'更换'
}
密码成功`
})
useUser
.
setUserLoginOut
()
}
if
(
dialogType
.
value
==
4
)
{
ElMessage
.
success
({
message
:
`编辑账号成功`
})
getInfo
()
}
dialogVisible
.
value
=
false
dialogType
.
value
=
null
loadingImg
.
value
=
false
...
...
@@ -254,7 +287,6 @@ const bindHandler = async () =>{
validateToken
.
value
=
''
loadingImg
.
value
=
false
}
}
// 发送邮箱验证码
...
...
@@ -279,6 +311,7 @@ const bindDatas = (type:Number) =>{
dialogType
.
value
=
type
if
(
type
==
1
)
dialogTitle
.
value
=
Mailbox
.
value
?
'更换邮箱'
:
'绑定邮箱'
if
(
type
==
2
)
dialogTitle
.
value
=
`
${
isPwd
.
value
?
'设置'
:
'更换'
}
密码`
if
(
type
==
4
)
dialogTitle
.
value
=
`编辑账号`
dialogVisible
.
value
=
true
}
...
...
@@ -296,8 +329,9 @@ const getInfo = async () => {
const
response
=
await
UserServices
.
GetMemberUserInfo
()
if
(
response
.
data
.
resultCode
==
ApiResult
.
SUCCESS
){
Mailbox
.
value
=
response
.
data
.
data
.
mail
console
.
log
(
response
.
data
.
data
,
'-------'
)
isPwd
.
value
=
response
.
data
.
data
.
Pwd
personalInfor
.
value
=
response
.
data
.
data
model
.
value
.
account
=
response
.
data
.
data
.
EmLoginMobile
}
}
...
...
Write
Preview
Markdown
is supported
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