diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js index d988ec76e0c0f8b155e78fa549741bfd6ba09c94..d397893d49a00034d15da4624f3e82afe59793f6 100644 --- a/src/assets/iconfont/iconfont.js +++ b/src/assets/iconfont/iconfont.js @@ -14,6 +14,12 @@ '' + '</symbol>' + '' + + '<symbol id="icon-quanxian" viewBox="0 0 1024 1024">' + + '' + + '<path d="M818.246893 412.326906l-45.988404 0 0-70.991868c0-152.307871-123.463939-275.778974-275.778974-275.778974s-275.78102 123.471103-275.78102 275.778974l0 70.991868-45.987381 0c-25.379017 0-45.988404 20.566408-45.988404 45.987381l0 455.407074c0 25.428136 20.560268 45.988404 45.988404 45.988404l643.535779 0c25.37697 0 45.988404-20.560268 45.988404-45.988404L864.235296 458.314287C864.190271 432.893314 843.623863 412.326906 818.246893 412.326906L818.246893 412.326906zM680.331823 412.326906 312.62516 412.326906l0-70.991868c0-101.55393 82.344426-183.853331 183.854355-183.853331 101.509928 0 183.853331 82.343403 183.853331 183.853331L680.332846 412.326906 680.331823 412.326906zM680.331823 412.326906" ></path>' + + '' + + '</symbol>' + + '' + '<symbol id="icon-zonghe" viewBox="0 0 1024 1024">' + '' + '<path d="M770.56 460.8l250.88 0C998.4 220.16 803.84 25.6 563.2 2.56l0 250.88C668.16 273.92 750.08 355.84 770.56 460.8L770.56 460.8zM770.56 460.8" ></path>' + diff --git a/src/components/Tinymce/components/editorImage.vue b/src/components/Tinymce/components/editorImage.vue index f9eef65464ea3c4c1bce3791da3987c87494729d..a42257465deac4bc51a36cc0f9cd26fab02507cf 100644 --- a/src/components/Tinymce/components/editorImage.vue +++ b/src/components/Tinymce/components/editorImage.vue @@ -5,14 +5,14 @@ <el-dialog v-model="dialogVisible"> <el-upload class="editor-slide-upload" - action="https://upload.qbox.me" + action="https://httpbin.org/post" :data="dataObj" :multiple="true" :file-list="fileList" :show-file-list="true" list-type="picture-card" :on-remove="handleRemove" - :before-upload="beforeUpload"> + :on-success="handleImageScucess"> <el-button size="small" type="primary">ç‚¹å‡»ä¸Šä¼ </el-button> </el-upload> <el-button @click="dialogVisible = false">å– æ¶ˆ</el-button> @@ -56,6 +56,9 @@ } } }, + handleImageScucess(file) { + this.list.push({ url: file.files.file }); + }, beforeUpload() { const _self = this; return new Promise((resolve, reject) => { diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue index 7bacbde1ada95d7fb24ffd78f7e3061140a8111e..70cf4d18f7b7e5a439d62666098c6f7e0d85ed59 100644 --- a/src/components/Tinymce/index.vue +++ b/src/components/Tinymce/index.vue @@ -100,47 +100,38 @@ this.$emit('input', editor.getContent({ format: 'raw' })); }); }, - images_dataimg_filter(img) { - setTimeout(() => { - const $image = $(img); - $image.removeAttr('width'); - $image.removeAttr('height'); - if ($image[0].height && $image[0].width) { - $image.attr('data-wscntype', 'image'); - $image.attr('data-wscnh', $image[0].height); - $image.attr('data-wscnw', $image[0].width); - $image.addClass('wscnph'); - } - }, 0); - return img - }, - images_upload_handler(blobInfo, success, failure, progress) { - progress(0); - const token = _this.$store.getters.token; - getToken(token).then(response => { - const url = response.data.qiniu_url; - const formData = new FormData(); - formData.append('token', response.data.qiniu_token); - formData.append('key', response.data.qiniu_key); - formData.append('file', blobInfo.blob(), url); - upload(formData).then(() => { - success(url); - progress(100); - // setTimeout(() => { - // const doc = tinymce.activeEditor.getDoc(); - // const $$ = tinymce.dom.DomQuery; - // const $image = $$(doc).find('img[src="' + url + '"]') - // $image.addClass('wscnph'); - // $image.attr('data-wscntype', 'image'); - // $image.attr('data-wscnh', $image[0].height || 640); - // $image.attr('data-wscnw', $image[0].width || 640); - // }, 0); - }) - }).catch(err => { - failure('出现未知问题,刷新页é¢ï¼Œæˆ–者è”系程åºå‘˜') - console.log(err); - }); - }, + // images_dataimg_filter(img) { + // setTimeout(() => { + // const $image = $(img); + // $image.removeAttr('width'); + // $image.removeAttr('height'); + // if ($image[0].height && $image[0].width) { + // $image.attr('data-wscntype', 'image'); + // $image.attr('data-wscnh', $image[0].height); + // $image.attr('data-wscnw', $image[0].width); + // $image.addClass('wscnph'); + // } + // }, 0); + // return img + // }, + // images_upload_handler(blobInfo, success, failure, progress) { + // progress(0); + // const token = _this.$store.getters.token; + // getToken(token).then(response => { + // const url = response.data.qiniu_url; + // const formData = new FormData(); + // formData.append('token', response.data.qiniu_token); + // formData.append('key', response.data.qiniu_key); + // formData.append('file', blobInfo.blob(), url); + // upload(formData).then(() => { + // success(url); + // progress(100); + // }) + // }).catch(err => { + // failure('出现未知问题,刷新页é¢ï¼Œæˆ–者è”系程åºå‘˜') + // console.log(err); + // }); + // }, setup(editor) { editor.addButton('h2', { title: 'å°æ ‡é¢˜', // tooltip text seen on mouseover diff --git a/src/components/Upload/singleImage.vue b/src/components/Upload/singleImage.vue index 0169b4f2a03c6c5e3a48c8ec868a2ced5fced759..f4a0a54616769676eb4ce20896507447511eb838 100644 --- a/src/components/Upload/singleImage.vue +++ b/src/components/Upload/singleImage.vue @@ -6,8 +6,8 @@ drag :multiple="false" :show-file-list="false" - action="https://upload.qbox.me" - :before-upload="beforeUpload" + action="https://httpbin.org/post" + :on-success="handleImageScucess"> <i class="el-icon-upload"></i> <div class="el-upload__text">将文件拖到æ¤å¤„,或<em>ç‚¹å‡»ä¸Šä¼ </em></div> diff --git a/src/components/Upload/singleImage2.vue b/src/components/Upload/singleImage2.vue index 3d3e11beb94ed0607043cb47b44b5eae1776cd56..32b7dda32ecb0f00798dde859238c8b47189cfb4 100644 --- a/src/components/Upload/singleImage2.vue +++ b/src/components/Upload/singleImage2.vue @@ -6,8 +6,8 @@ drag :multiple="false" :show-file-list="false" - action="https://upload.qbox.me" - :before-upload="beforeUpload" + action="https://httpbin.org/post" + :on-success="handleImageScucess"> <i class="el-icon-upload"></i> <div class="el-upload__text">Drag或<em>ç‚¹å‡»ä¸Šä¼ </em></div> diff --git a/src/components/Upload/singleImage3.vue b/src/components/Upload/singleImage3.vue index 7404accfb3a85c1705e13a6084071a9292a5f94d..2a01d0e1a6693631f1d140b51682f1cd9a488d2f 100644 --- a/src/components/Upload/singleImage3.vue +++ b/src/components/Upload/singleImage3.vue @@ -6,8 +6,8 @@ drag :multiple="false" :show-file-list="false" - action="https://upload.qbox.me" - :before-upload="beforeUpload" + action="https://httpbin.org/post" + :on-success="handleImageScucess"> <i class="el-icon-upload"></i> <div class="el-upload__text">将文件拖到æ¤å¤„,或<em>ç‚¹å‡»ä¸Šä¼ </em></div> @@ -15,7 +15,7 @@ <div class="image-preview image-app-preview"> <div class="image-preview-wrapper" v-show="imageUrl.length>1"> <div class='app-fake-conver'>  å…¨çƒ ä»˜è´¹èŠ‚ç›®å• æœ€çƒ ç»æµŽ</div> - <img :src="imageUrl+'?imageView2/1/h/180/w/320/q/100'"> + <img :src="imageUrl"> <div class="image-preview-action"> <i @click="rmImage" class="el-icon-delete"></i> </div> @@ -23,7 +23,7 @@ </div> <div class="image-preview"> <div class="image-preview-wrapper" v-show="imageUrl.length>1"> - <img :src="imageUrl+'?imageView2/1/w/200/h/200'"> + <img :src="imageUrl"> <div class="image-preview-action"> <i @click="rmImage" class="el-icon-delete"></i> </div> @@ -57,8 +57,8 @@ emitInput(val) { this.$emit('input', val); }, - handleImageScucess() { - this.emitInput(this.tempUrl) + handleImageScucess(file) { + this.emitInput(file.files.file) }, beforeUpload() { const _self = this; diff --git a/src/main.js b/src/main.js index 569706faa6c377a1c6fcdd67db9a7ac58b5c3616..396a592222537032b88cc4bf1095020eee5060e8 100644 --- a/src/main.js +++ b/src/main.js @@ -36,7 +36,6 @@ Object.keys(filters).forEach(key => { Vue.filter(key, filters[key]) }); - function hasPermission(roles, permissionRoles) { if (roles.indexOf('admin') >= 0) return true; return roles.some(role => permissionRoles.indexOf(role) >= 0) diff --git a/src/router/index.js b/src/router/index.js index 305d12de52ce6128f89ca86cf4d7d05e517acefa..6c8e854084d2d49457537276c5452abda1ea1d7a 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -54,6 +54,8 @@ const Table = resolve => require(['../views/example/table'], resolve); const Form1 = resolve => require(['../views/example/form1'], resolve); const Form2 = resolve => require(['../views/example/form2'], resolve); +/* permission */ +const Permission = resolve => require(['../views/permission/index'], resolve); /* admin*/ // const AdminCreateUser = resolve => require(['../views/admin/createUser'], resolve); @@ -86,6 +88,19 @@ export default new Router({ { path: 'dashboard', component: dashboard } ] }, + + { + path: '/permission', + component: Layout, + redirect: '/permission/index', + name: 'æƒé™æµ‹è¯•', + icon: 'quanxian', + meta: { role: ['admin'] }, + noDropdown: true, + children: [ + { path: 'index', component: Permission, name: 'æƒé™æµ‹è¯•é¡µ', meta: { role: ['admin'] } } + ] + }, { path: '/components', component: Layout, diff --git a/src/views/permission/index.vue b/src/views/permission/index.vue new file mode 100644 index 0000000000000000000000000000000000000000..a33540bb79ae12dd421a3484b6fac70d790e0548 --- /dev/null +++ b/src/views/permission/index.vue @@ -0,0 +1,31 @@ +<template> + <div class="app-container"> + <div style='margin-bottom:15px;'>ä½ çš„æƒé™ï¼š {{roles}}</div> + 切æ¢æƒé™ï¼š + <el-radio-group v-model="role"> + <el-radio-button label="editor"></el-radio-button> + </el-radio-group> + </div> +</template> + +<script> + import { mapGetters } from 'vuex'; + export default{ + data() { + return { + role: '' + } + }, + computed: { + ...mapGetters([ + 'roles' + ]) + }, + watch: { + role(val) { + this.$store.commit('SET_ROLES', [val]); + window.location.reload() + } + } + } +</script>