diff --git a/package-lock.json b/package-lock.json index 7c47bc13b14381f4f68f1be7fe9bae84a24f18b1..f9f361c3dff67cd451191a3b064a259f12311bc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2905,6 +2905,19 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, + "codemirror": { + "version": "5.52.2", + "resolved": "https://registry.npm.taobao.org/codemirror/download/codemirror-5.52.2.tgz?cache=0&sync_timestamp=1584691811240&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcodemirror%2Fdownload%2Fcodemirror-5.52.2.tgz", + "integrity": "sha1-wp4fcXn4XrDdF8BYb6gQ5IOP9YQ=" + }, + "codemirror-spell-checker": { + "version": "1.1.2", + "resolved": "https://registry.npm.taobao.org/codemirror-spell-checker/download/codemirror-spell-checker-1.1.2.tgz", + "integrity": "sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4=", + "requires": { + "typo-js": "*" + } + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", @@ -2970,8 +2983,7 @@ "commander": { "version": "2.20.3", "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.20.3.tgz?cache=0&sync_timestamp=1584148318639&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" }, "commondir": { "version": "1.0.1", @@ -3380,6 +3392,11 @@ "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", "dev": true }, + "cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npm.taobao.org/cssfilter/download/cssfilter-0.0.10.tgz", + "integrity": "sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=" + }, "cssnano": { "version": "4.1.10", "resolved": "https://registry.npm.taobao.org/cssnano/download/cssnano-4.1.10.tgz", @@ -5464,8 +5481,12 @@ "highlight.js": { "version": "9.18.1", "resolved": "https://registry.npm.taobao.org/highlight.js/download/highlight.js-9.18.1.tgz", - "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=", - "dev": true + "integrity": "sha1-7SGqAB/mJSuxCj121HVzxlOf4Tw=" + }, + "highlight.js-async-webpack": { + "version": "1.0.4", + "resolved": "https://registry.npm.taobao.org/highlight.js-async-webpack/download/highlight.js-async-webpack-1.0.4.tgz", + "integrity": "sha1-wGtnv5nwSQRdYrdW5YVbCRLsYWw=" }, "hmac-drbg": { "version": "1.0.1", @@ -6235,6 +6256,11 @@ "resolved": "https://registry.npm.taobao.org/js-calendar/download/js-calendar-1.2.3.tgz", "integrity": "sha1-pYOwZEtOaVujlPNE0QPbzHp6fT4=" }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npm.taobao.org/js-cookie/download/js-cookie-2.2.1.tgz?cache=0&sync_timestamp=1583935354793&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-cookie%2Fdownload%2Fjs-cookie-2.2.1.tgz", + "integrity": "sha1-aeEG3F1YBolFYpAqpbrsN0Tpsrg=" + }, "js-message": { "version": "1.0.5", "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.5.tgz", @@ -6575,6 +6601,21 @@ "object-visit": "^1.0.0" } }, + "marked": { + "version": "0.8.2", + "resolved": "https://registry.npm.taobao.org/marked/download/marked-0.8.2.tgz", + "integrity": "sha1-T6rSjSbt41Gnoaql/sZ5Fchp41U=" + }, + "mavon-editor": { + "version": "2.8.3", + "resolved": "https://registry.npm.taobao.org/mavon-editor/download/mavon-editor-2.8.3.tgz", + "integrity": "sha1-zrr6jCbJRAFCjRX3ob08lv9lMC4=", + "requires": { + "highlight.js": "^9.11.0", + "highlight.js-async-webpack": "^1.0.4", + "xss": "^1.0.6" + } + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", @@ -9074,6 +9115,16 @@ } } }, + "simplemde": { + "version": "1.11.2", + "resolved": "https://registry.npm.taobao.org/simplemde/download/simplemde-1.11.2.tgz", + "integrity": "sha1-ojo12XjSxA7wfewAjJLwcNjggOM=", + "requires": { + "codemirror": "*", + "codemirror-spell-checker": "*", + "marked": "*" + } + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", @@ -10013,6 +10064,11 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typo-js": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/typo-js/download/typo-js-1.1.0.tgz", + "integrity": "sha1-pan1kry0U2Zr9wyWlNpYcF0CXtg=" + }, "uglify-js": { "version": "3.4.10", "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1585357516255&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", @@ -10896,6 +10952,15 @@ "async-limiter": "~1.0.0" } }, + "xss": { + "version": "1.0.6", + "resolved": "https://registry.npm.taobao.org/xss/download/xss-1.0.6.tgz", + "integrity": "sha1-6vEen8R2464omUShAJ793YoSS1E=", + "requires": { + "commander": "^2.9.0", + "cssfilter": "0.0.10" + } + }, "xtend": { "version": "4.0.2", "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", diff --git a/package.json b/package.json index 2f3509f98f5edca20c52ef15a53eef844607f83f..b4f2974b2f913623d0971201dc1b1a7ce7df2320 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,12 @@ "build": "vue-cli-service build" }, "dependencies": { + "axios": "^0.19.2", "core-js": "^3.6.4", + "js-cookie": "^2.2.1", + "mavon-editor": "^2.8.3", + "simplemde": "^1.11.2", + "view-design": "^4.1.3", "vue": "^2.6.11", "vue-router": "^3.1.6", "vuex": "^3.1.3" diff --git a/src/apis/login.js b/src/apis/login.js index 73e3cd8b89288e1924171bd2afd4b11ece024104..c69c02b9748c027ee03e3f8862bcfd8a551ecce6 100644 --- a/src/apis/login.js +++ b/src/apis/login.js @@ -1,5 +1,6 @@ +import Cookie from 'js-cookie'; //登录 -export const login = vm =>{ +export const login = (vm, name) =>{ vm.$axios.request({ url:'/login/signIn', data:{ @@ -14,7 +15,11 @@ export const login = vm =>{ vm.isShowlogDialog = false; vm.isLogedIn = false; vm.$Message.success('登录成功'); - window.console.log(res.data.jwt); + Cookie.set({ + name: 'userName', + value: vm.formData.user + }); + vm.$refs[name].resetFields(); localStorage.setItem('jwt',res.data.jwt); } }).catch(err=>{ @@ -24,7 +29,7 @@ export const login = vm =>{ //注册 -export const addUsers = vm =>{ +export const addUsers = (vm, name) =>{ vm.$axios.request({ url:'/login/addUser', data:{ @@ -35,11 +40,13 @@ export const addUsers = vm =>{ }).then(res=>{ if(res.data.result){ vm.$Message.success('新增用户成功'); + vm.$refs[name].resetFields(); + }else{ vm.$Message.warning(res.data.message); } }).catch(err=>{ - window.console.log(err); + console.log(err); }) } diff --git a/src/main.js b/src/main.js index b9d66c11fdad280cd53570450241c613a678db4a..fb16470030bb7c6e03351bb888d96373cd77029e 100644 --- a/src/main.js +++ b/src/main.js @@ -3,12 +3,16 @@ import App from './App.vue' import router from './router' import store from './store' import ViewUI from 'view-design'; +import mavonEditor from 'mavon-editor' +import 'mavon-editor/dist/css/index.css' +// use import 'view-design/dist/styles/iview.css'; import axios from 'axios'; import {appRouters} from '@/router/router' Vue.use(ViewUI); +Vue.use(mavonEditor) Vue.prototype.$axios = axios.create({ baseURL:"http://localhost:30000" diff --git a/src/router/router.js b/src/router/router.js index 4e0ca1c185a1c95cc6b6ad0fa28c46ccd785950f..ad298eee51e93ff8a41bfdaf8469235918f3bb4d 100644 --- a/src/router/router.js +++ b/src/router/router.js @@ -27,6 +27,20 @@ export const appRouters = [ component: aboutWriter => import('@/views/about-writer/aboutWriter') } ] + }, + { + path:'/markdown-editor', + name:'markdownEditor', + title:'富文本编辑', + component:Home, + children:[ + { + path:'index', + name:'markdowEditorIndex', + component: markdownEidtor => import('@/views/markdown-editor/markdown-editor') + } + ] + } ] diff --git a/src/styles/common.less b/src/styles/common.less new file mode 100644 index 0000000000000000000000000000000000000000..575b580545a9bdf2f11cc328f60d07babaf48b71 --- /dev/null +++ b/src/styles/common.less @@ -0,0 +1,64 @@ +.margin-top-8{ + margin-top: 8px; +} +.margin-top-10{ + margin-top: 10px; +} +.margin-top-20{ + margin-top: 20px; +} +.margin-left-10{ + margin-left: 10px; +} +.margin-bottom-10{ + margin-bottom: 10px; +} +.margin-bottom-100{ + margin-bottom: 100px; +} +.margin-right-10{ + margin-right: 10px; +} +.padding-left-6{ + padding-left: 6px; +} +.padding-left-8{ + padding-left: 5px; +} +.padding-left-10{ + padding-left: 10px; +} +.padding-left-20{ + padding-left: 20px; +} +.height-100{ + height: 100%; +} +.height-120px{ + height: 100px; +} +.height-200px{ + height: 200px; +} +.height-492px{ + height: 492px; +} +.height-460px{ + height: 460px; +} +.line-gray{ + height: 0; + border-bottom: 2px solid #dcdcdc; +} +.notwrap{ + word-break:keep-all; + white-space:nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.padding-left-5{ + padding-left: 10px; +} +[v-cloak]{ + display: none; +} \ No newline at end of file diff --git a/src/styles/fonts/ionicons.eot b/src/styles/fonts/ionicons.eot new file mode 100644 index 0000000000000000000000000000000000000000..92a3f20a39267ae7f45144f412a995a663730360 Binary files /dev/null and b/src/styles/fonts/ionicons.eot differ diff --git a/src/styles/fonts/ionicons.svg b/src/styles/fonts/ionicons.svg new file mode 100644 index 0000000000000000000000000000000000000000..49fc8f367404798ee10aac4f1f2a5b38498fe625 --- /dev/null +++ b/src/styles/fonts/ionicons.svg @@ -0,0 +1,2230 @@ + + + + + +Created by FontForge 20120731 at Thu Dec 4 09:51:48 2014 + By Adam Bradley +Created by Adam Bradley with FontForge 2.0 (http://fontforge.sf.net) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/styles/fonts/ionicons.ttf b/src/styles/fonts/ionicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c4e4632486d863337c1c73478ddb3c20726c55a0 Binary files /dev/null and b/src/styles/fonts/ionicons.ttf differ diff --git a/src/styles/fonts/ionicons.woff b/src/styles/fonts/ionicons.woff new file mode 100644 index 0000000000000000000000000000000000000000..5f3a14e0a5ca6d20cc4fac708979e807b0d51bc3 Binary files /dev/null and b/src/styles/fonts/ionicons.woff differ diff --git a/src/styles/loading.less b/src/styles/loading.less new file mode 100644 index 0000000000000000000000000000000000000000..b4aad5b6bacd2b28d179adb5fbd7aab9e4c89efa --- /dev/null +++ b/src/styles/loading.less @@ -0,0 +1,8 @@ +.demo-spin-icon-load{ + animation: ani-demo-spin 1s linear infinite; +} +@keyframes ani-demo-spin { + from { transform: rotate(0deg);} + 50% { transform: rotate(180deg);} + to { transform: rotate(360deg);} +} \ No newline at end of file diff --git a/src/styles/login_bg.jpg b/src/styles/login_bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b6b48fd732433b7a35831606a20927704d73b2e3 Binary files /dev/null and b/src/styles/login_bg.jpg differ diff --git a/src/views/Home.vue b/src/views/Home.vue index 27c48deeeb6178397a5c89a7f35a0402cbe605ce..9c3777009cbc4a3ee05d98f8ceaa6e768524593b 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -16,7 +16,7 @@
- BeMount + {{userName}} @@ -53,6 +53,7 @@ diff --git a/src/views/markdown-editor/markdown-editor.less b/src/views/markdown-editor/markdown-editor.less new file mode 100644 index 0000000000000000000000000000000000000000..152939044c2d7784f8c06712292d0404de49e149 --- /dev/null +++ b/src/views/markdown-editor/markdown-editor.less @@ -0,0 +1,3 @@ +.margin-top-20{ + margin-top:20px; +} \ No newline at end of file diff --git a/src/views/markdown-editor/markdown-editor.vue b/src/views/markdown-editor/markdown-editor.vue new file mode 100644 index 0000000000000000000000000000000000000000..7d56b510aa738341c7557b698e30db910527d155 --- /dev/null +++ b/src/views/markdown-editor/markdown-editor.vue @@ -0,0 +1,26 @@ + + + + + +