├── config 系统配置文件
├── controller 模拟控制器
├── middelware 中间件模拟鉴权
├── model 数据模型
├── router 路由模块
├── service 业务逻辑服务提供统一入口
├── vendor mod依赖
- consult.sql migrates文件
- main.go 主程序
- 配置文件: config/config.json
{
"Env": "develop",//环境设置
"Port": "8080", //http服务监听端口
"MySqlDsn": "root:wwww@(127.0.0.1:10110)/consult?charset=utf8&parseTime=True&loc=Local" //mysql连接dsn
}
1.执行sql文件
2.配置自己的config.json
3.根目录go run main.go or go build
1. 前台发布咨询
用户发布咨询
JSON
POST
参数 必选 类型 说明 content true string 咨询内容
{
"code": 0,
"Msg": "咨询字符数必须大于10"
}
{
"code": 1,
"Msg": "发布成功,咨询id:16"
}
2. 回复咨询
回复咨询,须是律师用户
JSON
POST
参数 必选 类型 说明 consult_id true int 对应咨询的id reply true string 回复的内容 lawyer_id true int 律师id(目前仅中间件模拟 2379用户locked)
{
"code": 0,
"Msg": "没有该条源咨询"
}
header:403 Forbidden
{
"code": 0,
"Msg": "you are not a lawyer"
}
{
"code": 1,
"Msg": {
"Id": 12,//回复id
"reply": "ceshidata",//咨询的内容
"lawyer_id": 1233,//回复的律师id
"created_at": "2020-09-14T17:24:14.260772+08:00"//回复时间
}
}
3. 前台获取咨询信息
获取咨询,同时返回所有该咨询的所有回复
JSON
GET
参数 必选 类型 说明 ID true int 咨询id
{ "code": 0, "Msg": "没有查询到该咨询信息" }
{
"code": 1,
"Msg": {
"Id": 10, //咨询id
"content": "啊实打实的按时打算", //咨询内容
"Replys": [ //该咨询关联的回复
{
"Id": 1, //回复id
"reply": "teshreply", //回复内容
"lawyer_id": 1233, //律师id
"created_at": "2020-09-14T14:47:10+08:00"//回复时间
},
{
"Id": 2,
"reply": "tesh123reply",
"lawyer_id": 1233,
"created_at": "2020-09-14T14:47:15+08:00"
},
{
"Id": 3,
"reply": "tesh123reply",
"lawyer_id": 1233,
"created_at": "2020-09-14T14:48:16+08:00"
}
],
"created_at": "2020-09-14T14:34:22+08:00"
}
}