## 字段规范
注意数据库字段、类属性、json都统一采用首字母小写的驼峰法,如userName orderNo createTime。数据库表名、模块名仍然采用下划线命名方式,如core_user,cms_post。
,文档中的实例如果有下划线法的,是未更新导致,请自行修改按照驼峰法命名方式。
## 软删除
每张表建议都建立一个deleteTime字段,默认值0,来做软删除功能。
## 路由
UniAdmin已开启强制路由,意味着每个接口必须存在于core_menu表里,否则会报路由不存在错误。
## 后端分层
一般是controller->service->model
## 接口返回数据
### 返回正确
```
return $this->return(['code' => 200, 'msg' => '成功', 'data' => [
'dataList' => $dataList
]]);
```
### 返回错误
```
return $this->return(['code' => 0, 'msg' => 'xxx错误', 'data' => [
]]);
```
## service层报错
注意在service层的一切报错必须用try块加Exception的方式
```
try {
if (xxx) {
throw new \Exception('该手机号已经被注册', 0);
}
} catch (\Exception $e) {
throw new \Exception($e->getMessage(), 0);
}
```
## controller层报错
注意在controller层的一切报错必须用try块加Exception的方式
```
try {
// 实例化某个service并调用其方法
if (xxx) {
throw new \think\Exception('该手机号已经被注册', 0);
}
} catch (\Exception $e)) {
return $this->return(['code' => $e->getCode(), 'msg' => $e->getMessage(), 'data' => [
]]);
}
```
- 说明
- 简介
- 系统安装
- 后端注意
- 目录结构
- 数据表
- 用户注册
- 前端注意
- 后端接口开发
- 新建模块
- 创建数据表
- 创建模型
- 创建后台控制器
- 添加后台接口
- 创建前台控制器
- 添加前台接口
- 常用接口
- 检查用户登录
- 内置接口
- Builder动态页面
- Builder列表
- addTopButton
- addRightButton
- addColumn
- setDataList
- setDataPage
- getData
- Builder表单
- setFormMethod
- addFormItem
- 单图image
- 多图images
- addFormRule
- setFormValues
- getData
- 自定义组件
- 自定义页面组件
- 自定义Form组件
- 加载第三方js插件
- 常见问题
- 模块开发者
- 升级指南
- 图标
- 扩展
- Composer
- ThinkPHP5.1
- GuzzleHttp
- phpspreadsheet
- QueryList
- phpseclib
- 云后台接口