From 859a53780411e61c34e43f43518ef534f659e504 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Fri, 16 Oct 2026 11:22:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=94=A8=E6=88=B7):=20=E9=80=89=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=8F=AD=E5=B0=B1=E8=83=BD=E4=B8=8B=E8=BD=BD=E5=85=A8?= =?UTF-8?q?=E7=8F=AD=E7=9A=84=E7=94=A8=E6=88=B7=E5=90=8D=E5=92=8C=E5=AF=86?= =?UTF-8?q?=E7=A0=81=EF=BC=88=E8=A1=A8=E6=A0=BC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- apps/web/src/admin/user/accountsCsv.ts | 17 ++++++++++ apps/web/src/admin/user/generate.vue | 9 ++---- apps/web/src/admin/user/list.vue | 45 +++++++++++++++++++++++++- 3 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 apps/web/src/admin/user/accountsCsv.ts diff --git a/apps/web/src/admin/user/accountsCsv.ts b/apps/web/src/admin/user/accountsCsv.ts new file mode 100644 index 0000000..89a6315 --- /dev/null +++ b/apps/web/src/admin/user/accountsCsv.ts @@ -0,0 +1,17 @@ +/** + * 账号名单下成表格:用户名、密码两列。批量建号建完下名单、用户列表按班下名单共用这一份。 + * 开头带 BOM,Excel 打开中文才不乱码 + */ +export function downloadAccountsCsv( + rows: { username: string; password: string }[], + filename: string, +) { + const cell = (text: string) => (/[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text) + const csv = + "用户名,密码\n" + rows.map((it) => `${cell(it.username)},${cell(it.password)}`).join("\n") + const link = document.createElement("a") + link.href = URL.createObjectURL(new Blob([csv], { type: "text/csv;charset=utf-8" })) + link.download = `${filename}.csv` + link.click() + URL.revokeObjectURL(link.href) +} diff --git a/apps/web/src/admin/user/generate.vue b/apps/web/src/admin/user/generate.vue index 70e4c41..0930108 100644 --- a/apps/web/src/admin/user/generate.vue +++ b/apps/web/src/admin/user/generate.vue @@ -1,4 +1,5 @@