From aa735a9d6a0800a58db8c8b836b677d1757e0ea1 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Fri, 9 May 2025 22:46:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=98=8E=E6=96=87=E5=AF=86?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/user/generate.vue | 53 +++++++++++---------------------- src/admin/user/list.vue | 5 ++++ src/shared/components/Login.vue | 7 ++--- 3 files changed, 26 insertions(+), 39 deletions(-) diff --git a/src/admin/user/generate.vue b/src/admin/user/generate.vue index 6c296da..fbe89e8 100644 --- a/src/admin/user/generate.vue +++ b/src/admin/user/generate.vue @@ -5,29 +5,13 @@ const message = useMessage() const prefix = ref("") const rawInput = ref("") const [needKs] = useToggle(true) +const [loading, toggleLoading] = useToggle() const users = shallowRef([]) -const columns: DataTableColumn[] = [ - { title: "用户名", key: "username" }, - { title: "密码", key: "password" }, - { title: "邮箱", key: "email" }, - { title: "真名", key: "realName" }, -] - -const usersToTable = computed(() => { - return users.value.map((u) => { - const username = u[0] - const password = u[1] - const email = u[2] - const realName = u[3] - return { username, password, realName, email } - }) -}) - function generateUsers() { if (!rawInput.value || !rawInput.value.trim()) { message.info("请填写相关内容") - return + return false } // 自动加上 ks 的开头 let myClass = "" @@ -50,10 +34,12 @@ function generateUsers() { const email = `${myClass}.${i + 1}@example.com` return [username, password, email, realName] }) + return true } async function uploadUsers() { try { + toggleLoading(true) await importUsers(users.value) message.success("用户已上传成功") const csv = users.value.map((u) => u.join(",")).join("\n") @@ -65,12 +51,16 @@ async function uploadUsers() { hiddenElement.remove() } catch (err: any) { message.error("上传失败:" + err.data) + } finally { + toggleLoading(false) } } -function handleAll() { - generateUsers() - uploadUsers() +async function submit() { + const ok = generateUsers() + if (ok) { + uploadUsers() + } } @@ -81,27 +71,20 @@ function handleAll() { 前面带上 ks - + - - - - - - 让我康康 - - 上传用户 + + 确定导入 - 一键三连 diff --git a/src/admin/user/list.vue b/src/admin/user/list.vue index d5f893f..5008796 100644 --- a/src/admin/user/list.vue +++ b/src/admin/user/list.vue @@ -33,6 +33,11 @@ const columns: DataTableColumn[] = [ width: 200, render: (row) => h(Name, { user: row }), }, + { + title: "密码", + key: "raw_password", + width: 100, + }, { title: "创建时间", key: "create_time", diff --git a/src/shared/components/Login.vue b/src/shared/components/Login.vue index 3f29f9d..65825e2 100644 --- a/src/shared/components/Login.vue +++ b/src/shared/components/Login.vue @@ -15,7 +15,7 @@ const form = reactive({ password: "", }) const classList = computed(() => { - const defaults = [{ label: "不用填", value: "" }] + const defaults = [{ label: "没有我所在的班级", value: "" }] const configs = configStore.config?.class_list.map((item) => ({ label: `${item.slice(0, 2)}计算机${item.slice(2)}班`, @@ -85,9 +85,9 @@ function goSignup() { 1. 如果是上课统一生成的账号,选择【相应班级】,用户名直接写自己的名字
2. - 同样是上课用的号,但是没有你的班级。选择【不用填】,用户名要写:ks班级+姓名,比如23计算机1班张三,就写ks231张三 + 同样是上课用的号,但是没有你的班级。选择【没有我所在的班级】,用户名要写:ks班级+姓名,比如23计算机1班张三,就写ks231张三
- 3. 如果是自己注册的号,选择【不用填】
+ 3. 如果是自己注册的号,选择【没有我所在的班级】
{{ msg }}