Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
boyueCEnd
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
游洁
boyueCEnd
Commits
93b62ee1
Commit
93b62ee1
authored
Dec 03, 2025
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
c67f19ad
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
62 additions
and
13 deletions
+62
-13
zh-CN.ts
src/i18n/locales/zh-CN.ts
+3
-0
Error404.vue
src/views/auth/Error404.vue
+23
-0
Login.vue
src/views/auth/Login.vue
+2
-1
account.vue
src/views/personalCenter/accountPage/account.vue
+3
-2
basicInfor.vue
src/views/personalCenter/accountPage/basicInfor.vue
+29
-8
passengerList.vue
src/views/personalCenter/accountPage/passengerList.vue
+2
-2
No files found.
src/i18n/locales/zh-CN.ts
View file @
93b62ee1
...
...
@@ -243,6 +243,9 @@ export default {
discount
:
'折'
,
noCoupon
:
'暂无优惠券'
,
noCollection
:
'暂无收藏'
,
photoSize
:
'图片大小不能超过{size}MB'
,
uploadComplete
:
'图片上传完成'
,
uploadFailed
:
'上传失败'
,
},
// HTTP 错误状态码
httpError
:
{
...
...
src/views/auth/Error404.vue
0 → 100644
View file @
93b62ee1
<
template
>
<div
class=
"fixed-center text-center"
>
<p>
<img
src=
"~assets/sad.svg"
style=
"width:30vw;max-width:150px;"
>
</p>
<p
class=
"text-faded"
>
Sorry, nothing here...
<strong>
(404)
</strong>
</p>
<q-btn
color=
"secondary"
style=
"width:200px;"
to=
"/"
label=
"Go back"
/>
</div>
</
template
>
<
script
>
</
script
>
src/views/auth/Login.vue
View file @
93b62ee1
...
...
@@ -218,9 +218,10 @@ const loginWithLine = () => {
}
// line登录
const
useLineLogin
=
async
(
code
:
string
)
=>
{
const
redirectUri
=
window
.
location
.
origin
+
window
.
location
.
pathname
loading
.
value
=
true
try
{
const
response
=
await
userStore
.
setUserLineLoginAsync
(
loginMsg
.
tenantId
?.
toString
()
||
''
,
code
,
loginMsg
.
distributorId
,
loginMsg
.
parentId
,
loginMsg
.
redirectUri
)
const
response
=
await
userStore
.
setUserLineLoginAsync
(
loginMsg
.
tenantId
?.
toString
()
||
''
,
code
,
loginMsg
.
distributorId
,
loginMsg
.
parentId
,
redirectUri
)
if
(
response
.
status
==
'SUCCESS'
)
{
userStore
.
setLoginType
(
loginMsg
.
reType
||
0
)
Message
.
success
(
t
(
'login.loginSuccess'
))
...
...
src/views/personalCenter/accountPage/account.vue
View file @
93b62ee1
...
...
@@ -238,9 +238,10 @@ const loginWithLine = () => {
}
// line绑定
const
useLineBind
=
async
(
code
:
string
)
=>
{
loading
.
value
=
true
const
redirectUri
=
window
.
location
.
origin
+
window
.
location
.
pathname
loading
.
value
=
true
try
{
const
response
=
await
userStore
.
setUserLineBindAsync
(
systemConfig
.
tenantId
?.
toString
()
||
''
,
code
,
systemConfig
.
distributorId
,
null
,
''
)
const
response
=
await
userStore
.
setUserLineBindAsync
(
systemConfig
.
tenantId
?.
toString
()
||
''
,
code
,
systemConfig
.
distributorId
,
null
,
redirectUri
)
if
(
response
.
status
==
'SUCCESS'
)
{
Message
.
success
(
t
(
'personal.bindWechatSuccess'
))
getPersonalInfor
()
...
...
src/views/personalCenter/accountPage/basicInfor.vue
View file @
93b62ee1
...
...
@@ -97,7 +97,24 @@
</a-select>
</a-form-item>
</a-col>
<a-col
:span=
"8"
></a-col>
<a-col
:span=
"8"
>
<a-form-item
field=
"wechatId"
:label=
"t('login.bindingWechat')"
required
>
<a-input
class=
"formData-input !w-[289px] mr-[30px]"
v-model=
"formData.wechatId"
size=
"large"
:placeholder=
"t('login.lineIdOrWechat')"
>
</a-input>
</a-form-item>
</a-col>
<a-col
:span=
"8"
>
<a-form-item
field=
"lineId"
label=
"Line"
required
>
<a-input
class=
"formData-input !w-[289px] mr-[30px]"
v-model=
"formData.lineId"
size=
"large"
:placeholder=
"t('login.lineIdOrWechat')"
>
</a-input>
</a-form-item>
</a-col>
<a-col
:span=
"8"
>
<a-form-item
field=
"phoneCode"
:label=
"t('login.phoneCode')"
>
<a-select
class=
"formData-input !w-[289px] mr-[30px]"
...
...
@@ -197,11 +214,11 @@ const AreaCodeList = ref([])
const
genderOptions
=
ref
([
{
label
:
t
(
'ORDER.GENDER_MALE'
),
value
:
'MALE'
value
:
1
},
{
label
:
t
(
'ORDER.GENDER_FEMALE'
),
value
:
'FEMALE'
value
:
2
},
])
const
tenantId
=
systemConfigStore
.
tenantId
...
...
@@ -216,6 +233,7 @@ const formData = reactive({
residentialArea
:
null
as
any
,
//国籍
sex
:
null
as
any
,
//性别 1男 2女
wechatId
:
null
as
any
,
//微信ID
lineId
:
null
as
any
,
//微信ID
})
...
...
@@ -262,7 +280,7 @@ const getPersonalInfor = async () => {
const
validateFileSize
=
(
file
:
File
):
boolean
=>
{
const
sizeMB
=
file
.
size
/
1024
/
1024
if
(
sizeMB
>
maxSize
)
{
Message
.
error
(
`图片大小不能超过
${
maxSize
}
MB`
)
Message
.
error
(
t
(
'personal.photoSize'
,
{
size
:
maxSize
})
)
return
false
}
return
true
...
...
@@ -271,7 +289,7 @@ const validateFileSize = (file: File): boolean => {
// 处理图片预览
const
handlePreview
=
(
fileItem
:
FileItem
)
=>
{
if
(
!
fileItem
.
url
)
{
Message
.
warning
(
'图片还未上传完成'
)
Message
.
warning
(
t
(
'personal.uploadComplete'
)
)
return
}
previewUrl
.
value
=
fileItem
.
url
...
...
@@ -315,11 +333,11 @@ const uploadFile = async (fileItem: FileItem) => {
formData
.
photo
=
url
}
else
{
fileItem
.
status
=
'error'
Message
.
error
(
'上传失败'
)
Message
.
error
(
t
(
'personal.uploadFailed'
)
)
}
}
catch
(
error
)
{
fileItem
.
status
=
'error'
Message
.
error
(
'上传失败'
)
Message
.
error
(
t
(
'personal.uploadFailed'
)
)
console
.
error
(
'上传失败:'
,
error
)
}
}
...
...
@@ -350,6 +368,10 @@ const verification = () => {
if
(
msg
==
''
&&
(
formData
.
name
==
''
||!
formData
.
name
||
userInfor
.
value
.
surName
==
''
||!
formData
.
surName
))
{
msg
=
t
(
'login.pleaseComplete'
)
}
if
(
msg
==
''
&&
(
formData
.
lineId
==
''
||!
formData
.
lineId
)
&&
(
userInfor
.
value
.
wechatId
==
''
||!
formData
.
wechatId
))
{
msg
=
t
(
'login.lineIdOrWechat'
)
}
return
msg
}
...
...
@@ -384,7 +406,6 @@ const getUserDetail = async () => {
formData
.
name
=
response
.
name
||
''
formData
.
surName
=
response
.
surName
||
''
formData
.
birthday
=
response
.
birthday
||
null
formData
.
isReceivePush
=
response
.
isReceivePush
||
null
formData
.
lineId
=
response
.
lineId
||
null
formData
.
phone
=
response
.
phone
||
null
formData
.
phoneCode
=
response
.
phoneCode
||
null
...
...
src/views/personalCenter/accountPage/passengerList.vue
View file @
93b62ee1
...
...
@@ -194,11 +194,11 @@ const loading = ref(true)
const
genderOptions
=
ref
([
{
label
:
t
(
'ORDER.GENDER_MALE'
),
value
:
'MALE'
value
:
1
},
{
label
:
t
(
'ORDER.GENDER_FEMALE'
),
value
:
'FEMALE'
value
:
2
},
])
const
formData
=
reactive
({
...
...
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