_潜行者

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
from django.conf import settings
from django.http import JsonResponse


def json_response(json_dict):

    response = JsonResponse(json_dict)
    if settings.DEBUG:
        response["Access-Control-Allow-Origin"] = "*"
        response["Access-Control-Allow-Methods"] = "GET,POST,PUT,DELETE,OPTIONS"
        response["Access-Control-Allow-Headers"] = "Access-Control-Allow-Methods,Origin, Accept,Content-Type, Access-Control-Allow-Origin, access-control-allow-headers,Authorization, X-Requested-With"

    return response


class GlobalReturnClass(object):
    def __init__(self, info_dict):
        if isinstance(info_dict, dict):
            self.CODE = info_dict.get('code')
            self.MSG = info_dict.get('msg')
        else:
            self.CODE = 1000
            self.MSG = ''


def global_error_response(data=None, msg=None, status_info=None):
    if status_info:
        response_dict = {
            'code': GlobalReturnClass(status_info).CODE,
            'msg': GlobalReturnClass(status_info).MSG,
            'data': data if data else ''
        }
    else:
        response_dict = {
            'code': 1001,
            'msg': msg if msg else '',
            'data': data if data else ''
        }
    return JsonResponse(response_dict)


def global_success_response(data=None, msg=None, status_info=None):
    if status_info:
        response_dict = {
            'code': GlobalReturnClass(status_info).CODE,
            'msg': GlobalReturnClass(status_info).MSG,
            'data': data if data else ''
        }
    else:
        response_dict = {
            'code': 1000,
            'msg': msg if msg else '',
            'data': data if data else ''
        }
    return JsonResponse(response_dict)

GIFT_DATE_NOT_SUITABLE = dict(code=1002, msg='礼包时间范围与其他礼包冲突')
USER_DOESNOT_EXIST = dict(code=1003, msg='用户不存在')
GIFT_DOSENOT_SUITABLE_USER = dict(code=1004, msg='该礼包不适用该用户')
GIFT_IS_EXPIRED = dict(code=1005, msg='礼包已过期')
USER_NOT_RECEIVE_GIFT = dict(code=1006, msg='用户未领取')



other版本:
import simplejson
import logging
from django.http import JsonResponse
from core.constants import AJAX_SUCCESS_CODE
from django.conf import settings

logger = logging.getLogger(__name__)


def code_msg_error_dict(code_msg_error):
    return {
        "data": [],
        "msg": code_msg_error.message,
        "code": code_msg_error.code
    }


def json_response(json_dict, status=200):
    response = JsonResponse(json_dict, status=status)
    if settings.DEBUG:
        response["Access-Control-Allow-Origin"] = "*"
    return response


def code_msg_error_response(code_msg_error, status=200):
    return JsonResponse(code_msg_error_dict(code_msg_error), status=status)


def code_msg_success_response(resp_dict=None):
    if not resp_dict:
        resp_dict = {}
        resp_dict['data'] = {}
    resp_dict['code'] = AJAX_SUCCESS_CODE
    resp_dict['msg'] = ''
    return json_response(resp_dict)


def msg_response(msg=u"", status=400, error_code=3006):
    """返回一条简单地消息
    """
    return json_response({
        "code": error_code,
        "msg": msg
    }, status=status)


def load_json_dict(json_string):
    try:
        result_dict = simplejson.loads(json_string)
    except Exception as e:
        logger.error(u'JSON数据读取错误. json_string: {}, '
                     u'Exception: {}'.format(json_string, e))
        return None

    if not isinstance(result_dict, dict):
        logger.error(u'JSON数据读取错误。结果不是一个dict。')
        return None
    else:
        return result_dict

 

posted on 2020-03-02 10:58  _潜行者  阅读(245)  评论(0)    收藏  举报