小程序一些功能更新

This commit is contained in:
李琦
2026-09-29 10:57:01 +08:00
parent 0cb70a7618
commit 3bb7fa8db3
96 changed files with 13890 additions and 213 deletions

View File

@@ -52,22 +52,26 @@ type MemberCenterRes struct {
PeriodDays int `json:"period_days"` // 当前生效的额度重置周期
}
// MemberOrderCreateReq 创建会员订单
// MemberOrderCreateReq 创建会员订单(**只建单**,N1-1/2)。
//
// Code 为 wx.login 获取的临时登录凭证 —— 服务端用它换 session_key,
// session_key 是「用户态签名 signature」的密钥;同时校验支付人与登录人一致。
// Code 保留以兼容旧客户端但**非必传**:建单不再校验「支付人 = 登录人」(该校验前移到
// POST /member/order/pay)。两步式的第一步只负责落一条待支付订单。
type MemberOrderCreateReq struct {
g.Meta `path:"/member/order" method:"post" tags:"member" summary:"创建会员订单(返回支付参数)"`
g.Meta `path:"/member/order" method:"post" tags:"member" summary:"创建会员订单(待支付,不返回支付参数)"`
PlanKey string `v:"required#请选择会员套餐" json:"plan_key"`
Code string `json:"code"`
}
// MemberOrderCreateRes 创建会员订单响应(只建单,**不返回支付参数**;N1-1/2)。
//
// 支付参数由独立端点 POST /member/order/pay 构建(见 order.go 的 MemberOrderPayRes)。
// Reused=true 表示命中「同用户 + 同套餐 + 待支付」的既有单(N1-10),保证待支付单恒为 1 条。
type MemberOrderCreateRes struct {
OutTradeNo string `json:"out_trade_no"`
Mode string `json:"mode"` // 固定 short_series_goods
SignData string `json:"signData"` // JSON 字符串,必须原样传给 wx.requestVirtualPayment
PaySig string `json:"paySig"`
Signature string `json:"signature"`
Env int `json:"env"`
OutTradeNo string `json:"out_trade_no"`
Reused bool `json:"reused"`
OriginPriceCents int64 `json:"origin_price_cents"`
PaidPriceCents int64 `json:"paid_price_cents"`
Status int `json:"status"`
}
// MemberOrderCheckReq 查询订单状态(前端支付成功回调后轮询;同时承担兜底发货)
@@ -91,6 +95,7 @@ type MemberOrderOut struct {
OrderType int `json:"order_type"` // 1=会员套餐 2=次数包
PlanKey string `json:"plan_key"`
PlanName string `json:"plan_name"`
PackKey string `json:"pack_key"`
Title string `json:"title"` // 统一展示标题(套餐名 / 次数包名)
ToolKey string `json:"tool_key"`
ToolName string `json:"tool_name"`
@@ -101,6 +106,12 @@ type MemberOrderOut struct {
PayChannel string `json:"pay_channel"`
CreatedAt string `json:"created_at"`
DeliveredAt string `json:"delivered_at"`
// ===== T04.6 优惠凭证(响应 snake_case)=====
OriginPriceCents int64 `json:"origin_price_cents"`
PaidPriceCents int64 `json:"paid_price_cents"`
PromoCode string `json:"promo_code"`
DiscountCents int64 `json:"discount_cents"`
PromoKind int `json:"promo_kind"`
}
type MemberOrdersRes struct {
List []MemberOrderOut `json:"list"`