Compare commits

...

2 Commits

Author SHA1 Message Date
e64718a811 Changes to be committed:
modified:   app_sb/src/main/resources/application.yml
	new file:   app_vue/.env.development
	modified:   app_vue/src/components/GetToken_1.vue
	modified:   app_vue/vue.config.js
2025-06-20 21:49:37 +08:00
0245ac40fa 完善README 2025-06-20 21:49:12 +08:00
22 changed files with 398 additions and 20 deletions

92
README.md Normal file
View File

@ -0,0 +1,92 @@
# 详细配置指南
另见:[README_opreate](README_operate.md) 网页链接:[125.64.9.222:8022](http://125.64.9.222:8022/stuff/exam_operate/exam_operate_1.html)
### 1⃣vue工程
❗在 .env.development 文件中配置好相应变量:
![](./doc/images/vue工程配置.png )
终端定位到工程根目录下(一般是:`C:\exam_app\app_vue` )
`cd C:\exam_app\app_vue`
运行命令`npm run serve`
运行成功如下:
![](./doc/images/vue运行成功.png)
### 2⃣数据库配置:
❗仅适用于本工程不同题目应配置不同的Table请注意识别
安装 wampserver 或其他 MAMP本地开发环境软件 ,本地数据库亦可
执行下列sql语句仅适用本项目
*exam_xxxxxx_xxxxx* 替换为 *VPS database name*
```sql
create database exam_xxxxxx_xxxxx;
use exam_xxxxxx_xxxxx;
create table user_70(name char(50),address char(50),password char(50))ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into user_70(name,address,password)values('mike','shanghai','c4ca4238a0b923820dcc509a6f75849b');
insert into user_70(name,address,password)values('rose','beijing','c4ca4238a0b923820dcc509a6f75849b');
create table person_805(id varchar(50),sfz_id varchar(20),name varchar(20),gender varchar(1),password varchar(20), hometown varchar(20),chronic_disease varchar(100),birthday int,emr text,create_time int,update_time int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
create index `sfz_id` on `person_805` (sfz_id);
insert into person_805(id,sfz_id,name,gender,password,hometown,chronic_disease,birthday,emr,create_time,update_time)values ('001','510103198208210452','罗维','1','123','510101','hypertension','398748962','三年前确诊,病情控制良好','1636424977','1636424977');
create table person_health_805(id varchar(50),sfz_id varchar(20),weight int,height int,heart_rate int,sbp int ,dbp int,blood_sugar DECIMAL(5,1),create_time int,update_time int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
create index `sfz_id` on `person_health_805` (sfz_id);
insert into person_health_805(id,sfz_id,height,weight,heart_rate,sbp,dbp,blood_sugar,create_time,update_time)values('001','510103198208210452','176','71','78','120','75','4.1','1636424977','1636424977');
insert into person_health_805(id,sfz_id,height,weight,heart_rate,sbp,dbp,blood_sugar,create_time,update_time)values('002','510103198208210452','176','72','73','126','80','6.8','1636511377','1636511377');
create table person_base_info_881_1(id varchar(18),name varchar(20),sbp int,dbp int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into person_base_info_881_1(id,name,sbp,dbp)values('510103234','罗维','114','70');
insert into person_base_info_881_1(id,name,sbp,dbp)values('510103239','洪七公','134','89');
```
### 3⃣Springboot配置
配置 **application.yml**
```yml
server:
port: <你的springboot端口(VPS spring boot port)> # 替换<>内容
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: #默认密码为空
url: jdbc:mysql://localhost:3306/<VPS database name>?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false # 替换<>内容
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.luowei.exam
configuration:
#log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
```
配置完成后
使用 IDEA 打开app_sb下项目后直接运行
----
至此配置完成

293
README_operate.md Normal file
View File

@ -0,0 +1,293 @@
# vue工程项目初始化操作指南
<ol>
<li>强烈推荐在VM中完成如下实验推荐使用virtualbox
<li>如果是机房的电脑上实验先关闭ReportServer服务,如下:
![机房要处理的操作]( ./doc/images/机房要处理的操作_1.jpg "机房要处理的操作" )
<li>
<li>配置调试用chrome浏览器
<li>在c盘建一个名为chrome的文件夹
<li>右键点桌面chrome图标打开属性在对话框的"目标(T)"处,复制如下命令替换原有参数后点确定。
![chrome_nosafe]( ./doc/images/chrome_nosafe.png "chrome_nosafe")
~~~
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-site-isolation-trials --disable-web-security --user-data-dir=c:\chrome
~~~
<li>操作完后关闭浏览器,在重新打开
<li>安装wampserver。
<li>安装idea。
<li>安装node.js。
<li>进入命令行。
<li>进入c盘根目录 cd/
<li>在c盘根目录创建项目文件夹md exam_app
<li>进入项目文件夹cd exam_app
<li>配置镜像地址npm config set registry https://registry.npmmirror.com
<li>安装vue-clinpm install -g @vue/cli
<li>创建vue项目脚手架vue create app_vue
<li>进入vue项目文件夹cd app_vue
<li>安装router包npm install vue-router@next
<li>安装axios包npm install axios
<li>启动vue项目npm run serve
<li>启动idea打开刚才创建的app_vue项目
<li>安装vue的插件
![plugins_vue]( ./doc/images/plugins_vue.png "plugins_vue")
<li>配置vue
~~~json
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true
})
module.exports={
devServer:{
port:586xx,
allowedHosts:"all",
proxy: {
'/examServer': {
target: "http://10.128.128.xx:8022",
secure: false,
changeOrigin: true,
pathRewrite: {
'^/examServer': ''
}
},
'/springbootServer': {
target: "http://localhost:583xx",
secure: false,
changeOrigin: true,
pathRewrite: {
'^/springbootServer': ''
}
},
}
}
}
~~~
<li>每次修改了vue配置文件后要重启vue
<li>准备好老师发送的考试服务器客户端文件名为e_yyyymmdd.jar 复制到c盘根下
<li>进入命令行
<li>进入c盘根目录: `cd /`
<li>运行考试服务器:`java -jar e_yyyymmdd.jar`(原则上此文件的名称与考次号一致)
<li>考试服务器窗口在运行过程中如果出现问题请用ctrl+c中止程序。vue-cli窗口也是类似不要直接关窗口。
<li>如果出现
![java端口冲突]( ./doc/images/java端口冲突.png "java端口冲突")
,请用`neststat -ano`找到8099端口对应的PID后杀掉此进程解决。
<li>配置router/index.js
</ol>
# springboot工程项目初始化操作指南
<ol>
<li>新建工程项目
![springboot1]( ./doc/images/springboot_1.png )
<br><br>
<li>设置项目参数
![springboot2](.\doc\images\springboot_2.png)
<br><br>
<li>设置项目参数
![springboot3](./doc/images/springboot_3.png)
<br><br>
<li>设置项目参数
![](./doc/images/springboot_4.png)
<br><br>
<li>设置编译参数
![springboot5](./doc/images/springboot_5.png)
<br><br>
<li>设置项目参数
![](./doc/images/springboot_7.png)
<br><br>
<li>设置项目参数
![springboot8](./doc/images/springboot_8.png)
<br><br>
<li>设置pom参数
![springboot6](./doc/images/springboot_6.png)
~~~xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.luowei</groupId>
<artifactId>app_sb</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>app_sb</name>
<description>Demo project for Spring Boot</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.31</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
~~~
<li>设置项目参数
![]( ./doc/images/springboot_9.png )
<li>maven配置
~~~xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>uk</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://uk.maven.org/maven2/</url>
</mirror>
<mirror>
<id>CN</id>
<name>OSChina Central</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
<mirror>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
</settings>
~~~
<li style="color: red">配置完后刷新maven
<li>配置application.yml
~~~yml
server:
port: 583xx
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password:
url: jdbc:mysql://localhost:3306/exam_xxx?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
mybatis:
mapper-locations: classpath:mapper/*Mapper.xml
type-aliases-package: com.luowei.exam
configuration:
#log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
~~~
<li>配置数据库与数据表(部分)
~~~sql
drop database exam_xxx;
create database exam_xxx;
use exam_xxx;
drop table person_base_info_881;
create table person_base_info_881(id varchar(18),name varchar(20),gender varchar(2),chronic_disease varchar(20),password varchar(20),address varchar(40),photo varchar(40),create_time int,update_time int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into person_base_info_881(id,name,gender,password,chronic_disease,address,photo,create_time,update_time)values('admin','罗维','01','123','c01,c02','510100','admin','-967796571','-967796571');
insert into person_base_info_881(id,name,gender,password,chronic_disease,address,photo,create_time,update_time)values('510103194610220234','洪七公','01','123','c01,c02','510100','510103194610220234','-967796571','-967796571');
insert into person_base_info_881(id,name,gender,password,chronic_disease,address,photo,create_time,update_time)values('510103194805030875','郭靖','02','123','c01,c03','500000','510103194610220234','-927796571','-927796571');
drop table person_health_info_881;
create table person_health_info_881(uuid varchar(50),id varchar(18),sbp int,dbp int,create_time int,update_time int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into person_health_info_881(uuid,id,sbp,dbp,create_time,update_time)values('1234567890','510103194610220234','110','80','1758399909','1758399909');
insert into person_health_info_881(uuid,id,sbp,dbp,create_time,update_time)values('1234567891','510103194610220234','120','85','1758399909','1758399909');
drop table person_base_info_881_1;
create table person_base_info_881_1(id varchar(18),name varchar(20),sbp int,dbp int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into person_base_info_881_1(id,name,sbp,dbp)values('510103234','罗维','114','70');
insert into person_base_info_881_1(id,name,sbp,dbp)values('510103239','洪七公','134','89');
~~~
<li>mapper.xml
~~~xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--实际开发时namespace要按实际的包名修改-->
<mapper namespace="com.luowei.app_sb.mapper.PersonBaseInfoMapper">
</mapper>
~~~
<li>如果调试时出现报错“java.lang.IllegalArgumentException: Source must not be null”是你的代码有问题插入了null导致的删除数据后可解决。
![]( http://125.64.9.222:8022/stuff/image/%E6%95%B0%E6%8D%AE%E8%A1%A8%E5%AD%97%E6%AE%B5%E5%80%BC%E4%B8%BA%E7%A9%BA%E7%9A%84%E5%A4%84%E7%90%86_1.png)
</ol>

View File

@ -5,7 +5,7 @@ spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: 123456
password:
url: jdbc:mysql://localhost:3306/exam_20250612_58009?characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
mybatis:
@ -14,18 +14,3 @@ mybatis:
configuration:
#log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# create database exam_20250612_58056;
# use exam_20250612_58056;
# drop table user_70;
# create table user_70(name char(50),address char(50),password char(50))ENGINE=MyISAM DEFAULT CHARSET=utf8;
# insert into user_70(name,address,password)values('mike','shanghai','c4ca4238a0b923820dcc509a6f75849b');
# insert into user_70(name,address,password)values('rose','beijing','c4ca4238a0b923820dcc509a6f75849b');
# create database exam_20250612_58056;
# use exam_20250612_58056;
# drop table person_base_info_881_1;
# create table person_base_info_881_1(id varchar(18),name varchar(20),sbp int,dbp int)ENGINE=MyISAM DEFAULT CHARSET=utf8;
# insert into person_base_info_881_1(id,name,sbp,dbp)values('510103234','罗维','114','70');
# insert into person_base_info_881_1(id,name,sbp,dbp)values('510103239','洪七公','134','89');

8
app_vue/.env.development Normal file
View File

@ -0,0 +1,8 @@
# 下面填写 VPS spring vue port 替换53600
VUE_APP_PORT = 53600
# 下面填写 浏览器URL栏中 http://[考试服务器地址]:[端口号] 例如 http://10.128.192.1:8022替换http://10.128.128.249:8022
SERVER_URL = http://10.128.128.249:8022
# 下面填写 你的学号替换202241401022
VUE_APP_STUDENT_ID = 202241401022
# 下面填写 VPS spring boot port替换53300
SPRINGBOOT_PORT= 53300

View File

@ -11,7 +11,7 @@
proxy:"/examServer",
url:"/public_api/v1/api_for_vue_exam_1?student_id=",
token:"no token",
student_id: "202241401015"
student_id: process.env.VUE_APP_STUDENT_ID
}
},
methods:{

View File

@ -4,11 +4,11 @@ module.exports = defineConfig({
})
module.exports={
devServer:{
port:58610,
port: process.env.VUE_APP_PORT,
allowedHosts:"all",
proxy: {
'/examServer': {
target: "http://10.128.128.249:8022",
target: process.env.SERVER_URL,
secure: false,
changeOrigin: true,
pathRewrite: {
@ -16,7 +16,7 @@ module.exports={
}
},
'/springbootServer': {
target: "http://localhost:58310",
target: `http://localhost:${process.env.SPRINGBOOT_PORT}`,
secure: false,
changeOrigin: true,
pathRewrite: {

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
doc/images/plugins_vue.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

BIN
doc/images/springboot_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

BIN
doc/images/springboot_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

BIN
doc/images/springboot_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
doc/images/springboot_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
doc/images/springboot_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

BIN
doc/images/springboot_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

BIN
doc/images/springboot_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 111 KiB

BIN
doc/images/springboot_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
doc/images/springboot_9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 KiB