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/package.json b/package.json index 7bb17a2..bc4f7bd 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "vue-image-crop-upload": "^3.0.3", "vue-material": "^1.0.0-beta-15", "vue-router": "3.0.2", + "vue-select-image": "^1.9.0", "vue-splitpane": "1.0.4", "vue2-editor": "^2.10.3", "vuedraggable": "2.20.0", 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/main.js b/src/main.js index 7cf3beb..bca79f0 100644 --- a/src/main.js +++ b/src/main.js @@ -6,6 +6,11 @@ import "normalize.css/normalize.css"; import Element from "element-ui"; +// 图片选择器 +import VueSelectImage from 'vue-select-image' +import "vue-select-image/dist/vue-select-image.css"; +Vue.use(VueSelectImage) + // 数据字典 import dict from "./components/Dict"; import Editor from "@/components/Editor"; 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/add_shop.vue b/src/views/product/add_shop.vue index fd23079..1f65e97 100644 --- a/src/views/product/add_shop.vue +++ b/src/views/product/add_shop.vue @@ -47,6 +47,7 @@
注:第一张图为商品封面图,图片尺寸为750×750
+
@@ -360,6 +361,8 @@ + + @@ -374,6 +377,7 @@ import { tbProductPut } from "@/api/shop"; import addUnit from "./components/addUnit"; +import addImg from './components/addImages.vue' import addClassify from "./components/addClassify"; import shopList from "@/components/shopList"; import groupTypeList from "@/components/groupTypeList"; @@ -390,7 +394,7 @@ export default { uploadImg, shopList, groupTypeList, - Editor + Editor, addImg }, data() { const validatordateUsed = (rule, value, callback) => { @@ -547,6 +551,17 @@ export default { } }, methods: { + successEvent(d) { + d.forEach(item => { + item.uid = item.id + item.url = item.src + this.form.images.push(item.src); + }) + this.$refs.uploadImg.fileList.push(...d) + // this.form.images.push(res[0]); + // console.log(this.$refs.uploadImg.fileList, '调试111111') + // console.log(this.$refs.uploadImg.files, '调试222') + }, priceFormat(item, key) { const messageheight = 48; const offset = window.innerHeight / 2 - (messageheight / 2) - 100 diff --git a/src/views/product/components/addImages.vue b/src/views/product/components/addImages.vue new file mode 100644 index 0000000..cfc7e0a --- /dev/null +++ b/src/views/product/components/addImages.vue @@ -0,0 +1,84 @@ + + + \ No newline at end of file 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' + } } } },