1、Python开发框架-WxPython桌面端功能介绍

本项目是基于 wxPython 开发的 GUI 应用,系统主要功能包括用户、角色、机构、权限、日志、菜单、字典、附件、通用编码规则、参数配置管理等基础框架内容。
我们目的是构建一个基于后端Web API,支持多种数据库操作的通用应用系统,为各类企业提供一站式的管理系统解决方案。
我们通过利用其各种界面控件,结合Python+WxPython的跨平台运行的特性,为Windows、MacOS、Ubuntu等Linux系统,开发一套界面效果一致的桌面端应用系统。
我们可以基于VSCode + wxpython + WebApi 组合实现桌面端的开发,并利用代码生成工具,快速实现前后端功能和界面代码的开发。
VSCode 是一个高效、快速的代码编辑器,启动速度快,不会占用过多资源,VSCode 支持 Windows、Linux 和 macOS,且在各平台上有一致的用户体验。
wxPython 是一个跨平台的 GUI 库,基于原生平台的控件实现,因此应用程序的界面与操作系统的原生应用界面高度一致,提升用户体验。 wxPython 支持 Windows、Linux 和 macOS,可以编写一次代码,并在多个操作系统上运行。 wxPython 提供了大量的控件,如按钮、文本框、列表框、树形控件、菜单、工具栏等,可以满足桌面应用大部分需求。

系统登录界面

一般的系统登统界面,设计好看一些,系统会增色不少。

系统功能界面

工具栏和多文档界面是现代桌面应用程序中常见的界面元素,它们为用户提供了直观的操作和高效的工作流。工具栏通过将常用功能放置在一个可见的位置,让用户可以迅速访问和操作,无需通过多层菜单或子界面进行选择。工具栏的按钮通常使用图标(而非文字),这种视觉方式能减少用户的认知负担,让操作更加直观和高效。

多文档界面(MDI)是一种设计模式,允许用户在同一个应用程序窗口中同时打开多个文档或视图,方便用户在不同任务之间进行快速切换。与每个文档单独打开一个新窗口的方式不同,MDI 通过将多个文档嵌套在同一个父窗口中,帮助用户更高效地管理多个任务。

工具栏如果超出界面显示,会自动进行折叠,如下图所示。

树列表或者表格数据控件支持右键弹出菜单处理。

用户新增、编辑界面

用户新增、编辑界面如下所示。包括选择树形列表,字典项目的显示和选择,常规数据的录入,关联关系的处理等等。

组织机构管理

组织机构主要就是一个层级的对象关系,一般包含但不限于公司、部门、工作组等的定义。 组织机构作为树形结构列表,是一种常见的数据表示方式,用于描述一个组织的层级关系、部门结构或人员关系。树形结构使得组织的层次性和关联性更加清晰,并且便于管理和导航。

角色管理

角色管理,系统为基于角色的用户分配权限,也成为RBAC,RBAC(基于角色的访问控制)是一种通过为用户分配角色来管理他们访问权限的安全模型。 RBAC (Role-Based Access Control) 是一种常见的权限管理模型,广泛用于组织和应用程序中来管理用户的访问权限。RBAC 基于用户的角色来决定其对系统资源的访问权限,而不是直接为每个用户单独配置权限。这种方式简化了权限管理,尤其是在用户数量较多时,更加高效和易于维护。

角色编辑界面,包含角色基本信息、拥有权限、包含成员、拥有菜单的管理等。

角色包含可操作功能点。

角色包含可访问菜单。

系统定义

系统定义,是指我们为每个前端分配不同系统标识,用于管理权限点、菜单等资源信息。

功能管理

功能管理,根据不同的终端系统,定义了对特定资源的操作(如编辑、删除、导入、导出、打印等等)。在角色里面看到可以分配的权限内容,就是基于这个权限表的信息展示的。

在创建权限功能点的时候,我们可以快速的批量添加模块的权限点。

菜单管理

菜单管理,用来动态构建工具栏或者菜单资源的管理,通过资源化,可以对角色拥有的菜单进行管理,从而实现动态化的菜单管理和呈现的需求。在用户登录系统后,动态加载菜单展示。

菜单资源管理的列表界面界面如下所示。

可以对已有的菜单进行编辑,菜单编辑界面如下所示,在编辑界面中可以选定内置的图标。

登录日志和操作日志

系统会根据用户访问和修改数据的相关操作,记录登录日志和操作日志信息,供查询。登录日志,这个就是用户尝试登录的时候,留下的记录信息。同时,系统在底层对数据库操作进行操作日志的记录

通用字典管理

通用字典信息的管理,方便一些常见控件的数据使用,如下拉列表、复选框列表、单选框列表等等。为了更好管理字典数据,分为字典类型和字典数据的相关信息管理。

字典大类在左侧列表进行维护,可以进行新增、编辑、删除等常规操作。批量添加字典内容的界面如下所示。

通用字典管理是独立模块管理,松耦合使用,可重用性高,快速高效。如在客户管理界面中客户类型为一个通用的字典列表。

业务编码规则

业务编码规则是一个通用的编码规则设置,方便在系统相关业务表单中引用,生成指定格式的编码,并可以进行递增管理。

系统黑白名单

在一般的权限系统里面,可能经常会看到系统的黑名单或者白名单的拦截功能。

黑名单拦截和白名单放行,通过“添加用户”按钮,在弹出的选择人员界面中,指定黑白名单的人员列表即可。

系统参数维护和配置管理

提供对系统参数维护管理功能,以及对参数设置界面的模块化管理,界面按照不同的功能模块或参数类别划分为多个部分,常见形式包括选项卡。

附件管理

在很多常规的管理系统里面,都可能有附件管理的需求,这个功能我们可以把它独立做成一个附件管理模块,这样可以在各个系统中集成即可。

系统提供API进行附件的上传,支持多附件上传处理。并可以对已上传的附件进行查看管理。

字段的权限控制

字段的权限控制,一般就是控制对应角色人员的对某个模块的一些敏感字段的可访问性:包括可见、可编辑性等处理。

其他一些功能

系统提供一些用户选择、角色选择、机构选择的界面,方便实际业务的调用。

界面中的列表内置打印数据处理,在表格右键提供列表数据的通用打印处理。

系统设计图展示

为了更好方便该WxPython桌面端的系统设计,我们提供一些UML图示帮助了解架构和组件设计的细节。

代码生成工具快速开发支持

为方便快速开发项目代码,我们在代码生成工具中整合了基于 Python 跨平台方案项目的代码快速生成,包括基于FastApi 的后端Web API项目,以及前端的WxPython前端界面项目。