跳转至正文
@capgo/capacitor-fast-sql 文件与存储 开源

快速 SQL Capacitor 插件

高性能原生 SQLite,支持自定义协议以实现高效同步,并可替代 IndexedDB

安装

bun add @capgo/capacitor-fast-sql bunx cap sync
npm、pnpm 或 yarn
  • npm install @capgo/capacitor-fast-sql
  • pnpm add @capgo/capacitor-fast-sql
  • yarn add @capgo/capacitor-fast-sql

指南

如何在 Capacitor 中使用 Fast SQL

使用 @capgo/capacitor-fast-sql

Fast SQL 插件,用于高性能 SQLite 数据库访问。

安装

bun add @capgo/capacitor-fast-sql
bunx cap sync

bunx cap sync 将插件的原生 code 复制到你的原生项目中。每次升级插件后都要重新运行。

导入

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';

API 概览

方法 描述
connect 初始化数据库连接并启动 HTTP 服务器。
disconnect 关闭数据库连接并停止 HTTP 服务器。
getServerInfo 获取 HTTP 服务器端口和 token 以进行直接通信。
execute 通过 Capacitor bridge 执行 SQL 查询(适用于简单查询)。若需处理大数据集以获得更高性能,请通过 SQLConnection 类直接使用 HTTP 协议。
beginTransaction 开始数据库事务。
commitTransaction 提交当前事务。
rollbackTransaction 回滚当前事务。
configureWeb 为官方 SQLite Wasm 模块配置 Web 端专用选项。

示例

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 服务端口和 token 以进行直接通信。

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';

const info = await CapgoCapacitorFastSql.getServerInfo({ database: 'myapp' });
console.log('Server port:', info.port);

execute()

通过 Capacitor bridge 执行 SQL 查询(适用于简单查询)。若需处理大数据集以获得更高性能,请通过 SQLConnection 类直接使用 HTTP 协议。

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()

开启数据库事务。

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';

await CapgoCapacitorFastSql.beginTransaction({ database: 'myapp' });
// Execute multiple operations
await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });

commitTransaction()

提交当前事务。

import { CapgoCapacitorFastSql } from '@capgo/capacitor-fast-sql';

await CapgoCapacitorFastSql.commitTransaction({ database: 'myapp' });

上表列出了 8 个核心方法。有关 Listener 和 version 辅助函数以及每个方法的完整契约,请参阅 GitHub 仓库.

完整参考文档

继续阅读 使用 @capgo/capacitor-fast-sql

如果你正在使用 使用 @capgo/capacitor-fast-sql 要规划存储和文件处理,请将其与 @capgo/capacitor-fast-sql 了解 @capgo/capacitor-fast-sql 中的实现细节, 快速入门 有关“入门指南”中的实现细节, @capgo/capacitor-data-storage-sqlite 关于 @capgo/capacitor-data-storage-sqlite 中的实现细节, 使用 @capgo/capacitor-data-storage-sqlite 通过使用 @capgo/capacitor-data-storage-sqlite 获取原生能力,并且 @capgo/capacitor-file 了解 @capgo/capacitor-file. 中的实现细节

常见问题

Fast SQL 插件常见问题

如何在 Capacitor 应用中安装 Fast SQL 插件?

运行 "bun add @capgo/capacitor-fast-sql"(或 "npm install @capgo/capacitor-fast-sql"),然后运行 "bunx cap sync",让 iOS 和 Android 项目加载原生 code。在你的应用 code 中从 "@capgo/capacitor-fast-sql" 导入即可。

@capgo/capacitor-fast-sql 是否支持 React、Vue 和 Angular?

支持。Fast SQL 是一个 Capacitor 包,因此它可以与任何在 Capacitor 中运行的 Web 框架配合使用,包括 Ionic、React、Vue、Angular、Svelte 以及纯 JavaScript。

@capgo/capacitor-fast-sql 支持哪个 Capacitor 版本?

Capgo 插件遵循 Capacitor 的主版本号:请使用与 Capacitor 主版本号一致的插件主版本(例如插件 v8 对应 Capacitor 8)。GitHub README 中的兼容性表列出了仍在维护的版本。

@capgo/capacitor-fast-sql 是免费开源的吗?

是的。code 源码已在 GitHub 公开,地址为 https://github.com/Cap-go/capacitor-fast-sql/,并且你可以通过 npm 免费安装该包。欢迎提交 Bug 报告和 Pull Request。

我可以在不经过 App Store 审核的情况下,更新使用了 Fast SQL 的 code 吗?

安装或升级插件会改动原生 code,因此需要重新做一次商店构建。之后,调用该插件的 JavaScript、HTML 和 CSS 改动就能通过 Capgo live updates 立即发布。

无需等待 App 审核,即可快速发布 SQL 变更

只要插件已包含在你的商店版本中,Capgo live updates 就能在几分钟内把 JavaScript、HTML 和 CSS 的改动推送给用户。

开始使用 Capgo