建公司网站要多少钱,宁波网站公司哪家好,深圳做网站佰达科技二十七,价格对比网站开发大家好#xff0c;我是java1234_小锋老师#xff0c;看到一个不错的基于Python的FlaskVue物业管理系统【论文源码SQL脚本】#xff0c;分享下哈。
项目视频演示
https://www.bilibili.com/video/BV1AEqpBFExf/
项目介绍
本文首先实现了基于Python的FlaskVue物业管理系…大家好我是java1234_小锋老师看到一个不错的基于Python的FlaskVue物业管理系统【论文源码SQL脚本】分享下哈。项目视频演示https://www.bilibili.com/video/BV1AEqpBFExf/项目介绍本文首先实现了基于Python的FlaskVue物业管理系统技术的发展随后依照传统的软件开发流程最先为系统挑选适用的言语和软件开发平台依据需求分析开展控制模块制做和数据库查询构造设计随后依据系统整体功能模块的设计制作系统的功能模块图、E-R图。随后设计框架依据设计的框架撰写编码完成系统的每个功能模块。最终对基本系统开展了检测包含软件性能测试、单元测试和性能指标。测试结果表明该系统能够实现所需的功能运行状况尚可并无明显缺点。系统展示部分代码import logging from flask import Blueprint, request from extensions import db from util.make_menu_tree import build_menu_tree from menu.model import SysMenu from util.security import permission_required from util.status_code import response, SUCCESS_CODE, ERROR_CODE menu_print Blueprint(menu_print,__name__,url_prefix/api/menu) logging.basicConfig(levellogging.INFO, format%(asctime)s - %(levelname)s - %(message)s) def to_list_(menu): dict_users { menu_id: menu.get(menuId), parent_id: menu.get(parentId), menu_label: menu.get(menuLabel), menu_code: menu.get(menuCode), name: menu.get(name), path: menu.get(path), url: menu.get(url), type: menu.get(type), icon: menu.get(icon), order_num: menu.get(orderNum), remark: menu.get(remark), parent_name: menu.get(parentName) } return dict_users menu_print.route(/list,methods[GET]) permission_required(sys:sysMenuList) def get_menu_list(): 查询所有菜单并构造树形结构返回 menu_list SysMenu.query.order_by(SysMenu.menu_id).all() menu_list[x.to_list() for x in menu_list] res_menu_list build_menu_tree(menu_list) return response(成功, SUCCESS_CODE, datares_menu_list) menu_print.route(,methods[PUT]) permission_required(sys:menu:edit) def update_menu(): 修改菜单 new_menu request.get_json() try: old_menuSysMenu.query.filter_by(menu_idnew_menu[menuId]).first() if old_menu: # 更新这条 SysMenu.query.filter_by(menu_idnew_menu[menuId]).update(to_list_(new_menu)) db.session.commit() else: return response(菜单不存在, ERROR_CODE) except: db.session.rollback() return response(修改失败, ERROR_CODE) return response(修改成功, SUCCESS_CODE) menu_print.route(int:menu_id,methods[DELETE]) permission_required(sys:menu:delete) def delete_menu(menu_id): 删除菜单 try: menu SysMenu.query.filter_by(menu_idmenu_id).first() if menu: SysMenu.query.filter_by(menu_idmenu_id).delete() SysMenu.query.filter_by(parent_idmenu_id).delete() db.session.commit() else: return response(菜单不存在, ERROR_CODE) except: db.session.rollback() return response(删除失败, ERROR_CODE) return response(删除成功, SUCCESS_CODE) def make_menu_tree( menus, parent_id): 递归构造树形菜单 result [] for menu in menus: if menu[parentId] parent_id: children make_menu_tree(menus, menu[menuId]) if children: menu[children] children result.append(menu) return result menu_print.route(/parent,methods[GET]) permission_required(sys:sysMenuList) def get_parent_list(): 查询上级菜单并构造树形结构返回 # 查询符合条件的菜单并按 order_num 升序排序 menus SysMenu.query.order_by(SysMenu.order_num.asc()).all() menus [menu.to_list() for menu in menus] # 添加顶级菜单节点 top_menu { menuId: 0, parentId: -1, menuLabel:顶级菜单 } menus.append(top_menu) # 构造树形数据 menu_tree make_menu_tree(menus, -1) return response(成功, SUCCESS_CODE, datamenu_tree) menu_print.route(,methods[POST]) permission_required(sys:menu:add) def add_menu(): 添加菜单 mjson request.get_json() new_menu SysMenu( parent_idmjson[parentId], menu_labelmjson[menuLabel], menu_codemjson[menuCode], namemjson[name], pathmjson[path], urlmjson[url], typemjson[type], iconmjson[icon], remarkmjson[remark], parent_namemjson[parentName], ) try: db.session.add(new_menu) db.session.commit() return response(添加成功, SUCCESS_CODE, datanew_menu.to_list()) except Exception as e: print(e) db.session.rollback() return response(添加失败, ERROR_CODE)源码下载链接https://pan.baidu.com/s/1UtYnwCBwky5iOIOLUp6FYA?pwd1234提取码1234