Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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 编写,有完整的接口类型提示!

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