diff --git a/package-lock.json b/package-lock.json index 96536456..f47ffaf2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3781,9 +3781,9 @@ } }, "cropperjs": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.3.5.tgz", - "integrity": "sha512-tL3iQJ0rqGDp5Tdb83NVaudV7wKFu2IcLQVF48uty3zfz0vhLS9ifZHbR16L1DRVKtPvAZn1NvTRNuxliTdi5Q==" + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.2.2.tgz", + "integrity": "sha512-E+QGUV9zqtV5t7Q/zQD/9vMc2eTJn5hm4MpmHAf12U9LXT815Hy2DSmj0B4a3Gacm7/OJ1MUDTomKGXJBP0osw==" }, "cross-spawn": { "version": "5.1.0", @@ -14279,11 +14279,6 @@ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" }, - "tinymce": { - "version": "4.7.13", - "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-4.7.13.tgz", - "integrity": "sha512-6QbNYGV4VExH+p7+o/5km6jOnVSD5mO7aw0s+eKByKnpyG8gZfajxXPhwBM57r7SIravrCI6LFj8DARNe31qPw==" - }, "tmp": { "version": "0.0.31", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz", diff --git a/package.json b/package.json index a8413701..4fc4147c 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "clipboard": "^2.0.0", "codemirror": "^5.38.0", "countup": "^1.8.2", - "cropperjs": "^1.3.5", + "cropperjs": "^1.2.2", "echarts": "^4.0.4", "html2canvas": "^1.0.0-alpha.12", "iview": "^2.14.1", @@ -23,7 +23,6 @@ "js-cookie": "^2.2.0", "simplemde": "^1.11.2", "sortablejs": "^1.7.0", - "tinymce": "^4.7.11", "vue": "^2.5.10", "vue-i18n": "^7.8.0", "vue-router": "^3.0.1", diff --git a/src/assets/images/talkingdata.png b/src/assets/images/talkingdata.png new file mode 100644 index 00000000..87ad50e8 Binary files /dev/null and b/src/assets/images/talkingdata.png differ diff --git a/src/components/img-cropper/img-cropper.vue b/src/components/img-cropper/img-cropper.vue new file mode 100644 index 00000000..4bc95245 --- /dev/null +++ b/src/components/img-cropper/img-cropper.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/components/img-cropper/index.js b/src/components/img-cropper/index.js new file mode 100644 index 00000000..b88453f8 --- /dev/null +++ b/src/components/img-cropper/index.js @@ -0,0 +1,2 @@ +import ImgCropper from './img-cropper' +export default ImgCropper diff --git a/src/components/img-cropper/index.less b/src/components/img-cropper/index.less new file mode 100644 index 00000000..2e96e347 --- /dev/null +++ b/src/components/img-cropper/index.less @@ -0,0 +1,9 @@ +.cropper-wrapper{ + box-sizing: border-box; + border: 1px solid #c3c3c3; + width: 100%; + height: 100%; + img{ + max-height: 100%; + } +} diff --git a/src/router/routers.js b/src/router/routers.js index 765df7f0..55e3c894 100644 --- a/src/router/routers.js +++ b/src/router/routers.js @@ -86,6 +86,15 @@ export default [ }, component: () => import('@/view/components/editor/editor.vue') }, + { + path: 'img_cropper_page', + name: 'img_cropper_page', + meta: { + icon: 'crop', + title: '图片编辑器' + }, + component: () => import('@/view/components/img-cropper/img-cropper.vue') + }, { path: 'icons_page', name: 'icons_page', diff --git a/src/view/components/img-cropper/img-cropper.vue b/src/view/components/img-cropper/img-cropper.vue new file mode 100644 index 00000000..725484e9 --- /dev/null +++ b/src/view/components/img-cropper/img-cropper.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/tests/e2e/plugins/index.js b/tests/e2e/plugins/index.js index 8c44736b..cfefc78b 100644 --- a/tests/e2e/plugins/index.js +++ b/tests/e2e/plugins/index.js @@ -5,5 +5,5 @@ module.exports = (on, config) => Object.assign({}, config, { integrationFolder: 'tests/e2e/specs', screenshotsFolder: 'tests/e2e/screenshots', videosFolder: 'tests/e2e/videos', - supportFile: 'tests/e2e/support/index.js', -}); + supportFile: 'tests/e2e/support/index.js' +}) diff --git a/tests/e2e/specs/test.js b/tests/e2e/specs/test.js index e6c94718..41ad94a0 100644 --- a/tests/e2e/specs/test.js +++ b/tests/e2e/specs/test.js @@ -2,7 +2,7 @@ describe('My First Test', () => { it('Visits the app root url', () => { - cy.visit('/'); - cy.contains('h1', 'Welcome to Your Vue.js App'); - }); -}); + cy.visit('/') + cy.contains('h1', 'Welcome to Your Vue.js App') + }) +}) diff --git a/tests/e2e/support/index.js b/tests/e2e/support/index.js index 37a498fb..d68db96d 100644 --- a/tests/e2e/support/index.js +++ b/tests/e2e/support/index.js @@ -14,7 +14,7 @@ // *********************************************************** // Import commands.js using ES2015 syntax: -import './commands'; +import './commands' // Alternatively you can use CommonJS syntax: // require('./commands') diff --git a/tests/unit/HelloWorld.spec.js b/tests/unit/HelloWorld.spec.js index 7527955b..bb668bf4 100644 --- a/tests/unit/HelloWorld.spec.js +++ b/tests/unit/HelloWorld.spec.js @@ -1,13 +1,13 @@ -import { expect } from 'chai'; -import { shallow } from '@vue/test-utils'; -import HelloWorld from '@/components/HelloWorld.vue'; +import { expect } from 'chai' +import { shallow } from '@vue/test-utils' +import HelloWorld from '@/components/HelloWorld.vue' describe('HelloWorld.vue', () => { it('renders props.msg when passed', () => { - const msg = 'new message'; + const msg = 'new message' const wrapper = shallow(HelloWorld, { - propsData: { msg }, - }); - expect(wrapper.text()).to.include(msg); - }); -}); + propsData: { msg } + }) + expect(wrapper.text()).to.include(msg) + }) +})