多软件区分:邮件按软件换色+图标+软件名;补提交回执邮件
用户要求:多软件并存时,用「颜色 + 图标 + 名字」三重区分,
邮件也要跟着所属软件变,一眼能看出是哪款软件的来信。
1. software 表加 icon / download_url 字段(幂等迁移)
- icon 存单个字符(emoji / 汉字 / 字母),不存图片路径:
前端与邮件用同一个字符渲染,天然一致,不用再管一套上传与权限
- 没配 icon 时取名首字兜底,任何地方都不出现空图标
- 后台软件编辑加图标快选(12 个常用 emoji)
2. 邮件配色改为跟随软件(fb_mail_brand 取 fb_software_colors)
- 头部色条、按钮、引用块色条、徽标全部跟着软件走
- 邮件头部改为「图标色块 + 软件名」,下面再小字标站点名
- 主题行统一加【软件名】前缀,不点开就能分辨
3. 新增 receipt 事件:提交后立即给提问人发「已收到、待审核、请耐心等待」
- 独立开关 notify.receipt_enabled(与「回复通知」是两件事)
- 新增 7 处调用前的静默 return 也一并写日志
4. reply 邮件补上下文:原提问摘要 + 本次回复,像博客评论通知
5. status=resolved 文案改为「已完成并上线」,配了下载地址时给下载按钮
验证:多软件配色/图标/前缀全部通过(含反向验证),XSS 转义通过,
空图标兜底通过;页面顶栏、页头、选择器图标渲染正确。
This commit is contained in:
+16
-4
@@ -51,10 +51,22 @@ function fb_layout_head($title, array $opt = []) {
|
||||
<body>
|
||||
<header class="topbar">
|
||||
<div class="wrap">
|
||||
<a class="brand-mini" href="./" title="<?php echo e($site); ?>">
|
||||
<span class="logo-mark" role="img" aria-label="轻反馈图标"></span>
|
||||
<span class="brand-text"><?php echo e($site); ?></span>
|
||||
</a>
|
||||
<?php
|
||||
/* 顶栏品牌位:当前在哪個软件下,就显示那个软件的「图标 + 名字」,
|
||||
* 而不是一直挂着站点大标题 —— 多软件共用一套反馈系统,
|
||||
* 用户要一眼看清「我现在是在给哪个软件提问题」。 */
|
||||
$curSw = isset($opt['software']) && is_array($opt['software']) ? $opt['software'] : null;
|
||||
?>
|
||||
<?php if ($curSw): ?>
|
||||
<a class="brand-mini" href="./" title="<?php echo e($site); ?>">
|
||||
<?php echo fb_software_badge($curSw, 'md'); ?>
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<a class="brand-mini" href="./" title="<?php echo e($site); ?>">
|
||||
<span class="logo-mark" role="img" aria-label="轻反馈图标"></span>
|
||||
<span class="brand-text"><?php echo e($site); ?></span>
|
||||
</a>
|
||||
<?php endif; ?>
|
||||
<div class="spacer"></div>
|
||||
<a class="navlink hide-sm" href="./">全部问题</a>
|
||||
<?php if (fb_admin_logged_in()): ?><a class="navlink" href="admin.php">管理后台</a><?php endif; ?>
|
||||
|
||||
Reference in New Issue
Block a user