一、缘起

不日前,有粉丝找到我,让我帮着做个: 教师管理系统

由于种种借口,我当时把问题交给群友去解决了.....

思来想去,越想越内疚,于是就请教了经常做私活的小伙伴。

必须分享给更多的小伙伴~

二、揭开面纱

1.先来看看官方介绍:

【无远开发平台】 专业的一站式开发平台:写 SQL、做配置,即可快速完成系统开发,并且获得能直接部署在私有环境的应用程序。极大降低开发、运维、迭代成本。简单、直观、高效、强大!!

经过1天的试用,总结来看,主要有以下几个用处吧:

1、免费(免费的社区版,个人可以随便搞起)

2、会写SQL、页面配置一下,就可完成一套系统的开发(教务管理系统,ERP系统)

3、私有环境部署(在电脑安装个应用程序,即可在网页或手机app,提供服务)

4、开发、运维、迭代成本很低。(我再也不拒掉私活了,呜呜u)

2.为啥子这么厉害?

无远开发平台官方是这样说(chui)的:

  1. 丰富的组件库和便捷的复用机制,彻底解放您的生产力。
  2. 完备的建模机制,从容解构各类复杂业务。
  3. 支持与其他系统账套、接口无缝对接,为您的事业提供无限的扩展能力。
  4. 精准的权限控制设计,角色职能一清二楚。
  5. 超高性能,单机(2核 CPU, 4G 内存)
  6. 每秒响应 500 余次,轻松应付千万日PV。
  7. 源码交付,让您完全自主掌握项目。

看了看,确实挺多的:

神器官网: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

四、大功告成

发给粉丝看看。

此刻的心情

小伙伴,如果本文对你有帮助。求评论、求点赞、求收藏

为了帮粉丝完成毕业设计,我发现了一款私活神器相关推荐

  1. Python爬虫入门教程 98-100 帮粉丝写 Python 爬虫之【2020秋季最难的事--约不上的疫苗】

    帮粉丝写爬虫系列的最后一篇博客了,剩下的两篇是爬虫百例课程的一个总结,本系列课程的加更篇后续会逐步编写,同时滚雪球学 Python 系列课程已经在构思中,希望得到大家的继续支持.这篇博客取名叫做202 ...

  2. 基于JAVA校园互助平台校园帮网站计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA校园互助平台校园帮网站计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA校园互助平台校园帮网站计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S ...

  3. Python爬虫入门教程 91-100 帮粉丝写Python爬虫之【河北单招学校信息爬虫】

    帮粉丝写爬虫第一篇,接到一个简单的任务,让我爬取一下河北单招学校相关的信息,那最后这10篇博客,第一篇就从这里开始吧.(其实写到现在,我甚至想继续写下去了,没准能凑个爬虫108篇~哈哈哈) 当我把源码 ...

  4. SpringCloud 微服务架构开源项目,适合接私活、毕业设计(附源码)

    今天给大家推荐一个牛逼的接私活项目,SpringCloud微服务架构项目! 一个由商业级项目升级优化而来的微服务架构,采用SpringBoot 2.5 .SpringCloud 等核心技术构建,提供基 ...

  5. 发现了一款宝藏工具:Apipost,你用过它吗?

    在日常的开发过程中,大家使用过最多的接口测试工具是什么呢? 相信不少同学,脑海中浮现的第一个答案就是postman. 在博主日常使用过程中,发现了一款比它更好用的工具,并且,它居然还是国产软件!今天国 ...

  6. 网络安全专家发现了一款由微软数字签名的“FiveSys”新恶意程序

    导读 Bitdefender 的网络安全专家近日发现了一款名为"FiveSys"的新恶意程序,它是一个 rootkit,实际上是由微软自己进行数字签名的. FiveSys 恶意驱动 ...

  7. 我发现了一款高效管理接口文档的神器

    大家好,我是小孟,最近做了不少项目,后面会路线开源给大家. 做的这些项目的过程中,发现了一款接口文档的神器. 喜欢尝鲜的小伙伴可以纳拿去使用,可以找小孟一起交流呀. 也希望大家的技术一样棒棒的,然后搞 ...

  8. 女领导经常让我干一些私活,帮她买菜,干家务,怎么办?

    女领导经常让我干一些私活,帮她买菜,干家务,怎么办? 还能怎么办?与其"反抗",不如默默享受或者忍受. 女领导之所以这样,我猜有以下几个原因: 第一,女领导本性使然.简言之,女领导 ...

  9. 帮粉丝脱单|【成都女】No.32|27岁,事业单位,甜美系女孩

    点击蓝色"优质青年脱单前线"关注我哟 加个"星标",推荐优质单身青年 优质青年脱单前线 目前汇聚25万程序员群体,旨在解决广大优质青年的单身问题,帮助你尽快脱单 ...

最新文章

  1. Glide 加载圆形头像和gif 图
  2. c++ eos智能合约开发_干货|EOS智能合约开发(一)EOS环境搭建和启动节点
  3. ubuntu sever 命令行 使用 u盘
  4. Java集合Collection与List的关系、常见用法
  5. Linux 下安装 jdk-7u75-linux-x64.gz,jdk1.7.0_75,jdk1.7步骤:
  6. hooks的常用Api
  7. chmod递归授权文件夹(用法)
  8. python类takes no arguments_Python构造函数报错:TypeError: People() takes no arguments
  9. Jaunt和Dolby联手,为VR视频带来更带感的全景声场体验
  10. PMBOK第6版 项目管理过程组与知识领域(15至尊图)
  11. 软件功能性测试方法和流程
  12. 如何阅读一本书——阅读笔记+个人体会【建议写书评或文献综述前读读这本书】
  13. 全球知名虚拟服务器,国外十大虚拟主机
  14. html坐标轴填充颜色,ECharts xAxis配置 x坐标轴轴线的样式
  15. 计算机网络物理层测试2
  16. 点击化学(Click chemistry) 叠氮-PEG4-NHS/Biotin-PEG-N3/Azid/DBCO-EPG-NHS/DBCO-NH2
  17. FPGA 译码器+解码器 (含代码)
  18. 解构SPA模式 ZARA、UNIQLO秘诀
  19. Paypal学习 2 -- IPN (Instant Payment Notification)
  20. 能聊天、会学习,远不是GPT的终局

热门文章

  1. 技术动态 | TechKG:一个面向中文学术领域的大型知识图谱
  2. 论文浅尝 | 基于神经网络的知识推理
  3. 超级好用的使用python批量更新MYsql,速度从一万条需要一天变道一万条需要10分钟左右
  4. 推荐系统经典论文学习
  5. 2 计算机组成原理第二章 数据的表示和运算 定点数运算 浮点数运算
  6. 消息队列---消息模型及使用场景
  7. K-Means ++ 算法
  8. IIS解决 上传文件大小限制
  9. 基于visual Studio2013解决面试题之0307最后谁剩下
  10. Silverlight MMORPG网页游戏开发课程(Game Lesson):目录