# 开发规范

## 注意

如果开发中发现什么开发规则或者技巧，你可以更新在这个文档，供其他人看
如果下面某些端口或者路径访问失败，请询问用户是否启动应用

## 后端开发

### 测试

```bash
//重置数据库
rm /tmp/vb.sqlite
go run cli/main.go -db.type=sqlite -db.dsn /tmp/vb.sqlite -p 4000
```

可以通过 <http://localhost:4000/\_api.json> 查看接口列表

## UI 界面开发指南

- 界面采用 vhtml 框架，该框架可以将一个 html 文件自动加载为一个组件
- 开始写界面前请阅读全局样式文件 /ui/assets/common.css，组件内必须使用全局中的变量去组合或者直接使用全局中的样式， 保证所有界面的样式一致， 比如只能使用颜色变量或者通过 color-mix 函数去包含至少一个颜色变量
- 组件内部避免重复的样式定义 如 body 内无需重复定义字体
- 本项目使用 vhtml-ui 组件库，该组件库可以通过 curl -sS <http://localhost:4000/v/README.md> 查看文档 其组件代码都已经映射到了/v/目录下
- 前端路由文件 /ui/routes.js 该文件定义了所有的路由规则

## vhtml-ui 文档查看方法

curl 指令可以不用沙盒运行
获取文档目录 该操作可以查看所有组件的目录结构
curl -sS <http://localhost:4000/v/docs/README.md?toc=1>
获取文档全文(较长，一般建议查询目录再查询章节内容)
curl -sS <http://localhost:4000/v/docs/README.md>
获取章节内容(可以根据第一步获取的目录编号查询内容) 一般使用这个查询章节内容，查询内容时不能带 toc 参数
curl -sS <http://localhost:4000/v/docs/README.md?from=1.2&to=1.2>
