article.api 2.3 KB
syntax = "v1"

info(
	title: "文章内容处理"
	desc: "编辑处理文章内容"
	author: "author"
	email: "email"
	version: "v1"
)

// 坐标地点描述
type Location {
	Longitude float64 `json:"longitude"` //经度
	Latitude  float64 `json:"latitude"`  //纬度
	Descript  string  `json:"descript"`  //地点描述
}

// 人员的简单展示信息
type Author {
	Id       int64  `json:"id"`       // 人员id
	Name     string `json:"name"`     // 人员的名字
	Avatar   string `json:"avatar"`   // 人员头像URL
	Group    string `json:"group"`    // 人员的分组
	Position string `json:"position"` // 职位
}

// 创建发布文章
type (
	ArticleCreateRequest {
		Title     string   `json:"title"`     //标题
		Section   []string `json:"section"`   //文章的文本内容
		AuthorId  int      `json:"authorId"`  //发布人id
		Images    []string `json:"images"`    //图片
		WhoRead   []int    `json:"whoRead"`   //谁可查看
		WhoReview []int    `json:"whoReview"` //谁可评论
		Location  Location `json:"location"`  //定位坐标
	}
	ArticleCreateResponse {
		Id int64 `json:"id"`
	}
)

// 查看文章的详情
type (
	ArticleGetRequest {
		Id int64 `json:"id"` //id
	}
	ArticleGetResponse {
		Title        string   `json:"title"`        //标题
		AuthorId     int      `json:"authorId"`     //发布人id
		Author       Author   `json:"author"`       //发布人
		CreatedAt    int64    `json:"createdAt"`    //文章的发布时间
		Section      []string `json:"section"`      //文章的文本内容
		Images       []string `json:"images"`       //图片
		WhoRead      []int    `json:"whoRead"`      //谁可查看
		WhoReview    []int    `json:"whoReview"`    //谁可评论
		Location     Location `json:"location"`     //定位坐标
		CountLove    int      `json:"countLove"`    // 点赞数量
		CountComment int      `json:"countComment"` // 评论数量
		Show         int      `json:"showState"`    // 评论的展示状态(0显示、1不显示)
	}
)

// 小程序接口
@server(
	prefix: v1/mini
	group: article
	jwt: MiniAuth
)
service Core {
	@doc "小程序创建发布内容"
	@handler CreateArticle
	post /article (ArticleCreateRequest) returns (ArticleCreateResponse)
	@doc "小程序获取文章内容详情"
	@handler GetArticle
	get /article/:id (ArticleGetRequest) returns (ArticleGetResponse)
}