31 lines
957 B
TypeScript
31 lines
957 B
TypeScript
import * as SQLite from 'expo-sqlite';
|
||
|
||
const db = SQLite.openDatabaseSync('upload_status.db');
|
||
|
||
// 初始化表
|
||
export function initUploadTable() {
|
||
console.log('Initializing upload table...');
|
||
db.execSync(`
|
||
CREATE TABLE IF NOT EXISTS uploaded_files (
|
||
uri TEXT PRIMARY KEY NOT NULL
|
||
);
|
||
`);
|
||
console.log('Upload table initialized');
|
||
}
|
||
|
||
// 检查文件是否已上传 (使用同步API,但保持接口为Promise以减少外部重构)
|
||
export async function isFileUploaded(uri: string): Promise<boolean> {
|
||
console.log('Checking if file is uploaded:', uri)
|
||
const result = db.getFirstSync<{ uri: string }>(
|
||
'SELECT uri FROM uploaded_files WHERE uri = ?;',
|
||
uri
|
||
);
|
||
console.log('File uploaded result:', result)
|
||
return !!result;
|
||
}
|
||
|
||
// 记录文件已上传
|
||
export function markFileAsUploaded(uri: string) {
|
||
db.runSync('INSERT OR IGNORE INTO uploaded_files (uri) VALUES (?);', uri);
|
||
}
|