62 lines
1.7 KiB
PHP
62 lines
1.7 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
function sendcard_get_pdo(string $sqlitePath): PDO
|
|
{
|
|
$dir = dirname($sqlitePath);
|
|
if (!is_dir($dir)) {
|
|
mkdir($dir, 0777, true);
|
|
}
|
|
|
|
$pdo = new PDO('sqlite:' . $sqlitePath, null, null, [
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
]);
|
|
|
|
return $pdo;
|
|
}
|
|
|
|
function sendcard_init_db(PDO $pdo): void
|
|
{
|
|
// 备档表:每次回调把外部接口 data 全量字段写入(token 不会返回给前端以外,只会返回给请求端)
|
|
$pdo->exec(
|
|
'CREATE TABLE IF NOT EXISTS cursor_login_backups (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
fetched_at TEXT DEFAULT CURRENT_TIMESTAMP,
|
|
external_msg TEXT,
|
|
external_code TEXT,
|
|
-- external data fields
|
|
external_id INTEGER,
|
|
email TEXT,
|
|
token TEXT,
|
|
createTime TEXT,
|
|
lastTokenTime TEXT,
|
|
status INTEGER,
|
|
deviceCode TEXT,
|
|
activationCode TEXT,
|
|
useTime TEXT,
|
|
lastId INTEGER,
|
|
deleted INTEGER,
|
|
emailLastStatus INTEGER,
|
|
useCount INTEGER,
|
|
pwd TEXT,
|
|
type INTEGER,
|
|
updateTime TEXT,
|
|
banName TEXT,
|
|
webToken TEXT,
|
|
cpName TEXT,
|
|
comeStatus INTEGER,
|
|
comePushTime TEXT,
|
|
freeSevenStatus INTEGER,
|
|
windsurfUseStatus INTEGER,
|
|
windsurfStatus INTEGER,
|
|
windsurfToken TEXT,
|
|
windsurfPwd TEXT,
|
|
windsurfUseTime TEXT,
|
|
raw_json TEXT
|
|
)'
|
|
);
|
|
}
|
|
|