9 lines
670 B
Vue
9 lines
670 B
Vue
<script setup lang="ts">
|
|
import { onMounted, ref } from 'vue'
|
|
import { getUsers } from '../services/auth'
|
|
import type { CurrentUser } from '../types/auth'
|
|
const users=ref<CurrentUser[]>([]), error=ref('')
|
|
onMounted(async()=>{try{users.value=await getUsers()}catch(e){error.value=e instanceof Error?e.message:'无权读取用户列表'}})
|
|
</script>
|
|
<template><main><h1>用户管理</h1><p v-if="error">{{error}}</p><table v-else><tr><th>用户名</th><th>昵称</th><th>邮箱</th><th>角色</th></tr><tr v-for="user in users" :key="user.id"><td>{{user.username}}</td><td>{{user.nickname}}</td><td>{{user.email}}</td><td>{{user.role}}</td></tr></table></main></template>
|