"""老小程序兼容:统一 JSON 错误格式(勿改前端时靠后端适配)。""" from rest_framework import status from rest_framework.response import Response def legacy_miniapp_error(code, message, http_status=status.HTTP_200_OK): """ 业务错误返回 HTTP 200 + body.code。 老端 request.js 会把 HTTP 403 当成「请先登录」,导致只显示「注册失败」。 同时写 message 与 msg,兼容 dashouzhuce / wdlyhdl 两种字段名。 """ text = message or '操作失败' return Response({ 'code': code, 'message': text, 'msg': text, 'data': None, }, status=http_status)