问题
登录页弹出的「请完成安全验证」滑块拼图,背景图文件放在哪里?右下角「宇擎源码」水印如何修改?
答案
底图在后端 resources/images/ 目录(非前端静态资源);登录时由接口 POST /admin-api/system/captcha/get 返回 Base64 动态展示。水印文字在 application.yaml 的 aj.captcha.water-mark 配置,与图片文件无关。
详细说明
1. 底图文件位置
主目录(system 模块,微服务场景):
ruoyi-office/yudao-module-system/yudao-module-system-server/src/main/resources/images/
├── jigsaw/ # 滑块拼图 blockPuzzle(当前登录默认类型)
│ ├── original/ # 背景底图:bg1.png ~ bg6.png
│ └── slidingBlock/ # 拼图块:1.png~4.png,子目录 11/ 等
└── pic-click/ # 点选文字验证码:bg1.png ~ bg10.png单体启动(yudao-server)另有同名目录:
ruoyi-office/yudao-server/src/main/resources/images/jigsaw/...实际跑单体时以 yudao-server 下资源为准;跑 system 微服务则以 system-server 下资源为准。
2. 配置项(application.yaml)
yaml
aj:
captcha:
jigsaw: classpath:images/jigsaw # 滑块底图 classpath 路径
pic-click: classpath:images/pic-click
type: blockPuzzle # blockPuzzle | clickWord | pictureWord
water-mark: 宇擎源码 # 右下角水印,非图片内嵌配置文件位置:
yudao-server/src/main/resources/application.yaml(单体)yudao-module-system-server/src/main/resources/application.yaml(system 模块)
3. 接口与前端展示
| 环节 | 位置 |
|---|---|
| 获取/校验 API | POST /admin-api/system/captcha/get、/check |
| 后端 Controller | yudao-module-system-server/.../captcha/CaptchaController.java |
| 验证码引擎 | AjCaptcha(com.anji.captcha),配置类 YudaoCaptchaConfiguration |
| PC 登录页 | ruoyi-office-vben/apps/web-antd/src/views/_core/authentication/login.vue |
| 弹窗组件 | packages/effects/common-ui/src/components/captcha/verification/ |
| 弹窗标题文案 | packages/locales/src/langs/zh-CN/ui.json → captcha.title(「请完成安全验证」) |
前端通过 getCaptcha 拉取后,用 originalImageBase64、jigsawImageBase64 渲染,不在 public/ 或前端 assets 放底图。
4. 自定义操作
- 换背景:替换或新增
images/jigsaw/original/bg*.png(尺寸建议与现有图接近)。 - 换水印:修改
aj.captcha.water-mark(Linux 环境中文可能需要 Unicode 转义)。 - 换弹窗标题:改
ui.json的captcha.title。 - 生效:修改底图或 yaml 后需重启后端。
移动端(UniApp)、GoView 大屏登录同样调用上述后端接口,底图来源一致。
涉及代码 / 配置
- 底图:
yudao-module-system-server/src/main/resources/images/jigsaw/ - 配置:
application.yaml→aj.captcha.* - 接口:
/system/captcha/get - 前端:
web-antd/.../login.vue+captcha/verification/verify-slide.vue
相关链接
- 日常排障(开发联调踩坑):
aI-generated/troubleshooting/(与本条「客户怎么用」互补)
修订记录
| 日期 | 修改 |
|---|---|
| 2026-06-03 | 初稿,归纳登录验证码底图、水印、接口与前端位置 |
