物联网架构成长之路(39)-Bladex开发框架环境搭建

0.前言
  上一篇博客已经介绍了,阶段性小结。目前第一版的物联网平台已经趋于完成。框架基本不变了,剩下就是调整一些UI,还有配合硬件和市场那边,看看怎么推广这个平台。能不能挣点外快。第一版系统虽然简陋,但是对于整个物联网业务的了解还是有很大的帮助的。就像一个道理,吃10个包子,吃到最后一个饱了,但不能说前面9个没有用。不过硬件、市场、项目等等,这些是我不能控制的。但是平台的迭代和第二版规划不能停。第二版物联网平台,将采用现有的企业开发框架,并且是前后端分离,开始用上前端的Vue框架。
  前段时间,经人推荐一个企业级开发平台前后端脚手架。Bladex。官网【https://bladex.vip/#/】经测试,真的不错,该有的功能都有。比我自己写的好太多了。下面博客仅记录整个环境搭建和简单配置开发的流程。

1.授权
  这里还是推荐购买授权,也就3999,永久使用。对于一个公司来说,这个费用真的特别划算。下面介绍将以商业授权版本的Bladex-Boot作为介绍入门。获得授权后,对方会给一个私有git仓库的帐号密码,登陆后,下载源代码,前后端代码下载后,导入到IDE。

2.配置后端
  这里我是用2.1.0版本,IDE,我用的是Eclipse,需要安装lombok插件。至于数据库Postgresql、Redis,还有前端的NodeJS、VSCode这些自行安装。
  首先创建数据库,导入SQL脚本。这里我以postgresql为例。

  配置application-dev.yaml

  配置application.yml,注意修改端口,我这边改成8080

  以上配置后,就启动项目,启动后,由于前后端分离,我们还没有配置Saber,可以先访问http://127.0.0.1:8080/doc.html,确认BladeX是否正常启动。

3.配置前端
  我这里前后端是部署在不同的机器上。首先,下载代码,导入到VSCode上。
  修改vue.config.js的几个配置,target改为BladeX的访问地址和端口。devServer.port是BladeX的访问地址。

  配置后,运行命令启动服务

1 yarn install
2 yarn run serve

  访问:http://172.16.23.241:8080/

  点击登录后,到此,我们已经完成BladeX的环境安装和搭建了。

4.写个简单的Demo
  创建数据库表

 1 --测试表
 2 create table tb_wunaozai(
 3     id bigserial primary key,   --主键id,一般表格必须带上
 4     title varchar(255),         --自定义,标题
 5     content varchar(255),       --自定义,内容
 6     time timestamp,             --自定义,时间
 7     info varchar(256),          --自定义,备注
 8     tenant_id varchar(12),      --如果启用多租户,需要带上
 9     create_user bigint,         --必选,创建用户ID
10     create_dept bigint,         --必选,创建部门ID
11     create_time timestamp,      --必选,创建时间
12     update_user bigint,         --必选,更新 用户ID
13     update_time timestamp,      --必选,更新时间
14     status int,                 --必选,状态
15     is_deleted int              --必选,软删除
16 );

  系统后台,配置数据源,然后自动生成代码


  数据源:在数据源管理中的配置,用于选择从对应的库获取数据
  模块名:用于指定配置的名称,对代码生成不产生实际效果
  服务名:生成后,controller对应的前缀,以及分割 - 符号后面的字符串作为前端的分包名
  表名:用于代码生成所对应的表名称
  表前缀:生成实体类的时候,忽略掉的前缀,若不配置,则 tb_wunaozai 表生成的实体为 TbWunaozai ,若配置了 tb_ 为前缀,则生成的实体为Wunaozai
  主键名:表的主键名称
  包名:生成后端代码所在的包
  基础业务:如果选择是,则实体会继承 BaseEntity ,带有上一章红框的基础业务字段
  包装器:在某些复杂的模块,会用到 VO 和 Wrapper ,如果选择是则会自行生成
  后端生成路径:后端工程的根目录
  前端生成路径:前端工程的根目录

  那个生成路径,可以直接写项目根目录,但是我觉得有点风险,还是保存到其他目录,然后根据实际拷贝过去。

  将对应的生成的前端代码放到Saber目录下。

5. 配置菜单、权限
  在生成的后端代码里面有生成菜单的SQL,直接执行数据库SQL即可。

 1 INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted)
 2 VALUES (‘1187567985634902017‘, 0, ‘wunaozai‘, ‘‘, ‘menu‘, ‘/wunaozai/wunaozai‘, NULL, 1, 1, 0, 1, NULL, 0);
 3 INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted)
 4 VALUES (‘1187567985634902018‘, ‘1187567985634902017‘, ‘wunaozai_add‘, ‘新增‘, ‘add‘, ‘/wunaozai/wunaozai/add‘, ‘plus‘, 1, 2, 1, 1, NULL, 0);
 5 INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted)
 6 VALUES (‘1187567985634902019‘, ‘1187567985634902017‘, ‘wunaozai_edit‘, ‘修改‘, ‘edit‘, ‘/wunaozai/wunaozai/edit‘, ‘form‘, 2, 2, 2, 1, NULL, 0);
 7 INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted)
 8 VALUES (‘1187567985634902020‘, ‘1187567985634902017‘, ‘wunaozai_delete‘, ‘删除‘, ‘delete‘, ‘/api/blade-wunaozai/wunaozai/remove‘, ‘delete‘, 3, 2, 3, 1, NULL, 0);
 9 INSERT INTO blade_menu(id, parent_id, code, name, alias, path, source, sort, category, action, is_open, remark, is_deleted)
10 VALUES (‘1187567985634902021‘, ‘1187567985634902017‘, ‘wunaozai_view‘, ‘查看‘, ‘view‘, ‘/wunaozai/wunaozai/view‘, ‘file-text‘, 4, 2, 2, 1, NULL, 0);

  执行后,刷新前端页面,然后需要简单编辑调整一下。这里我放到工作台的下级菜单


  重启BladeX和Saber,然后打开新增加的功能页。

6.修改、调整前端代码
  修改wunaozai.vue主键里面的data数据的option属性。

 1       option: {
 2           height:‘auto‘,
 3           calcHeight: 350,
 4           tip: false,
 5           border: true,
 6           index: true,
 7           viewBtn: true,
 8           selection: true,
 9           column: [
10             {
11               label: "标题",
12               prop: "title",
13               span: 12,
14               search: true,
15               rules: [{
16                 required: true,
17                 message: "请输入",
18                 trigger: "blur"
19               }]
20             },
21             {
22               label: "时间",
23               prop: "time",
24               span: 12,
25               type: ‘date‘,
26               format: ‘yyyy-MM-dd‘,
27               valueFormat: ‘yyyy-MM-dd 00:00:00‘,
28               rules: [{
29                 required: true,
30                 message: "请输入",
31                 trigger: "blur"
32               }]
33             },
34             {
35               label: "内容",
36               prop: "content",
37               span: 24,
38               type: "textarea",
39               minRows: 6,
40               rules: [{
41                 required: true,
42                 message: "请输入",
43                 trigger: "blur"
44               }]
45             },
46             {
47               label: "备注",
48               prop: "info",
49               span: 24,
50               rules: [{
51                 message: "请输入",
52                 trigger: "blur"
53               }]
54             },
55           ]
56         }

  调整后,显示的效果。

  更多配置,请参考这个文档 https://avuejs.com/doc/crud/crud-doc
  那个刷新按钮没有响应事件需要增加
  @refresh-change="refreshChange"

1       refreshChange(page){
2         this.onLoad(this.page);
3       }

  至于模糊查询,就需要写代码了。本次不详细说明。
  到此,简单的搭建环境和CURD功能已经完成,还是比较简单的,需要写代码的地方不多,简单配置一下,就是一个页面。

本文地址:https://www.cnblogs.com/wunaozai/p/11739874.html
个人主页:https://www.wunaozai.com/

原文地址:https://www.cnblogs.com/wunaozai/p/11739874.html

时间: 2024-09-30 12:58:48

物联网架构成长之路(39)-Bladex开发框架环境搭建的相关文章

物联网架构成长之路(40)-Bladex开发框架入门

0. 前言 前一小节,讲了如何入门,这里就简单讲一下如何自定义查询和权限控制配置. 1. 配置多租户 如果要启用该表的多租户功能,需要在application.yml 这里配置. 2. 配置模糊匹配 1 @GetMapping(value="/list2") 2 public R<IPage<Wunaozai>> list2(@RequestParam Map<String, Object> wunaozai, Query query){ 3 IPa

物联网架构成长之路(56)-SpringCloudGateway+JWT实现网关鉴权

0. 前言 结合前面两篇博客,前面博客实现了Gateway网关的路由功能.此时,如果每个微服务都需要一套帐号认证体系就没有必要了.可以在网关处进行权限认证.然后转发请求到后端服务.这样后面的微服务就可以直接调用,而不需要每个都单独一套鉴权体系.参考了Oauth2和JWT,发现基于微服务,使用JWT会更方便一些,所以准备集成JWT作为微服务架构的认证方式. [https://www.cnblogs.com/wunaozai/p/12512753.html] 物联网架构成长之路(54)-基于Naco

物联网架构成长之路(0)-目录

一.基础 [http://www.cnblogs.com/wunaozai/p/8067621.html] 物联网架构成长之路(1)-前言 [http://www.cnblogs.com/wunaozai/p/8075640.html] 物联网架构成长之路(2)-脚手架工具准备 [http://www.cnblogs.com/wunaozai/p/8082332.html] 物联网架构成长之路(3)-EMQ消息服务器了解

物联网架构成长之路(16)-SpringCloud从入门到吹水

1.前言 Spring Cloud 现在比较流行,版本更新也是蛮快的,网上资料也是很多.很多参考网上资料就可以学到了.这里给个 http://blog.csdn.net/forezp/article/details/70148833 2.放弃 本来还想写一篇Spring Cloud 入门环境搭建的博客, 后来想了想,还是算了,网上资料一大堆.这里就不写了. 3.吹水 下面就简单聊聊天,吹吹水算了 2018.01.18 笔记 公司网速不行,在进行Maven项目以来更新,偷偷写一些经历. 现在开始学

物联网架构成长之路(24)-Docker练习之Compose容器编排

0.前言 一开始学的之后,是想一步到位直接上Kubernetes(K8s)的,后面没想到,好像有点复杂,有些概念不是很懂.因此学习东西还是要循序渐进,慢慢来.先了解单机编排技术Docker Compose,了解一些技术细节及原理后,在入手K8s.还是不能一口吃成胖子,要多吃几口才可以.而且目前公司都是一些小项目,能用得上DockerCompose已经很不错了,还想要上K8s,估计是不现实的. 1. 安装 可以通过运行下面命令进行安装, 1 curl -L https://github.com/d

物联网架构成长之路(35)-利用Netty解析物联网自定义协议

一.前言 前面博客大部分介绍了基于EMQ中间件,通信协议使用的是MQTT,而传输的数据为纯文本数据,采用JSON格式.这种方式,大部分一看就知道是熟悉Web开发.软件开发的人喜欢用的方式.由于我也是做web软件开发的,也是比较喜欢这种方式.阿里的物联网平台,也是推荐这种方式.但是,但是做惯硬件开发,嵌入式开发就比较喜欢用裸TCP-Socket连接.采用的是二进制协议.基于此大部分应用场合为了兼容旧设备,就需要单独开发一个TCP服务器的网关.这里使用以前学过的,也是比较流行的Netty框架. 话不

物联网架构成长之路(51)-Nacos微服务配置中心、服务注册服务发现

0.前言 之前练习微服务是用Eureka,最近发现BladeX是用的Nacos,发现Nacos还比较简单实用.所以联系一下这个,为物联网V2版本积累经验. 1. 下载.安装.启动 下载Nacos 1 https://github.com/alibaba/nacos/releases 2 https://nacos.io/zh-cn/docs/quick-start.html 解压启动 访问http://127.0.0.1:8848/nacos/index.html 默认帐号密码 nacos/na

物联网架构成长之路(11)-Redis缓存主从复制

1. 说明 在我的物联网平台框架框架中,会用到Redis这个中间件.作为EMQ权限认证的缓存.https://www.cnblogs.com/think-in-java/p/5123884.html 2. 编译&运行 1 wget http://download.redis.io/releases/redis-4.0.6.tar.gz 2 make && make test && make PREFIX=/home/user/workspace/redis inst

物联网架构成长之路(12)-物联网架构小结1

1. 说明 这一小节,也不具体讲些什么了.最近一个半月都在摸鱼,没什么事做,慢慢学习着SpringBoot和SpringCloud.下面两张图是进行的一次小结.以后随着深入,整个架构肯定是会变的.现在记录一下,每个项目成长都是有一个过程的. 原文地址:https://www.cnblogs.com/wunaozai/p/8312891.html