不日前,有粉丝找到我,让我帮着做个: 教师管理系统
由于种种借口,我当时把问题交给群友去解决了.....
思来想去,越想越内疚,于是就请教了经常做私活的小伙伴。
必须分享给更多的小伙伴~
【无远开发平台】 专业的一站式开发平台:写 SQL、做配置,即可快速完成系统开发,并且获得能直接部署在私有环境的应用程序。极大降低开发、运维、迭代成本。简单、直观、高效、强大!!
经过1天的试用,总结来看,主要有以下几个用处吧:
1、免费(免费的社区版,个人可以随便搞起)
2、会写SQL、页面配置一下,就可完成一套系统的开发(教务管理系统,ERP系统)
3、私有环境部署(在电脑安装个应用程序,即可在网页或手机app,提供服务)
4、开发、运维、迭代成本很低。(我再也不拒掉私活了,呜呜u)
无远开发平台官方是这样说(chui)的:
看了看,确实挺多的:
神器官网:Enhancer - 基础教程
注册邀请码:LOVE
ps. 官方这个样例,看着还挺炫酷,我也去搞一个试试。
实践是检验真理的唯一标准。 -- 邓
看着倒是花里胡哨,西红柿决定亲自试用一下,体验一下好不好用,能不能帮粉丝解决问题。
领取任务:在mac自建一套【学员管理系统】
官网的【快速上手】操作指南
注册账号,进入首页点击页面菜单,进入我的项目。
点击【添加我的第一个项目】按钮。
创建完成之后,选中该项目并点击进入开发工作台
,开启我的开发之旅。
工作台分为三个部分:页面管理及开发区、角色管理区、系统全局配置区
首先需要自行准备好用于开发的 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', '上海市');
在工作台选择 全局配置
-->数据库
-->连接
,配置数据库,以便 Enhancer 工作台能连接到。
注意
1. 如果数据库处于公共网络,但是对来访 IP 做了访问限制,请 ping data-bridge.wuyuan.io 域名,并将获得的 IP 地址添加到数据库信任中,以此允许 Enhancer 平台能连通数据库。
西红柿用来指定mysql的ip白名单语句。
GRANT ALL ON *.* to root@'192.168.1.4' ;
@后面的是指定白名单的ip
2. 如果数据库处于局域网络,或者 Enhancer 无法连接到数据库,那么需要在本地机器架设【数据桥】。
数据桥安装过程
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. 开发页面-上(14分钟) · Enhancer 教程
注册邀请码:LOVE
在最终的生产环境中,不同的角色登录系统之后具有不同的页面访问权限。
西红柿给大家打个例子:老师登录系统有编辑管理的权限(增删改查);而学生(一般用户)只有查的权限
打开角色管理
区,点击 +
添加一个 教务长
角色。
这里起名,我偏不叫“教务长”,我叫他“管理员”。
选中教务长
角色并在右侧勾选该角色可访问的页面。
首先,在业务数据库中,需要创建一张用户表,包含可作为登录校验的账号信息,执行如下 SQL:
CREATE TABLE userinfo (
user_id VARCHAR(128) NOT NULL, -- 用户登录 ID
user_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用逗号分隔。否则无法正确匹配可见菜单。
然后,打开 全局配置
--> 用户登录
--> 登录校验函数
配置面板,选中 使用用户表
,设置登录校验字段的映射关系,如下图:
配置完毕之后可以点击【预览登录页面】
除登录配置之外,我们可以在发布之前为业务系统设定一些配置项,比如启用验证码登录、设置首选皮肤、修改背景图片等。
自定义logo,比如这个样十二的:
发布项目需要返回到我的项目,在 我的项目
列表中选中 学籍管理系统
, 然后切换到 发布管理
选项卡。
点击 现在发布
按钮,进入项目发布页面。
填写完发布单之后点击 发布按钮
,进入发布详情页。
等待后台打包完成之后,可以点击 下载
按钮获得应用程序安装包。
第一步 安装 Node.js 环境
第二步 安装 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
发给粉丝看看。
此刻的心情
小伙伴,如果本文对你有帮助。求评论、求点赞、求收藏