# 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. 工具鸡-聊天室 #### 群内交流 ![群内交流](https://images.gitee.com/uploads/images/2019/0724/121735_03ee3000_1588193.png "temp_qrcode_share_566438779.png") #### 捐助作者 ![捐助作者](https://images.gitee.com/uploads/images/2019/0124/105407_661d1190_1588193.png "mm_facetoface_collect_qrcode_1548297043215.png")