此组件允许您在用户登录后将他们重定向到任何您喜欢的位置,还可以在群组(/g)页面上放置一个欢迎横幅。
它的两个部分是独立构建的,因此您可以将用户重定向到任何您想去的地方,或者仅将其用于在群组页面上放置横幅。默认行为是将新用户重定向到群组页面,并在那里有一个欢迎横幅鼓励他们加入群组,以帮助他们与您的社区互动。
您还可以使用此组件在用户达到特定信任等级时,在登录时将其重定向到特定页面,或者在用户加入的群组数量低于您选择的数量时进行重定向。
首次登录重定向
一个 Discourse 主题组件,它将没有群组成员资格的用户重定向到一个自定义页面,并显示一个可自定义的欢迎横幅。
特性
智能重定向 - 在登录时将没有群组成员资格的用户重定向到自定义页面
可自定义横幅 - 在群组页面上显示彩色欢迎横幅
完全可配置 - 独立启用/禁用重定向和横幅
基于群组的逻辑 - 一旦用户加入任何群组,即停止重定向
信任等级感知 - 横幅可见性可根据信任等级限制
彩虹渐变 - 引人注目的 6 色渐变背景(带有切换到纯色的选项)
移动响应式 - 横幅适应移动屏幕
安装
-
在 Discourse 管理控制台中,转到 自定义 → 主题 → 组件,然后点击 安装
-
选择 来自 Git 仓库 并粘贴:
https://github.com/focallocal/first-login-redirect -
安装后,将组件添加到您的活动主题中
工作原理
重定向逻辑
- 检查用户是否是任何群组的成员
- 检测他们何时导航到主页
- 将他们重定向到配置的 URL(默认值:
/g) - 一旦他们加入任何群组,就停止重定向
- 可以独立于横幅禁用
欢迎横幅
- 默认在群组索引页面 (
/g) 上显示 - 可见性由信任等级设置控制
- 可以独立于重定向禁用
- 用户达到信任等级 1 后自动隐藏
- 使用
before-groups-index插件插口定位在群组列表顶部
自定义
主题设置(管理面板)
所有自定义都可以在 Discourse 管理面板中完成,无需编辑代码!
- 转到 管理 → 自定义 → 主题
- 点击包含此组件的主题
- 转到 设置 并找到“首次登录重定向”部分
可用设置:
重定向设置:
- 启用重定向:打开/关闭重定向功能(默认:true)
- 所需最少群组数:用户必须加入多少个用户创建的群组后重定向才会停止(默认:1)
- 自动群组(如 trust_level_0, everyone)不计入
- 重定向 URL:将没有群组的用户发送到哪里(默认:
/g)- 示例:
/g(群组),/categories,/about,/latest
- 示例:
横幅设置:
- 显示横幅:打开/关闭横幅(默认:true)
- 最低信任等级:看到横幅的最低信任等级(0-4,默认:0)
- 最高信任等级:看到横幅的最高信任等级(0-4,默认:4)
- 横幅标题:主要的较大文本
- 横幅副标题:较小的解释性文本
排版:
- 标题字体大小:主标题的大小(默认:2.5em)
- 副标题字体大小:副标题的大小(默认:1.25em)
- 文本阴影启用:切换文本阴影以提高可读性
- 文本发光启用:切换外部发光效果
颜色:
- 使用渐变:启用/禁用渐变(如果禁用,则使用纯色)
- 渐变颜色 1-6:自定义渐变中的每种颜色
- 默认:粉色 → 橙色 → 黄色 → 绿色 → 青色
- 将“使用渐变”设置为 OFF 以使用颜色 1 创建纯色
布局:
- 横幅内边距:横幅内部空间(默认:3rem 2rem)
- 边框半径:角落圆度(默认:12px,使用 0 为方形)
示例
仅对 TL0 显示(新用户):
设置 最低信任等级 = 0,最高信任等级 = 0
除管理员外对所有人显示:
设置 最低信任等级 = 0,最高信任等级 = 3
纯色横幅:
关闭“使用渐变”并将颜色 1 设置为您想要的颜色(例如,橙色为 #FF5722)。
双色渐变:
打开“使用渐变”并将颜色 1-3 设置为一种颜色,颜色 4-6 设置为另一种颜色。
更大的文本:
将标题设置为 3em,副标题设置为 1.5em。
无效果:
禁用“文本阴影”和“文本发光”以获得扁平文本。
禁用重定向(仅横幅)
删除或注释掉文件:
javascripts/discourse/api-initializers/first-login-redirect.js
更改信任等级要求
在两个初始化程序文件中,更改:
currentUser.trust_level === 0
为:
currentUser.trust_level <= 1 // TL0 和 TL1
技术细节
- API 版本:1.8.0(现代 Discourse API)
- 组件类型:带有模板标签的 Glimmer 组件
- 插件插口:
before-groups-index - 兼容性:Discourse 2.8.0+
故障排除
问:重定向不工作
答:清除浏览器会话存储(sessionStorage)并使用新的信任等级 0 帐户进行测试
问:测试时横幅不显示
答:验证您是否在 /g 路由上,并以 TL0 用户身份登录,或检查您在管理员中设置的值。检查浏览器控制台是否有错误。
问:重定向循环
答:会话存储检查应能防止这种情况。如果发生,请清除浏览器缓存和会话存储。
许可证
MIT — 公共幸福运动
