Files
photowall/go/pkg/geetest/geetest.go
T
hero920103 57d9866dab feat: PhotoWall 毕业照存储系统初始版本
后端: Go(Gin+GORM+MySQL+Redis)
- 17张业务表(yz_pw_前缀), 自动迁移
- JWT认证(3小时) + 盐+MD5密码 + 图形验证码
- 班级CRUD/加入(8人姓名验证/邀请码)/审核/30天自动清理
- 系统配置(16项)/菜单管理(动态路由)/数据统计
- 文件MD5去重/数据隔离/账号封禁/敏感词DFA检测

前端: Vue3+Vite+Element Plus+Less+ECharts+FontAwesome
- 动态路由(数据库菜单驱动)
- 蓝白配色, H5响应式
- 登录/注册/忘记密码/个人中心
- 班级创建向导/详情/加入/列表
- 管理后台: 审核/配置/菜单/统计/用户/敏感词

数据库: MySQL 10.31.100.3:3306/photowall
管理员: hero920103 / 920103
2026-09-03 05:55:23 +08:00

29 lines
898 B
Go

package geetest
import (
"errors"
"photowall/internal/config"
)
// 极验行为验证封装
// 参数未配置时返回 ErrNotConfigured,前端可降级为图形验证码
var ErrNotConfigured = errors.New("极验未配置,请联系管理员")
// Validate 校验极验二次验证结果
// lotNumber: 极验返回的 lot_number
// captchaOutput: 极验返回的 captcha_output
// passToken: 极验返回的 pass_token
// genTime: 极验返回的 gen_time
func Validate(lotNumber, captchaOutput, passToken, genTime string) error {
cfg := config.C
if cfg.GeeTestID == "" || cfg.GeeTestKey == "" {
return ErrNotConfigured
}
// TODO: 接入极验官方 SDK 进行二次验证
// 官方流程:用 captcha_id + lot_number + captcha_output + pass_token + gen_time
// 向极验服务器发送 POST 请求验证
// 参考:https://docs.geetest.com/gt4/apirefer/api/server
return nil
}