# easy-flask-json-mvc-socketio
**Repository Path**: phpxcn/flask
## Basic Information
- **Project Name**: easy-flask-json-mvc-socketio
- **Description**: 一个MVC 分层,restful api,json api设计模式的flask框架
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 190
- **Created**: 2020-09-01
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### 项目介绍
一套基于flask,vue的前后端分离的解决方案(献给从事web开发的pythoner)。
人生苦短,我用python!
#### 更新情况
- [x] 2019.04.03 增加事务,验证装饰器,demo在UsersController下
- [x] 2019.05.30 增加全局异常日志记录及接口异常回溯描述返回
- [x] 2019.05.30 增加验证描述万国语言支持
- [x] 2019.07.08 模型一键生成,继承模型进行后封装增删改查通用方法,减少操作orm的难度
- [x] 2019.11.28 启动分类加载,减少不必要的损耗,默认使用文本日志,防止不用test.sql的人导致的插入报错
- [x] 2019.12.03 增加数据库插入等事件
- [x] 2019.12.12 增加计划任务
#### 特别提醒
1. 2019.07.08版本后将使用sqlalchemy而不是flask_sqlalchemy充当orm
2. 一键生成基础模型 sqlacodegen mysql+pymysql://root:1993524@127.0.0.1:3306/test > Model.py
#### 软件架构
一.后端flask程序:
1.三个入口文件:
json api入口启动run.py
restful api入口启动 restfulRun.py
socketio入口启动 socketRun.py
2.运行流程
run.py->
app/__init__.py ->
app/Middleware/XSSProtection.py(抽象一层中间层用于处理一些统一验证的逻辑,根据需求进行添加)
app/Controllers/UsersController.py(接收前端json参数并分发给模型层处理,参考flask request模块接参方法)->
app/Models/Users.py(业务逻辑书写成静态方法或类方法给控制层调用)->
app/Controllers/UsersController.py(接收模型层返回值返回)
二.前端vue程序:
1.安装,运行,打包:
采用webpack,vue,mint-ui技术的前端解决方案
npm install(建议使用淘宝源 cnpm install)
npm run dev(启动测试环境)
npm run build(打包成浏览器识别的语法)
2.一些重要的文件夹及文件:
路由层:src/router/index.js
视图层:src/views/*
组件层:src/components/*
api层:src/api/*
资源层:src/assets/*
仓储层(vuex):src/store/*
工具层:src/utils/*
#### 作者其他开源产品
1. 工具鸡前端app项目
2. 状态栏监听安卓客户端
3. plainCms
4. 工具鸡-聊天室
#### 群内交流

#### 捐助作者
