Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chenhb23/gitee-db
免费的增删改查数据库😏。可在静态页面上直接修改数据库数据,免去服务器环节的费用。可跨域、响应速度快、ts 编写,有完整的接口类型提示!
https://github.com/chenhb23/gitee-db
cross-domain database free openapi typescript
Last synced: 19 days ago
JSON representation
免费的增删改查数据库😏。可在静态页面上直接修改数据库数据,免去服务器环节的费用。可跨域、响应速度快、ts 编写,有完整的接口类型提示!
- Host: GitHub
- URL: https://github.com/chenhb23/gitee-db
- Owner: chenhb23
- License: mit
- Created: 2021-03-15T09:37:07.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-11T08:10:36.000Z (over 3 years ago)
- Last Synced: 2024-11-05T09:48:38.481Z (2 months ago)
- Topics: cross-domain, database, free, openapi, typescript
- Language: TypeScript
- Homepage:
- Size: 557 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `gitee-db` 数据库
白嫖数据库功能😏,实现了增、删、改、查功能。有了它,就可让静态页面拥有动态交互功能,从此免去服务器的费用💰。使用码云的 OpenAPI 实现,可跨域,响应速度一级棒😏。
使用 ts 编写,同时支持 `web`、`node`、`react-native`,有完整的接口入参/出参类型提示,enjoy it !
## 预览
![](./media/request.png)
## 用法
安装: `yarn add https://github.com/chenhb23/gitee-db.git`
使用前先用 `registry` 注册,`registry` 信息获取途径:
1. 在 `gitee` 新建一个仓库(最好设置为私有仓库,防止他人随意提 issue)
2. 获取 `私人令牌`,获取路径:`设置 -> 私人令牌 -> 生成新令牌````ts
import {registry, DB} from 'gitee-db'registry({
access_token: 'your owner access_token', // 私人令牌
owner: 'your owner name', // 用户名
repo: 'your repo name', // 仓库名
});(async () => {
const db = new DB()
// 获取 table 对象
const table = await db.table('tableName')
// 查询第一条数据
const data = await table.findOne()const info = {
user: 'username',
array: [1, 3, 4],
object: {name: 'this is name'},
}
console.log('before', data)
if (data) {
const dto = await table.update(data.id, info)
console.log('after update', dto)
} else {
const dto = await table.insert(info)
console.log('after insert', dto)
}
})()
```## Api
- `findOne(id?: string): Promise>`
- `findMany(options?: {limit?: number; startPage?: number}): Promise<{cur_page: number; list: DTO[]}>`
- `insert(body: T): Promise>`
- `update(id: string, body: Partial, options?: {replace: boolean}): Promise>`
- `delete(id: string): AxiosPromise;`
- `where(filter: (value: DTO) => boolean)`。where 之后只能使用 findOne 和 findMany