Documentation
¶
Index ¶
- func AdjustLocaleMiddleware(inner http.Handler) http.Handler
- func AdminHome(w http.ResponseWriter, r *http.Request)
- func FlarumAPICreateDiscussion(w http.ResponseWriter, r *http.Request)
- func FlarumAPICreatePost(w http.ResponseWriter, r *http.Request)
- func FlarumAPIDiscussions(w http.ResponseWriter, r *http.Request)
- func FlarumConfirmUserAndPost(w http.ResponseWriter, r *http.Request)
- func FlarumDiscussionDetail(w http.ResponseWriter, r *http.Request)
- func FlarumDiscussionEdit(w http.ResponseWriter, r *http.Request)
- func FlarumIndex(w http.ResponseWriter, r *http.Request)
- func FlarumPosts(w http.ResponseWriter, r *http.Request)
- func FlarumPostsUtils(w http.ResponseWriter, r *http.Request)
- func FlarumTagAll(w http.ResponseWriter, r *http.Request)
- func FlarumUser(w http.ResponseWriter, r *http.Request)
- func FlarumUserLogin(w http.ResponseWriter, r *http.Request)
- func FlarumUserLogout(w http.ResponseWriter, r *http.Request)
- func FlarumUserPage(w http.ResponseWriter, r *http.Request)
- func FlarumUserRegister(w http.ResponseWriter, r *http.Request)
- func FlarumUserSettings(w http.ResponseWriter, r *http.Request)
- func FlarumUserUpdate(w http.ResponseWriter, r *http.Request)
- func GithubOauthCallbackHandler(w http.ResponseWriter, r *http.Request)
- func GithubOauthHandler(w http.ResponseWriter, r *http.Request)
- func InAPIMiddleware(inner http.Handler) http.Handler
- func InAdminMiddleware(inner http.Handler) http.Handler
- func NewCaptcha(w http.ResponseWriter, r *http.Request)
- func RealIPMiddleware(inner http.Handler) http.Handler
- func TrackerMiddleware(inner http.Handler) http.Handler
- type BaseHandler
- func (h *BaseHandler) AuthMiddleware(inner http.Handler) http.Handler
- func (h *BaseHandler) CurrentTpl(r *http.Request) string
- func (h *BaseHandler) CurrentUser(w http.ResponseWriter, r *http.Request) (user model.User, err error)
- func (h *BaseHandler) DelCookie(w http.ResponseWriter, name string)
- func (h *BaseHandler) GetCookie(r *http.Request, name string) string
- func (h *BaseHandler) GetLocaleData(w http.ResponseWriter, r *http.Request)
- func (h *BaseHandler) InitMiddlewareContext(inner http.Handler) http.Handler
- func (h *BaseHandler) OriginMiddleware(inner http.Handler) http.Handler
- func (h *BaseHandler) Render(w http.ResponseWriter, tpl string, data interface{}, tplPath ...string) error
- func (h *BaseHandler) Robots(w http.ResponseWriter, r *http.Request)
- func (h *BaseHandler) SetCookie(w http.ResponseWriter, name, value string, days int) error
- func (h *BaseHandler) UserLogin(w http.ResponseWriter, r *http.Request)
- type BasePageData
- type ContextKey
- type FlarumErrorResponse
- type HTTPHandleFunc
- func ActionRecordsMiddleware(inner HTTPHandleFunc) HTTPHandleFunc
- func IsInAdmin(inner HTTPHandleFunc) HTTPHandleFunc
- func MiddlewareArrayToChains(reqProcessFuncs []HTTPMiddleWareFunc, req HTTPHandleFunc) (rp HTTPHandleFunc)
- func MustAdminUser(inner HTTPHandleFunc) HTTPHandleFunc
- func MustAuthMiddleware(inner HTTPHandleFunc) HTTPHandleFunc
- func MustCSRFMiddleware(inner HTTPHandleFunc) HTTPHandleFunc
- type HTTPMiddleWareFunc
- type PageData
- type ReqContext
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdjustLocaleMiddleware ¶
AdjustLocaleMiddleware 调整用户的语言设置
func FlarumAPICreateDiscussion ¶
func FlarumAPICreateDiscussion(w http.ResponseWriter, r *http.Request)
FlarumAPICreateDiscussion 用户创建一条话题
func FlarumAPICreatePost ¶
func FlarumAPICreatePost(w http.ResponseWriter, r *http.Request)
FlarumAPICreatePost flarum进行评论的接口
func FlarumAPIDiscussions ¶
func FlarumAPIDiscussions(w http.ResponseWriter, r *http.Request)
FlarumAPIDiscussions flarum文章api
func FlarumConfirmUserAndPost ¶
func FlarumConfirmUserAndPost(w http.ResponseWriter, r *http.Request)
FlarumConfirmUserAndPost 确认当前的用户的评论信息 FIXME: 这个函数我只知道是在评论时, @其他用户时会调用这个接口, 但是接口具体的行为还不太了解
func FlarumDiscussionDetail ¶
func FlarumDiscussionDetail(w http.ResponseWriter, r *http.Request)
FlarumDiscussionDetail 获取flarum中的某篇帖子 TODO: #12
func FlarumDiscussionEdit ¶
func FlarumDiscussionEdit(w http.ResponseWriter, r *http.Request)
func FlarumPostsUtils ¶
func FlarumPostsUtils(w http.ResponseWriter, r *http.Request)
FlarumPostsUtils 对于评论的一些操作
func FlarumUserLogin ¶
func FlarumUserLogin(w http.ResponseWriter, r *http.Request)
FlarumUserLogin flarum用户登录
func FlarumUserLogout ¶
func FlarumUserLogout(w http.ResponseWriter, r *http.Request)
FlarumUserLogout flarum用户注销
func FlarumUserPage ¶
func FlarumUserPage(w http.ResponseWriter, r *http.Request)
FlarumUserPage flarum用户查询
func FlarumUserRegister ¶
func FlarumUserRegister(w http.ResponseWriter, r *http.Request)
FlarumUserRegister 用户注册
func FlarumUserSettings ¶
func FlarumUserSettings(w http.ResponseWriter, r *http.Request)
FlarumUserSettings flarum用户查询
func FlarumUserUpdate ¶
func FlarumUserUpdate(w http.ResponseWriter, r *http.Request)
FlarumUserUpdate flarum用户更新配置信息
func GithubOauthCallbackHandler ¶
func GithubOauthCallbackHandler(w http.ResponseWriter, r *http.Request)
GithubOauthCallbackHandler github用户登录回调
func GithubOauthHandler ¶
func GithubOauthHandler(w http.ResponseWriter, r *http.Request)
GithubOauthHandler github用户登录
func InAPIMiddleware ¶
InAPIMiddleware 被此装饰器修饰表明当前请求为API请求
func InAdminMiddleware ¶
InAdminMiddleware 被此装饰器修饰表明当前请求为API请求
func RealIPMiddleware ¶
RealIPMiddleware 获取用户的真实ip
Types ¶
type BaseHandler ¶
type BaseHandler struct {
App *system.Application
}
BaseHandler 基础handler
func (*BaseHandler) AuthMiddleware ¶
func (h *BaseHandler) AuthMiddleware(inner http.Handler) http.Handler
AuthMiddleware 校验用户
func (*BaseHandler) CurrentTpl ¶
func (h *BaseHandler) CurrentTpl(r *http.Request) string
CurrentTpl 当前使用的模板类型
func (*BaseHandler) CurrentUser ¶
func (h *BaseHandler) CurrentUser(w http.ResponseWriter, r *http.Request) (user model.User, err error)
CurrentUser 当前用户 原有的策略是保存用户到文件中, 现在经过重新改写, 将从数据库中获取用户,
func (*BaseHandler) DelCookie ¶
func (h *BaseHandler) DelCookie(w http.ResponseWriter, name string)
DelCookie 删除Cookie, 用户下线
func (*BaseHandler) GetCookie ¶
func (h *BaseHandler) GetCookie(r *http.Request, name string) string
GetCookie 根据name获取当前所存的cookie值
func (*BaseHandler) GetLocaleData ¶
func (h *BaseHandler) GetLocaleData(w http.ResponseWriter, r *http.Request)
GetLocaleData 获取地区对应的语言包
func (*BaseHandler) InitMiddlewareContext ¶
func (h *BaseHandler) InitMiddlewareContext(inner http.Handler) http.Handler
InitMiddlewareContext 初始化的中间件需要的数据结构
中间件中传递数据依赖于context设计, 当前的context作为结构体而存在, 每次请求时新建一个对应的结构体, 并存储相关信息, 在真正处理请求时, 获取该结构体, 并获得中间件传递的信息.
func (*BaseHandler) OriginMiddleware ¶
func (h *BaseHandler) OriginMiddleware(inner http.Handler) http.Handler
OriginMiddleware 有关跨域问题的处理
func (*BaseHandler) Render ¶
func (h *BaseHandler) Render(w http.ResponseWriter, tpl string, data interface{}, tplPath ...string) error
Render 渲染html *
- .. version_changed: 2020-05-28 增加了对flaru主题的支持, 将会渲染不同的模板
func (*BaseHandler) Robots ¶
func (h *BaseHandler) Robots(w http.ResponseWriter, r *http.Request)
func (*BaseHandler) SetCookie ¶
func (h *BaseHandler) SetCookie(w http.ResponseWriter, name, value string, days int) error
SetCookie 浏览器设置cookie
func (*BaseHandler) UserLogin ¶
func (h *BaseHandler) UserLogin(w http.ResponseWriter, r *http.Request)
UserLogin 用户登录与注册页面
type BasePageData ¶
type BasePageData struct { SiteCf *model.SiteConf Title string Keywords string Description string IsMobile bool IsInAdmin bool // 是否在admin页面中 CurrentUser model.User // 历史原因: 这里切换成指针有太多的报错, 暂时不处理 PageName string // index/post_add/post_detail/... ShowPostTopAd bool ShowPostBotAd bool ShowSideAd bool NewestNodes []model.Tag SiteInfo model.SiteInfo PrimaryColor string }
BasePageData 每个页面中的基础信息
type FlarumErrorResponse ¶
type FlarumErrorResponse struct {
Errors []flarumError `json:"errors"`
}
FlarumErrorResponse flarum API调用时出现的错误
type HTTPHandleFunc ¶
type HTTPHandleFunc func(w http.ResponseWriter, r *http.Request)
HTTPHandleFunc 用于处理http请求的函数
func ActionRecordsMiddleware ¶
func ActionRecordsMiddleware(inner HTTPHandleFunc) HTTPHandleFunc
Record user actions If you want to make records, here is an example:
ctx.actionRecords = "Create a new discussion"
func MiddlewareArrayToChains ¶
func MiddlewareArrayToChains(reqProcessFuncs []HTTPMiddleWareFunc, req HTTPHandleFunc) (rp HTTPHandleFunc)
MiddlewareArrayToChains 中间件整理成链式的函数调用形式
当我们某个使用了多个中间件时, 可以方便的进行整合:
sp.HandleFunc(pat.Get("/"), controller.ArrayToChains(
[]controller.ReqMiddle{ controller.TestMiddleware, controller.TestMiddleware2, }, h.FlarumIndex,
))
将会返回被中间件包裹的如下形式的函数: controller.TestMiddleware(controller.TestMiddleware2(h.FlarumIndex))
func MustAdminUser ¶
func MustAdminUser(inner HTTPHandleFunc) HTTPHandleFunc
MustAdminUser 必须为管理员才能操作
func MustAuthMiddleware ¶
func MustAuthMiddleware(inner HTTPHandleFunc) HTTPHandleFunc
MustAuthMiddleware 要求用户必须登录
func MustCSRFMiddleware ¶
func MustCSRFMiddleware(inner HTTPHandleFunc) HTTPHandleFunc
MustCSRFMiddleware 检查csrf token
type HTTPMiddleWareFunc ¶
type HTTPMiddleWareFunc func(inner HTTPHandleFunc) HTTPHandleFunc
HTTPMiddleWareFunc 中间件函数
type PageData ¶
type PageData struct { BasePageData PageInfo model.ArticlePageInfo Cobj model.Tag Aobj model.Topic FlarumInfo interface{} FlarumJSPrefix string PluginHTML map[string]string }
PageData 每个页面中的全部信息
type ReqContext ¶
type ReqContext struct {
// contains filtered or unexported fields
}
ReqContext 请求时将会携带的contex信息
func GetRetContext ¶
func GetRetContext(r *http.Request) *ReqContext
GetRetContext 获取当前上线信息中的自有的context
func (*ReqContext) GetLogger ¶
func (ctx *ReqContext) GetLogger() *logging.Logger
GetLogger 获取当前的logger TODO: 期望未来能按照用户进行日志打印