feat: 完成用户鉴权相关api
This commit is contained in:
1 parent
79cc9c34d6
commit
4c69f57aaa
22 files changed
+903
-68
No files matched your search
@@ -0,0 +1,85 @@
|
||||
import mkfileIfNotExist from "./mkfileIfNotExist"
|
||||
import db from 'better-sqlite3'
|
||||
|
||||
let checked = false
|
||||
|
||||
/**
|
||||
* 检查并完善userData的目录结构,若不存在密钥则生成随机的密钥,初始化数据库
|
||||
* @returns {void}
|
||||
*/
|
||||
function checkUserData() {
|
||||
if (checked) return
|
||||
checked = true
|
||||
// console.log('check userData')
|
||||
const dirList = [
|
||||
'./userData/',
|
||||
'./userData/db/',
|
||||
]
|
||||
dirList.forEach(mkdirIfNotExist)
|
||||
|
||||
mkfileIfNotExist('./userData/key.txt', new Array(2048).fill(0).map(() => Math.floor(Math.random() * 16).toString(16)).join(''))
|
||||
|
||||
createDB()
|
||||
|
||||
}
|
||||
|
||||
function createDB() {
|
||||
const userDB = new db('./userData/db/user.db');
|
||||
const postsDB = new db('./userData/db/posts.db');
|
||||
|
||||
userDB.exec(`
|
||||
CREATE TABLE IF NOT EXISTS user (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
username TEXT NOT NULL UNIQUE,
|
||||
password TEXT NOT NULL,
|
||||
createTime INTEGER NOT NULL,
|
||||
lastLoginTime INTEGER NOT NULL
|
||||
);
|
||||
`);
|
||||
|
||||
postsDB.exec(`
|
||||
CREATE TABLE IF NOT EXISTS posts (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
title TEXT NOT NULL,
|
||||
date INTEGER NOT NULL,
|
||||
summary TEXT NOT NULL,
|
||||
type TEXT NOT NULL,
|
||||
url TEXT NOT NULL,
|
||||
tag_id INTEGER NOT NULL,
|
||||
FOREIGN KEY(tag_id) REFERENCES tags(id)
|
||||
);
|
||||
`);
|
||||
|
||||
postsDB.exec(`
|
||||
CREATE TABLE IF NOT EXISTS postContent (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
content TEXT NOT NULL
|
||||
);
|
||||
`);
|
||||
|
||||
postsDB.exec(`
|
||||
CREATE TABLE IF NOT EXISTS tags (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
tag1 TEXT,
|
||||
tag2 TEXT,
|
||||
tag3 TEXT,
|
||||
tag4 TEXT,
|
||||
tag5 TEXT,
|
||||
tag6 TEXT,
|
||||
tag7 TEXT,
|
||||
tag8 TEXT,
|
||||
tag9 TEXT,
|
||||
tag10 TEXT,
|
||||
tag11 TEXT,
|
||||
tag12 TEXT,
|
||||
tag13 TEXT,
|
||||
tag14 TEXT,
|
||||
tag15 TEXT
|
||||
);
|
||||
`);
|
||||
|
||||
postsDB.close();
|
||||
userDB.close();
|
||||
}
|
||||
|
||||
export default checkUserData
|
||||
Reference in new issue
Block a user