service.xpcool.com/manifest/sql
夏犀麟 582485ba2b feat(wallpaper): 壁纸模块后端(开源平台插件 + 自建图库 + 前后台接口)
需求:前台壁纸站支持切换到开源壁纸平台,并能展示后台上传的自家图库,
保留原有「浏览器实时生成」能力(扩展而非替换),PC / 移动双端一致。

设计要点(受服务器 5M 出口带宽约束):
- 开源平台图片一律走官方 CDN 直链,后端只代理元数据,零带宽消耗。
- 自建图库落盘到 /data/www/wallpaper,由 nginx 的 /wallpaper/ 直出,
  Go 服务不参与传图;三档尺寸(480 缩略 / 1920 预览 / 原图仅供下载)。
- 内存缓存平台响应(Bing 1h、搜索类 10min),避免撞第三方配额。

内容:
- 平台插件:Bing 每日一图、Picsum、Unsplash、Pexels、Wallhaven。
  新增平台 = 写一个 provider_xxx.go 并在 allProviders() 加一行,
  刻意不用 init() 自注册,避免隐式副作用。所有适配器支持 config.baseUrl
  覆盖,用于绕开 DNS 污染(实测 wallhaven.cc 解析到境外无关 IP)。
- 自建图库:上传(MD5 秒传去重 / 尺寸前置校验 / 失败清理孤儿文件)、
  元信息编辑、删除、统计;随机取图用「数总数 → 随机偏移」而非 ORDER BY RAND()。
- 接口:open 组 4 个(sources / list / random / download-track),
  admin 组 8 个(list / upload / save / delete / stats / source.list|save|test)。
  全部 POST 且 URL 无参数,符合工作空间接口规范;上传走 multipart 例外。
- 安全:purity 默认锁死 SFW;apiKey 只回传布尔不回传明文;
  保存时留空表示保留旧值;open 组错误信息对外脱敏。
- 配置:clientMaxBodySize 提到 64M(gf 默认 8M 会截断 20MB 原图);
  wallpaper.root / baseUrl 支持环境变量注入并在占位符未替换时兜底。

依赖:golang.org/x/image@v0.23.0(仅用于缩略图缩放,保持 go 1.23.0 不变)。
2026-09-14 01:39:09 +08:00
..
recruitment feat: 招聘爬虫健壮性 + 通知记录增强(归档工作区留存改动) 2026-09-14 01:22:39 +08:00
001_core.sql feat(house): 扩充看房数据并增强服务器日志功能 2026-08-27 01:47:32 +08:00
002_business_extension.sql feat(dev): 项目初始化。 2026-07-17 17:58:08 +08:00
003_schema_ext.sql feat(admin): 后台登录/菜单/按钮级权限/RBAC管理与服务器日志监控 2026-08-24 22:35:54 +08:00
004_seed.sql feat(house): 实现看房模块后端功能 2026-08-26 23:42:38 +08:00
004b_fill_seed.sql CHG: 移除管理员管理菜单、新增日志管理菜单(008_menu_rbac_v4.sql) 2026-08-26 22:23:21 +08:00
005_menu_paths.sql feat(admin): 后台登录/菜单/按钮级权限/RBAC管理与服务器日志监控 2026-08-24 22:35:54 +08:00
006_menu_paths_v2.sql refactor(api): 后台管理 API 按 base/system/admin 分组重构 2026-08-24 23:40:39 +08:00
007_menu_permissions_v3.sql CHG: 移除管理员管理菜单、新增日志管理菜单(008_menu_rbac_v4.sql) 2026-08-26 22:23:21 +08:00
008_menu_rbac_v4.sql CHG: 移除管理员管理菜单、新增日志管理菜单(008_menu_rbac_v4.sql) 2026-08-26 22:23:21 +08:00
009_admin_account_v2.sql feat(house): 实现看房模块后端功能 2026-08-26 23:42:38 +08:00
009_menu_rbac_v5.sql feat(house): 实现看房模块后端功能 2026-08-26 23:42:38 +08:00
010_house_tables.sql feat(house): 扩充看房数据并增强服务器日志功能 2026-08-27 01:47:32 +08:00
010_server_log_enhance.sql feat(house): 扩充看房数据并增强服务器日志功能 2026-08-27 01:47:32 +08:00
011_house_menu.sql feat(house): 实现看房模块后端功能 2026-08-26 23:42:38 +08:00
012_house_transaction_menu.sql CHG: house transaction service 层 + recruitment 招聘模块 + 012 菜单 SQL(补提交未推送代码) 2026-08-27 00:41:59 +08:00
013_house_presale.sql feat(house): 扩充看房数据并增强服务器日志功能 2026-08-27 01:47:32 +08:00
013_workbench_menu.sql feat(house): 扩充看房数据并增强服务器日志功能 2026-08-27 01:47:32 +08:00
014_house_presale_menu.sql feat(house): 扩充看房数据并增强服务器日志功能 2026-08-27 01:47:32 +08:00
015_server_security.sql feat(security): 服务器安全日志模块——上报/查询/统计接口 + 015建表菜单 2026-08-27 11:30:00 +08:00
016_user_notice_job.sql feat(notice+job): 通知模块(渠道/规则/日志/测试) + 自动任务管理(DB驱动gcron) + 用户表加Bark/pushplus字段 2026-08-27 22:58:33 +08:00
017_notice_log_enhance.sql feat: 招聘爬虫健壮性 + 通知记录增强(归档工作区留存改动) 2026-09-14 01:22:39 +08:00
018_wallpaper.sql feat(wallpaper): 壁纸模块后端(开源平台插件 + 自建图库 + 前后台接口) 2026-09-14 01:39:09 +08:00