Documentation
¶
Overview ¶
Package handler 提供 gin 的前台与后台 HTTP 处理器。
Index ¶
- type Admin
- func (h *Admin) ApplyAppUpdate(c *gin.Context)
- func (h *Admin) BackupDelete(c *gin.Context)
- func (h *Admin) BackupEmail(c *gin.Context)
- func (h *Admin) BackupNow(c *gin.Context)
- func (h *Admin) BackupPage(c *gin.Context)
- func (h *Admin) BackupRestore(c *gin.Context)
- func (h *Admin) BatchComments(c *gin.Context)
- func (h *Admin) BeginPasskeyRegistration(c *gin.Context)
- func (h *Admin) CategoriesPage(c *gin.Context)
- func (h *Admin) CheckAppUpdate(c *gin.Context)
- func (h *Admin) ClearAppUpdateLog(c *gin.Context)
- func (h *Admin) CreateUser(c *gin.Context)
- func (h *Admin) Dashboard(c *gin.Context)
- func (h *Admin) DebugPage(c *gin.Context)
- func (h *Admin) DeleteAccount(c *gin.Context)
- func (h *Admin) DeleteAccountPage(c *gin.Context)
- func (h *Admin) DeleteCategory(c *gin.Context)
- func (h *Admin) DeleteMyComment(c *gin.Context)
- func (h *Admin) DeletePasskey(c *gin.Context)
- func (h *Admin) DeletePost(c *gin.Context)
- func (h *Admin) DeleteTag(c *gin.Context)
- func (h *Admin) DeleteUpload(c *gin.Context)
- func (h *Admin) DeleteUser(c *gin.Context)
- func (h *Admin) DeveloperSettingsPage(c *gin.Context)
- func (h *Admin) DisableTwoFactor(c *gin.Context)
- func (h *Admin) EditComment(c *gin.Context)
- func (h *Admin) EditMyComment(c *gin.Context)
- func (h *Admin) EditPostForm(c *gin.Context)
- func (h *Admin) EditUserForm(c *gin.Context)
- func (h *Admin) EnableTwoFactor(c *gin.Context)
- func (h *Admin) ExportData(c *gin.Context)
- func (h *Admin) ExportDataPage(c *gin.Context)
- func (h *Admin) ExportXML(c *gin.Context)
- func (h *Admin) FinishPasskeyRegistration(c *gin.Context)
- func (h *Admin) ImportPage(c *gin.Context)
- func (h *Admin) ImportXML(c *gin.Context)
- func (h *Admin) ListComments(c *gin.Context)
- func (h *Admin) ListPosts(c *gin.Context)
- func (h *Admin) ListUsers(c *gin.Context)
- func (h *Admin) MenusPage(c *gin.Context)
- func (h *Admin) ModerateComment(c *gin.Context)
- func (h *Admin) NewUserForm(c *gin.Context)
- func (h *Admin) PluginAction(c *gin.Context)
- func (h *Admin) PluginDownload(c *gin.Context)
- func (h *Admin) PluginSettingsPage(c *gin.Context)
- func (h *Admin) PluginUpload(c *gin.Context)
- func (h *Admin) PluginsPage(c *gin.Context)
- func (h *Admin) Preview(c *gin.Context)
- func (h *Admin) ProfilePage(c *gin.Context)
- func (h *Admin) ReleaseAssets(c *gin.Context)
- func (h *Admin) ReleaseI18n(c *gin.Context)
- func (h *Admin) ReleaseTemplates(c *gin.Context)
- func (h *Admin) ReloadPlugins(c *gin.Context)
- func (h *Admin) ReloadTemplates(c *gin.Context)
- func (h *Admin) ReloadTheme(c *gin.Context)
- func (h *Admin) ReplyComment(c *gin.Context)
- func (h *Admin) RevisionRestore(c *gin.Context)
- func (h *Admin) RevisionView(c *gin.Context)
- func (h *Admin) RevisionsPage(c *gin.Context)
- func (h *Admin) SaveBackupSettings(c *gin.Context)
- func (h *Admin) SaveCategory(c *gin.Context)
- func (h *Admin) SaveLogLevelSettings(c *gin.Context)
- func (h *Admin) SaveMenus(c *gin.Context)
- func (h *Admin) SaveMetricsAuthSettings(c *gin.Context)
- func (h *Admin) SavePasswordSettings(c *gin.Context)
- func (h *Admin) SavePluginSettings(c *gin.Context)
- func (h *Admin) SavePost(c *gin.Context)
- func (h *Admin) SaveProfileSettings(c *gin.Context)
- func (h *Admin) SaveSMTPSettings(c *gin.Context)
- func (h *Admin) SaveSQLDetailsSettings(c *gin.Context)
- func (h *Admin) SaveSessionSettings(c *gin.Context)
- func (h *Admin) SaveSiteSettings(c *gin.Context)
- func (h *Admin) SaveTag(c *gin.Context)
- func (h *Admin) SaveThemeOptions(c *gin.Context)
- func (h *Admin) SaveUpdateSettings(c *gin.Context)
- func (h *Admin) SaveWidgets(c *gin.Context)
- func (h *Admin) SettingsPage(c *gin.Context)
- func (h *Admin) Store() *store.Store
- func (h *Admin) TagsPage(c *gin.Context)
- func (h *Admin) TermsPage(c *gin.Context)
- func (h *Admin) TestSMTPSettings(c *gin.Context)
- func (h *Admin) ThemeActivate(c *gin.Context)
- func (h *Admin) ThemeDelete(c *gin.Context)
- func (h *Admin) ThemeDownload(c *gin.Context)
- func (h *Admin) ThemeFileCreate(c *gin.Context)
- func (h *Admin) ThemeFileDelete(c *gin.Context)
- func (h *Admin) ThemeFileRead(c *gin.Context)
- func (h *Admin) ThemeFileReload(c *gin.Context)
- func (h *Admin) ThemeFileSave(c *gin.Context)
- func (h *Admin) ThemeFilesPage(c *gin.Context)
- func (h *Admin) ThemeOptionsPage(c *gin.Context)
- func (h *Admin) ThemePreview(c *gin.Context)
- func (h *Admin) ThemePreviewClear(c *gin.Context)
- func (h *Admin) ThemeRecoveryClear(c *gin.Context)
- func (h *Admin) ThemeReload(c *gin.Context)
- func (h *Admin) ThemeScreenshot(c *gin.Context)
- func (h *Admin) ThemeUpload(c *gin.Context)
- func (h *Admin) ThemesPage(c *gin.Context)
- func (h *Admin) UpdateMenuOrder(c *gin.Context)
- func (h *Admin) UpdateUser(c *gin.Context)
- func (h *Admin) UpdateUserRole(c *gin.Context)
- func (h *Admin) UploadFile(c *gin.Context)
- func (h *Admin) UploadsJSON(c *gin.Context)
- func (h *Admin) UploadsPage(c *gin.Context)
- func (h *Admin) UseEmbeddedAssets(c *gin.Context)
- func (h *Admin) UseEmbeddedI18n(c *gin.Context)
- func (h *Admin) UseEmbeddedTemplates(c *gin.Context)
- func (h *Admin) VerifyProfileEmail(c *gin.Context)
- func (h *Admin) WidgetsPage(c *gin.Context)
- type Auth
- func (h *Auth) BeginPasskeyLogin(c *gin.Context)
- func (h *Auth) FinishPasskeyLogin(c *gin.Context)
- func (h *Auth) ForgotPassword(c *gin.Context)
- func (h *Auth) ForgotPasswordForm(c *gin.Context)
- func (h *Auth) Login(c *gin.Context)
- func (h *Auth) LoginForm(c *gin.Context)
- func (h *Auth) Logout(c *gin.Context)
- func (h *Auth) Register(c *gin.Context)
- func (h *Auth) RegisterForm(c *gin.Context)
- func (h *Auth) RegisterVerify(c *gin.Context)
- func (h *Auth) RegisterVerifyForm(c *gin.Context)
- func (h *Auth) ResetPassword(c *gin.Context)
- func (h *Auth) ResetPasswordForm(c *gin.Context)
- func (h *Auth) Store() *store.Store
- type LocalFirstFileSystem
- type PluginManager
- type Public
- func (h *Public) AtomFeed(c *gin.Context)
- func (h *Public) DynamicOrLegacy(c *gin.Context)
- func (h *Public) Feed(c *gin.Context)
- func (h *Public) Index(c *gin.Context)
- func (h *Public) NotFound(c *gin.Context)
- func (h *Public) PostIDRedirect(c *gin.Context, pid string) bool
- func (h *Public) Search(c *gin.Context)
- func (h *Public) Sitemap(c *gin.Context)
- func (h *Public) SubmitComment(c *gin.Context)
- type ThemeManager
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 ¶
ApplyAppUpdate 启动后台更新任务,避免下载过程被浏览器或反向代理请求超时中断。
func (*Admin) BackupRestore ¶
BackupRestore 从备份文件恢复数据库。
func (*Admin) BatchComments ¶
BatchComments 批量操作评论(approve/pending/spam/delete)。
func (*Admin) BeginPasskeyRegistration ¶
BeginPasskeyRegistration 开始为当前用户注册 Passkey。
func (*Admin) CheckAppUpdate ¶
CheckAppUpdate 查询 GitHub 公开 Release 的最新版本并回到开发设置页展示结果。
func (*Admin) ClearAppUpdateLog ¶ added in v0.0.9
ClearAppUpdateLog 清空已完成任务的更新日志。
func (*Admin) DeleteAccount ¶
DeleteAccount 删除当前用户账号(POST)。
func (*Admin) DeleteAccountPage ¶
DeleteAccountPage 删除账号页面(GET)。
func (*Admin) DeleteMyComment ¶
DeleteMyComment 删除当前用户的评论。
func (*Admin) DeletePasskey ¶
DeletePasskey 删除当前用户的一个 Passkey。
func (*Admin) DeveloperSettingsPage ¶
DeveloperSettingsPage 后台开发设置页。
func (*Admin) DisableTwoFactor ¶
DisableTwoFactor 关闭当前用户两步验证。
func (*Admin) EditMyComment ¶
EditMyComment 修改当前登录用户自己的评论。
func (*Admin) EditPostForm ¶
EditPostForm 显示新建/编辑表单。id=0 或缺省为新建。
func (*Admin) EditUserForm ¶
EditUserForm 编辑用户表单(admin only)。
func (*Admin) EnableTwoFactor ¶
EnableTwoFactor 开启当前用户两步验证。
func (*Admin) ExportData ¶
ExportData 导出当前用户个人数据(JSON, POST)。
func (*Admin) ExportDataPage ¶
ExportDataPage 导出数据页面(GET)。
func (*Admin) FinishPasskeyRegistration ¶
FinishPasskeyRegistration 完成当前用户 Passkey 注册。
func (*Admin) ListComments ¶
ListComments 后台评论列表。支持 mine=1 参数过滤当前用户的评论。
func (*Admin) ModerateComment ¶
ModerateComment 审核评论(approve/spam/delete)。
func (*Admin) NewUserForm ¶
NewUserForm 新增用户表单(admin only)。
func (*Admin) PluginAction ¶
PluginAction 处理插件启用、停用和重载。
func (*Admin) PluginDownload ¶
PluginDownload 下载指定插件为 zip 包。
func (*Admin) PluginSettingsPage ¶
PluginSettingsPage 渲染插件设置页。
func (*Admin) ProfilePage ¶
ProfilePage 后台个人资料页(所有角色可访问)。
func (*Admin) ReleaseAssets ¶
ReleaseAssets 把嵌入资源释放到本地目录。释放完成后当前进程会自动优先读取该目录。
func (*Admin) ReleaseI18n ¶
ReleaseI18n 把嵌入翻译资源释放到本地目录,并切换当前进程优先读取本地目录。
func (*Admin) ReleaseTemplates ¶
ReleaseTemplates 把嵌入模板释放到本地目录,并切换为 hot 模式。
func (*Admin) ReloadPlugins ¶
ReloadPlugins 从开发设置页重载所有已启用插件资源。
func (*Admin) ReloadTemplates ¶
ReloadTemplates 手动重新解析本地模板文件。仅热更新模式支持。
func (*Admin) ReplyComment ¶
ReplyComment 在后台直接回复一条评论。回复默认已批准,并复用前台回复通知逻辑通知被回复者。
func (*Admin) RevisionRestore ¶
RevisionRestore 回滚到指定修订版本。
func (*Admin) RevisionsPage ¶
RevisionsPage 显示文章的修订版本列表。
func (*Admin) SaveBackupSettings ¶
SaveBackupSettings 保存自动备份设置。
func (*Admin) SaveLogLevelSettings ¶
SaveLogLevelSettings 保存日志级别设置并立即生效。
func (*Admin) SaveMetricsAuthSettings ¶
SaveMetricsAuthSettings 保存 /metrics Basic Auth 密码。
func (*Admin) SavePasswordSettings ¶
SavePasswordSettings 修改当前用户密码。
func (*Admin) SavePluginSettings ¶
SavePluginSettings 保存插件全局设置。
func (*Admin) SaveProfileSettings ¶
SaveProfileSettings 保存当前用户个人资料。非管理员不能自助修改用户名。
func (*Admin) SaveSMTPSettings ¶
SaveSMTPSettings 只保存 SMTP 邮件设置,避免触发站点设置必填项校验。
func (*Admin) SaveSQLDetailsSettings ¶
SaveSQLDetailsSettings 保存 SQL 详情输出开关。
func (*Admin) SaveSessionSettings ¶
SaveSessionSettings 重新生成 session secret。修改后所有登录用户都需要重新登录。
func (*Admin) SaveSiteSettings ¶
SaveSiteSettings 保存站点名称/描述。
func (*Admin) SaveThemeOptions ¶
SaveThemeOptions 保存主题选项。
func (*Admin) SaveUpdateSettings ¶
SaveUpdateSettings 保存后台更新相关设置。
func (*Admin) SaveWidgets ¶
SaveWidgets 保存组件配置(对象数组格式,支持组件选项和重复组件)。
func (*Admin) TestSMTPSettings ¶
TestSMTPSettings 保存当前表单中的 SMTP 配置后发送测试邮件。
func (*Admin) ThemeDownload ¶
ThemeDownload 下载指定主题为 zip 包。
func (*Admin) ThemeFileCreate ¶
ThemeFileCreate 新建主题文件。
func (*Admin) ThemeFileDelete ¶
ThemeFileDelete 删除主题文件。
func (*Admin) ThemeFileReload ¶
ThemeFileReload 重载当前编辑器资源。
func (*Admin) ThemeFilesPage ¶
ThemeFilesPage 渲染主题/插件文件编辑器页面。
func (*Admin) ThemeOptionsPage ¶
ThemeOptionsPage 主题选项配置页。
func (*Admin) ThemePreview ¶
ThemePreview 设置管理员主题预览(写入 session,不持久化到 DB)。
func (*Admin) ThemePreviewClear ¶
ThemePreviewClear 清除管理员主题预览。
func (*Admin) ThemeRecoveryClear ¶
ThemeRecoveryClear 清除恢复信息(管理员确认后)。
func (*Admin) ThemeScreenshot ¶
ThemeScreenshot 提供主题截图文件。
func (*Admin) UpdateMenuOrder ¶
UpdateMenuOrder 行内编辑页面排序:支持直接设值或上移/下移。
func (*Admin) UpdateUser ¶
UpdateUser 更新用户信息(admin only, 不含密码)。
func (*Admin) UpdateUserRole ¶
UpdateUserRole 修改用户角色(admin only)。
func (*Admin) UploadFile ¶
func (*Admin) UploadsJSON ¶
UploadsJSON 返回最近上传文件的 JSON 列表,供编辑器文件选择器使用。
func (*Admin) UseEmbeddedAssets ¶
UseEmbeddedAssets 切回当前进程使用内嵌资源,但保留本地目录。
func (*Admin) UseEmbeddedI18n ¶
UseEmbeddedI18n 切回当前进程使用内嵌翻译资源,但保留本地目录。
func (*Admin) UseEmbeddedTemplates ¶
UseEmbeddedTemplates 切回当前进程使用内嵌模板资源,但保留本地目录。
func (*Admin) VerifyProfileEmail ¶
VerifyProfileEmail 完成个人资料邮箱变更验证。
type Auth ¶
type Auth struct {
// contains filtered or unexported fields
}
Auth 是认证处理器,独立于 Public 和 Admin。
func (*Auth) BeginPasskeyLogin ¶
BeginPasskeyLogin 开始 Passkey 登录。
func (*Auth) FinishPasskeyLogin ¶
FinishPasskeyLogin 完成 Passkey 登录。
func (*Auth) ForgotPassword ¶
ForgotPassword 处理忘记密码请求,发送重置邮件。
func (*Auth) ForgotPasswordForm ¶
ForgotPasswordForm 忘记密码页。
func (*Auth) RegisterVerify ¶
RegisterVerify 完成邮箱验证并创建账号。
func (*Auth) RegisterVerifyForm ¶
RegisterVerifyForm 展示邮箱验证后的密码设置页。
func (*Auth) ResetPasswordForm ¶
ResetPasswordForm 重置密码页(校验 token)。
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 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) DynamicOrLegacy ¶
DynamicOrLegacy 是前台兜底路由:页面、文章固定链接与旧链接兼容都在这里收口。
func (*Public) PostIDRedirect ¶
PostIDRedirect 处理 /?p={id} 旧链接 301 到永久链接。 返回 true 表示已处理。
func (*Public) SubmitComment ¶
SubmitComment 处理 POST /comment, 校验 + 防 spam + 按身份决定审核状态。 支持 Ajax(返回 JSON)与普通表单(重定向)两种方式。
Source Files
¶
- admin.go
- admin_backup.go
- admin_comment.go
- admin_dashboard.go
- admin_debug.go
- admin_import.go
- admin_menus.go
- admin_plugins.go
- admin_post.go
- admin_profile.go
- admin_revision.go
- admin_settings.go
- admin_terms.go
- admin_theme.go
- admin_theme_files.go
- admin_theme_options.go
- admin_upload.go
- admin_user.go
- admin_widgets.go
- assets.go
- auth.go
- auth_handler.go
- comment.go
- feed.go
- passkey.go
- public.go
- request.go
- sitemap.go