diff --git a/.env.development b/.env.development index e800df6..72caba0 100644 --- a/.env.development +++ b/.env.development @@ -2,4 +2,4 @@ ENV = 'development' # base api -VUE_APP_BASE_API = '' +VUE_APP_BASE_API = 'http://yybtest.ali251.langye.net/' diff --git a/src/api/product/index.js b/src/api/product/index.js new file mode 100644 index 0000000..9a0687d --- /dev/null +++ b/src/api/product/index.js @@ -0,0 +1,49 @@ +import request from '@/utils/request' + +export function index(params){ + return request({ + method:'get', + url:'/api/admin/product/index', + params + }) +} + +export function show(params){ + return request({ + method:'get', + url:'/api/admin/product/show', + params + }) +} + +export function store(data){ + return request({ + method:'post', + url:'/api/admin/product/store', + data + }) +} + +export function save(data){ + return request({ + method:'post', + url:'/api/admin/product/save', + data + }) +} + +export function destroy(data){ + return request({ + method:'post', + url:'/api/admin/product/destroy', + data + }) +} + +export function toggleActive(data){ + return request({ + method:'post', + url:'/api/admin/product/toggleActive', + data + }) +} diff --git a/src/components/Tinymce/components/EditorImage.vue b/src/components/Tinymce/components/EditorImage.vue new file mode 100644 index 0000000..07d48e6 --- /dev/null +++ b/src/components/Tinymce/components/EditorImage.vue @@ -0,0 +1,111 @@ + + + + + diff --git a/src/components/Tinymce/dynamicLoadScript.js b/src/components/Tinymce/dynamicLoadScript.js new file mode 100644 index 0000000..185f58d --- /dev/null +++ b/src/components/Tinymce/dynamicLoadScript.js @@ -0,0 +1,59 @@ +let callbacks = [] + +function loadedTinymce() { + // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2144 + // check is successfully downloaded script + return window.tinymce +} + +const dynamicLoadScript = (src, callback) => { + const existingScript = document.getElementById(src) + const cb = callback || function() {} + + if (!existingScript) { + const script = document.createElement('script') + script.src = src // src url for the third-party library being loaded. + script.id = src + document.body.appendChild(script) + callbacks.push(cb) + const onEnd = 'onload' in script ? stdOnEnd : ieOnEnd + onEnd(script) + } + + if (existingScript && cb) { + if (loadedTinymce()) { + cb(null, existingScript) + } else { + callbacks.push(cb) + } + } + + function stdOnEnd(script) { + script.onload = function() { + // this.onload = null here is necessary + // because even IE9 works not like others + this.onerror = this.onload = null + for (const cb of callbacks) { + cb(null, script) + } + callbacks = null + } + script.onerror = function() { + this.onerror = this.onload = null + cb(new Error('Failed to load ' + src), script) + } + } + + function ieOnEnd(script) { + script.onreadystatechange = function() { + if (this.readyState !== 'complete' && this.readyState !== 'loaded') return + this.onreadystatechange = null + for (const cb of callbacks) { + cb(null, script) // there is no way to catch loading errors in IE8 + } + callbacks = null + } + } +} + +export default dynamicLoadScript diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue new file mode 100644 index 0000000..9a73cbb --- /dev/null +++ b/src/components/Tinymce/index.vue @@ -0,0 +1,262 @@ +