快速入门
复制一个包含安装步骤和此插件的完整Markdown指南的设置提示。
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-fast-sql`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/fast-sql/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
安装
标题:安装您可以使用我们的 AI 助手设置来安装插件。使用以下命令将 Capgo 技能添加到您的 AI 工具中:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-plugins然后使用以下提示:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-fast-sql` plugin in my project.如果您prefer手动设置,安装插件并运行以下命令并遵循以下平台特定的说明:
bun add @capgo/capacitor-fast-sqlbunx cap sync导入
导入import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';API概述
API概述connect
连接初始化数据库连接并启动HTTP服务器。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
const conn = await CapgoCapacitorFastSql.connect({ database: 'myapp' });console.log('Connected on port:', conn.port);disconnect
断开连接关闭数据库连接并停止HTTP服务器。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
await CapgoCapacitorFastSql.disconnect({ database: 'myapp' });getServerInfo
获取服务器信息获取 HTTP 服务器端口和令牌进行直接通信。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
const info = await CapgoCapacitorFastSql.getServerInfo({ database: 'myapp' });console.log('Server port:', info.port);execute
执行通过 Capacitor 桥执行一个 SQL 查询(适用于简单的查询)。 对于大型数据集的更好性能,使用 HTTP 协议直接通过 SQLConnection 类。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
const result = await CapgoCapacitorFastSql.execute({ database: 'myapp', statement: 'SELECT * FROM users WHERE age > ?', params: [18]});console.log('Rows:', result.rows);beginTransaction
beginTransaction开始一个数据库事务。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
await CapgoCapacitorFastSql.beginTransaction({ database: 'myapp' });// Execute multiple operationsawait CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });commitTransaction
commitTransaction提交当前事务。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });rollbackTransaction
rollbackTransaction回滚当前事务。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
try { await CapgoCapacitorFastSql.beginTransaction({ database: 'myapp' }); // Operations... await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });} catch (error) { await CapgoCapacitorFastSql.rollbackTransaction({ database: 'myapp' });}configureWeb
配置Web为sql.js WASM模块配置Web特定的选项。
调用此 在 首次 connect() 加载sql.js从本地打包路径而不是默认的CDN。这在iOS和Android上是无操作的。
import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';
// Configure once at app startup (web only)await CapgoCapacitorFastSql.configureWeb({ sqlJsUrl: '/assets/sql-wasm.js', wasmUrl: '/assets/sql-wasm.wasm',});const db = await FastSQL.connect({ database: 'myapp' });类型参考
类型参考SQLConnectionOptions
SQL连接选项数据库连接选项。
export interface SQLConnectionOptions { /** * Database name (file will be created in app data directory) */ database: string;
/** * Enable encryption (iOS/Android only) */ encrypted?: boolean;
/** * Encryption key (required if encrypted is true) */ encryptionKey?: string;
/** * Read-only mode */ readOnly?: boolean;}SQLValue
名为“SQLValue”的部分插件支持的SQL值类型。
export type SQLValue = string | number | boolean | null | Uint8Array;SQLResult
名为“SQLResult”的部分SQL查询执行的结果。
export interface SQLResult { /** * Rows returned by the query (for SELECT statements) */ rows: SQLRow[];
/** * Number of rows affected by the query (for INSERT/UPDATE/DELETE) */ rowsAffected: number;
/** * ID of the last inserted row (for INSERT statements with auto-increment) */ insertId?: number;}IsolationLevel
名为“IsolationLevel”的部分事务隔离级别。
export enum IsolationLevel { ReadUncommitted = 'READ UNCOMMITTED', ReadCommitted = 'READ COMMITTED', RepeatableRead = 'REPEATABLE READ', Serializable = 'SERIALIZABLE',}WebConfig
名为“WebConfig”的部分Web 平台配置用于 sql.js WASM 模块。使用 configureWeb() 以从本地打包路径加载 sql.js 代替默认 CDN。
export interface WebConfig { /** * URL to the sql.js JavaScript file (`sql-wasm.js`). * When omitted, the plugin loads from the cdnjs CDN. * @example '/assets/sql-wasm.js' */ sqlJsUrl?: string;
/** * URL to the sql.js WebAssembly binary (`sql-wasm.wasm`). * When omitted, the plugin loads from the cdnjs CDN. * @example '/assets/sql-wasm.wasm' */ wasmUrl?: string;}SQLRow
标题:“SQLRow”SQL 行结果 - 值按列名索引。
export interface SQLRow { [column: string]: SQLValue;}真实数据来源
标题:“真实数据来源”本页面由插件的 src/definitions.ts重新同步此页面时,请确保公共 API 与上游保持一致。
继续从 Getting Started
标题:“继续从 Getting Started”If you are using 开始使用 to plan dashboard and API operations, connect it with 使用 @capgo/capacitor-fast-sql for the native capability in 使用 @capgo/capacitor-fast-sql API Overview for the implementation detail in API Overview 介绍 for the implementation detail in 介绍 API Keys for the implementation detail in API Keys, and 设备 为设备的实现细节。