Smail/frontend/src/views/components/SecuritySettings/ProfileSettings/ProfileSettings.js
smail fd475cd88d
Some checks are pending
Security Checks / security (push) Waiting to run
保存角色权限分层改造续审现场
2026-09-09 20:27:50 +08:00

29 lines
1.0 KiB
JavaScript

import { ref } from 'vue'
import { ElMessage } from 'element-plus'
import { http } from '@/utils/axios'
import { useGlobalStatusStore } from '@/stores/useGlobalStatusStore'
import { roleMeta } from '@/utils/userRoles.mjs'
export function useProfile() {
const store = useGlobalStatusStore()
const name = ref(store.userInfos.name || '')
const saving = ref(false)
async function save() {
if (saving.value) return
if (!name.value.trim()) return ElMessage.error('请输入显示名称')
saving.value = true
try {
const result = await http.post('/api/v1/user/profile', { name: name.value.trim() })
if (result?.errorNo !== 0) throw new Error(result?.errorMsg || '个人资料保存失败')
store.userInfos.name = result.data.name
name.value = result.data.name
ElMessage.success('个人资料已保存')
} catch (error) {
ElMessage.error(error.message || '个人资料保存失败')
} finally {
saving.value = false
}
}
return { store, name, saving, save, roleMeta }
}