handler

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2025 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdminLogin

func AdminLogin(app *core.App, router fiber.Router)

@Summary 登录 @Description 管理员使用用户名和密码进行登录,若登录成功,返回token @Tags 站点管理 @Param adminLoginParams body AdminLoginParams true "登录凭据" @Success 200 {object} common.Resp{data=AdminLoginResp} "登录成功" @Failure 400 {object} common.Resp "缺少必要参数" @Failure 401 {object} common.Resp "用户名或密码错误" @Router /admin/login [post]

func AdminSiteUpdate

func AdminSiteUpdate(app *core.App, router fiber.Router)

@Summary 更新站点信息 @Description 更新站点的名称、URL、描述和图标 @Tags 站点管理 @Param adminSiteUpdateParams body AdminSiteUpdateParams true "站点信息" @Success 200 {object} common.Resp "操作成功, 部分主题可能需重新部署生效" @Failure 400 {object} common.Resp "缺少参数" @Security ApiKeyAuth @Router /admin/site [PUT]

func AdminTokenState

func AdminTokenState(app *core.App, router fiber.Router)

@Summary 获取token状态 @Description 获取当前token的状态 @Tags 站点管理 @Success 200 {object} common.Resp{data=bool} "若值为true则token有效" @Security ApiKeyAuth @Router /admin/tokenState [GET]

func AdminUserInfo

func AdminUserInfo(app *core.App, router fiber.Router)

@Summary 获取管理员信息 @Description 获取管理员信息 @Tags 站点管理 @Success 200 {object} common.Resp{data=RespUserInfo} @Router /admin/userInfo [GET]

func AdminUserUpdate

func AdminUserUpdate(app *core.App, router fiber.Router)

@Summary 更新用户信息 @Description 管理员更新用户信息 @Tags 站点管理 @Param adminUserUpdateParams body AdminUserUpdateParams true "用户信息" @Success 200 {object} common.Resp @Failure 400 {object} common.Resp @Router /user/{username} [put]

func Apidoc

func Apidoc(app *core.App, router fiber.Router)

func ArticleAdd

func ArticleAdd(app *core.App, router fiber.Router)

@Summary 添加文章 @Description 添加一篇新的文章 @Tags 文章 @Param slug path string true "文章slug" @Param articleAddParams body ArticleAddParams true "文章参数" @Success 200 {object} common.Resp "操作成功" @Failure 400 {object} common.Resp "缺少必要参数" @Failure 409 {object} common.Resp "slug已被其他文章使用" @Security ApiKeyAuth @Router /article/{slug} [post]

func ArticleDelete

func ArticleDelete(app *core.App, router fiber.Router)

@Summary 删除文章 @Description 根据slug删除文章 @Tags 文章 @Param slug path string true "文章的slug" @Success 200 {object} common.Resp "删除成功" @Failure 400 {object} common.Resp "缺少必要参数" @Failure 404 {object} common.Resp "未知的文章" @Security ApiKeyAuth @Router /article/{slug} [delete]

func ArticleList

func ArticleList(app *core.App, router fiber.Router)

@Summary 分页获取文章列表 @Description 分页获取文章列表 @Tags 文章 @Param pageIndex query int false "页码, 默认为1" @Param pageSize query int false "每页数量, 默认为10" @Param content query bool false "是否返回文章内容, 默认为false" @Success 200 {object} common.Resp{data=ArticlesListResp} "成功返回文章列表" @Failure 400 {object} common.Resp "参数不合法" @Failure 500 {object} common.Resp "服务器内部错误" @Router /article/list [get]

func ArticleSlug

func ArticleSlug(app *core.App, router fiber.Router)

@Summary 获取文章详情 @Description 根据slug获取文章详情 @Tags 文章 @Param slug path string true "文章slug" @Success 200 {object} common.Resp{data=model.Article} "操作成功" @Failure 400 {object} common.Resp "缺少必要参数" @Failure 404 {object} common.Resp "未知的slug" @Router /article/{slug} [get]

func ArticleUpdate

func ArticleUpdate(app *core.App, router fiber.Router)

@Summary 更新文章 @Description 根据slug更新文章的标题、描述和内容 @Tags 文章 @Param slug path string true "文章的slug" @Param articleUpdateParams body ArticleUpdateParams true "文章更新参数" @Success 200 {object} common.Resp "更新成功" @Failure 400 {object} common.Resp "缺失参数" @Failure 404 {object} common.Resp "未知的文章" @Security ApiKeyAuth @Router /article/{slug} [put]

func Feed added in v0.2.0

func Feed(app *core.App, router fiber.Router)

@Summary 获取Feed @Description 获取包含所有文章的Feed @Tags Feed @Produce xml @Success 200 "RSS Feed" @Failure 500 {object} common.Resp "服务器错误" @Router /rss [get]

func FriendAdd

func FriendAdd(app *core.App, router fiber.Router)

@Summary 添加友情链接 @Description 添加友情链接 @Tags 友情链接 @Accept json @Produce json @Param friendAddParams body FriendAddParams true "友情链接信息" @Success 200 {object} common.Resp{data=model.Friend} "添加友情链接成功" @Failure 400 {object} common.Resp "请求参数错误" @Failure 500 {object} common.Resp "服务器内部错误" @Security ApiKeyAuth @Router /friend [post]

func FriendDelete

func FriendDelete(app *core.App, router fiber.Router)

@Summary 删除友情链接 @Description 根据ID删除一个已存在的友情链接 @Tags 友情链接 @Accept json @Produce json @Param id path integer true "友情链接的ID" @Success 200 {object} common.Resp "删除友情链接成功" @Failure 400 {object} common.Resp "无效的ID格式" @Failure 404 {object} common.Resp "链接不存在" @Failure 500 {object} common.Resp "服务器内部错误" @Security ApiKeyAuth @Router /friend/{id} [delete]

func FriendList

func FriendList(app *core.App, router fiber.Router)

@Summary 获取友情链接 @Description 分页获取友情链接, 若token有效则返回所有友情链接, 否则只返回可见的友情链接 @Tags 友情链接 @Accept json @Produce json @Param pageIndex query integer false "页码,默认为1" @Param pageSize query integer false "每页大小,默认为10" @Success 200 {object} FriendListResp "获取友情链接成功" @Failure 500 {object} common.Resp "服务器内部错误" @Router /friend/list [get]

func FriendUpdate

func FriendUpdate(app *core.App, router fiber.Router)

@Summary 更新友情链接 @Description 更新友情链接 @Tags 友情链接 @Accept json @Produce json @Param friendUpdateParams body FriendUpdateParams true "更新友情链接参数" @Success 200 {object} common.Resp{} "更新友情链接成功" @Failure 400 {object} common.Resp "请求参数错误" @Failure 500 {object} common.Resp "服务器内部错误" @Security ApiKeyAuth @Router /friend/{id} [put]

func Init

func Init(app *core.App, router fiber.Router)

@Summary 初始化站点 @Description 使用给定的参数初始化站点 @Tags 站点管理 @Accept json @Produce json @Param initParams body InitParams true "初始化参数" @Success 200 {object} common.Resp "初始化成功" @Failure 400 {object} common.Resp "无效的邮箱或URL" @Failure 403 {object} common.Resp "此站点已初始化" @Router /init [post]

func NotFound

func NotFound(app *core.App, router fiber.Router)

func Site

func Site(app *core.App, router fiber.Router)

@Summary 获取站点信息 @Description 获取站点信息 @Tags 站点 @Success 200 {object} common.Resp{data=model.Site} @Router /site [get]

func Version

func Version(app *core.App, router fiber.Router)

@Summary 获取reblog版本信息 @Description 获取reblog版本信息 @Tags 版本 @Success 200 {object} common.Resp{data=RespVersion} @Router /version [get]

Types

type AdminLoginParams

type AdminLoginParams struct {
	Username string `json:"username" validate:"required"`
	Password string `json:"password" validate:"required"`
}

type AdminLoginResp

type AdminLoginResp struct {
	Token string `json:"token"`
}

type AdminSiteUpdateParams

type AdminSiteUpdateParams struct {
	Name string `json:"name" validate:"required"`
	Url  string `json:"url" validate:"required,url"`
	Desc string `json:"desc" validate:"required"`
	Icon string `json:"icon"`
}

type AdminUserUpdateParams

type AdminUserUpdateParams struct {
	Username string `json:"username" validate:"required,alphanum,min=3,max=32"`
	Nickname string `json:"nickname" validate:"required,min=2,max=32"`
	Email    string `json:"email" validate:"required,email"`
	Password string `json:"password" validate:"required,min=6,max=32"`
}

type ArticleAddParams

type ArticleAddParams struct {
	Slug    string `json:"slug" validate:"required"`
	Title   string `json:"title" validate:"required"`
	Desc    string `json:"desc" validate:"required"`
	Cover   string `json:"cover"`
	Content string `json:"content" validate:"required"`
	Draft   bool   `json:"draft"`
}

type ArticleDeleteParams

type ArticleDeleteParams struct {
	Slug string `json:"slug" validate:"required"`
}

type ArticleListParams

type ArticleListParams struct {
	PageIndex int  `json:"pageIndex" default:"1" validate:"min=1"`
	PageSize  int  `json:"pageSize" default:"10" validate:"min=1"`
	Content   bool `json:"content" default:"false"`
}

type ArticleUpdateParams

type ArticleUpdateParams struct {
	Slug    string `json:"slug" validate:"required"`
	Title   string `json:"title" validate:"required"`
	Desc    string `json:"desc" validate:"required"`
	Cover   string `json:"cover"`
	Content string `json:"content" validate:"required"`
	Draft   bool   `json:"draft"`
}

type ArticlesListResp

type ArticlesListResp struct {
	Count    int64            `json:"count"`
	Articles []*model.Article `json:"articles"`
}

type FriendAddParams

type FriendAddParams struct {
	Name   string `json:"name" validate:"required,max=32"`
	Avatar string `json:"avatar" validate:"required,url"`
	URL    string `json:"url" validate:"required,url"`
	Desc   string `json:"desc" validate:"max=256"`
}

type FriendListParams

type FriendListParams struct {
	PageIndex int `json:"pageIndex" default:"1" validate:"min=1"`
	PageSize  int `json:"pageSize" default:"10" validate:"min=1"`
}

type FriendListResp

type FriendListResp struct {
	Count   int64           `json:"count"`
	Friends []*model.Friend `json:"friends"`
}

type FriendUpdateParams

type FriendUpdateParams struct {
	Name    string `json:"name"`
	Avatar  string `json:"avatar"`
	Desc    string `json:"desc"`
	URL     string `json:"url"`
	Visible bool   `json:"visible"`
}

type InitParams

type InitParams struct {
	Username string `json:"username" validate:"required"`
	Nickname string `json:"nickname" validate:"required"`
	Email    string `json:"email" validate:"required,email"`
	Password string `json:"password" validate:"required"`
	Name     string `json:"name" validate:"required"`
	Url      string `json:"url" validate:"required,url"`
	Desc     string `json:"desc"`
	Icon     string `json:"icon"`
}

type RespUserInfo

type RespUserInfo struct {
	Username string `json:"username"`
	Nickname string `json:"nickname"`
}

type RespVersion

type RespVersion struct {
	AppName string `json:"app_name"`
	Version string `json:"version"`
	Commit  string `json:"commit"`
	Runtime string `json:"runtime"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL