为了帮粉丝完成毕业设计,我发现了一款私活神器
一、缘起
不日前,有粉丝找到我,让我帮着做个: 教师管理系统
由于种种借口,我当时把问题交给群友去解决了.....
思来想去,越想越内疚,于是就请教了经常做私活的小伙伴。
必须分享给更多的小伙伴~
二、揭开面纱
1.先来看看官方介绍:
【无远开发平台】 专业的一站式开发平台:写 SQL、做配置,即可快速完成系统开发,并且获得能直接部署在私有环境的应用程序。极大降低开发、运维、迭代成本。简单、直观、高效、强大!!
经过1天的试用,总结来看,主要有以下几个用处吧:
1、免费(免费的社区版,个人可以随便搞起)
2、会写SQL、页面配置一下,就可完成一套系统的开发(教务管理系统,ERP系统)
3、私有环境部署(在电脑安装个应用程序,即可在网页或手机app,提供服务)
4、开发、运维、迭代成本很低。(我再也不拒掉私活了,呜呜u)
2.为啥子这么厉害?
无远开发平台官方是这样说(chui)的:
- 丰富的组件库和便捷的复用机制,彻底解放您的生产力。
- 完备的建模机制,从容解构各类复杂业务。
- 支持与其他系统账套、接口无缝对接,为您的事业提供无限的扩展能力。
- 精准的权限控制设计,角色职能一清二楚。
- 超高性能,单机(2核 CPU, 4G 内存)
- 每秒响应 500 余次,轻松应付千万日PV。
- 源码交付,让您完全自主掌握项目。
看了看,确实挺多的:
神器官网:Enhancer - 基础教程
注册邀请码:LOVE
3.官方案例:会议室系统
ps. 官方这个样例,看着还挺炫酷,我也去搞一个试试。
三、实践
实践是检验真理的唯一标准。 -- 邓
看着倒是花里胡哨,西红柿决定亲自试用一下,体验一下好不好用,能不能帮粉丝解决问题。
领取任务:在mac自建一套【学员管理系统】
官网的【快速上手】操作指南
0. 创建项目
注册账号,进入首页点击页面菜单,进入我的项目。
点击【添加我的第一个项目】按钮。
创建完成之后,选中该项目并点击进入开发工作台
,开启我的开发之旅。
1. 熟悉工作台
工作台分为三个部分:页面管理及开发区、角色管理区、系统全局配置区
- 页面管理及开发区 - 负责业务系统页面的开发。
- 角色管理区 - 负责业务系统的角色配置及相关访问权限管理。
- 全局配置区 - 负责设置业务系统运行的一些参数或者选项。
2. 准备数据库
2.1 创建业务表
首先需要自行准备好用于开发的 mysql 数据库,然后执行下面的建表脚本。在本例中,我们创建一张学生信息表
和省份表
,来完成学籍管理的相关逻辑。为方便演示,我们也插入一些学生数据和省份数据。
贴心,官网的入门手册里,连建表语句都准备好了。
/* 学生表 */
CREATE TABLE `student`
(`id` INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增流水号',`student_no` CHAR(10) NOT NULL UNIQUE COMMENT '学号由4位年份+2位院系号+2位班级号+2位班内号 组成',`name` VARCHAR(20) NOT NULL COMMENT '姓名',`gender` CHAR(1) COMMENT '性别, F 表示女,M 表示男',`birthday` DATE COMMENT '出生日期',`province_code` VARCHAR(10) COMMENT '籍贯省份代码,外键来自 province.code',`address` VARCHAR(255) COMMENT '家庭住址',INDEX(`student_no`), INDEX(`name`),PRIMARY KEY (`id`)
);/* 省份表 */
CREATE TABLE `province` (`code` CHAR(6) COMMENT '省份编码',`province` CHAR(12) COMMENT '省份名称',INDEX(`province`),PRIMARY KEY (`code`)
);/* 学生数据 */
INSERT INTO `student`(`student_no`,`name`,`gender`,`birthday`,`province_code`,`address`) VALUES('2016335117', '张三', 'M', '1998-05-12', '330000', '丽水市大洋路');
INSERT INTO `student`(`student_no`,`name`,`gender`,`birthday`,`province_code`,`address`)VALUES('2016335118', '李四', 'M', '1996-07-22', '330000', '杭州市老余杭');
INSERT INTO `student`(`student_no`,`name`,`gender`,`birthday`,`province_code`,`address`) VALUES('2016335119', '王五', 'F', '1997-01-19', '310000', '上海市外高桥');/* 插入省份数据 */
INSERT INTO `province` (`code`, `province`) VALUES ('110000', '北京市');
INSERT INTO `province` (`code`, `province`) VALUES ('120000', '天津市');
INSERT INTO `province` (`code`, `province`) VALUES ('130000', '河北省');
INSERT INTO `province` (`code`, `province`) VALUES ('330000', '浙江省');
INSERT INTO `province` (`code`, `province`) VALUES ('310000', '上海市');
2.2 让 Enhancer 工作台连接数据库
在工作台选择 全局配置
-->数据库
-->连接
,配置数据库,以便 Enhancer 工作台能连接到。
注意
1. 如果数据库处于公共网络,但是对来访 IP 做了访问限制,请 ping data-bridge.wuyuan.io 域名,并将获得的 IP 地址添加到数据库信任中,以此允许 Enhancer 平台能连通数据库。
西红柿用来指定mysql的ip白名单语句。
GRANT ALL ON *.* to root@'192.168.1.4' ;
@后面的是指定白名单的ip
2. 如果数据库处于局域网络,或者 Enhancer 无法连接到数据库,那么需要在本地机器架设【数据桥】。
数据桥安装过程
- 第一步: 安装 Node.js。注意:Windows 用户请按照默认安装在 c 盘。
- 第二步: 打开终端或者命令窗口,执行指令
npm install -g enhancer-data-bridge
(可能需要管理员权限)。如果遇到网络不通的情况,则使用国内镜像安装:npm install -g enhancer-data-bridge --registry=https://r.cnpmjs.org/
。 - 第三步: 在终端或者命令窗口执行指令
data-bridge start --port 5312
启动桥。
3. 不同数据库默认监听的端口号不同:mysql 为 3306,mssql 为 1433,oracle 为 1521,配置时需要注意。
3. 开发页面
在本例中,我们将完成对学生信息表
的查询和修改功能。
3.1 创建页面
点击左测菜单上面添加页面
按钮,然后右键编辑菜单节点,输入 学生信息管理
详细过程官网有操作指引,西红柿已经操作一遍了,按说明一步步来就行:
3. 开发页面-上(14分钟) · Enhancer 教程
注册邀请码:LOVE
4. 创建角色并授权
在最终的生产环境中,不同的角色登录系统之后具有不同的页面访问权限。
西红柿给大家打个例子:老师登录系统有编辑管理的权限(增删改查);而学生(一般用户)只有查的权限
4.1 创建角色
打开角色管理
区,点击 +
添加一个 教务长
角色。
这里起名,我偏不叫“教务长”,我叫他“管理员”。
4.2 为角色授权可访问的页面
选中教务长
角色并在右侧勾选该角色可访问的页面。
5. 配置登录
5.1 用户登录配置
首先,在业务数据库中,需要创建一张用户表,包含可作为登录校验的账号信息,执行如下 SQL:
CREATE TABLE userinfo (user_id VARCHAR(128) NOT NULL, -- 用户登录 IDuser_name VARCHAR(20) NOT NULL, -- 用户名user_roles VARCHAR(40) NOT NULL, -- 用户角色,包含了 在第 4 节中创建的角色ID,如果有多个角色,使用 `,` 隔开。password VARCHAR(32) NOT NULL, -- 登录密码/*-- 可根据业务需要添加其它字段*/INDEX(user_name),PRIMARY KEY (user_id)
);-- 插入一条测试数据
INSERT INTO userinfo(user_id, user_name, user_roles, password)VALUES('test', '赵钱孙', 'provost, admin', md5(123456) /*此处密码,选用合适的数据库 Hash 函数设置 */ );
【注意】用户表的角色字段 user_roles 包含的值应是【工作台-->角色管理】中定义的角色 ID,不是角色名,多个id用逗号分隔。否则无法正确匹配可见菜单。
然后,打开 全局配置
--> 用户登录
--> 登录校验函数
配置面板,选中 使用用户表
,设置登录校验字段的映射关系,如下图:
配置完毕之后可以点击【预览登录页面】
5.2 其他配置
除登录配置之外,我们可以在发布之前为业务系统设定一些配置项,比如启用验证码登录、设置首选皮肤、修改背景图片等。
自定义logo,比如这个样十二的:
6. 发布项目
发布项目需要返回到我的项目,在 我的项目
列表中选中 学籍管理系统
, 然后切换到 发布管理
选项卡。
点击 现在发布
按钮,进入项目发布页面。
填写完发布单之后点击 发布按钮
,进入发布详情页。
等待后台打包完成之后,可以点击 下载
按钮获得应用程序安装包。
7.部署项目
GNU/Linux/Mac 环境下部署
第一步 安装 Node.js 环境
- 从 Nodejs 官网 下载的安装包,按照向导或参考网络资料安装。
第二步 安装 Redis 缓存服务
- 执行
wget http://download.redis.io/releases/redis-4.0.8.tar.gz
下载。备选下载地址 - 执行
tar -xzf redis-4.0.8.tar.gz
解压。 - 执行
cd redis-4.0.8 & make
进入解压根目录并且编译。 - 执行
./src/redis-server --port 57192
启动 Redis 服务。
第三步 安装应用
- 执行
tar -zxf bodhi-app-[发布编号].tar.gz
,此时会解压出名为bodhi-app-[发布编号]-[项目编号]
文件夹。 - 执行
cd bodhi-app-[发布编号]-[项目编号]
进入应用根目录 - 执行
npm install
安装 Node.js 模块依赖。
在国内网络慢可使用国内镜像安装:npm install --registry=https://registry.npm.taobao.org
- 执行
vim repository/project/globalconf_database.json
打开数据库配置文件,修改用户名、密码、地址等,以符合部署所在环境需要。 - 启动应用,执行指令 $
./bin/appctl.sh start
至此部署完成,可根据应用服务器 IP 地址:端口(默认 5301)访问应用。
神器官网: Enhancer - 基础教程
注册邀请码:LOVE
查看自己机器的ip会吧,不会百度哈。
西红柿对外服务demo:192.168.151.xxx:5301
四、大功告成
发给粉丝看看。
此刻的心情
小伙伴,如果本文对你有帮助。求评论、求点赞、求收藏
为了帮粉丝完成毕业设计,我发现了一款私活神器相关推荐
- Python爬虫入门教程 98-100 帮粉丝写 Python 爬虫之【2020秋季最难的事--约不上的疫苗】
帮粉丝写爬虫系列的最后一篇博客了,剩下的两篇是爬虫百例课程的一个总结,本系列课程的加更篇后续会逐步编写,同时滚雪球学 Python 系列课程已经在构思中,希望得到大家的继续支持.这篇博客取名叫做202 ...
- 基于JAVA校园互助平台校园帮网站计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA校园互助平台校园帮网站计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA校园互助平台校园帮网站计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S ...
- Python爬虫入门教程 91-100 帮粉丝写Python爬虫之【河北单招学校信息爬虫】
帮粉丝写爬虫第一篇,接到一个简单的任务,让我爬取一下河北单招学校相关的信息,那最后这10篇博客,第一篇就从这里开始吧.(其实写到现在,我甚至想继续写下去了,没准能凑个爬虫108篇~哈哈哈) 当我把源码 ...
- SpringCloud 微服务架构开源项目,适合接私活、毕业设计(附源码)
今天给大家推荐一个牛逼的接私活项目,SpringCloud微服务架构项目! 一个由商业级项目升级优化而来的微服务架构,采用SpringBoot 2.5 .SpringCloud 等核心技术构建,提供基 ...
- 发现了一款宝藏工具:Apipost,你用过它吗?
在日常的开发过程中,大家使用过最多的接口测试工具是什么呢? 相信不少同学,脑海中浮现的第一个答案就是postman. 在博主日常使用过程中,发现了一款比它更好用的工具,并且,它居然还是国产软件!今天国 ...
- 网络安全专家发现了一款由微软数字签名的“FiveSys”新恶意程序
导读 Bitdefender 的网络安全专家近日发现了一款名为"FiveSys"的新恶意程序,它是一个 rootkit,实际上是由微软自己进行数字签名的. FiveSys 恶意驱动 ...
- 我发现了一款高效管理接口文档的神器
大家好,我是小孟,最近做了不少项目,后面会路线开源给大家. 做的这些项目的过程中,发现了一款接口文档的神器. 喜欢尝鲜的小伙伴可以纳拿去使用,可以找小孟一起交流呀. 也希望大家的技术一样棒棒的,然后搞 ...
- 女领导经常让我干一些私活,帮她买菜,干家务,怎么办?
女领导经常让我干一些私活,帮她买菜,干家务,怎么办? 还能怎么办?与其"反抗",不如默默享受或者忍受. 女领导之所以这样,我猜有以下几个原因: 第一,女领导本性使然.简言之,女领导 ...
- 帮粉丝脱单|【成都女】No.32|27岁,事业单位,甜美系女孩
点击蓝色"优质青年脱单前线"关注我哟 加个"星标",推荐优质单身青年 优质青年脱单前线 目前汇聚25万程序员群体,旨在解决广大优质青年的单身问题,帮助你尽快脱单 ...
最新文章
- Glide 加载圆形头像和gif 图
- c++ eos智能合约开发_干货|EOS智能合约开发(一)EOS环境搭建和启动节点
- ubuntu sever 命令行 使用 u盘
- Java集合Collection与List的关系、常见用法
- Linux 下安装 jdk-7u75-linux-x64.gz,jdk1.7.0_75,jdk1.7步骤:
- hooks的常用Api
- chmod递归授权文件夹(用法)
- python类takes no arguments_Python构造函数报错:TypeError: People() takes no arguments
- Jaunt和Dolby联手,为VR视频带来更带感的全景声场体验
- PMBOK第6版 项目管理过程组与知识领域(15至尊图)
- 软件功能性测试方法和流程
- 如何阅读一本书——阅读笔记+个人体会【建议写书评或文献综述前读读这本书】
- 全球知名虚拟服务器,国外十大虚拟主机
- html坐标轴填充颜色,ECharts xAxis配置 x坐标轴轴线的样式
- 计算机网络物理层测试2
- 点击化学(Click chemistry) 叠氮-PEG4-NHS/Biotin-PEG-N3/Azid/DBCO-EPG-NHS/DBCO-NH2
- FPGA 译码器+解码器 (含代码)
- 解构SPA模式 ZARA、UNIQLO秘诀
- Paypal学习 2 -- IPN (Instant Payment Notification)
- 能聊天、会学习,远不是GPT的终局