Source code for ulordapi.errcode

# coding=utf-8
# Copyright (c) 2016-2018 The Ulord Core Developers
# @File  : errcode.py
# @Author: Ulord_PuJi
# @Date  : 2018/5/18 0018

import copy, json


_errcodes={
    # 正常
    0:{'errcode':0,'reason':'success'},  # 可以重写reason与result内容

    # HTTP协议错误码
    400:{'errcode':400,'reason':'Bad Request.'},
    403:{'errcode':403,'reason':'Forbidden.'},
    404:{'errcode':404,'reason':'Not found.'},
    405:{'errcode':405,'reason':'Method Not Allowed.'},
    500:{'errcode':500,'reason':'Internal Server Error.'},

    # 系统级错误码
    10001:{'errcode':10001,'reason':'错误的请求KEY.'},
    10002:{'errcode':10002,'reason':'该KEY无请求权限.'},
    10003:{'errcode':10003,'reason':'KEY过期.'},
    10004:{'errcode':10004,'reason':'被禁止的IP.'},
    10005:{'errcode':10005,'reason':'被禁止的KEY.'},
    10006:{'errcode':10006,'reason':'当前IP请求超过限制.'},
    10007:{'errcode':10007,'reason':'请求超过次数限制.'},
    10008:{'errcode':10008,'reason':'系统内部异常.'},
    10009:{'errcode':10009,'reason':'接口维护.'},
    10010:{'errcode':10010,'reason':'接口停用.'},
    10011:{'errcode':10011,'reason':'当前没有登录用户,请登录.'},
    10012:{'errcode':10012,'reason':'缺少应用KEY值.'},
    10013:{'errcode':10013,'reason':'无权限进行此操作.'},

    # 服务级错误码
    # 1. DB查询验证
    20000:{'errcode':20000,'reason':'用户已存在.'},
    20001:{'errcode':20001,'reason':'邮箱已存在.'},
    20002:{'errcode':20002,'reason':'应用名已存在.'},
    20003:{'errcode':20003,'reason':'用户不存在.'},
    20004:{'errcode':20004,'reason':'密码错误.'},
    20005:{'errcode':20005,'reason':'数据不存在.'},
    20006:{'errcode':20006,'reason':'用户被禁用.'},
    20007:{'errcode':20007,'reason':'资源不存在.'},
    20008:{'errcode':20008,'reason':'资源需付费.'},

    # 2. 请求参数验证相关
    20100:{'errcode':20100,'reason':'缺少参数.'},
    20101:{'errcode':20101,'reason':'参数长度不符.'},
    20102:{'errcode':20102,'reason':'参数必须为json格式.'},
    # 3. 钱包相关接口调用
    20200:{'errcode':20200,'reason':'调用钱包接口失败.'},
    20201:{'errcode':20201,'reason':'资源发布失败.'},
    20202:{'errcode':20202,'reason':'资源消费失败.'},
    20203:{'errcode':20203,'reason':'查询余额失败.'},
    20204:{'errcode':20204,'reason':'创建钱包失败.'},
    20205:{'errcode':20205,'reason':'用户注册失败,因为没有成功创建ulord钱包.'},
    20206:{'errcode':20206,'reason':'支付失败.'},

    # SDK错误码
    # 1、DB查询验证
    60000:{'errcode':60000,'reason':'用户已存在.'},
    60001:{'errcode':60001,'reason':'邮箱已存在.'},
    60002:{'errcode':60002,'reason':'用户不存在.'},
    60003:{'errcode':60003,'reason':'密码错误.'},
    60004:{'errcode':60001,'reason':'邮箱已存在.'},
    60005:{'errcode':60005,'reason':'数据库提交失败.'},
    60006:{'errcode':60006,'reason':'作者已失效.'},
    60007:{'errcode':60007,'reason':'标题已存在.'},

    # 2. 请求参数验证相关
    60100:{'errcode':60100,'reason':'参数不符.'},
    60101:{'errcode':60101,'reason':'参数长度不符.'},
    60102:{'errcode':60102,'reason':'参数必须为json格式.'},

    60103:{'errcode':60103,'reason':'需要token.'},
    60104:{'errcode':60104,'reason':'无效的token.'},
    60105:{'errcode':60105,'reason':'无效的邮箱.'},
    60106:{'errcode':60106,'reason':'无效的手机号.'},
    60107:{'errcode':60107,'reason':'无效的udfs值.'},
    60108:{'errcode':60108,'reason':'无效的作者.'},
    # 3.文件操作
    60200:{'errcode':60200,'reason':'上传文件失败.'},
    # 4.活动相关
    60300:{'errcode':60200,'reason':'活动取消.'},
    60301:{'errcode':60301,'reason':'已赠送.'},

    # 5.请求平台操作
    60400:{'errcode':60400,'reason': '请求平台接口出错' },
}


[docs]def return_result(errcode=0,reason=None,result=None): """ update errcode,reason,result and then return :param errcode: errcode :type errcode: int :param reason: reason, change it to the dict and update original reason :type reason: str/dict :param result: result, change it to the dict and update original result :type result: str/dict :return: errcode result """ if errcode == 0: res=copy.deepcopy(_errcodes[0]) if reason is not None: res.update({'reason':reason}) if result is not None: res.update({'result':result}) return res else: rs= _errcodes[errcode] if reason: rs.update(dict(reason=reason)) if result: rs.update(dict(result=result)) return rs
if __name__ == '__main__': print(return_result(0, "success", "result")) print(_errcodes.get(0)) print(return_result(0, "failed", "test")) print(_errcodes.get(0)) print("--------------------") print(return_result(10001, "failed!", "test")) print(_errcodes.get(10001)) print(return_result(10001, "success", "ttt")) print(_errcodes.get(10001))