handler

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2026 License: MIT Imports: 68 Imported by: 0

Documentation

Overview

Package handler 提供 gin 的前台与后台 HTTP 处理器。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Admin

type Admin struct {
	// contains filtered or unexported fields
}

Admin 是后台处理器。

func NewAdmin

func NewAdmin(st *store.Store, cfg *config.Config, renderer *renderx.Renderer, assets *LocalFirstFileSystem, tm *ThemeManager, pm *PluginManager) *Admin

NewAdmin 构造后台处理器。

func (*Admin) ApplyAppUpdate

func (h *Admin) ApplyAppUpdate(c *gin.Context)

ApplyAppUpdate 启动后台更新任务,避免下载过程被浏览器或反向代理请求超时中断。

func (*Admin) BackupDelete

func (h *Admin) BackupDelete(c *gin.Context)

BackupDelete 删除指定备份文件。

func (*Admin) BackupEmail

func (h *Admin) BackupEmail(c *gin.Context)

BackupEmail 创建备份并通过邮件发送。

func (*Admin) BackupNow

func (h *Admin) BackupNow(c *gin.Context)

BackupNow 手动创建备份。

func (*Admin) BackupPage

func (h *Admin) BackupPage(c *gin.Context)

BackupPage 备份管理页面。

func (*Admin) BackupRestore

func (h *Admin) BackupRestore(c *gin.Context)

BackupRestore 从备份文件恢复数据库。

func (*Admin) BatchComments

func (h *Admin) BatchComments(c *gin.Context)

BatchComments 批量操作评论(approve/pending/spam/delete)。

func (*Admin) BeginPasskeyRegistration

func (h *Admin) BeginPasskeyRegistration(c *gin.Context)

BeginPasskeyRegistration 开始为当前用户注册 Passkey。

func (*Admin) CategoriesPage

func (h *Admin) CategoriesPage(c *gin.Context)

CategoriesPage 分类管理页。

func (*Admin) CheckAppUpdate

func (h *Admin) CheckAppUpdate(c *gin.Context)

CheckAppUpdate 查询 GitHub 公开 Release 的最新版本并回到开发设置页展示结果。

func (*Admin) CreateUser

func (h *Admin) CreateUser(c *gin.Context)

CreateUser 创建新用户(admin only)。

func (*Admin) Dashboard

func (h *Admin) Dashboard(c *gin.Context)

Dashboard 后台首页。

func (*Admin) DebugPage

func (h *Admin) DebugPage(c *gin.Context)

DebugPage 是只读 SQL 调试页,以 JSON 展示结果集。

func (*Admin) DeleteAccount

func (h *Admin) DeleteAccount(c *gin.Context)

DeleteAccount 删除当前用户账号(POST)。

func (*Admin) DeleteAccountPage

func (h *Admin) DeleteAccountPage(c *gin.Context)

DeleteAccountPage 删除账号页面(GET)。

func (*Admin) DeleteCategory

func (h *Admin) DeleteCategory(c *gin.Context)

DeleteCategory 删除分类。

func (*Admin) DeleteMyComment

func (h *Admin) DeleteMyComment(c *gin.Context)

DeleteMyComment 删除当前用户的评论。

func (*Admin) DeletePasskey

func (h *Admin) DeletePasskey(c *gin.Context)

DeletePasskey 删除当前用户的一个 Passkey。

func (*Admin) DeletePost

func (h *Admin) DeletePost(c *gin.Context)

DeletePost 删除文章/页面。

func (*Admin) DeleteTag

func (h *Admin) DeleteTag(c *gin.Context)

DeleteTag 删除标签。

func (*Admin) DeleteUpload

func (h *Admin) DeleteUpload(c *gin.Context)

DeleteUpload 删除上传文件及元数据。

func (*Admin) DeleteUser

func (h *Admin) DeleteUser(c *gin.Context)

DeleteUser 删除用户(admin only)。

func (*Admin) DeveloperSettingsPage

func (h *Admin) DeveloperSettingsPage(c *gin.Context)

DeveloperSettingsPage 后台开发设置页。

func (*Admin) DisableTwoFactor

func (h *Admin) DisableTwoFactor(c *gin.Context)

DisableTwoFactor 关闭当前用户两步验证。

func (*Admin) EditComment

func (h *Admin) EditComment(c *gin.Context)

EditComment 修改评论内容和作者元信息。

func (*Admin) EditMyComment

func (h *Admin) EditMyComment(c *gin.Context)

EditMyComment 修改当前登录用户自己的评论。

func (*Admin) EditPostForm

func (h *Admin) EditPostForm(c *gin.Context)

EditPostForm 显示新建/编辑表单。id=0 或缺省为新建。

func (*Admin) EditUserForm

func (h *Admin) EditUserForm(c *gin.Context)

EditUserForm 编辑用户表单(admin only)。

func (*Admin) EnableTwoFactor

func (h *Admin) EnableTwoFactor(c *gin.Context)

EnableTwoFactor 开启当前用户两步验证。

func (*Admin) ExportData

func (h *Admin) ExportData(c *gin.Context)

ExportData 导出当前用户个人数据(JSON, POST)。

func (*Admin) ExportDataPage

func (h *Admin) ExportDataPage(c *gin.Context)

ExportDataPage 导出数据页面(GET)。

func (*Admin) ExportXML

func (h *Admin) ExportXML(c *gin.Context)

ExportXML 导出可被当前后台重新导入的 XML。

func (*Admin) FinishPasskeyRegistration

func (h *Admin) FinishPasskeyRegistration(c *gin.Context)

FinishPasskeyRegistration 完成当前用户 Passkey 注册。

func (*Admin) ImportPage

func (h *Admin) ImportPage(c *gin.Context)

ImportPage 显示 WXR 导入/导出页。

func (*Admin) ImportXML

func (h *Admin) ImportXML(c *gin.Context)

ImportXML 处理后台上传的 WXR XML。 两步流程: 1) 上传 XML 预览作者映射; 2) 确认映射后执行导入。

func (*Admin) ListComments

func (h *Admin) ListComments(c *gin.Context)

ListComments 后台评论列表。支持 mine=1 参数过滤当前用户的评论。

func (*Admin) ListPosts

func (h *Admin) ListPosts(c *gin.Context)

ListPosts 后台文章/页面列表。type 查询参数区分。

func (*Admin) ListUsers

func (h *Admin) ListUsers(c *gin.Context)

ListUsers 后台用户列表(admin only)。

func (*Admin) MenusPage

func (h *Admin) MenusPage(c *gin.Context)

MenusPage 渲染导航菜单配置页。

func (*Admin) ModerateComment

func (h *Admin) ModerateComment(c *gin.Context)

ModerateComment 审核评论(approve/spam/delete)。

func (*Admin) NewUserForm

func (h *Admin) NewUserForm(c *gin.Context)

NewUserForm 新增用户表单(admin only)。

func (*Admin) PluginAction

func (h *Admin) PluginAction(c *gin.Context)

PluginAction 处理插件启用、停用和重载。

func (*Admin) PluginDownload

func (h *Admin) PluginDownload(c *gin.Context)

PluginDownload 下载指定插件为 zip 包。

func (*Admin) PluginSettingsPage

func (h *Admin) PluginSettingsPage(c *gin.Context)

PluginSettingsPage 渲染插件设置页。

func (*Admin) PluginUpload

func (h *Admin) PluginUpload(c *gin.Context)

PluginUpload 处理插件 zip 上传。

func (*Admin) PluginsPage

func (h *Admin) PluginsPage(c *gin.Context)

PluginsPage 渲染插件管理页面。

func (*Admin) Preview

func (h *Admin) Preview(c *gin.Context)

Preview 渲染 Markdown 为 HTML 片段(后台编辑预览,Ajax)。

func (*Admin) ProfilePage

func (h *Admin) ProfilePage(c *gin.Context)

ProfilePage 后台个人资料页(所有角色可访问)。

func (*Admin) ReleaseAssets

func (h *Admin) ReleaseAssets(c *gin.Context)

ReleaseAssets 把嵌入资源释放到本地目录。释放完成后当前进程会自动优先读取该目录。

func (*Admin) ReleaseI18n

func (h *Admin) ReleaseI18n(c *gin.Context)

ReleaseI18n 把嵌入翻译资源释放到本地目录,并切换当前进程优先读取本地目录。

func (*Admin) ReleaseTemplates

func (h *Admin) ReleaseTemplates(c *gin.Context)

ReleaseTemplates 把嵌入模板释放到本地目录,并切换为 hot 模式。

func (*Admin) ReloadPlugins

func (h *Admin) ReloadPlugins(c *gin.Context)

ReloadPlugins 从开发设置页重载所有已启用插件资源。

func (*Admin) ReloadTemplates

func (h *Admin) ReloadTemplates(c *gin.Context)

ReloadTemplates 手动重新解析本地模板文件。仅热更新模式支持。

func (*Admin) ReloadTheme

func (h *Admin) ReloadTheme(c *gin.Context)

ReloadTheme 从开发设置页重载当前主题。

func (*Admin) ReplyComment

func (h *Admin) ReplyComment(c *gin.Context)

ReplyComment 在后台直接回复一条评论。回复默认已批准,并复用前台回复通知逻辑通知被回复者。

func (*Admin) RevisionRestore

func (h *Admin) RevisionRestore(c *gin.Context)

RevisionRestore 回滚到指定修订版本。

func (*Admin) RevisionView

func (h *Admin) RevisionView(c *gin.Context)

RevisionView 查看单个修订版本的内容。

func (*Admin) RevisionsPage

func (h *Admin) RevisionsPage(c *gin.Context)

RevisionsPage 显示文章的修订版本列表。

func (*Admin) SaveBackupSettings

func (h *Admin) SaveBackupSettings(c *gin.Context)

SaveBackupSettings 保存自动备份设置。

func (*Admin) SaveCategory

func (h *Admin) SaveCategory(c *gin.Context)

SaveCategory 保存分类。

func (*Admin) SaveLogLevelSettings

func (h *Admin) SaveLogLevelSettings(c *gin.Context)

SaveLogLevelSettings 保存日志级别设置并立即生效。

func (*Admin) SaveMenus

func (h *Admin) SaveMenus(c *gin.Context)

SaveMenus 保存当前主题声明位置的菜单配置。

func (*Admin) SaveMetricsAuthSettings

func (h *Admin) SaveMetricsAuthSettings(c *gin.Context)

SaveMetricsAuthSettings 保存 /metrics Basic Auth 密码。

func (*Admin) SavePasswordSettings

func (h *Admin) SavePasswordSettings(c *gin.Context)

SavePasswordSettings 修改当前用户密码。

func (*Admin) SavePluginSettings

func (h *Admin) SavePluginSettings(c *gin.Context)

SavePluginSettings 保存插件全局设置。

func (*Admin) SavePost

func (h *Admin) SavePost(c *gin.Context)

SavePost 保存文章/页面。正文以 Markdown 原文存 ContentMD,渲染后的 HTML 存 Content。

func (*Admin) SaveProfileSettings

func (h *Admin) SaveProfileSettings(c *gin.Context)

SaveProfileSettings 保存当前用户个人资料。非管理员不能自助修改用户名。

func (*Admin) SaveSMTPSettings

func (h *Admin) SaveSMTPSettings(c *gin.Context)

SaveSMTPSettings 只保存 SMTP 邮件设置,避免触发站点设置必填项校验。

func (*Admin) SaveSQLDetailsSettings

func (h *Admin) SaveSQLDetailsSettings(c *gin.Context)

SaveSQLDetailsSettings 保存 SQL 详情输出开关。

func (*Admin) SaveSessionSettings

func (h *Admin) SaveSessionSettings(c *gin.Context)

SaveSessionSettings 重新生成 session secret。修改后所有登录用户都需要重新登录。

func (*Admin) SaveSiteSettings

func (h *Admin) SaveSiteSettings(c *gin.Context)

SaveSiteSettings 保存站点名称/描述。

func (*Admin) SaveTag

func (h *Admin) SaveTag(c *gin.Context)

SaveTag 保存标签。

func (*Admin) SaveThemeOptions

func (h *Admin) SaveThemeOptions(c *gin.Context)

SaveThemeOptions 保存主题选项。

func (*Admin) SaveUpdateSettings

func (h *Admin) SaveUpdateSettings(c *gin.Context)

SaveUpdateSettings 保存后台更新相关设置。

func (*Admin) SaveWidgets

func (h *Admin) SaveWidgets(c *gin.Context)

SaveWidgets 保存组件配置(对象数组格式,支持组件选项和重复组件)。

func (*Admin) SettingsPage

func (h *Admin) SettingsPage(c *gin.Context)

SettingsPage 后台设置页:站点设置。

func (*Admin) Store

func (h *Admin) Store() *store.Store

func (*Admin) TagsPage

func (h *Admin) TagsPage(c *gin.Context)

TagsPage 标签管理页。

func (*Admin) TermsPage

func (h *Admin) TermsPage(c *gin.Context)

TermsPage 兼容旧分类/标签入口,按查询参数跳转到对应的新页面。

func (*Admin) TestSMTPSettings

func (h *Admin) TestSMTPSettings(c *gin.Context)

TestSMTPSettings 保存当前表单中的 SMTP 配置后发送测试邮件。

func (*Admin) ThemeActivate

func (h *Admin) ThemeActivate(c *gin.Context)

ThemeActivate 激活指定主题。

func (*Admin) ThemeDelete

func (h *Admin) ThemeDelete(c *gin.Context)

ThemeDelete 删除指定主题。

func (*Admin) ThemeDownload

func (h *Admin) ThemeDownload(c *gin.Context)

ThemeDownload 下载指定主题为 zip 包。

func (*Admin) ThemeFileCreate

func (h *Admin) ThemeFileCreate(c *gin.Context)

ThemeFileCreate 新建主题文件。

func (*Admin) ThemeFileDelete

func (h *Admin) ThemeFileDelete(c *gin.Context)

ThemeFileDelete 删除主题文件。

func (*Admin) ThemeFileRead

func (h *Admin) ThemeFileRead(c *gin.Context)

ThemeFileRead 读取主题文件内容。

func (*Admin) ThemeFileReload

func (h *Admin) ThemeFileReload(c *gin.Context)

ThemeFileReload 重载当前编辑器资源。

func (*Admin) ThemeFileSave

func (h *Admin) ThemeFileSave(c *gin.Context)

ThemeFileSave 保存主题文件内容。

func (*Admin) ThemeFilesPage

func (h *Admin) ThemeFilesPage(c *gin.Context)

ThemeFilesPage 渲染主题/插件文件编辑器页面。

func (*Admin) ThemeOptionsPage

func (h *Admin) ThemeOptionsPage(c *gin.Context)

ThemeOptionsPage 主题选项配置页。

func (*Admin) ThemePreview

func (h *Admin) ThemePreview(c *gin.Context)

ThemePreview 设置管理员主题预览(写入 session,不持久化到 DB)。

func (*Admin) ThemePreviewClear

func (h *Admin) ThemePreviewClear(c *gin.Context)

ThemePreviewClear 清除管理员主题预览。

func (*Admin) ThemeRecoveryClear

func (h *Admin) ThemeRecoveryClear(c *gin.Context)

ThemeRecoveryClear 清除恢复信息(管理员确认后)。

func (*Admin) ThemeReload

func (h *Admin) ThemeReload(c *gin.Context)

ThemeReload 手动重载当前主题。

func (*Admin) ThemeScreenshot

func (h *Admin) ThemeScreenshot(c *gin.Context)

ThemeScreenshot 提供主题截图文件。

func (*Admin) ThemeUpload

func (h *Admin) ThemeUpload(c *gin.Context)

ThemeUpload 处理主题 zip 上传。

func (*Admin) ThemesPage

func (h *Admin) ThemesPage(c *gin.Context)

ThemesPage 渲染主题管理页面。

func (*Admin) UpdateMenuOrder

func (h *Admin) UpdateMenuOrder(c *gin.Context)

UpdateMenuOrder 行内编辑页面排序:支持直接设值或上移/下移。

func (*Admin) UpdateUser

func (h *Admin) UpdateUser(c *gin.Context)

UpdateUser 更新用户信息(admin only, 不含密码)。

func (*Admin) UpdateUserRole

func (h *Admin) UpdateUserRole(c *gin.Context)

UpdateUserRole 修改用户角色(admin only)。

func (*Admin) UploadFile

func (h *Admin) UploadFile(c *gin.Context)

func (*Admin) UploadsJSON

func (h *Admin) UploadsJSON(c *gin.Context)

UploadsJSON 返回最近上传文件的 JSON 列表,供编辑器文件选择器使用。

func (*Admin) UploadsPage

func (h *Admin) UploadsPage(c *gin.Context)

UploadsPage 文件管理页。

func (*Admin) UseEmbeddedAssets

func (h *Admin) UseEmbeddedAssets(c *gin.Context)

UseEmbeddedAssets 切回当前进程使用内嵌资源,但保留本地目录。

func (*Admin) UseEmbeddedI18n

func (h *Admin) UseEmbeddedI18n(c *gin.Context)

UseEmbeddedI18n 切回当前进程使用内嵌翻译资源,但保留本地目录。

func (*Admin) UseEmbeddedTemplates

func (h *Admin) UseEmbeddedTemplates(c *gin.Context)

UseEmbeddedTemplates 切回当前进程使用内嵌模板资源,但保留本地目录。

func (*Admin) VerifyProfileEmail

func (h *Admin) VerifyProfileEmail(c *gin.Context)

VerifyProfileEmail 完成个人资料邮箱变更验证。

func (*Admin) WidgetsPage

func (h *Admin) WidgetsPage(c *gin.Context)

WidgetsPage 组件配置页。

type Auth

type Auth struct {
	// contains filtered or unexported fields
}

Auth 是认证处理器,独立于 Public 和 Admin。

func NewAuth

func NewAuth(st *store.Store) *Auth

NewAuth 构造认证处理器。

func (*Auth) BeginPasskeyLogin

func (h *Auth) BeginPasskeyLogin(c *gin.Context)

BeginPasskeyLogin 开始 Passkey 登录。

func (*Auth) FinishPasskeyLogin

func (h *Auth) FinishPasskeyLogin(c *gin.Context)

FinishPasskeyLogin 完成 Passkey 登录。

func (*Auth) ForgotPassword

func (h *Auth) ForgotPassword(c *gin.Context)

ForgotPassword 处理忘记密码请求,发送重置邮件。

func (*Auth) ForgotPasswordForm

func (h *Auth) ForgotPasswordForm(c *gin.Context)

ForgotPasswordForm 忘记密码页。

func (*Auth) Login

func (h *Auth) Login(c *gin.Context)

Login 处理登录。

func (*Auth) LoginForm

func (h *Auth) LoginForm(c *gin.Context)

LoginForm 显示登录页。

func (*Auth) Logout

func (h *Auth) Logout(c *gin.Context)

Logout 退出登录。

func (*Auth) Register

func (h *Auth) Register(c *gin.Context)

Register 处理注册申请,先发送邮箱验证链接,验证通过后再创建账号。

func (*Auth) RegisterForm

func (h *Auth) RegisterForm(c *gin.Context)

RegisterForm 注册页。

func (*Auth) RegisterVerify

func (h *Auth) RegisterVerify(c *gin.Context)

RegisterVerify 完成邮箱验证并创建账号。

func (*Auth) RegisterVerifyForm

func (h *Auth) RegisterVerifyForm(c *gin.Context)

RegisterVerifyForm 展示邮箱验证后的密码设置页。

func (*Auth) ResetPassword

func (h *Auth) ResetPassword(c *gin.Context)

ResetPassword 处理重置密码提交。

func (*Auth) ResetPasswordForm

func (h *Auth) ResetPasswordForm(c *gin.Context)

ResetPasswordForm 重置密码页(校验 token)。

func (*Auth) Store

func (h *Auth) Store() *store.Store

type LocalFirstFileSystem

type LocalFirstFileSystem struct {
	Dir string
	// contains filtered or unexported fields
}

func NewLocalFirstFileSystem

func NewLocalFirstFileSystem(dir string, fallback http.FileSystem) *LocalFirstFileSystem

func (*LocalFirstFileSystem) Hot

func (fsys *LocalFirstFileSystem) Hot() bool

func (*LocalFirstFileSystem) Open

func (fsys *LocalFirstFileSystem) Open(name string) (http.File, error)

func (*LocalFirstFileSystem) SetHot

func (fsys *LocalFirstFileSystem) SetHot(v bool)

type PluginManager

type PluginManager = plugin.Manager

PluginManager 是插件管理器的类型别名,方便 handler 层引用。

type Public

type Public struct {
	// contains filtered or unexported fields
}

Public 是前台处理器。

func NewPublic

func NewPublic(st *store.Store, cfg *config.Config, tm *theme.Manager, renderer *render.Renderer) *Public

NewPublic 构造前台处理器。

func (*Public) AtomFeed

func (h *Public) AtomFeed(c *gin.Context)

AtomFeed 输出 Atom 1.0 feed。

func (*Public) DynamicOrLegacy

func (h *Public) DynamicOrLegacy(c *gin.Context)

DynamicOrLegacy 是前台兜底路由:页面、文章固定链接与旧链接兼容都在这里收口。

func (*Public) Feed

func (h *Public) Feed(c *gin.Context)

Feed 输出 RSS,保留 WordPress 的 /feed 链接。

func (*Public) Index

func (h *Public) Index(c *gin.Context)

Index 首页

func (*Public) NotFound

func (h *Public) NotFound(c *gin.Context)

func (*Public) PostIDRedirect

func (h *Public) PostIDRedirect(c *gin.Context, pid string) bool

PostIDRedirect 处理 /?p={id} 旧链接 301 到永久链接。 返回 true 表示已处理。

func (*Public) Search

func (h *Public) Search(c *gin.Context)

Search 全文搜索(标题/正文子串匹配,使用 DataLoader 内存搜索)。

func (*Public) Sitemap

func (h *Public) Sitemap(c *gin.Context)

Sitemap 输出 XML Sitemap,包含所有已发布文章和页面。

func (*Public) SubmitComment

func (h *Public) SubmitComment(c *gin.Context)

SubmitComment 处理 POST /comment, 校验 + 防 spam + 按身份决定审核状态。 支持 Ajax(返回 JSON)与普通表单(重定向)两种方式。

type ThemeManager

type ThemeManager = theme.Manager

ThemeManager 是主题管理器的类型别名,方便 handler 层引用。

Jump to

Keyboard shortcuts

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