基础框架
COMMON
ORM
- 统一数据库层的常用操作:分页,to client
- 支持django orm, BaseModel
- sqlalchemy transaction
- mongo?
Baseview
- 输入参数校验(jsonschema)
- 参数别名
- 统一输出处理,去掉目前直接return response的形式
- 输出schema
- 标准化的流程:
def check_params():
return *args
def process(*args):
return *data
def output(*data):
return result
LOG
统一log格式
EXCEPTION CODE
细化和统一错误和错误码
class GmError(Exception):
def __init__(self, msg, dev_msg):
class BussinessError(GmError):
pass
class SystemError(GmError):
pass
class ParamError(GmError):
pass
class ErrorCode(IntEnum):
PARAM_ERROR = 101
ORDER_ERROR = 120
PAY_ERROR = 130
SUPPORT
集成三方的接口:email,celery,短信,推送,地图等
单元测试
BaseTestCase
配置
配置方案:py
目录结构
proj/
-proj/
settings.py
url.py
uwsgi.xml
wsgi.py
loggers.py
-conf/
deploy.py
local.py
-run/
uwsgi/
start
reload
stop
-common/
model_base.py // 放库
sqlalchemy_base.py
view_base.py
exception.py
-support/
email
message
jpush
celery
gaode_map
...
-app_***/ // 所有app以app开头
models.py
urls.py
define.py // 所有枚举,定义
service/
views/
tests/
requirements.txt
run.sh
manage.py
集成方式
控制脚本
- 本地维护一个独立的git模板工程
- 生成工程模板:复制模板生成新的工程
- 同步最新的模板:将目标工程里面的模板文件拷贝回模板工程,然后commit pull,如果有冲突,将新的/冲突文件拷贝回目标工程,手动merge后重新提交
- 提交公共模块修改:同步最新的模板,然后push
- 生成db文档:遍历db表结构生成db文档
- 生成接口文档:根据url和view,生成统一格式的接口文档