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
|
||
)'
|
||
);
|
||
}
|
||
|