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)
+ })
+})