修改地址使用config.js内地址,方便部署后随时更改地址

This commit is contained in:
GAO 2025-08-06 15:40:26 +08:00
parent 64ea22972f
commit 93dee1f83f
21 changed files with 76 additions and 25 deletions

View File

@ -8,4 +8,4 @@ VITE_APP_ENV = 'development'
VITE_APP_BASE_API = '/dev-api'
# WebSocket配置
VITE_APP_WEBSOCKET_URL=ws://10.0.0.122:8080/collision
VITE_APP_WEBSOCKET_URL=ws://10.0.0.17:8080/collision

View File

@ -5,9 +5,10 @@ VITE_APP_TITLE = 青岛机场无人驾驶车辆协同云平台
VITE_APP_ENV = 'production'
# 青岛机场无人驾驶车辆协同云平台/生产环境
VITE_APP_BASE_API = 'http://10.0.0.122:8080'
# VITE_APP_BASE_API = 'http://10.0.0.122:8080'
VITE_APP_BASE_API = 'http://10.64.58.228:8080'
VITE_APP_WEBSOCKET_URL='ws://10.0.0.122:8080/collision'
VITE_APP_WEBSOCKET_URL='ws://10.64.58.228:8080/collision'
# 是否在打包时开启压缩,支持 gzip 和 brotli
VITE_BUILD_COMPRESS = gzip

44
.lingma/rules/coding.md Normal file
View File

@ -0,0 +1,44 @@
---
trigger: always_on
---
模仿人类的开发习惯来开发,例如实现主要功能,额外的辅助功能不做开发,必须不做过度开发。碰见问题先修复,而不是掩饰问题,删除代码或者开发其它功能来配合。你只需要关注最主要的功能来实现即可
始终用中文回应,并在引入新术语时提供清晰定义和示例。
保持现有代码的稳定性是第一优先级所有修改必须确保现有功能100%不变只修改指定功能如X功能不要动其他已有功能只能添加代码不能修改现有代码除非绝对必要且经用户同意
最小化修改原则:实现需求时,始终选择最简单、影响最小的解决方案;优先考虑"添加"而不是"修改"(例如,保持现有接口不变,只添加新接口)。
先实现最基础的功能,再考虑扩展。
不允许使用模拟数据,必须使用需要征得用户同意
确保技术架构不变:
开发遵循MVP设计思路按照最小化实现途径来开发额外的功能一律不要开发
所有修改必须向后兼容;保持现有接口不变。
在进行任何架构性修改前,必须征得用户的明确同意。
项目操作规范:
对于容器中的项目,只提供操作命令(不描述其他内容)。
使用代码注释帮助文档。
问题处理原则:遇到无法解决的问题时,优先寻求开发者的合作和支持,而不改变项目需求或结构。
不要使用模拟数据,模拟方法,如需使用,必须征得用户同意!
不要随便创建测试文件可以使用mcp进行测试的必须使用mcp功能
响应简洁性:保持回应简洁,无冗余内容;如果问题不清晰,立即寻求用户澄清。
项目开发原则:
- 项目不允许假数据,模拟数据,限制数据,比如限制层数,数量等。必须不能过度开发,只按照用户需求开发功能,周边性功能开发要征得用户同意
需要调试可以寻求用户帮助,不能自己去猜测
版本管理:
- 所有程序版本的不确定可以使用mcp context7

View File

@ -8,6 +8,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="/favicon.ico">
<title>青岛机场</title>
<!-- 引入配置文件 -->
<script src="/config.js"></script>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
html,

4
public/config.js Normal file
View File

@ -0,0 +1,4 @@
window.APP_CONFIG = {
VITE_BASE_URL: 'http://10.0.0.123:8080',
WS_BASE_URL: 'ws://10.0.0.123:8080/collision'
};

View File

@ -69,8 +69,8 @@ const { proxy } = getCurrentInstance();
const emit = defineEmits();
const number = ref(0);
const uploadList = ref([]);
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const uploadFileUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload"); //
const baseUrl = window.APP_CONFIG.VITE_BASE_URL;
const uploadFileUrl = ref(window.APP_CONFIG.VITE_BASE_URL + "/common/upload"); //
const headers = ref({ Authorization: "Bearer " + getToken() });
const fileList = ref([]);
const showTip = computed(

View File

@ -40,7 +40,7 @@ const realSrc = computed(() => {
if (isExternal(real_src)) {
return real_src;
}
return import.meta.env.VITE_APP_BASE_API + real_src;
return window.APP_CONFIG?.VITE_BASE_URL + real_src;
});
const realSrcList = computed(() => {
@ -53,7 +53,7 @@ const realSrcList = computed(() => {
if (isExternal(item)) {
return srcList.push(item);
}
return srcList.push(import.meta.env.VITE_APP_BASE_API + item);
return srcList.push(window.APP_CONFIG?.VITE_BASE_URL + item);
});
return srcList;
});

View File

@ -78,8 +78,8 @@ const number = ref(0);
const uploadList = ref([]);
const dialogImageUrl = ref("");
const dialogVisible = ref(false);
const baseUrl = import.meta.env.VITE_APP_BASE_API;
const uploadImgUrl = ref(import.meta.env.VITE_APP_BASE_API + "/common/upload"); //
const baseUrl = window.APP_CONFIG?.VITE_BASE_URL;
const uploadImgUrl = ref(window.APP_CONFIG?.VITE_BASE_URL + "/common/upload"); //
const headers = ref({ Authorization: "Bearer " + getToken() });
const fileList = ref([]);
const showTip = computed(

View File

@ -254,7 +254,7 @@ function ensureContinuousMovement(animData, vehicle, currentTime, deltaTime) {
// //
animData.targetHeading = predictedHeading;
//
animData.heading = predictedHeading; //
// animData.heading = predictedHeading; //
}
//

View File

@ -550,7 +550,7 @@ function connectWebSocket() {
try {
// 使WebSocketService
const wsUrl = import.meta.env.VITE_APP_WEBSOCKET_URL;
const wsUrl = window.APP_CONFIG?.VITE_BASE_URL;
console.log(`正在连接WebSocket: ${wsUrl}`);
wsService = createWebSocket(wsUrl, {

View File

@ -5,7 +5,7 @@ import { getToken } from '@/utils/auth'
import errorCode from '@/utils/errorCode'
import { blobValidate } from '@/utils/ruoyi'
const baseURL = import.meta.env.VITE_APP_BASE_API
const baseURL = window.APP_CONFIG?.VITE_BASE_URL
export default {
name(name, isDelete = true) {

View File

@ -34,7 +34,7 @@ const useUserStore = defineStore(
return new Promise((resolve, reject) => {
getInfo().then(res => {
const user = res.user
const avatar = (user.avatar == "" || user.avatar == null) ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar;
const avatar = (user.avatar == "" || user.avatar == null) ? defAva : window.APP_CONFIG?.VITE_BASE_URL + user.avatar;
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
this.roles = res.roles

View File

@ -15,11 +15,10 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 创建axios实例
const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: import.meta.env.VITE_APP_BASE_API,
baseURL: window.APP_CONFIG?.VITE_BASE_URL || import.meta.env.VITE_APP_BASE_API,
// 超时
timeout: 10000
})
// request拦截器
service.interceptors.request.use(config => {
// 是否需要设置 token

View File

@ -104,7 +104,7 @@
<div class="control-group">
<label>服务器地址:</label>
<select id="collisionServerSelect">
<option value="ws://10.0.0.122:8080/collision">10.0.0.122:8080/collision</option>
<option value="ws://10.0.0.123:8080/collision"> 10.64.58.228:8080/collision</option>
</select>
</div>

View File

@ -331,7 +331,7 @@ const rules = {
};
//
const uploadUrl = import.meta.env.VITE_APP_BASE_API + "/common/upload";
const uploadUrl = window.APP_CONFIG?.VITE_BASE_URL + "/common/upload";
const headers = { Authorization: "Bearer " + getToken() };
const upload = reactive({
isUploading: false,
@ -339,7 +339,7 @@ const upload = reactive({
title: "",
open: false,
// URL
url: import.meta.env.VITE_APP_BASE_API + "/system/vehicle_info/importData",
url: window.APP_CONFIG?.VITE_BASE_URL + "/system/vehicle_info/importData",
headers: { Authorization: "Bearer " + getToken() }
});

View File

@ -107,6 +107,7 @@ const redirect = ref(undefined);
function handleLogin() {
proxy.$refs.loginRef.validate(valid => {
if (valid) {
loading.value = true;
// cookie
if (loginForm.value.rememberMe) {

View File

@ -248,8 +248,8 @@ const upload = reactive({
isUploading: false,
updateSupport: 0,
headers: { Authorization: "Bearer " + getToken() },
url: import.meta.env.VITE_APP_BASE_API + "/system/driver_info/importData",
avatarUrl: import.meta.env.VITE_APP_BASE_API + "/system/driver_info/avatar"
url: window.APP_CONFIG?.VITE_BASE_URL + "/system/driver_info/importData",
avatarUrl: window.APP_CONFIG?.VITE_BASE_URL + "/system/driver_info/avatar"
});
const queryParams = ref({

View File

@ -269,8 +269,8 @@ const upload = reactive({
isUploading: false,
updateSupport: 0,
headers: { Authorization: "Bearer " + getToken() },
url: import.meta.env.VITE_APP_BASE_API + "/system/user/importData",
avatarUrl: import.meta.env.VITE_APP_BASE_API + "/system/user/profile/avatar"
url: window.APP_CONFIG?.VITE_BASE_URL + "/system/user/importData",
avatarUrl: window.APP_CONFIG?.VITE_BASE_URL + "/system/user/profile/avatar"
});
//

View File

@ -124,7 +124,7 @@ function uploadImg() {
formData.append("avatarfile", data);
uploadAvatar(formData).then(response => {
open.value = false;
options.img = import.meta.env.VITE_APP_BASE_API + response.imgUrl;
options.img = window.APP_CONFIG?.VITE_BASE_URL + response.imgUrl;
userStore.avatar = options.img;
proxy.$modal.msgSuccess("修改成功");
visible.value = false;

View File

@ -5,5 +5,5 @@
<script setup>
import iFrame from '@/components/iFrame'
const url = ref(import.meta.env.VITE_APP_BASE_API + "/swagger-ui/index.html")
const url = ref(window.APP_CONFIG?.VITE_BASE_URL + "/swagger-ui/index.html")
</script>

View File

@ -32,7 +32,7 @@ export default defineConfig(({ mode, command }) => {
// https://cn.vitejs.dev/config/#server-proxy
'/dev-api': {
// target: 'http://10.0.0.17:8099',//昊天
target: 'http://10.0.0.122:8080',//田哥
target: 'http:// 10.0.0.123:8080',//田哥
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
}