refactor: 主要功能实现

目前的工作已经实现的功能:
- 基本 FastAPI 路由;
- 基本 AI 聊天和创作功能;
- 用户信息管理、权限验证、JWT 令牌签发和验证、端点保护;
- HTML 验证码邮件发送和验证码验证。
This commit is contained in:
2026-05-24 13:58:51 +08:00
parent f06de85257
commit 21f0d7725e
98 changed files with 6483 additions and 116 deletions
@@ -0,0 +1,56 @@
<script setup lang="ts">
import {ref} from "vue";
import {api} from "@/tools/web.ts";
import {useNowUser} from "@/stores/now-user.ts";
import {useMessage} from "naive-ui";
import {useRouter} from "vue-router";
const ROUTER = useRouter();
const MESSAGE = useMessage()
const NOWUSER = useNowUser()
const showModal = defineModel("showModal", {required: true})
const changeForm = ref({
old_password: '',
new_password: '',
})
function change() {
api.post("/admin/me/password/", JSON.stringify(changeForm.value))
.then(() => {
MESSAGE.success("密码修改成功,请重新登录。")
NOWUSER.isLogin = false
localStorage.removeItem("user-id")
localStorage.removeItem("access-token")
ROUTER.push("/")
})
.catch((err) => {
MESSAGE.error(`密码修改失败:${err}`)
MESSAGE.warning("如果您忘记了原密码,请选择「忘记密码」。")
})
}
</script>
<template>
<n-modal style="width: 600px;" v-model:show="showModal" title="修改密码" preset="card">
<n-form label-align="right" label-placement="left" label-width="auto" :model="changeForm">
<n-form-item label="原密码" path="old_password">
<n-input v-model:value="changeForm.old_password"/>
</n-form-item>
<n-form-item label="新密码" path="new_password">
<n-input v-model:value="changeForm.new_password" type="password" show-password-toggle/>
</n-form-item>
<n-form-item label="确认修改">
<n-flex>
<n-button type="error" @click="change()">确认修改</n-button>
<n-tag type="warning" size="large">修改密码会注销所有已登录状态您将需要重新登录</n-tag>
</n-flex>
</n-form-item>
</n-form>
</n-modal>
</template>
<style scoped>
</style>