flipped-aurora/gin-vue-admin · error
获取成员ID列表失败: %w
Error message
获取成员ID列表失败: %w
What it means
Wrap of an upstream error from a GET request that resolves the member ID list for a dept or position (getUpstream on the configured endpoint). If the backend cannot return the []uint member IDs, the query tool aborts with this message.
Source
Thrown at server/mcp/org_member_query.go:103
}
var endpoint, idParam string
switch dimension {
case "department":
endpoint, idParam = "/department/getDepartmentUsers", "deptId"
case "position":
endpoint, idParam = "/position/getPositionUsers", "positionId"
case "authority":
endpoint, idParam = "/authority/getUsersByAuthority", "authorityId"
default:
return nil, errors.New("dimension 仅支持 department|position|authority")
}
query := url.Values{}
query.Set(idParam, strconv.FormatUint(uint64(targetID), 10))
idsResp, err := getUpstream[[]uint](ctx, endpoint, query)
if err != nil {
return nil, fmt.Errorf("获取成员ID列表失败: %w", err)
}
memberIDs := idsResp.Data
result := orgMemberResponse{
Success: true,
Message: fmt.Sprintf("共 %d 名成员", len(memberIDs)),
Dimension: dimension,
TargetID: targetID,
MemberCount: len(memberIDs),
MemberIDs: memberIDs,
}
if withUserInfo && len(memberIDs) > 0 {
found, unresolved, err := scanUsersByIDs(ctx, memberIDs)
if err != nil {
return nil, err
}
for _, id := range memberIDs {View on GitHub (pinned to 3136500ef3)
Solutions
- Check the wrapped cause for status code and body
- Confirm the deptId/positionId exists before querying
- Verify the admin backend is running and the MCP server can reach it
- If decode errors appear, check whether the upstream API response schema changed
Defensive patterns
Strategy: retry
Validate before calling
if deptID == 0 && positionID == 0 {
return errors.New("provide a valid deptId or positionId to query members")
} Try / catch
members, err := query.Handle(ctx, args)
if err != nil {
if isRetryable(err) { // network/5xx from wrapped cause
time.Sleep(backoff)
members, err = query.Handle(ctx, args)
}
if err != nil {
return fmt.Errorf("member query failed: %w", err)
}
} Prevention
- Verify dept/position IDs exist before querying membership
- Monitor admin backend availability; alert on repeated upstream failures
- Watch for upstream API schema changes if decode errors appear
When it happens
Trigger: Handle queries members by deptId or positionId; getUpstream fails due to network error, 4xx/5xx response, or malformed payload that cannot be decoded into []uint.
Common situations: Backend down; wrong dept/position ID causing 4xx; auth token missing; API shape changed so JSON no longer decodes as an array of uints.
Related errors
AI-assisted analysis of flipped-aurora/gin-vue-admin@3136500ef3 (2026-08-31).
Data as JSON: /api/errors/97c202d8b52e8104.
Report an issue: GitHub.