移动前后端全栈项目
文章目录
- 一、介绍
- Nginx
- 二、项目原型
- 三、接口定义
- 3.1 后端接口
- 3.1.1 支付方式
- 3.1.2 标签管理
- 3.1.3 属性管理
- 3.1.4 公寓的杂费管理
- 3.1.5 登录页面
- 3.2 App接口
- 3.2.1 登录页面
- 3.2.1 查询房间
- 3.2.3 公寓详情
- 3.2.3 看房预约
- 四、开发准备
- 五、网络模式
- 5.1 桥接模式
- 5.2 NAT 模式
- 5.3 仅主机模式
- 5.4 配置静态IP

一、介绍
前端:VUE3
后端:
- 框架:SpringBoot
- DB 访问:MyBatis、MyBatis Plus
MyBatis Plus(MP)是 MyBatis 的增强工具,只做增强不做改变,提高效率
- Web:Spring MVC
数据存储:
- 关系型 DB:MySQL
- 缓存:Redis
- 对象存储:MInIO
对象存储:存储非机构化的数据:数据本身、元数据(描述信息)、唯一标识符号
MInIO 是一个开源对象存储方案,兼容 S3
部署:
- 前端服务器:Nginx
Nginx
静态资源的HTTP服务器
静态资源:html、js、css
网络静态代理
优点:避免后端服务暴露,只暴露 Nginx 的 ip
流量大的情况下分流量。
二、项目原型
注意:
- 所有表均省略了
create_time
、update_time
、is_deleted
三个字段。 - 所有的状态或类型字段(例如租约状态),均使用数字表示。
三、接口定义
3.1 后端接口
3.1.1 支付方式
查:首先支付方式管理这里,需要有一个查询 后端提供的支付方式的接口
增:新增的话还要有一个保存支付方式的接口
删改:修改和删除两个接口
最后结果
所需接口如下
查询全部支付方式列表
保存或更新支付方式
: 将保存和更改支付方式做了统一根据ID删除支付方式
保存和更新 往后台传的参数是一致的,id 采用自增主键
填入 id 这个在前端中自动填入
原因:对接 MyBatis Plus 的 SaveOrUpdate()
3.1.2 标签管理
因为有对象类型了,所以 公寓标签 和 房间标签当做一种标签
所需接口如下
保存或更新标签
查询标签列表
根据ID删除标签
3.1.3 属性管理
删除属性(户型)的时候,下面的标签也对应删除
所需接口如下
-
保存或更新属性名称
-
保存或更新属性值
-
查询全部属性名称和属性值列表
-
根据ID删除属性名称
-
根据ID删除属性值
3.1.4 公寓的杂费管理
根据条件分页查询公寓的忌口
省份、城市、区 都需要查询的接口
新增公寓 省、市、区 接口可以复用
3.1.5 登录页面
验证码需要从后台获取
所需接口如下
获取图形验证码
请求登录
获取登录用户信息
3.2 App接口
3.2.1 登录页面
- 发送验证码的接口
- 请求登录的接口(校验验证码)
3.2.1 查询房间
查询条件所需接口
查询省份列表
根据省份ID查询城市信息
根据城市ID查询区县信息
查询支付方式列表
3.2.3 公寓详情
id ------ 公寓详情
3.2.3 看房预约
可更改
根据id 查询 更新
所需接口如下
-
根据ID查询看房预约详细信息
-
保存或更新看房间预约信息
四、开发准备
4G 内存
40G 硬盘
可以先用虚拟机开发
1 核 4线程
网络检查
桥接模式
五、网络模式
5.1 桥接模式
先虚拟出一个交换机
再通过虚拟交换机----主机
虚拟机和主机在一个网络中
5.2 NAT 模式
虚拟出 NAT、交换机、DHCP
虚拟机单组组网
为了使子网和主机互通,主机中虚拟一个网卡连接到子网
5.3 仅主机模式
和 NAT 类似,但虚拟机路由器 没有连接到 主机网络中
5.4 配置静态IP
[root@localhost ~]# ifconfig
bridge0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500ether 16:d3:a4:f2:90:a1 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.255inet6 240e:3a4:6ed9:62b1:f9ec:2c12:3958:4082 prefixlen 64 scopeid 0x0<global>inet6 fe80::9ee3:8318:d9bb:73b5 prefixlen 64 scopeid 0x20<link>inet6 240e:3a4:6ed9:62b1::1005 prefixlen 128 scopeid 0x0<global>ether 00:50:56:25:2c:98 txqueuelen 1000 (Ethernet)RX packets 9995 bytes 7400898 (7.0 MiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 7643 bytes 874982 (854.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 1514 bytes 142892 (139.5 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 1514 bytes 142892 (139.5 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:af:37:62 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens33 ifdown-ippp ifdown-TeamPort ifup-ipv6 ifup-Team
ifcfg-lo ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-TeamPort
ifcfg-配置_1 ifdown-isdn ifup ifup-plip ifup-tunnel
ifcfg-桥接连接_1 ifdown-post ifup-aliases ifup-plusb ifup-wireless
ifdown ifdown-ppp ifup-bnep ifup-post init.ipv6-global
ifdown-bnep ifdown-routes ifup-eth ifup-ppp network-functions
ifdown-eth ifdown-sit ifup-ib ifup-routes network-functions-ipv6
ifdown-ib ifdown-Team ifup-ippp ifup-sit
[root@localhost network-scripts]# vi ifcfg-ens33
修改配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
[root@localhost network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=075bf264-1619-4a33-8675-43910febdc29
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.0.101
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.1.1
-
修改
BOOTPROTO
参数为static
-
修改
ONBOOT
参数为yes
-
增加如下内容
IPADDR=192.168.0.101NETMASK=255.255.255.0GATEWAY=192.168.0.1DNS1=192.168.1.1
注意事项
IPADDR
需要位于前文VMnet8子网IP范围内,GATEWAY
需要配置为前文的NAT服务的网管IP。都按照自动分配的来。
systemctl restart network