package smscli import ( "context" "fmt" ) // AdminListUserTokens 管理员获取令牌列表,可按 UserID、Status 筛选。 // GET /api/sms/admin/token/list func (c *Client) AdminListUserTokens(ctx context.Context, q TokenListQuery) (PaginationResult[SmsUserToken], error) { params := mergeParams(paginationParams(q.PaginationQuery), map[string]interface{}{ "user_id": q.UserID, "status": q.Status, }) return get[PaginationResult[SmsUserToken]](c, ctx, "/api/sms/admin/token/list", buildQuery(params)) } // AdminGetUserToken 管理员获取指定令牌详情。 // GET /api/sms/admin/token/:id func (c *Client) AdminGetUserToken(ctx context.Context, id uint) (SmsUserToken, error) { return get[SmsUserToken](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d", id), nil) } // AdminCreateUserToken 管理员创建令牌(可指定 UserID)。 // POST /api/sms/admin/token func (c *Client) AdminCreateUserToken(ctx context.Context, req AdminCreateTokenReq) (SmsUserToken, error) { return post[SmsUserToken](c, ctx, "/api/sms/admin/token", req) } // AdminUpdateUserToken 管理员更新指定令牌。 // PUT /api/sms/admin/token/:id func (c *Client) AdminUpdateUserToken(ctx context.Context, id uint, req UpdateTokenReq) (SmsUserToken, error) { return put[SmsUserToken](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d", id), req) } // AdminDeleteUserToken 管理员删除指定令牌。 // DELETE /api/sms/admin/token/:id func (c *Client) AdminDeleteUserToken(ctx context.Context, id uint) error { _, err := del[any](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d", id)) return err } // AdminToggleUserToken 管理员切换令牌的启用/禁用状态。 // POST /api/sms/admin/token/:id/toggle func (c *Client) AdminToggleUserToken(ctx context.Context, id uint) error { _, err := post[any](c, ctx, fmt.Sprintf("/api/sms/admin/token/%d/toggle", id), nil) return err }