feat(api): 重构图片地址管理与上传机制

- 替换开发环境API基础URL为本地服务地址
- 实现签名URL本地缓存机制,解决微信按URL缓存图片导致重复下载问题
- 添加缓存清理功能,包括过期清理和按需删除特定缓存项
- 集成阿里云OSS上传功能,支持直传减少服务器带宽占用
- 优化头像地址处理逻辑,统一使用签名缓存避免地址频繁变化
- 移除过时的OSS上传示例文件oss-upload.js
- 更新课程页面实现跳转第三方小程序功能
- 调整打卡记录图片地址获取方式,统一使用新的签名缓存逻辑
- 优化图片上传流程,增加压缩处理和批量上传支持
- 完善认证模块中的缓存清理逻辑,切换账号时清除相关图片缓存
- 添加后端环境变量配置模板和代理文档说明
This commit is contained in:
王宏豪
2026-09-23 17:46:40 +08:00
parent ca21b1b9dc
commit ba2d9245ef
11 changed files with 448 additions and 290 deletions

View File

@@ -49,3 +49,47 @@
.btn-hover {
opacity: 0.7;
}
/* ---- 「去上课」浮窗 ----
是 cover-view(原生组件),只能用基本定位/布局/文本样式:
不支持 box-shadow、background-image、单边 border、overflow: visible。
层次靠「主色底 + 浅描边」表达,别改成阴影 —— 真机上会静默不生效。
**2026-09-21 起改为「右侧垂直居中」**(原为右下角 bottom: 40rpx)。
本页是 tabBar 页面,可视区已不含 tabBar,所以 top: 50% 直接就是「内容区正中」,
不需要再为 tabBar 做偏移。
**2026-09-21 加大尺寸**(水平 padding 40 → 64 → 80 → **96**;垂直一直是 36,从未变过)。
尺寸约 286×112rpx(≈143×56px),满足微信建议的点击热区 ≥ 88rpx。 */
.class-float {
position: fixed;
right: 24rpx;
/* 垂直居中 = top 50% + 负 margin 抵消自身高度的一半。
⚠️ 不要改成 transform: translateY(-50%) —— cover-view 对 transform 没有官方支持承诺,
真机上一旦静默失效,按钮会掉回页面顶部(不是掉到中间,是掉到最上面)。
⚠️ 不能同时保留 bottom:position: fixed 下 top/bottom 同时给出且 height 为 auto 时,
盒子会被拉伸填满整个视口高度,视觉上变成一条竖条。
⚠️ -56rpx 与按钮高度强耦合:高度 = padding 36×2 + 文本 30×1.2(=36) + 边框 2×2 = 112rpx,
补偿值恒等于「-高度/2」。**只调水平 padding 不会影响它** —— 想调尺寸又不想碰这个坑时,
优先只动水平方向(垂直方向一改就必须重算,否则垂直居中静默偏掉:
不是报错,只是看着不太居中,很难肉眼发现)。
验证脚本 `verify_course_float.js` 的 [7c] 会按上述算式自动推导并断言,漏改会直接红。
⚠️ 宽度同理 = 文本 3字×30(=90) + padding 水平 96×2 + 边框 2×2 = 286rpx(≈屏宽 38%)。
按钮越宽,横向压住课程列表的区域越大 —— 真机若发现挡住列表可点元素,优先收窄水平 padding。
**要调宽度只需改这一个数字**(水平 padding),不必动其他任何地方。 */
top: 50%;
margin-top: -56rpx;
z-index: 999;
padding: 36rpx 96rpx;
background: #C67B30;
border: 2rpx solid #E8C79A;
border-radius: 999rpx;
}
.class-float-text {
color: #FFFFFF;
font-size: 30rpx;
font-weight: 700;
line-height: 1.2;
text-align: center;
}
.class-float-hover {
background: #B06A26;
}