| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- const db = require("./plugin/DataBase/db");
- // 生成 6 位数字 + 字母混合码
- function generateCode() {
- const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; // 全部大写,避免大小写重复
- let code = "";
- for (let i = 0; i < 6; i++) {
- code += chars.charAt(Math.floor(Math.random() * chars.length));
- }
- return code;
- }
- // 生成唯一的 code
- async function generateUniqueCode(existingCodes) {
- let code;
- do {
- code = generateCode();
- } while (existingCodes.has(code)); // 查重
- return code;
- }
- async function updateFaceCodes() {
- try {
- // 查询所有账号
- const accounts = await db.query("SELECT student_num FROM lepao_account");
- // 收集已有的 face_code
- const usedCodes = new Set();
- for (let account of accounts) {
- // 如果已有 code,就覆盖(如果你想保留,可以加判断)
- const code = await generateUniqueCode(usedCodes);
- usedCodes.add(code);
- // 更新数据库
- let sql = 'INSERT INTO lepao_face (face_code, student_num ) VALUES (?, ?)'
- await db.query(sql, [
- code,
- account.student_num,
- ]);
- console.log(`账号ID: ${account.student_num} 更新 face_code 为: ${code}`);
- }
- console.log("所有 face_code 更新完成!");
- } catch (err) {
- console.error("执行出错:", err);
- } finally {
- db.end && db.end();
- }
- }
- updateFaceCodes();
|