问题背景:
- 平台审核失败,原因:小程序页面未完整浏览即要求授权登录,属于登录规范不合规
- GET /api/app/products/:id 位于认证路由组,未登录用户访问返回 401,
触发前端全局拦截器弹出"账号登录已过期"弹窗
修改内容:
1. router.go: 将 GET /products/:id 从 appAuthApiRouter(认证组)
移至 appPublicApiRouter(公开组),允许未登录用户浏览商品详情
2. product.go: 针对公开端点增加安全加固
- 增加商品 ID 参数校验(ParseInt 错误和 id<=0)
- 将兜底错误信息从 validation.Error(err) 改为通用提示
"商品信息获取失败",防止原始 DB 错误泄露给未认证请求
影响范围:
- 仅影响 GET /api/app/products/:id 端点
- GET /api/app/products(商品列表)仍保留在认证组
- 该 handler 不依赖 JWT session 上下文,移至公开组后功能无变化
- 返回数据仅包含商品元信息(名称、图片、价格、库存),不含用户敏感数据
mini-chat
接口文档
服务地址
打包命令
MAC
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags "-s -w" -tags timetzdata -trimpath -o build/bindbox.exe .
export DOCKER_DEFAULT_PLATFORM=linux/amd64 docker build -t zfc931912343/bindbox-game:v1.10 . docker push zfc931912343/bindbox-game:v1.10
docker pull zfc931912343/bindbox-game:v1.10 &&docker rm -f bindbox-game && docker run -d --name bindbox-game -p 9991:9991 zfc931912343/bindbox-game:v1.10
Description
Languages
Go
97.8%
HTML
1.1%
JavaScript
0.6%
Makefile
0.2%
Shell
0.2%