Browse Source

20241103会议提交

test
pengbaohao 6 months ago
parent
commit
65e83fd162
  1. 25
      code/springboot/newBank/src/main/java/demo/config/CorsConfig.java
  2. 1
      code/springboot/newBank/src/main/java/demo/liaofeifei/staffController.java
  3. 6
      code/vue/.idea/inspectionProfiles/Project_Default.xml
  4. 103
      code/vue/vue3/package-lock.json
  5. 2
      code/vue/vue3/package.json
  6. 9
      code/vue/vue3/src/App.vue
  7. 18
      code/vue/vue3/src/api/staff.ts
  8. 59
      code/vue/vue3/src/pengbaohao/staff.vue
  9. 23
      code/vue/vue3/src/util/request.ts
  10. BIN
      项目管理/银行-员工api文档(word)(3).docx

25
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);
}
}

1
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.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate; 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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;

6
code/vue/.idea/inspectionProfiles/Project_Default.xml

@ -1,6 +0,0 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>

103
code/vue/vue3/package-lock.json generated

@ -30,6 +30,7 @@
"prettier": "^3.3.3", "prettier": "^3.3.3",
"typescript": "~5.5.4", "typescript": "~5.5.4",
"vite": "^5.4.8", "vite": "^5.4.8",
"vite-plugin-proxy": "^0.5.0",
"vite-plugin-vue-devtools": "^7.4.6", "vite-plugin-vue-devtools": "^7.4.6",
"vitest": "^2.1.2", "vitest": "^2.1.2",
"vue-tsc": "^2.1.6" "vue-tsc": "^2.1.6"
@ -1486,6 +1487,15 @@
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
"dev": true "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": { "node_modules/@types/jsdom": {
"version": "21.1.7", "version": "21.1.7",
"resolved": "https://registry.npmmirror.com/@types/jsdom/-/jsdom-21.1.7.tgz", "resolved": "https://registry.npmmirror.com/@types/jsdom/-/jsdom-21.1.7.tgz",
@ -3150,6 +3160,12 @@
"node": ">=0.10.0" "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": { "node_modules/execa": {
"version": "8.0.1", "version": "8.0.1",
"resolved": "https://registry.npmmirror.com/execa/-/execa-8.0.1.tgz", "resolved": "https://registry.npmmirror.com/execa/-/execa-8.0.1.tgz",
@ -3293,6 +3309,26 @@
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true "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": { "node_modules/foreground-child": {
"version": "3.3.0", "version": "3.3.0",
"resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.0.tgz", "resolved": "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.0.tgz",
@ -3473,6 +3509,20 @@
"url": "https://github.com/sponsors/sindresorhus" "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": { "node_modules/http-proxy-agent": {
"version": "7.0.2", "version": "7.0.2",
"resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", "resolved": "https://registry.npmmirror.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
@ -3486,6 +3536,22 @@
"node": ">= 14" "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": { "node_modules/https-proxy-agent": {
"version": "7.0.5", "version": "7.0.5",
"resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz",
@ -3632,6 +3698,18 @@
"node": ">=0.12.0" "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": { "node_modules/is-potential-custom-element-name": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", "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" "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": { "node_modules/kolorist": {
"version": "1.8.0", "version": "1.8.0",
"resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", "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": "^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": { "node_modules/resolve-from": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz", "resolved": "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz",
@ -5365,6 +5458,16 @@
"node": ">= 10" "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": { "node_modules/vite-plugin-vue-devtools": {
"version": "7.5.3", "version": "7.5.3",
"resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.5.3.tgz", "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.5.3.tgz",

2
code/vue/vue3/package.json

@ -14,6 +14,7 @@
"format": "prettier --write src/" "format": "prettier --write src/"
}, },
"dependencies": { "dependencies": {
"axios": "^1.7.7",
"pinia": "^2.2.4", "pinia": "^2.2.4",
"vue": "^3.5.12", "vue": "^3.5.12",
"vue-router": "^4.4.5" "vue-router": "^4.4.5"
@ -36,6 +37,7 @@
"prettier": "^3.3.3", "prettier": "^3.3.3",
"typescript": "~5.5.4", "typescript": "~5.5.4",
"vite": "^5.4.8", "vite": "^5.4.8",
"vite-plugin-proxy": "^0.5.0",
"vite-plugin-vue-devtools": "^7.4.6", "vite-plugin-vue-devtools": "^7.4.6",
"vitest": "^2.1.2", "vitest": "^2.1.2",
"vue-tsc": "^2.1.6" "vue-tsc": "^2.1.6"

9
code/vue/vue3/src/App.vue

@ -1,6 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { RouterLink, RouterView } from 'vue-router' import { RouterLink, RouterView } from 'vue-router'
import HelloWorld from './components/HelloWorld.vue' import HelloWorld from './components/HelloWorld.vue'
import Staff from './pengbaohao/staff.vue'
</script> </script>
<template> <template>
@ -9,6 +12,9 @@ import HelloWorld from './components/HelloWorld.vue'
<div class="wrapper"> <div class="wrapper">
<HelloWorld msg="哈哈哈,我进来辣!" /> <HelloWorld msg="哈哈哈,我进来辣!" />
<Staff></Staff>
<nav> <nav>
<RouterLink to="/">Home</RouterLink> <RouterLink to="/">Home</RouterLink>
@ -20,6 +26,9 @@ import HelloWorld from './components/HelloWorld.vue'
<RouterView /> <RouterView />
</template> </template>
<style scoped> <style scoped>
header { header {
line-height: 1.5; line-height: 1.5;

18
code/vue/vue3/src/api/staff.ts

@ -0,0 +1,18 @@
import request from "../util/request"
// 这个是使用方法封装的axios进行请求,并传递查询参数
export const qryStaff = (staffNo: string) => request({
url: '/qryStaff',
method: 'get',
params: {
staffNo: staffNo
} // 这里的 params 对象将被 axios 转换为查询字符串
})
export const addStaff = (staffNo: string) => request({
url: '/qryStaff',
method: 'get',
params: {
staffNo: staffNo
} // 这里的 params 对象将被 axios 转换为查询字符串
})

59
code/vue/vue3/src/pengbaohao/staff.vue

@ -0,0 +1,59 @@
<template>
<div>
<h3>员工信息</h3>
<p v-if="loading">加载中...</p>
<div v-else>
<p>员工编号{{ staffInfo.staffNo }}</p>
<p>员工姓名{{ staffInfo.staffName }}</p>
<p>性别{{ staffInfo.gender }}</p>
<p>生日{{ staffInfo.birthday }}</p>
<p>身份证号码{{ staffInfo.id }}</p>
</div>
</div>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue';
import { qryStaff } from '../api/staff';
//
const staffInfo = ref({
staffNo: '',
staffName: '',
gender: '',
birthday: '',
id:'',
});
const loading = ref(true);
// API
const fetchStaffInfo = async (staffNo: string) => {
try {
loading.value = true;
console.log(staffNo);
//
const response = await qryStaff(staffNo);
console.log(response);
staffInfo.value = response[0]; // staffInfo
} catch (error) {
console.error('Failed to fetch staff info:', error);
//
} finally {
loading.value = false;
}
};
//
onMounted(() => {
//
const staffNo = '007';
fetchStaffInfo(staffNo);
});
</script>

23
code/vue/vue3/src/util/request.ts

@ -0,0 +1,23 @@
import axios from "axios";
import {config} from "@vue/test-utils";
const request =axios.create({
baseURL:'http://127.0.0.1:12709',
timeout:60000,
})
//请求拦截器
request.interceptors.request.use(config =>{
return config
},err =>{
return Promise.reject(err)
})
//响应拦截器
request.interceptors.response.use(response =>{
return response.data
},error => {
return Promise.reject(error)
})
export default request

BIN
项目管理/银行-员工api文档(word)(3).docx

Binary file not shown.
Loading…
Cancel
Save