From c6781abee3681ffbffa77d9c84f3de77179506ce Mon Sep 17 00:00:00 2001 From: lmj <3407000732@qq.com> Date: Wed, 7 Sep 2022 16:53:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/cesource/index.js | 201 ++++++++++++++++++++++++++++ src/api/event/index.js | 201 ++++++++++++++++++++++++++++ src/api/modules/guide.js | 3 +- src/api/modules/place.js | 4 +- src/views/portal/article/Detail.vue | 27 +++- src/views/portal/article/Index.vue | 28 +++- src/views/portal/case/Detail.vue | 25 ++++ src/views/portal/case/Index.vue | 28 ++++ src/views/portal/course/Index.vue | 25 ++++ src/views/portal/qa/Detail.vue | 24 ++++ src/views/portal/qa/Index.vue | 27 +++- 11 files changed, 586 insertions(+), 7 deletions(-) create mode 100644 src/api/cesource/index.js create mode 100644 src/api/event/index.js diff --git a/src/api/cesource/index.js b/src/api/cesource/index.js new file mode 100644 index 00000000..1f439cb7 --- /dev/null +++ b/src/api/cesource/index.js @@ -0,0 +1,201 @@ +import axios from 'axios' +import qs from 'qs' +import { Notification, MessageBox, Message } from 'element-ui' +import store from '@/store' +import { getToken } from '@/utils/token' +import errorCode from '@/utils/errorCode' +/** + *request请求 axios.request(config) + *requestJson请求 axios.request(config) + *get请求 axios.get(url[, config]) + *post请求 axios.post(url[, data[, config]]) + *postJson请求 axios.post(url[, data[, config]]) + *put请求 axios.put(url[, data[, config]]) + *putJson请求 axios.put(url[, data[, config]]) + *patch请求 axios.patch(url[, data[, config]]) + *patchJson请求 axios.patch(url[, data[, config]]) + *delete请求 axios.delete(url[, config]) + */ + +const ReLoginUrl="/login"; +const TokenName='XBOE-Access-Token'; +/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/ +//只是用于发送json对象数据时使用post,put,patch +const jsonRequest=axios.create({ + headers:{'Content-Type':'application/json;charset=utf-8'}, + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: process.env.VUE_APP_CESOURCE_BASE_API, + //超时 + timeout: 10000, +}); +//发送json对象的拦截器 +jsonRequest.interceptors.request.use(config => { + //是否需要设置 token + const isToken = (config.headers || {}).isToken === false + if (getToken() && !isToken) { + config.headers[TokenName] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}) + +// 响应拦截器 +jsonRequest.interceptors.response.use(res => { + + const code = res.data.status || 200; + if(code===200){ + return res.data + }else{ + if(code === 401){ + store.dispatch('LogOut').then(() => { + location.href = this.webBaseUrl + ReLoginUrl; + }) + }else if(code===403){ + var msg='当前操作没有权限'; + Message({message: msg, type: 'error'}); + return Promise.reject(new Error(msg)) + }else{ + //Message({message: res.data.message, type: 'error'}); + //console.log('err:' + res.data.error); + return res.data; + //return Promise.reject(new Error(res.data.message)) + } + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } + else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } + else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + Message({ + message: message, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +//用于普通的发送请求 +const formRequest=axios.create({ + headers:{'Content-Type':'application/x-www-form-urlencoded'}, + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: process.env.VUE_APP_CESOURCE_BASE_API, + //超时 + timeout: 10000, +}) +//发送json对象的拦截器 +formRequest.interceptors.request.use(config => { + //是否需要设置 token + const isToken = (config.headers || {}).isToken === false + if (getToken() && !isToken) { + config.headers[TokenName] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}); +formRequest.interceptors.response.use(res => { + const code = res.data.status || 200; + if(code===200){ + return res.data + }else{ + if(code === 401){ + store.dispatch('LogOut').then(() => { + location.href = this.webBaseUrl + ReLoginUrl; + }) + }else if(code===403){ + var msg='当前操作没有权限'; + Message({message: msg, type: 'error'}); + return Promise.reject(new Error(msg)) + }else{ + //Message({message: res.data.message, type: 'error'}); + //console.log('err' + res.data.error); + return res.data + } + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } + else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } + else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + Message({ + message: message, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +//request请求 +const request=function(cfg){ + if(cfg.data){ + cfg.data=qs.stringify(cfg.data); + } +}; +//requestJson请求 +const requestJson=jsonRequest.request; +//get请求 +const get=formRequest.request; +//post请求 +const post=function(url,data,config){ + if(data){ + data=qs.stringify(data); + } + return formRequest.post(url,data,config); +} +//postJson请求 +const postJson=jsonRequest.post; +//put请求 +const put=function(url,data,config){ + if(data){ + data=qs.stringify(data); + } + return formRequest.put(url,data,config); +} +//putJson请求 +const putJson=jsonRequest.put; +//patch请求 +const patch=function(url,data,config){ + if(data){ + data=qs.stringify(data); + } + return formRequest.patch(url,data,config); +} +//patchJson请求 +const patchJson=jsonRequest.patch; +//delete请求 +const del=formRequest.delete; + + +export default { + request, + requestJson, + get, + post, + postJson, + put, + putJson, + patch, + patchJson, + del +} diff --git a/src/api/event/index.js b/src/api/event/index.js new file mode 100644 index 00000000..19b5866b --- /dev/null +++ b/src/api/event/index.js @@ -0,0 +1,201 @@ +import axios from 'axios' +import qs from 'qs' +import { Notification, MessageBox, Message } from 'element-ui' +import store from '@/store' +import { getToken } from '@/utils/token' +import errorCode from '@/utils/errorCode' +/** + *request请求 axios.request(config) + *requestJson请求 axios.request(config) + *get请求 axios.get(url[, config]) + *post请求 axios.post(url[, data[, config]]) + *postJson请求 axios.post(url[, data[, config]]) + *put请求 axios.put(url[, data[, config]]) + *putJson请求 axios.put(url[, data[, config]]) + *patch请求 axios.patch(url[, data[, config]]) + *patchJson请求 axios.patch(url[, data[, config]]) + *delete请求 axios.delete(url[, config]) + */ + +const ReLoginUrl="/login"; +const TokenName='XBOE-Access-Token'; +/**axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'**/ +//只是用于发送json对象数据时使用post,put,patch +const jsonRequest=axios.create({ + headers:{'Content-Type':'application/json;charset=utf-8'}, + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: process.env.VUE_APP_STAT_BASE_API, + //超时 + timeout: 10000, +}); +//发送json对象的拦截器 +jsonRequest.interceptors.request.use(config => { + //是否需要设置 token + const isToken = (config.headers || {}).isToken === false + if (getToken() && !isToken) { + config.headers[TokenName] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}) + +// 响应拦截器 +jsonRequest.interceptors.response.use(res => { + + const code = res.data.status || 200; + if(code===200){ + return res.data + }else{ + if(code === 401){ + store.dispatch('LogOut').then(() => { + location.href = this.webBaseUrl + ReLoginUrl; + }) + }else if(code===403){ + var msg='当前操作没有权限'; + Message({message: msg, type: 'error'}); + return Promise.reject(new Error(msg)) + }else{ + //Message({message: res.data.message, type: 'error'}); + //console.log('err:' + res.data.error); + return res.data; + //return Promise.reject(new Error(res.data.message)) + } + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } + else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } + else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + Message({ + message: message, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +//用于普通的发送请求 +const formRequest=axios.create({ + headers:{'Content-Type':'application/x-www-form-urlencoded'}, + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: process.env.VUE_APP_STAT_BASE_API, + //超时 + timeout: 10000, +}) +//发送json对象的拦截器 +formRequest.interceptors.request.use(config => { + //是否需要设置 token + const isToken = (config.headers || {}).isToken === false + if (getToken() && !isToken) { + config.headers[TokenName] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}); +formRequest.interceptors.response.use(res => { + const code = res.data.status || 200; + if(code===200){ + return res.data + }else{ + if(code === 401){ + store.dispatch('LogOut').then(() => { + location.href = this.webBaseUrl + ReLoginUrl; + }) + }else if(code===403){ + var msg='当前操作没有权限'; + Message({message: msg, type: 'error'}); + return Promise.reject(new Error(msg)) + }else{ + //Message({message: res.data.message, type: 'error'}); + //console.log('err' + res.data.error); + return res.data + } + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } + else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } + else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + Message({ + message: message, + type: 'error', + duration: 5 * 1000 + }) + return Promise.reject(error) + } +) + +//request请求 +const request=function(cfg){ + if(cfg.data){ + cfg.data=qs.stringify(cfg.data); + } +}; +//requestJson请求 +const requestJson=jsonRequest.request; +//get请求 +const get=formRequest.request; +//post请求 +const post=function(url,data,config){ + if(data){ + data=qs.stringify(data); + } + return formRequest.post(url,data,config); +} +//postJson请求 +const postJson=jsonRequest.post; +//put请求 +const put=function(url,data,config){ + if(data){ + data=qs.stringify(data); + } + return formRequest.put(url,data,config); +} +//putJson请求 +const putJson=jsonRequest.put; +//patch请求 +const patch=function(url,data,config){ + if(data){ + data=qs.stringify(data); + } + return formRequest.patch(url,data,config); +} +//patchJson请求 +const patchJson=jsonRequest.patch; +//delete请求 +const del=formRequest.delete; + + +export default { + request, + requestJson, + get, + post, + postJson, + put, + putJson, + patch, + patchJson, + del +} diff --git a/src/api/modules/guide.js b/src/api/modules/guide.js index 1308d9bb..fd633239 100644 --- a/src/api/modules/guide.js +++ b/src/api/modules/guide.js @@ -1,4 +1,5 @@ -import ajax from '@/utils/xajax.js' +// import ajax from '@/utils/xajax.js' +import ajax from '../cesource/index.js'; /** diff --git a/src/api/modules/place.js b/src/api/modules/place.js index edf92d50..888ce8ed 100644 --- a/src/api/modules/place.js +++ b/src/api/modules/place.js @@ -1,5 +1,5 @@ -import ajax from '@/utils/xajax.js' - +// import ajax from '@/utils/xajax.js' +import ajax from '../cesource/index.js'; /** diff --git a/src/views/portal/article/Detail.vue b/src/views/portal/article/Detail.vue index 820115d0..4336c2e3 100644 --- a/src/views/portal/article/Detail.vue +++ b/src/views/portal/article/Detail.vue @@ -75,7 +75,10 @@ - +
+ 资源位 + +
@@ -117,6 +120,7 @@ import editItems from '@/components/Article/editItems.vue'; import "quill/dist/quill.core.css"; import "quill/dist/quill.snow.css"; import "quill/dist/quill.bubble.css"; +import apiPlace from "@/api/modules/place.js" export default { components: { portalHeader, portalFooter,interactBar,comments,timeShow,author,editItems,portalFloatTools}, computed: { @@ -124,6 +128,8 @@ export default { }, data() { return { + resonimg:{}, + fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL, noData:true, shareInfo:{ name:'', @@ -160,11 +166,22 @@ export default { "scroll", this.handleScroll ); + this.couresreso(); }, beforeDestroy(){ window.removeEventListener("scroll",this.handleScroll); }, methods: { + couresreso(){ + let key = 'article'; + apiPlace.detail(key).then(res=>{ + console.log(res) + let lmj = JSON.parse(res.result.content) + // console.log(lmj) + this.resonimg = lmj[0] + console.log(this.resonimg.image) + }) + }, handleScroll() { let el_anking = document.querySelector('#articleAnking'); //console.log(el_anking.clientWidth,'clientWidth'); @@ -241,7 +258,13 @@ export default {