You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DjangoBlog-Maintenance-Anal.../src/hook_constants.py

30 lines
2.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 文章相关系统事件常量定义
# 用途:统一管理插件系统中与文章操作相关的事件名称,避免硬编码导致的不一致问题
# 所有事件名称均采用大写蛇形命名法UPPER_SNAKE_CASE符合Python常量命名规范
# 事件:文章详情页加载完成
# 触发时机:当用户访问某篇文章的详情页,页面内容加载完成后触发
# 应用场景:插件可监听此事件,执行详情页相关的自定义逻辑(如添加页面统计代码、注入额外内容等)
ARTICLE_DETAIL_LOAD = 'article_detail_load'
# 事件:文章创建完成
# 触发时机:当一篇新文章在系统中创建成功(如数据库写入完成、状态设为"已发布"或"草稿")后触发
# 应用场景:插件可监听此事件,执行创建后的后续操作(如自动生成文章摘要、同步到外部平台、发送通知等)
ARTICLE_CREATE = 'article_create'
# 事件:文章更新完成
# 触发时机:当已存在的文章内容、属性(如标题、分类、状态)修改并保存成功后触发
# 应用场景:插件可监听此事件,执行更新后的联动操作(如更新文章索引、记录修改日志、重新生成相关统计数据等)
ARTICLE_UPDATE = 'article_update'
# 事件:文章删除完成
# 触发时机:当一篇文章从系统中删除(物理删除或逻辑删除,如标记为"已删除"状态)后触发
# 应用场景:插件可监听此事件,执行删除后的清理操作(如删除关联的评论、移除相关缓存、同步删除外部存储的附件等)
ARTICLE_DELETE = 'article_delete'
# 文章内容钩子名称常量
# 用途:定义专门用于拦截、修改文章内容的钩子标识,与上述"操作事件"区分(事件侧重流程节点,钩子侧重内容处理)
# 命名格式与事件常量保持一致,确保插件系统中钩子名称的唯一性和可识别性
# 应用场景插件可注册此钩子在文章内容渲染前如详情页展示、导出为PDF对内容进行自定义处理如过滤敏感词、替换关键词、添加水印等
ARTICLE_CONTENT_HOOK_NAME = "the_content"