From 4b36b660b70cfb608b9f26e4fa18073a55f6990e Mon Sep 17 00:00:00 2001 From: chutingting Date: Sun, 20 Sep 2020 14:05:47 +0800 Subject: [PATCH] add api --- package-lock.json | 24 ++++-- package.json | 2 + src/api/home/index.js | 86 +++++++++++++++++++++ src/api/index.js | 5 ++ src/api/request.js | 48 ++++++++++++ src/components/consult/consult.vue | 17 ++++- src/components/partner/partnerBox.vue | 5 +- src/components/sidebar/sidebar.vue | 63 ++++++++------- src/components/slideshow/slideshow.vue | 2 +- src/page/cultivate/excellent.vue | 69 +++++++++++++---- src/page/cultivate/particulars.vue | 31 +++++++- src/page/cultivate/partner.vue | 31 +++++--- src/page/home/home.vue | 99 +++++++++++++++--------- src/page/journalism/details.vue | 48 ------------ src/page/journalism/journalism.vue | 101 +++++++++++++++++++++++-- src/page/serve/frame.vue | 26 +++++-- src/router/index.js | 6 ++ vue.config.js | 17 ++++- 18 files changed, 515 insertions(+), 165 deletions(-) create mode 100644 src/api/home/index.js create mode 100644 src/api/index.js create mode 100644 src/api/request.js delete mode 100644 src/page/journalism/details.vue diff --git a/package-lock.json b/package-lock.json index 80bb6fb..8033e83 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2204,7 +2204,7 @@ }, "async-validator": { "version": "1.8.5", - "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz?cache=0&sync_timestamp=1596625482773&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.8.5.tgz", + "resolved": "https://registry.npm.taobao.org/async-validator/download/async-validator-1.8.5.tgz?cache=0&sync_timestamp=1596625258256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2Fasync-validator-1.8.5.tgz", "integrity": "sha1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A=", "requires": { "babel-runtime": "6.x" @@ -2249,6 +2249,14 @@ "integrity": "sha1-oXs6jqgRBg501H0wYSJACtRJeuI=", "dev": true }, + "axios": { + "version": "0.20.0", + "resolved": "https://registry.npm.taobao.org/axios/download/axios-0.20.0.tgz?cache=0&sync_timestamp=1597979791211&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faxios%2Fdownload%2Faxios-0.20.0.tgz", + "integrity": "sha1-BXujDwSIRpSZOozQf6OUz/EcUL0=", + "requires": { + "follow-redirects": "^1.10.0" + } + }, "babel-eslint": { "version": "10.1.0", "resolved": "https://registry.npm.taobao.org/babel-eslint/download/babel-eslint-10.1.0.tgz", @@ -2306,7 +2314,7 @@ }, "regenerator-runtime": { "version": "0.11.1", - "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456511811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.11.1.tgz", + "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" } } @@ -4345,7 +4353,7 @@ }, "element-ui": { "version": "2.13.2", - "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.2.tgz", + "resolved": "https://registry.npm.taobao.org/element-ui/download/element-ui-2.13.2.tgz?cache=0&sync_timestamp=1589795164194&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Felement-ui%2Fdownload%2Felement-ui-2.13.2.tgz", "integrity": "sha1-WCv0eqqqr+I+oZWPriF6aHrQZEc=", "requires": { "async-validator": "~1.8.1", @@ -5297,8 +5305,7 @@ "follow-redirects": { "version": "1.12.1", "resolved": "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.12.1.tgz?cache=0&sync_timestamp=1592518348860&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.12.1.tgz", - "integrity": "sha1-3lSmIFMRuT1gOY68Ac9wFWgjErY=", - "dev": true + "integrity": "sha1-3lSmIFMRuT1gOY68Ac9wFWgjErY=" }, "for-in": { "version": "1.0.2", @@ -7194,6 +7201,11 @@ "minimist": "^1.2.5" } }, + "moment": { + "version": "2.28.0", + "resolved": "https://registry.npm.taobao.org/moment/download/moment-2.28.0.tgz", + "integrity": "sha1-zf5zzgEyfO5lN7D6+sLg8hojfXU=" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", @@ -10425,7 +10437,7 @@ }, "throttle-debounce": { "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2Fthrottle-debounce-1.1.0.tgz", + "resolved": "https://registry.npm.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz?cache=0&sync_timestamp=1597223522218&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2Fthrottle-debounce-1.1.0.tgz", "integrity": "sha1-UYU9o3vmihVctugns1FKPEIuic0=" }, "through": { diff --git a/package.json b/package.json index c7a3e2f..3313a99 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,10 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "axios": "^0.20.0", "core-js": "^3.6.5", "element-ui": "^2.13.2", + "moment": "^2.28.0", "vue": "^2.6.11", "vue-router": "^3.2.0", "vuex": "^3.4.0" diff --git a/src/api/home/index.js b/src/api/home/index.js new file mode 100644 index 0000000..84d9ee0 --- /dev/null +++ b/src/api/home/index.js @@ -0,0 +1,86 @@ +import request from "../request.js" + +var services = { + /* 获取轮播图 */ + getBannerList(params) { + return request({ + url: "/api/yjyBanner/list", + method: "get", + params: { + pageNum: params.pageNum, + pageSize: params.pageSize + } + }) + }, + /* 合作伙伴 */ + getPartnersList(params) { + return request({ + url: "/api/yjyPartners/list", + method: "get", + params: { + pageNum: params.pageNum, + pageSize: params.pageSize + } + }) + }, + /* 新闻列表 */ + getNewsList(params) { + return request({ + url: "/api/yjyNews/list", + method: "get", + params: { + pageNum: params.pageNum, + pageSize: params.pageSize, + type: params.type + } + }) + }, + /* 新闻列表详情 */ + getNewsDetail(id) { + return request({ + url: "/api/yjyNews/findById", + method: "get", + params: { + id: id + } + }) + }, + /* 获取浏览次数 */ + /* getView(params) { + let url = params.tag === 'news' ? '/api/yjyNews/viewById' : '' + return request({ + url: url, + method: "get", + params: { + id: params.id + } + }) + }, */ + /* 首页留言 */ + addConsumerInto(data) { + return request({ + url: "/api/yjyConsumerInto/add", + method: "post", + data: { + businessName: data.businessName, + liaisonMan: data.liaisonMan, + liaisonPhone: data.liaisonPhone + } + }) + }, + /* 我要应聘 */ + addCandidates(data) { + return request({ + url: "/api/yjyCandidates/add", + method: "post", + data: { + liaisonEmail: data.liaisonEmail, + liaisonMan: data.liaisonMan, + liaisonPhone: data.liaisonPhone, + explains: data.explains + } + }) + } +} + +export default services diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..e77ee6d --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,5 @@ +import homeService from "./home/index" + +export { + homeService +} diff --git a/src/api/request.js b/src/api/request.js new file mode 100644 index 0000000..b96b609 --- /dev/null +++ b/src/api/request.js @@ -0,0 +1,48 @@ +import axios from "axios" +import { Message } from "element-ui" + +// request拦截器 +axios.interceptors.request.use( + config => { + return config + }, + error => { + // Do something with request error + console.log("interceptors.request.use receive error") + console.log(error) // for debug + Promise.reject(error) + } +) + +// respone拦截器 +axios.interceptors.response.use( + response => { + /** + * code为非200是抛错 可结合自己业务进行修改 + */ + const res = response.data + if (res.code === 200) { + return res.data + } else { + Message({ + message: '异常', + type: "error", + duration: 2 * 1000 + }) + return Promise.reject(res) + } + }, + error => { + Message({ + message: '参数异常', + type: "error", + duration: 5 * 1000 + }) + return Promise.reject({ + data: error, + message: '参数异常' + }) + } +) + +export default axios diff --git a/src/components/consult/consult.vue b/src/components/consult/consult.vue index dbe0a30..0ae28f7 100644 --- a/src/components/consult/consult.vue +++ b/src/components/consult/consult.vue @@ -61,6 +61,7 @@ diff --git a/src/components/sidebar/sidebar.vue b/src/components/sidebar/sidebar.vue index 84f1496..7496b2a 100644 --- a/src/components/sidebar/sidebar.vue +++ b/src/components/sidebar/sidebar.vue @@ -13,36 +13,22 @@
预约服务
新闻中心
-

MORE

+

MORE

-
- -
-

新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻

- 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容 -
2020-08-06
+
+ +
+

{{item.title}}

+ {{item.assistantTitle}} +
{{item.publishDate}} {{item.view}}
+
-
-
- -
-

新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻

- 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容 -
2020-08-06
-
-
-
- -
-

新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻

- 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容 -
2020-08-06
-
-
\ No newline at end of file diff --git a/src/page/cultivate/particulars.vue b/src/page/cultivate/particulars.vue index 9f3e16a..136ad18 100644 --- a/src/page/cultivate/particulars.vue +++ b/src/page/cultivate/particulars.vue @@ -2,10 +2,15 @@
-
+ +
+

{{data.title}}

+

{{data.publishDate}}

+
@@ -14,6 +19,8 @@ diff --git a/src/page/home/home.vue b/src/page/home/home.vue index 99af2e9..53fcef5 100644 --- a/src/page/home/home.vue +++ b/src/page/home/home.vue @@ -37,43 +37,23 @@
合作伙伴
-
- +
+
- -

新闻中心

- MORE -
- -
- -
-

新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻

- 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容 -
2020-08-06
-
-
- -
- -
-

新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻

- 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容 -
2020-08-06
-
+ MORE
-
- +
+
-

新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻新闻

- 内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容 -
2020-08-06
+

{{item.title}}

+ {{item.assistantTitle}} +
{{item.publishDate}} {{item.view}}
@@ -88,6 +68,8 @@ import slideshow from "@/components/slideshow/slideshow"; import consult from "@/components/consult/consult"; import textTitle from "@/components/headTail/textTitle"; import partnerBox from "@/components/partner/partnerBox"; +import { homeService } from "@/api" +import moment from "moment" export default { components: { slideshow, @@ -97,28 +79,67 @@ export default { }, data() { return { - slideList: [ - { url: require("../../assets/img/slideshow/1.png") }, - { url: require("../../assets/img/slideshow/2.png") }, - { url: require("../../assets/img/slideshow/1.png") }, - { url: require("../../assets/img/slideshow/2.png") }, - ], - partnerUrl: require("../../assets/img/cooperation/on1.png"), + slideList: [], + partnersList: [], + newsList: [] }; }, methods: { - goparticulars() { + /* 轮播图 */ + getSlideList() { + let data = { + pageNum: 1, + pageSize: 100 + } + homeService.getBannerList(data).then(res => { + this.slideList = res.list + }) + }, + /* 左侧合作伙伴 */ + getPartnersList() { + let data = { + pageNum: 1, + pageSize: 5 + } + homeService.getPartnersList(data).then(res => { + this.partnersList = res.list + }) + }, + /* 新闻列表 */ + getNewsList() { + let data = { + type: 1, + pageNum: 1, + pageSize: 3 + } + homeService.getNewsList(data).then(res => { + res.list.forEach(ele => { + ele.publishDate = moment(ele.publishDate).format("YYYY-MM-DD") + }); + this.newsList = res.list + }) + }, + moreNews() { + this.$router.push('/journalism'); + }, + goparticulars(item) { this.$router.push({ path: "/particulars", query: { ifjournalism: 2, - }, + id: item.id + } }); }, go(path) { this.$router.push(`/${path}`); }, }, + created() { + this.getSlideList() + this.getPartnersList() + this.getNewsList() + } }; @@ -279,6 +300,7 @@ export default { line-height: 45px; text-indent: 30px; float: left; + cursor: pointer; } span { height: 45px; @@ -324,6 +346,9 @@ export default { line-height: 19px; color: rgb(214, 214, 206); padding: 10px 0; + span{ + float: right; + } } } } diff --git a/src/page/journalism/details.vue b/src/page/journalism/details.vue deleted file mode 100644 index b632e7c..0000000 --- a/src/page/journalism/details.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - \ No newline at end of file diff --git a/src/page/journalism/journalism.vue b/src/page/journalism/journalism.vue index e6db993..90dc010 100644 --- a/src/page/journalism/journalism.vue +++ b/src/page/journalism/journalism.vue @@ -2,9 +2,24 @@
-
- + +
+

{{item.title}}

+
+ +
+

{{item.assistantTitle}}

+ {{item.publishDate}} {{item.view}} +
+
+ +
@@ -12,22 +27,98 @@ + diff --git a/src/page/serve/frame.vue b/src/page/serve/frame.vue index 978ffab..6c0c953 100644 --- a/src/page/serve/frame.vue +++ b/src/page/serve/frame.vue @@ -31,13 +31,14 @@ prop="email" :rules="[ {required: true, message: '请输入邮箱', trigger: 'blur'}, + { type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] } ]" > - + @@ -53,6 +54,8 @@