From 9a75cb474e2ed8caf5bab5f29a8ad509704a5fac Mon Sep 17 00:00:00 2001 From: duan <1004387497@qq.com> Date: Fri, 2 Aug 2024 15:04:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=83=AD=E9=97=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 + .env.production | 4 +- src/api/imagesPhp.js | 17 +++++++ src/api/shop.js | 9 +--- src/utils/requestPhp.js | 93 +++++++++++++++++++++++++++++++++++++ src/views/product/index.vue | 3 +- vue.config.js | 7 +++ 7 files changed, 125 insertions(+), 10 deletions(-) create mode 100644 src/api/imagesPhp.js create mode 100644 src/utils/requestPhp.js diff --git a/.env.development b/.env.development index 6d99809..b00addc 100644 --- a/.env.development +++ b/.env.development @@ -13,4 +13,6 @@ VUE_APP_BASE_API = 'https://admintestpapi.sxczgkj.cn' # VUE_APP_BASE_API = 'http://192.168.2.147:8000/' VUE_APP_WS_API = 'ws://192.168.2.128:8000' +VUE_APP_PHP_API = 'https://kysh.sxczgkj.cn' + # 是否启用 babel-plugin-dynamic-import-node插 \ No newline at end of file diff --git a/.env.production b/.env.production index 8c2ed2b..04d04a8 100644 --- a/.env.production +++ b/.env.production @@ -8,4 +8,6 @@ VUE_APP_BASE_API = 'https://admintestpapi.sxczgkj.cn' # VUE_APP_BASE_API = 'https://cashieradmin.sxczgkj.cn' # VUE_APP_BASE_API = 'http://192.168.2.98:8000' # 如果接口是 http 形式, wss 需要改为 ws -VUE_APP_WS_API = 'wss://123.56.110.252 +VUE_APP_WS_API = 'wss://123.56.110.252' + +VUE_APP_PHP_API = 'https://kysh.sxczgkj.cn' diff --git a/src/api/imagesPhp.js b/src/api/imagesPhp.js new file mode 100644 index 0000000..1654117 --- /dev/null +++ b/src/api/imagesPhp.js @@ -0,0 +1,17 @@ +import request from "@/utils/requestPhp"; + +// 查询图库 +export function getcommonCategor(data,params) { + return request({ + url: data + `/channel/file/getcommon-category`, + method: "get",params + }); + } + export function getcommonpicture(data,params) { + return request({ + url: data + "/channel/file/getcommon-picture", + method: "get", + params + }); + } + diff --git a/src/api/shop.js b/src/api/shop.js index ef52b45..d3845c8 100644 --- a/src/api/shop.js +++ b/src/api/shop.js @@ -70,14 +70,7 @@ export function tbShopUnitPost(data) { data }); } -// 查询图库 -export function getcommonCategor(data) { - return request({ - url: `/channel/file/getcommon-category`, - method: "post", - data - }); -} + /** * 更改单位 * @returns diff --git a/src/utils/requestPhp.js b/src/utils/requestPhp.js new file mode 100644 index 0000000..b8970ee --- /dev/null +++ b/src/utils/requestPhp.js @@ -0,0 +1,93 @@ +import axios from 'axios' +import router from '@/router/routers' +import { Notification } from 'element-ui' +import store from '../store' +import { getToken } from '@/utils/auth' +import Config from '@/settings' +import Cookies from 'js-cookie' + +// 创建axios实例 +const service = axios.create({ + baseURL: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_PHP_API : '/php', + // baseURL: process.env.VUE_APP_PHP_API, // api 的 base_url + timeout: Config.timeout // 请求超时时间 +}) + +// request拦截器 +service.interceptors.request.use( + config => { + // if (getToken()) { + // config.headers['Authorization'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + // } + // config.headers['Content-Type'] = 'application/json' + // config.headers['loginName'] = 'admin' + // config.headers['token'] = 'eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyVHlwZSI6Ik1HIiwiZXhwIjoxNjkwMTgwNzE2LCJ1c2VySWQiOiIyNDQiLCJpYXQiOjE2ODg3MDk0ODcsImxvZ2luTmFtZSI6ImFkbWluIn0.lqxxvv2-FcecQngMBorz4MpkB3mIJQDG-IUULQyV-KQ' + // config.headers["userId"] = '244' + return config + }, + error => { + Promise.reject(error) + } +) + +// response 拦截器 +service.interceptors.response.use( + response => { + return response.data + }, + error => { + console.log(error); + // 兼容blob下载出错json提示 + if (error.response.data instanceof Blob && error.response.data.type.toLowerCase().indexOf('json') !== -1) { + const reader = new FileReader() + reader.readAsText(error.response.data, 'utf-8') + reader.onload = function (e) { + const errorMsg = JSON.parse(reader.result).message + Notification.error({ + title: errorMsg, + duration: 5000 + }) + } + } else { + let code = 0 + try { + code = error.response.data.status + } catch (e) { + if (error.toString().indexOf('Error: timeout') !== -1) { + Notification.error({ + title: '网络请求超时', + duration: 5000 + }) + return Promise.reject(error) + } + } + console.log(code) + if (code) { + if (code === 401) { + store.dispatch('LogOut').then(() => { + // 用户登录界面提示 + Cookies.set('point', 401) + location.reload() + }) + } else if (code === 403) { + router.push({ path: '/401' }) + } else { + const errorMsg = error.response.data.message + if (errorMsg !== undefined) { + Notification.error({ + title: errorMsg, + duration: 5000 + }) + } + } + } else { + Notification.error({ + title: '接口请求失败', + duration: 5000 + }) + } + } + return Promise.reject(error) + } +) +export default service diff --git a/src/views/product/index.vue b/src/views/product/index.vue index 35a9037..10e6673 100644 --- a/src/views/product/index.vue +++ b/src/views/product/index.vue @@ -177,7 +177,8 @@ export default { this.tableData.loading = true await tbProductIsHot({ shopId: localStorage.getItem('shopId'), - id: row.id + id: row.id, + isHot:row.isHot }) this.getTableData() } catch (error) { diff --git a/vue.config.js b/vue.config.js index fc44839..d0c1662 100644 --- a/vue.config.js +++ b/vue.config.js @@ -40,6 +40,13 @@ module.exports = { pathRewrite: { '^/auth': 'auth' } + }, + '/php': { + target: process.env.VUE_APP_PHP_API, + changeOrigin: true, + pathRewrite: { + '^/auth': 'auth' + } } } },