mirror of
https://github.com/jxxghp/MoviePilot-Frontend.git
synced 2026-07-12 16:01:35 +08:00
fix user
This commit is contained in:
@@ -642,6 +642,10 @@ export interface User {
|
|||||||
avatar: string
|
avatar: string
|
||||||
// 是否开启双重验证
|
// 是否开启双重验证
|
||||||
is_otp: boolean
|
is_otp: boolean
|
||||||
|
// 用户权限 json
|
||||||
|
permissions: { [key: string]: any }
|
||||||
|
// 用户个性化设置 json
|
||||||
|
settings: { [key: string]: string | null }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 存储空间
|
// 存储空间
|
||||||
|
|||||||
@@ -42,6 +42,14 @@ const accountInfo = ref<User>({
|
|||||||
is_superuser: false,
|
is_superuser: false,
|
||||||
avatar: '',
|
avatar: '',
|
||||||
is_otp: false,
|
is_otp: false,
|
||||||
|
permissions: {},
|
||||||
|
settings: {
|
||||||
|
wechat_userid: null,
|
||||||
|
telegram_userid: null,
|
||||||
|
slack_userid: null,
|
||||||
|
vocechat_userid: null,
|
||||||
|
synologychat_userid: null,
|
||||||
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
// 所有用户信息
|
// 所有用户信息
|
||||||
@@ -229,18 +237,13 @@ onMounted(() => {
|
|||||||
<!-- 👉 Form -->
|
<!-- 👉 Form -->
|
||||||
<VForm class="mt-6">
|
<VForm class="mt-6">
|
||||||
<VRow>
|
<VRow>
|
||||||
<!-- 👉 Name -->
|
|
||||||
<VCol md="6" cols="12">
|
<VCol md="6" cols="12">
|
||||||
<VTextField v-model="accountInfo.name" readonly label="用户名" />
|
<VTextField v-model="accountInfo.name" readonly label="用户名" />
|
||||||
</VCol>
|
</VCol>
|
||||||
|
|
||||||
<!-- 👉 Email -->
|
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<VTextField v-model="accountInfo.email" label="邮箱" type="email" />
|
<VTextField v-model="accountInfo.email" label="邮箱" type="email" />
|
||||||
</VCol>
|
</VCol>
|
||||||
|
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<!-- 👉 new password -->
|
|
||||||
<VTextField
|
<VTextField
|
||||||
v-model="newPassword"
|
v-model="newPassword"
|
||||||
:type="isNewPasswordVisible ? 'text' : 'password'"
|
:type="isNewPasswordVisible ? 'text' : 'password'"
|
||||||
@@ -250,7 +253,6 @@ onMounted(() => {
|
|||||||
@click:append-inner="isNewPasswordVisible = !isNewPasswordVisible"
|
@click:append-inner="isNewPasswordVisible = !isNewPasswordVisible"
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
|
|
||||||
<VCol cols="12" md="6">
|
<VCol cols="12" md="6">
|
||||||
<!-- 👉 confirm password -->
|
<!-- 👉 confirm password -->
|
||||||
<VTextField
|
<VTextField
|
||||||
@@ -261,7 +263,25 @@ onMounted(() => {
|
|||||||
@click:append-inner="isConfirmPasswordVisible = !isConfirmPasswordVisible"
|
@click:append-inner="isConfirmPasswordVisible = !isConfirmPasswordVisible"
|
||||||
/>
|
/>
|
||||||
</VCol>
|
</VCol>
|
||||||
|
</VRow>
|
||||||
|
<VRow>
|
||||||
|
<VCol cols="12" md="6">
|
||||||
|
<VTextField v-model="accountInfo.settings.wechat_userid" label="微信用户" />
|
||||||
|
</VCol>
|
||||||
|
<VCol cols="12" md="6">
|
||||||
|
<VTextField v-model="accountInfo.settings.telegram_userid" label="Telegram用户" />
|
||||||
|
</VCol>
|
||||||
|
<VCol cols="12" md="6">
|
||||||
|
<VTextField v-model="accountInfo.settings.slack_userid" label="Slack用户" />
|
||||||
|
</VCol>
|
||||||
|
<VCol cols="12" md="6">
|
||||||
|
<VTextField v-model="accountInfo.settings.vocechat_userid" label="VoceChat用户" />
|
||||||
|
</VCol>
|
||||||
|
<VCol cols="12" md="6">
|
||||||
|
<VTextField v-model="accountInfo.settings.synologychat_userid" label="SynologyChat用户" />
|
||||||
|
</VCol>
|
||||||
|
</VRow>
|
||||||
|
<VRow>
|
||||||
<!-- 👉 Form Actions -->
|
<!-- 👉 Form Actions -->
|
||||||
<VCol cols="12" class="d-flex flex-wrap gap-4">
|
<VCol cols="12" class="d-flex flex-wrap gap-4">
|
||||||
<VBtn @click="saveAccountInfo"> 保存 </VBtn>
|
<VBtn @click="saveAccountInfo"> 保存 </VBtn>
|
||||||
|
|||||||
Reference in New Issue
Block a user