feat(announcement): 新增首页弹窗公告功能并完成弹窗UI视觉重构
- 数据库与后端:announcements 表增加 is_popup 字段及迁移脚本,提供前台弹窗接口与多公告优先级选取,补全选优单测 - 管理后台:总后台与分销后台公告编辑新增「弹窗公告」开关与列表标签展示 - 前台交互:前台 PC/移动端首页引入 AnnouncementPopup,支持同一用户同一天同一公告仅弹一次的关闭记录 - 视觉优化:重构弹窗结构,顶栏镶嵌品牌橙流光细条与浅暖橙通知徽标,中间内嵌浅灰舒适阅读卡片,底部搭配大锤橙实心主操作按钮 - 验证方式:后端 announcement 单测通过,前端 npm run build 编译无报错,浏览器实机截图验证
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
-- +goose Up
|
||||
|
||||
-- 弹窗公告:前台首页进入时弹一次、必须用户手动关闭的公告。
|
||||
-- is_popup = 1 且 status = published 时,才会进入弹窗候选;
|
||||
-- 多条同时生效时前台只弹「优先级最高」的一条(priority DESC, published_at DESC, id DESC)。
|
||||
-- 前台按「每天一次」记录已关闭状态,因此这里只标记类型,不做送达记录。
|
||||
ALTER TABLE announcements
|
||||
ADD COLUMN is_popup TINYINT(1) NOT NULL DEFAULT 0 COMMENT '是否弹窗公告: 0否, 1是' AFTER is_important,
|
||||
ADD KEY idx_announcements_popup (is_popup, status, distribution_site_id, priority);
|
||||
|
||||
-- +goose Down
|
||||
|
||||
ALTER TABLE announcements
|
||||
DROP KEY idx_announcements_popup,
|
||||
DROP COLUMN is_popup;
|
||||
Reference in New Issue
Block a user