2 Star 6 Fork 3

liudashang / 账户信息管理系统_Perl语言web框架Mojolicous开发样例

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Perl语言web框架Mojolicous开发样例

介绍

Perl的Mojolicous框架开发大型项目的样例参考,涉及Vue/elementUI/Mojolicious/Selenium以及perl的xml、数据库、面向对象的类封装、workflow(工作流程管理)模块等技术。
该系统主要是为了提升工作效率而开发的,过去相当长时间里我每天都要拿出部分时间处理VPN账户有关的申请单,通过Web页面建立/删除账户、配置安全策略,而且还要手工记录申请信息做好台账,日复一日的重复操作,十分枯燥。当学习完Perl语言后,我就开始尝试解决这个问题,把流程审批、台账管理、系统配置自动化的整合在一起。自去年11月起至今年(2019)2月历时4个月开发,然后经历了几个月的上线运行及Bug修复后,终于实现了当初的设计。
该系统是经过修改后的开源版本,主要作为Perl语言和Mojolicious开发教材使用。
当前,国内使用perl语言的开发者并不多,而且web开发有关的perl语言材料均是五六年甚至十多年以前的资料。随着流行趋势的变迁,实际上perl语言也发生了很大的变化。
Mojolicious就是一个很好的例子,Mojo的开发逻辑与flask是一模一样的,我就是前期已经熟悉了Mojo后,简单的看了一周的flask狗书,很快就可以开发项目了。

系统功能介绍

该系统是一套简易的办公流程审批系统,分为三个申请单——公司信息、VPN账户以及MAC地址三个申请单。在业务逻辑上,任何一家公司必须先登记公司信息,有了公司信息才能申请账户。有了账户才能申请MAC地址。申请单的相关信息,会被记录在Mysql数据库中。系统还提供了台账查询功能,以查询每家公司的账户信息。还有流程审批的“待办”、“我的申请”以及“近期已完成的申请单”等功能。
系统简易开发了分权功能,普通用户有申请单、待办、台账查询以及修改自己账户信息和密码的功能;而管理员除了普通用户的功能外,还有流程管理、账户管理等功能。
该系统的另一个主要的目的,就是为了与公司现有的VPN系统做集成,当申请单审批完成后,系统会自动生成账户、MAC地址等配置信息以导入VPN系统中。
根据VPN系统的配置方式,主要有两个导入途径,一个XML格式的配置文件,另一个是利用selenium自动操作网页导入。
(注意:该系统已经删除了所有的真实配置信息,因此selenium的有关功能并没有实际的用处。但是可以参照着学习一下perl语言如何操作selenium)。

软件架构

系统后端使用perl语言开发,采用Mojolicious框架。前端使用vue+elementUI开发。两个框架间使用JSON接口通信,是相互分离的。
前端页面在login、dahamavpnapp两个目录下,login目录仅为登录界面,主业务界面在dahamavpnapp目录下,采用了vue的开发方式,可以使用npm run serve以及npm run build命令运行或编译。在前端部署方面,我直接使用buid的编译后,将得到.html文件和文件夹放到了perl目录——my_app相应目录下。
在后端(my_app目录),办公流程方面采用了CPAN上的workflow模块,流程的相关配置文件在Configure目录下的xml文件中,所有的xml涉及到的流程action和condition都在lib/MyApp/Workflow目录下。
后端的所有业务逻辑在lib/MyApp/Controller目录下。而额外的功能在同级的Model目录下。

安装教程

下载后进入my_app文件夹 perl自带web发布程序: bug调试模式请使用morbo script/my_app.pl 正式模式请使用hypnotod script/my_app.pl

使用说明

vue采用build编译后直接导入Mojolicous框架的template目录下实现,未通过node.js

版权及隐私声明

该系统是我个人利用业余时间,结合自身工作场景开发,但不涉及任何工作信息。

参与贡献

  1. Fork 本项目
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request

码云特技

  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. 码云官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解码云上的优秀开源项目
  4. GVP 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
  5. 码云官方提供的使用手册 https://gitee.com/help
  6. 码云封面人物是一档用来展示码云会员风采的栏目 https://gitee.com/gitee-stars/

空文件

简介

Perl的Mojolicous框架开发大型项目的样例参考,涉及Vue/elementUI/Mojolicious/Selenium以及perl的xml、数据库、面向对象的类封装等技术。 展开 收起
Perl
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Perl
1
https://gitee.com/liudashang/perl_mojolicious_moudle.git
git@gitee.com:liudashang/perl_mojolicious_moudle.git
liudashang
perl_mojolicious_moudle
账户信息管理系统_Perl语言web框架Mojolicous开发样例
master

搜索帮助