diff --git a/code/springboot/newBank/src/main/java/demo/config/CorsConfig.java b/code/springboot/newBank/src/main/java/demo/config/CorsConfig.java new file mode 100644 index 000000000..db2b73933 --- /dev/null +++ b/code/springboot/newBank/src/main/java/demo/config/CorsConfig.java @@ -0,0 +1,25 @@ +package demo.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.cors.CorsConfiguration; +import org.springframework.web.cors.UrlBasedCorsConfigurationSource; +import org.springframework.web.filter.CorsFilter; + +@Configuration +public class CorsConfig { + + @Bean + public CorsFilter corsFilter() { + CorsConfiguration corsConfiguration = new CorsConfiguration(); + corsConfiguration.addAllowedOrigin("*"); // 允许所有域名访问 + corsConfiguration.addAllowedHeader("*"); // 允许所有请求头 + corsConfiguration.addAllowedMethod("*"); // 允许所有HTTP方法 + corsConfiguration.setAllowCredentials(true); // 允许携带cookie + + UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); + source.registerCorsConfiguration("/**", corsConfiguration); // 对所有路径应用此配置 + + return new CorsFilter(source); + } +} diff --git a/code/springboot/newBank/src/main/java/demo/liaofeifei/staffController.java b/code/springboot/newBank/src/main/java/demo/liaofeifei/staffController.java index b173ecffb..079a80d4f 100644 --- a/code/springboot/newBank/src/main/java/demo/liaofeifei/staffController.java +++ b/code/springboot/newBank/src/main/java/demo/liaofeifei/staffController.java @@ -2,6 +2,7 @@ package demo.liaofeifei; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/code/vue/.idea/inspectionProfiles/Project_Default.xml b/code/vue/.idea/inspectionProfiles/Project_Default.xml deleted file mode 100644 index 03d9549ea..000000000 --- a/code/vue/.idea/inspectionProfiles/Project_Default.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/code/vue/vue3/package-lock.json b/code/vue/vue3/package-lock.json index e85a5d2c0..291f2a9c7 100644 --- a/code/vue/vue3/package-lock.json +++ b/code/vue/vue3/package-lock.json @@ -30,6 +30,7 @@ "prettier": "^3.3.3", "typescript": "~5.5.4", "vite": "^5.4.8", + "vite-plugin-proxy": "^0.5.0", "vite-plugin-vue-devtools": "^7.4.6", "vitest": "^2.1.2", "vue-tsc": "^2.1.6" @@ -1486,6 +1487,15 @@ "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "dev": true }, + "node_modules/@types/http-proxy": { + "version": "1.17.15", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz", + "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/jsdom": { "version": "21.1.7", "resolved": "https://registry.npmmirror.com/@types/jsdom/-/jsdom-21.1.7.tgz", @@ -3150,6 +3160,12 @@ "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmmirror.com/execa/-/execa-8.0.1.tgz", @@ -3293,6 +3309,26 @@ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "dev": true }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, "node_modules/foreground-child": { "version": "3.3.0", "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.0.tgz", @@ -3473,6 +3509,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/http-proxy-agent": { "version": "7.0.2", "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", @@ -3486,6 +3536,22 @@ "node": ">= 14" } }, + "node_modules/http-proxy-middleware": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.3.1.tgz", + "integrity": "sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/https-proxy-agent": { "version": "7.0.5", "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", @@ -3632,6 +3698,18 @@ "node": ">=0.12.0" } }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", "resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", @@ -3867,6 +3945,15 @@ "json-buffer": "3.0.1" } }, + "node_modules/koa2-connect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/koa2-connect/-/koa2-connect-1.0.2.tgz", + "integrity": "sha512-Subc/t9vJaMtorZ/Z/yqjRaZZ4RQ8ew+aacQhYXzL6oVuaYaUGqhh3UMRB5gcpu7t9hu1QBwbJezHohLNohr3g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/kolorist": { "version": "1.8.0", "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", @@ -4588,6 +4675,12 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", @@ -5365,6 +5458,16 @@ "node": ">= 10" } }, + "node_modules/vite-plugin-proxy": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/vite-plugin-proxy/-/vite-plugin-proxy-0.5.0.tgz", + "integrity": "sha512-tyUEHYPftPMiF0c+p6TS7GNEhRgGgIWss4PejfTeyyXZlsprHNFLT+ANcUPsKrlLZjA9N38BcfVYNDdKyMDwCA==", + "dev": true, + "dependencies": { + "http-proxy-middleware": "^1.0.3", + "koa2-connect": "^1.0.2" + } + }, "node_modules/vite-plugin-vue-devtools": { "version": "7.5.3", "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.5.3.tgz", diff --git a/code/vue/vue3/package.json b/code/vue/vue3/package.json index 16896bcb1..ef4a59fa9 100644 --- a/code/vue/vue3/package.json +++ b/code/vue/vue3/package.json @@ -14,6 +14,7 @@ "format": "prettier --write src/" }, "dependencies": { + "axios": "^1.7.7", "pinia": "^2.2.4", "vue": "^3.5.12", "vue-router": "^4.4.5" @@ -36,6 +37,7 @@ "prettier": "^3.3.3", "typescript": "~5.5.4", "vite": "^5.4.8", + "vite-plugin-proxy": "^0.5.0", "vite-plugin-vue-devtools": "^7.4.6", "vitest": "^2.1.2", "vue-tsc": "^2.1.6" diff --git a/code/vue/vue3/src/App.vue b/code/vue/vue3/src/App.vue index df20e81a8..2a9e44692 100644 --- a/code/vue/vue3/src/App.vue +++ b/code/vue/vue3/src/App.vue @@ -1,6 +1,9 @@ @@ -9,6 +12,9 @@ import HelloWorld from './components/HelloWorld.vue' + + + Home @@ -20,6 +26,9 @@ import HelloWorld from './components/HelloWorld.vue' + + +