❤ 为了帮粉丝完成毕业设计,我发现了一款私活神器!!

Posted 不吃西红柿丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了❤ 为了帮粉丝完成毕业设计,我发现了一款私活神器!!相关的知识,希望对你有一定的参考价值。

作者:不吃西红柿

简介:CSDN博客专家、蓝桥签约作者、大数据领域优质创作者。

【创作不易,求点赞、求收藏】

一、缘起

 

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

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

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

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

二、揭开面纱

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.  源码交付,让您完全自主掌握项目。

看了看,确实挺多的:

神器官网:https://wuyuan.io/tutorials

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 创建页面

点击左测菜单上面添加页面按钮,然后右键编辑菜单节点,输入 学生信息管理

详细过程官网有操作指引,西红柿已经操作一遍了,按说明一步步来就行:

https://assets.wuyuan.io/enhancer/tutorials/1.1.0/zh-cn/getting-started/page-dev-1.html

4. 创建角色并授权

在最终的生产环境中,不同的角色登录系统之后具有不同的页面访问权限。

西红柿给大家打个例子:老师登录系统有编辑管理的权限(增删改查);而学生(一般用户)只有查的权限

4.1 创建角色

打开角色管理区,点击 +添加一个 教务长 角色。

这里起名,我偏不叫“教务长”,我叫他“管理员”。

4.2 为角色授权可访问的页面

选中教务长角色并在右侧勾选该角色可访问的页面。

5. 配置登录

5.1 用户登录配置

首先,在业务数据库中,需要创建一张用户表,包含可作为登录校验的账号信息,执行如下 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用逗号分隔。否则无法正确匹配可见菜单。

然后,打开 全局配置 --> 用户登录 --> 登录校验函数 配置面板,选中 使用用户表,设置登录校验字段的映射关系,如下图: 

配置完毕之后可以点击【预览登录页面

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)访问应用。

神器官网: https://wuyuan.io/tutorials

查看自己机器的ip会吧,不会百度哈。

西红柿对外服务demo:192.168.151.xxx:5301

四、大功告成

发给粉丝看看。

此刻的心情

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

以上是关于❤ 为了帮粉丝完成毕业设计,我发现了一款私活神器!!的主要内容,如果未能解决你的问题,请参考以下文章

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

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

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

又一款接​私活神器!Spring Boot + Vue 通用后台管理系统,真香!!

又一款接​私活神器!Spring Boot + Vue 通用后台管理系统,真香!!

又一款接​私活神器!Spring Boot + Vue 通用后台管理系统,真香!!