更新记录
1.0.5(2025-06-13) 下载此版本
优化说明文档
1.0.4(2025-06-13) 下载此版本
添加注释
1.0.3(2025-06-13) 下载此版本
优化内容
查看更多平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
√ | √ | - | - | √ | √ | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
- | - | - | - | - | - | - | - | - | - | - |
lu-sqlite
简介
lu-sqlite
是基于 uni-app 的 SQLite 数据库操作工具库,对 plus.sqlite 进行了 Promise 风格的封装,简化了本地数据库的增删改查等常用操作,适用于 uni-app App 端(安卓/iOS)。
功能特点
- 支持数据库的打开、关闭、表结构管理
- 支持数据的插入、查询、更新、删除
- 所有操作均为 Promise 风格,异步调用更方便
- 代码结构清晰,易于扩展和维护
- 统一的错误处理格式,便于前端统一处理
- 支持表结构变更、批量操作、分页查询等常用功能
目录结构
uni_modules/
└─ lu-sqlite/
├─ js_sdk/
│ └─ sqlite.js // 主数据库操作工具类
└─ readme.md // 说明文档
主要 API
方法名 | 说明 | 参数 | 返回值 |
---|---|---|---|
openSqlite() |
打开数据库 | 无 | Promise<{code, msg, data}> |
closeSqlite() |
关闭数据库 | 无 | Promise<{code, msg}> |
createTable(tableName, fields) |
创建表 | tableName: 表名 fields: 字段定义 |
Promise<{code, msg}> |
addTableField(tableName, field) |
新增表字段 | tableName: 表名 field: 字段定义 |
Promise<{code, msg}> |
deleteTable(tableName) |
删除表 | tableName: 表名 | Promise<{code, msg}> |
insertTableData(tableName, columns, values) |
插入数据 | tableName: 表名 columns: 字段名 values: 字段值 |
Promise<{code, msg}> |
insertOrReplaceData(tableName, columns, values) |
插入或替换数据 | tableName: 表名 columns: 字段名 values: 字段值 |
Promise<{code, msg}> |
selectTableData(tableName, condition) |
查询数据 | tableName: 表名 condition: 查询条件 |
Promise<{code, msg, data}> |
updateTableData(tableName, data, condition) |
更新数据 | tableName: 表名 data: 更新对象 condition: 条件 |
Promise<{code, msg}> |
deleteTableData(tableName, condition) |
删除数据 | tableName: 表名 condition: 条件 |
Promise<{code, msg}> |
isTable(tableName) |
判断表是否存在 | tableName: 表名 | Promise<{code, msg, data: boolean}> |
getAllTable() |
获取所有表信息 | 无 | Promise<{code, msg, data: Array}> |
错误处理
所有方法的 Promise reject 都返回统一格式:
{ code: 错误码, msg: 错误信息, data?: 详细信息 }
前端可统一处理错误码和错误信息。
使用示例
import SQLite from "@/uni_modules/lu-sqlite/js_sdk/sqlite.js";
// 打开数据库
await SQLite.openSqlite();
// 创建表
await SQLite.createTable(
"users",
"id INTEGER PRIMARY KEY, name TEXT, age INTEGER"
);
// 插入数据
await SQLite.insertTableData("users", "id, name, age", '1, "张三", 18');
// 查询数据
const res = await SQLite.selectTableData("users");
console.log(res.data);
// 更新数据
await SQLite.updateTableData("users", { name: "李四" }, "WHERE id=1");
// 删除数据
await SQLite.deleteTableData("users", "WHERE id=1");
// 关闭数据库
await SQLite.closeSqlite();
注意事项
- 使用前需确保 plus.sqlite API 可用(仅 App 端)
- 建议所有数据库操作都加上异常处理
- 表结构变更需谨慎,避免数据丢失
- 插入/更新/删除等操作建议先判断表是否存在