package config import ( "net/url" "strings" ) // ResignConfirmRoute 是一次性离职确认端点的路由。 // // 它被两处引用:server 用它注册路由(且此路由不经 Auth 中间件,token 即凭证), // 快照 runner 用它拼接飞书卡片按钮的跳转 URL。放在 config 包而非 server/feishu, // 是为了避免 server↔syncer 的循环依赖。 const ResignConfirmRoute = "/api/resign/confirm" // ConfirmURL 用对外 base-url、uid 与一次性 token 拼出确认端点地址。 // // token 内嵌在链接里,因此该链接必须具备一次性、过期等约束——这正是 // store 的 ResignConfirmToken 提供的语义,而不是仅靠链接难以猜测。 func ConfirmURL(baseURL, uid, token string) string { q := url.Values{} q.Set("uid", uid) q.Set("token", token) return strings.TrimRight(baseURL, "/") + ResignConfirmRoute + "?" + q.Encode() }