From 1861d195f7f3a7364c1099356858c94a6c0741e2 Mon Sep 17 00:00:00 2001
From: 明梦爽 <2972214568@qq.com>
Date: 星期三, 02 三月 2022 18:11:16 +0800
Subject: [PATCH] 所有功能实现
---
src/utils/request.js | 5
src/components/page/News.vue | 11
src/components/page/index.vue | 6
src/api/api.js | 73 ++++--
src/components/Administrator/Edit.vue | 128 ++++++++----
src/components/Administrator/AdEdit.vue | 156 +++++++++++++++
src/main.js | 2
src/components/Home.vue | 2
src/components/page/introduce.vue | 5
src/components/Administrator/EditLunBo.vue | 95 ++++++--
src/components/Administrator/Welcome.vue | 64 ++++++
11 files changed, 433 insertions(+), 114 deletions(-)
diff --git a/src/api/api.js b/src/api/api.js
index c867b16..e01e24d 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -20,69 +20,94 @@
export const getNewsList = data => {
return request({
method: 'POST',
- url:'/news/list',
- params:data,
+ url: '/news/list',
+ params: data,
})
}
//鑾峰彇鍙湁涓�绡囨柊闂�
export const getnew = data => {
return request({
method: 'GET',
- url:`/news/main/${data}`
+ url: `/news/main/${data}`
})
}
//淇敼鏂伴椈
export const update = data => {
return request({
- method:'POST',
- url:'/news/update',
- params:data,
+ method: 'POST',
+ url: '/news/update',
+ params: data,
})
}
//鍒犻櫎鏂伴椈
export const deleteNew = data => {
return request({
- method:'POST',
- url:'/news/delete',
- params:data,
+ method: 'POST',
+ url: '/news/delete',
+ params: data,
})
}
//妯$硦鏌ヨ
export const fuzzy = data => {
return request({
- method:'POST',
- url:'/news/fuzzy',
- params:data,
+ method: 'POST',
+ url: '/news/fuzzy',
+ params: data,
})
}
//娣诲姞鏂伴椈
-export const add = data => {
+export const add = (data, fd) => {
return request({
- method:'POST',
- url:'/news/add',
- params:data
+ method: 'POST',
+ url: '/news/add',
+ params: data,
+ data: fd
})
}
//鐧诲綍
export const login = data => {
return request({
- method:'POST',
- url:'/login',
- params:data
+ method: 'POST',
+ url: '/login',
+ params: data
})
}
//鑾峰彇鏅�氱鐞嗗憳鍒楄〃
export const getmain = () => {
return request({
method: 'GET',
- url:'/admin/list'
+ url: '/admin/list'
})
}
//瓒呯淇敼鏅璐﹀彿瀵嗙爜
export const editAccount = data => {
return request({
- method:'POST',
- url:'/admin/updatePassword',
- params:data
+ method: 'POST',
+ url: '/admin/updatePassword',
+ params: data
})
-}
\ No newline at end of file
+}
+//鍒犻櫎鏅�氱鐞嗗憳
+export const deleteAd = data => {
+ return request({
+ method: 'POST',
+ url: '/admin/delete',
+ params: data
+ })
+}
+//娉ㄥ唽鏅�氱鐞嗗憳
+export const addAd = data => {
+ return request({
+ method: 'POST',
+ url: '/admin/add',
+ params: data
+ })
+}
+//鏂囦欢涓婁紶
+export const fileUpload = fd => {
+ return request({
+ method: 'POST',
+ url: '/uploading',
+ data: fd
+ })
+}
diff --git a/src/components/Administrator/AdEdit.vue b/src/components/Administrator/AdEdit.vue
index 665807a..a87374c 100644
--- a/src/components/Administrator/AdEdit.vue
+++ b/src/components/Administrator/AdEdit.vue
@@ -1,6 +1,7 @@
<template>
<div>
<el-card class="box-card">
+ <el-button type="primary" @click="add()" icon="el-icon-circle-plus" class='add'>娉ㄥ唽鏂扮殑绠$悊鍛樿处鍙�</el-button>
<!-- 鏂伴椈琛ㄦ牸鍖哄煙 -->
<el-table
:data="tableData"
@@ -22,42 +23,187 @@
<template slot-scope="scope">
<!-- {{ scope.row.id }} -->
<div>
- <el-button type="success" @click="look(scope.row.id)">娣诲姞</el-button>
- <el-button type="warning" @click="showEditDialog(scope.row.id)">淇敼</el-button>
- <el-button type="info" @click="deleteNews(scope.row.id)">鍒犻櫎</el-button>
+ <el-button type="primary" @click="showEditDialog(scope.row.id)" icon="el-icon-edit"></el-button>
+ <el-button type="danger" @click="deleteAds(scope.row.id)" icon="el-icon-delete"></el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-card>
+ <!-- 淇敼璐︽埛鐨勫璇濇 -->
+ <el-dialog
+ title="淇敼鏅�氱鐞嗗憳瀵嗙爜"
+ :visible.sync="editDialogVisible"
+ width="50%"
+ @close="editClose">
+ <!-- rules琛ㄥ崟楠岃瘉瑙勫垯锛宺ef褰撳墠琛ㄥ崟鐨勯獙璇佸璞� -->
+ <el-form ref="editFormRef" :model="editForm" label-width="80px" status-icon>
+ <el-form-item label="鐢ㄦ埛鍚�:">
+ <el-input v-model="editForm.username" prefix-icon="iconfont icon-user" placeholder="璇疯緭鍏ヨ处鍙�" clearable=""></el-input>
+ </el-form-item>
+ <el-form-item label="鏃у瘑鐮�:">
+ <el-input v-model="editForm.oldPassword" prefix-icon="iconfont icon-3702mima" type="password" show-password placeholder="璇疯緭鍏ユ棫瀵嗙爜"></el-input>
+ </el-form-item>
+ <el-form-item label="鏂板瘑鐮�:">
+ <el-input v-model="editForm.password" prefix-icon="iconfont icon-3702mima" type="password" show-password placeholder="璇疯緭鍏ユ柊瀵嗙爜"></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ <el-button type="primary" @click="subEdit()">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ <!-- 娣诲姞绠$悊鍛樺璇濇 -->
+ <el-dialog
+ title="娣诲姞鏅�氱鐞嗗憳"
+ :visible.sync="addDialogVisible"
+ width="50%"
+ @close="addClose">
+ <!-- rules琛ㄥ崟楠岃瘉瑙勫垯锛宺ef褰撳墠琛ㄥ崟鐨勯獙璇佸璞� -->
+ <el-form ref="addFormRef" :model="addForm" label-width="80px" status-icon>
+ <el-form-item label="鐢ㄦ埛鍚�:">
+ <el-input v-model="addForm.username" prefix-icon="iconfont icon-user" placeholder="璇疯緭鍏ヨ处鍙�" clearable=""></el-input>
+ </el-form-item>
+ <el-form-item label="瀵嗙爜:">
+ <el-input v-model="addForm.password" prefix-icon="iconfont icon-3702mima" type="password" show-password placeholder="璇疯緭鍏ュ瘑鐮�"></el-input>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="canceladd">鍙� 娑�</el-button>
+ <el-button type="primary" @click="addEdit()">娉� 鍐�</el-button>
+ </span>
+ </el-dialog>
</div>
</template>
<script>
-import { getmain,editAccount } from '../../api/api'
+import { getmain,editAccount,deleteAd,addAd } from '../../api/api'
export default {
data() {
return {
tableData:[], //鏅�氱鐞嗗憳鍒楄〃
+ editDialogVisible:false,
+ addDialogVisible:false,
+ editForm:{ username:'',oldPassword:'',password:'' }, //淇敼琛ㄥ崟瀵硅薄
+ addForm:{ username:'',password:'' } //娣诲姞绠$悊瀵硅薄
}
},
created(){
this.ready()
},
methods:{
+ //鑾峰彇閾虹鍒楄〃
ready(){
getmain().then(res => {
- console.log(res);
+ // console.log(res);
if(res.code == 200){
this.tableData = res.data
}
})
+ },
+ //灞曠ず缂栬緫瀵硅瘽妗�
+ showEditDialog(){
+ this.editDialogVisible = true
+ },
+ editClose(){
+ this.editForm.username = '';
+ this.editForm.oldPassword = '';
+ this.editForm.password = '';
+ },
+ cancel(){
+ this.editForm.username = '';
+ this.editForm.oldPassword = '';
+ this.editForm.password = '';
+ this.editDialogVisible = false
+ },
+ //缂栬緫纭畾浜嬩欢
+ subEdit(){
+ const data = {
+ username:this.editForm.username,
+ oldPassword:this.editForm.oldPassword,
+ password:this.editForm.password
+ }
+ editAccount(data).then(res => {
+ // console.log(res);
+ if(res.code == 200){
+ this.$message.success('璐︽埛淇敼鎴愬姛')
+ this.editDialogVisible = false
+ this.ready()
+ }else{
+ this.$message.error('璐︽埛淇敼澶辫触')
+ }
+ })
+ },
+ //鍒犻櫎鏅�氱鐞嗗憳
+ async deleteAds(id){
+ // console.log(id);
+ const res = await this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ョ鐞嗚处鍙�, 鏄惁缁х画?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).catch(err => {
+ return err
+ })
+ //濡傛灉鐢ㄦ埛鐐瑰嚮纭畾鍒欒繑鍥瀋onfirm
+ //濡傛灉鐢ㄦ埛鐐瑰嚮鍙栨秷鍒欒繑鍥瀋ancel
+ console.log(res);
+ if(res !== 'confirm'){
+ return this.$message.info('宸插彇娑堝垹闄')
+ }else{
+ // console.log(id);
+ const data = {
+ id:id
+ }
+ //鍙傛暟data 瑕佷互瀵硅薄鐨勫舰寮忎紶鍏�
+ deleteAd(data).then(res => {
+ // console.log('>>>'+res);
+ if(res.code == 200){
+ this.$message.success('鍒犻櫎鎴愬姛锛�')
+ this.ready()
+ }else{
+ return this.$message.error('鍒犻櫎澶辫触锛�')
+ }
+ })
+ }
+ },
+ add(){
+ this.addDialogVisible = true
+ },
+ //娉ㄥ唽鍙栨秷娓呯┖
+ canceladd(){
+ this.addForm.username = '';
+ this.addForm.password = '';
+ this.addDialogVisible = false
+ },
+ addClose(){
+ this.addForm.username = '';
+ this.addForm.password = '';
+ },
+ //娉ㄥ唽鎻愪氦
+ addEdit(){
+ const data = {
+ username:this.addForm.username,
+ password:this.addForm.password
+ }
+ addAd(data).then(res => {
+ if(res.code == 200){
+ this.$message.success('娉ㄥ唽鎴愬姛')
+ this.addDialogVisible = false
+ this.ready()
+ }else{
+ this.$message.error('娉ㄥ唽澶辫触')
+ }
+ })
+
}
}
}
</script>
<style lang="less" scoped>
+.add{
+ margin-bottom: 10px;
+}
</style>
\ No newline at end of file
diff --git a/src/components/Administrator/Edit.vue b/src/components/Administrator/Edit.vue
index 16e10cc..dce7624 100644
--- a/src/components/Administrator/Edit.vue
+++ b/src/components/Administrator/Edit.vue
@@ -3,31 +3,27 @@
<el-row><h3 style="margin-top: 0px">{{ $route.query.title }}</h3></el-row>
鏂伴椈鏍囬锛�<el-input v-model="title" placeholder="璇疯緭鍏ユ柊闂绘爣棰�"></el-input><br/><br/>
鍙戝竷鏃ユ湡锛�<el-date-picker format="yyyy 骞� MM 鏈� dd 鏃�" value-format="yyyy-MM-dd" v-model="releaseTime" placeholder="璇烽�夋嫨鏂伴椈鍙戝竷鏃ユ湡"></el-date-picker><br/><br/>
- <!-- <el-upload
- class="upload-demo"
- ref="upload"
- drag
- action
- :auto-upload="false"
- :http-request="httpRequest"
- multiple
- :file-list="fileList">
- <i class="el-icon-upload"></i>
- <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
- <div class="el-upload__tip" slot="tip">鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb</div>
- </el-upload><br/> -->
鏂伴椈鍐呭锛�<quill-editor ref="text" v-model="content" class="myQuillEditor" :options="editorOption" />
<el-row style="margin-top:50px;">
<el-button type="success" @click="submit">鍙戝竷</el-button>
+ <!-- <input type="file" @change="chooseFile"/><br/><br/>
+ <el-button type="success" @click="tijiao">鎻愪氦</el-button><br/><br/>
+ <img :src="'http://localhost:7070/'+this.photo" style="width: 400px"> -->
</el-row>
</div>
</template>
<script>
-import { add } from '../../api/api'
-import { quillEditor } from 'vue-quill-editor'
+import axios from 'axios'
+
+import { add,fileUpload, login } from '../../api/api'
+import {quillEditor,Quill} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
+import { container, ImageExtend,QuillWatch } from 'quill-image-extend-module'
+Quill.register('modules/ImageExtend', ImageExtend)
+axios.defaults.withCredentials = true;
+
export default {
components:{ quillEditor },
data(){
@@ -35,16 +31,58 @@
title:'', //鏍囬鍐呭
releaseTime:'', //鍙戝竷鏃ユ湡
content: '', //鏂伴椈鍐呭
+ picture:null,
+ photo:'',
newsCategoryId:2,
editorOption: {
placeholder: "璇疯緭鍏ユ鏂�",
- // editorOption閲屾槸鏀惧浘鐗囦笂浼犻厤缃弬鏁扮敤鐨勶紝渚嬪锛�
- action: '/api/product/richtext_img_upload.do', // 蹇呭~鍙傛暟 鍥剧墖涓婁紶鍦板潃
- methods: 'POST', // 蹇呭~鍙傛暟 鍥剧墖涓婁紶鏂瑰紡
- token: '', // 鍙�夊弬鏁� 濡傛灉闇�瑕乼oken楠岃瘉锛屽亣璁句綘鐨則oken鏈夊瓨鏀惧湪sessionStorage
- name: 'upload_file', // 蹇呭~鍙傛暟 鏂囦欢鐨勫弬鏁板悕
- size: 10000000, // 鍙�夊弬鏁� 鍥剧墖澶у皬锛屽崟浣嶄负Kb, 1M = 1024Kb
- accept: 'multipart/form-data, image/png, image/gif, image/jpeg, image/bmp, image/x-icon,image/jpg' // 鍙�� 鍙笂浼犵殑鍥剧墖鏍煎紡
+ modules: {
+ ImageExtend: { // 濡傛灉涓嶄綔璁剧疆锛屽嵆{} 鍒欎緷鐒跺紑鍚鍒剁矘璐村姛鑳戒笖浠ase64鎻掑叆
+ name: 'file', // 鍥剧墖鍙傛暟鍚�
+ loading: true,
+ size: 10, // 鍙�夊弬鏁� 鍥剧墖澶у皬锛屽崟浣嶄负M锛�1M = 1024kb
+ action:'http://localhost:7070/uploading',
+ response: (res) => {
+ console.log(res);
+ return 'http://localhost:7070/'+res.data
+ },
+ headers: (xhr) => {
+ // axios.defaults.withCredentials = true;
+ // xhr.setRequestHeader('Cookie','NMTID=00OVM6QOJcTDVhqDUtvgSnd-5FBxLcAAAF9nTiDHg; JSESSIONID=5ACC52D29A2434E09450CB975E08C288')
+ }, // 鍙�夊弬鏁� 璁剧疆璇锋眰澶撮儴
+ sizeError: () => {}, // 鍥剧墖瓒呰繃澶у皬鐨勫洖璋�
+ start: () => {}, // 鍙�夊弬鏁� 鑷畾涔夊紑濮嬩笂浼犺Е鍙戜簨浠�
+ end: () => {}, // 鍙�夊弬鏁� 鑷畾涔変笂浼犵粨鏉熻Е鍙戠殑浜嬩欢锛屾棤璁烘垚鍔熸垨鑰呭け璐�
+ error: () => {}, // 鍙�夊弬鏁� 涓婁紶澶辫触瑙﹀彂鐨勪簨浠�
+ success: () => {}, // 鍙�夊弬鏁� 涓婁紶鎴愬姛瑙﹀彂鐨勪簨浠�
+ change: (xhr, formData) => {
+ // formData.append('token', 'myToken')
+ } // 鍙�夊弬鏁� 姣忔閫夋嫨鍥剧墖瑙﹀彂锛屼篃鍙敤鏉ヨ缃ご閮紝浣嗘瘮headers澶氫簡涓�涓弬鏁帮紝鍙缃甪ormData
+ },
+ toolbar:{
+ container:[
+ ['bold', 'italic', 'underline', 'strike'], //鍔犵矖锛屾枩浣擄紝涓嬪垝绾匡紝鍒犻櫎绾�
+ ['blockquote', 'code-block'], //寮曠敤锛屼唬鐮佸潡
+ [{ 'header': 1 }, { 'header': 2 }], // 鏍囬锛岄敭鍊煎鐨勫舰寮忥紱1銆�2琛ㄧず瀛椾綋澶у皬
+ [{ 'list': 'ordered'}, { 'list': 'bullet' }], //鍒楄〃
+ [{ 'script': 'sub'}, { 'script': 'super' }], // 涓婁笅鏍�
+ [{ 'indent': '-1'}, { 'indent': '+1' }], // 缂╄繘
+ [{ 'direction': 'rtl' }], // 鏂囨湰鏂瑰悜
+ [{ 'size': ['small', false, 'large', 'huge'] }], // 瀛椾綋澶у皬
+ [{ 'header': [1, 2, 3, 4, 5, 6, false] }], //鍑犵骇鏍囬
+ [{ 'color': [] }, { 'background': [] }], // 瀛椾綋棰滆壊锛屽瓧浣撹儗鏅鑹�
+ [{ 'font': [] }], //瀛椾綋
+ [{ 'align': [] }], //瀵归綈鏂瑰紡
+ ['clean'], //娓呴櫎瀛椾綋鏍峰紡
+ ['image'] //涓婁紶鍥剧墖銆佷笂浼犺棰�
+ ],
+ handlers: {
+ 'image': function () { // 鍔寔鍘熸潵鐨勫浘鐗囩偣鍑绘寜閽簨浠�
+ QuillWatch.emit(this.quill.id)
+ }
+ }
+ },
+ },
} , //缂栬緫鍣ㄦ柊闂诲璞�
fileList:[],
}
@@ -53,40 +91,34 @@
// console.log('>>>>>>>',this.$route.query.id);
this.newsCategoryId = this.$route.query.id
},
+ mounted(){
+ },
methods:{
- // jsonData(formData){ var jsonData = {}; formData.forEach((value, key) => jsonData[key] = value); return jsonData },
- // httpRequest(params){
- // const pictureFile = params.file;
- // const newsCategoryId = this.newsCategoryId;
- // const content = this.content;
- // const title = this.title;
- // const releaseTime = this.releaseTime;
- // var formData = new FormData();
- // formData.append("pictureFile",pictureFile)
- // formData.append("newsCategoryId",newsCategoryId)
- // formData.append("content",content)
- // formData.append("title",title)
- // formData.append("releaseTime",releaseTime)
- // console.log(this.jsonData(formData));
- // add(this.jsonData(formData)).then(res => {
- // console.log(res);
- // if(res.code !== 200){
- // return this.$message.error('鍙戝竷鏂伴椈澶辫触锛岃閲嶈瘯锛�')
- // }else{
- // this.$message.success('鏂伴椈鍙戝竷鎴愬姛锛�')
- // console.log(this.content);
- // this.$router.go(-1)
+ // chooseFile(file){
+ // this.picture = file.target.files[0];
+ // console.log(this.picture)
+ // return false;
+ // },
+ // tijiao(){
+ // const fd = new FormData()
+ // fd.append('file',this.picture)
+ // fileUpload(fd).then(res => {
+ // console.log(res)
+ // if(res.code == 200){
+ // this.photo = res.data
+ // console.log(this.photo);
// }
// })
// },
submit(){
- // this.$refs.upload.submit();
const data = {
newsCategoryId:this.newsCategoryId,
content:this.content,
title:this.title,
releaseTime:this.releaseTime
}
+ console.log(this.content);
+ // console.log(this.newsCategoryId);
add(data).then(res => {
console.log(res);
if(res.code !== 200){
@@ -97,7 +129,7 @@
this.$router.go(-1)
}
})
- }
+ },
}
}
</script>
@@ -115,4 +147,8 @@
bottom: 20px;
left: 168px;
}
+.ql-editor img{
+ width: 100px !important;
+ height: 100px !important;
+}
</style>
\ No newline at end of file
diff --git a/src/components/Administrator/EditLunBo.vue b/src/components/Administrator/EditLunBo.vue
index 47900d7..b8ae69d 100644
--- a/src/components/Administrator/EditLunBo.vue
+++ b/src/components/Administrator/EditLunBo.vue
@@ -3,29 +3,23 @@
<el-row><h3 style="margin-top: 0px">{{ $route.query.title }}</h3></el-row>
鏂伴椈鏍囬锛�<el-input v-model="title" placeholder="璇疯緭鍏ユ柊闂绘爣棰�"></el-input><br/><br/>
鍙戝竷鏃ユ湡锛�<el-date-picker format="yyyy 骞� MM 鏈� dd 鏃�" value-format="yyyy-MM-dd" v-model="releaseTime" placeholder="璇烽�夋嫨鏂伴椈鍙戝竷鏃ユ湡"></el-date-picker><br/><br/>
- <el-upload
- class="upload-demo"
- drag
- action="http://localhost:8080//news/add"
- :on-remove="handleRemove"
- multiple>
- <i class="el-icon-upload"></i>
- <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
- <div class="el-upload__tip" slot="tip">鍙兘涓婁紶jpg/png鏂囦欢锛屼笖涓嶈秴杩�500kb</div>
- </el-upload><br/>
+ <input type="file" @change="chooseFile"/><br/><br/>
鏂伴椈鍐呭锛�<quill-editor ref="text" v-model="content" class="myQuillEditor" :options="editorOption" />
<el-row style="margin-top:50px;">
<el-button type="success" @click="submit">鍙戝竷</el-button>
</el-row>
- 杞挱鍥�
</div>
</template>
<script>
-import { add } from '../../api/api'
-import { quillEditor } from 'vue-quill-editor'
+import { add,fileUpload, login } from '../../api/api'
+import {quillEditor,Quill} from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
+import { container, ImageExtend,QuillWatch } from 'quill-image-extend-module'
+Quill.register('modules/ImageExtend', ImageExtend)
+// axios.defaults.withCredentials = true;
+
export default {
components:{ quillEditor },
data(){
@@ -33,17 +27,58 @@
title:'', //鏍囬鍐呭
releaseTime:'', //鍙戝竷鏃ユ湡
content: '', //鏂伴椈鍐呭
- newsCategoryId:2,
+ newsCategoryId:45,
editorOption: {
placeholder: "璇疯緭鍏ユ鏂�",
- // editorOption閲屾槸鏀惧浘鐗囦笂浼犻厤缃弬鏁扮敤鐨勶紝渚嬪锛�
- action: '/api/product/richtext_img_upload.do', // 蹇呭~鍙傛暟 鍥剧墖涓婁紶鍦板潃
- methods: 'POST', // 蹇呭~鍙傛暟 鍥剧墖涓婁紶鏂瑰紡
- token: '', // 鍙�夊弬鏁� 濡傛灉闇�瑕乼oken楠岃瘉锛屽亣璁句綘鐨則oken鏈夊瓨鏀惧湪sessionStorage
- name: 'upload_file', // 蹇呭~鍙傛暟 鏂囦欢鐨勫弬鏁板悕
- size: 10000000, // 鍙�夊弬鏁� 鍥剧墖澶у皬锛屽崟浣嶄负Kb, 1M = 1024Kb
- accept: 'multipart/form-data, image/png, image/gif, image/jpeg, image/bmp, image/x-icon,image/jpg' // 鍙�� 鍙笂浼犵殑鍥剧墖鏍煎紡
+ modules: {
+ ImageExtend: { // 濡傛灉涓嶄綔璁剧疆锛屽嵆{} 鍒欎緷鐒跺紑鍚鍒剁矘璐村姛鑳戒笖浠ase64鎻掑叆
+ name: 'file', // 鍥剧墖鍙傛暟鍚�
+ loading: true,
+ size: 10, // 鍙�夊弬鏁� 鍥剧墖澶у皬锛屽崟浣嶄负M锛�1M = 1024kb
+ action:'http://localhost:7070/uploading',
+ response: (res) => {
+ console.log(res);
+ return 'http://localhost:7070/'+res.data
+ },
+ headers: (xhr) => {
+ // axios.defaults.withCredentials = true;
+ // xhr.setRequestHeader('Cookie','NMTID=00OVM6QOJcTDVhqDUtvgSnd-5FBxLcAAAF9nTiDHg; JSESSIONID=5ACC52D29A2434E09450CB975E08C288')
+ }, // 鍙�夊弬鏁� 璁剧疆璇锋眰澶撮儴
+ sizeError: () => {}, // 鍥剧墖瓒呰繃澶у皬鐨勫洖璋�
+ start: () => {}, // 鍙�夊弬鏁� 鑷畾涔夊紑濮嬩笂浼犺Е鍙戜簨浠�
+ end: () => {}, // 鍙�夊弬鏁� 鑷畾涔変笂浼犵粨鏉熻Е鍙戠殑浜嬩欢锛屾棤璁烘垚鍔熸垨鑰呭け璐�
+ error: () => {}, // 鍙�夊弬鏁� 涓婁紶澶辫触瑙﹀彂鐨勪簨浠�
+ success: () => {}, // 鍙�夊弬鏁� 涓婁紶鎴愬姛瑙﹀彂鐨勪簨浠�
+ change: (xhr, formData) => {
+ // formData.append('token', 'myToken')
+ } // 鍙�夊弬鏁� 姣忔閫夋嫨鍥剧墖瑙﹀彂锛屼篃鍙敤鏉ヨ缃ご閮紝浣嗘瘮headers澶氫簡涓�涓弬鏁帮紝鍙缃甪ormData
+ },
+ toolbar:{
+ container:[
+ ['bold', 'italic', 'underline', 'strike'], //鍔犵矖锛屾枩浣擄紝涓嬪垝绾匡紝鍒犻櫎绾�
+ ['blockquote', 'code-block'], //寮曠敤锛屼唬鐮佸潡
+ [{ 'header': 1 }, { 'header': 2 }], // 鏍囬锛岄敭鍊煎鐨勫舰寮忥紱1銆�2琛ㄧず瀛椾綋澶у皬
+ [{ 'list': 'ordered'}, { 'list': 'bullet' }], //鍒楄〃
+ [{ 'script': 'sub'}, { 'script': 'super' }], // 涓婁笅鏍�
+ [{ 'indent': '-1'}, { 'indent': '+1' }], // 缂╄繘
+ [{ 'direction': 'rtl' }], // 鏂囨湰鏂瑰悜
+ [{ 'size': ['small', false, 'large', 'huge'] }], // 瀛椾綋澶у皬
+ [{ 'header': [1, 2, 3, 4, 5, 6, false] }], //鍑犵骇鏍囬
+ [{ 'color': [] }, { 'background': [] }], // 瀛椾綋棰滆壊锛屽瓧浣撹儗鏅鑹�
+ [{ 'font': [] }], //瀛椾綋
+ [{ 'align': [] }], //瀵归綈鏂瑰紡
+ ['clean'], //娓呴櫎瀛椾綋鏍峰紡
+ ['image'] //涓婁紶鍥剧墖銆佷笂浼犺棰�
+ ],
+ handlers: {
+ 'image': function () { // 鍔寔鍘熸潵鐨勫浘鐗囩偣鍑绘寜閽簨浠�
+ QuillWatch.emit(this.quill.id)
+ }
+ }
+ },
+ },
} , //缂栬緫鍣ㄦ柊闂诲璞�
+ fileList:[],
}
},
created(){
@@ -51,20 +86,26 @@
this.newsCategoryId = this.$route.query.id
},
methods:{
- handleRemove(file,fileList){
- console.log(file,fileList);
+ chooseFile(file) {
+ this.pictureFile = file.target.files[0];
+ console.log(this.pictureFile)
+ console.log(file);
+ return false;
},
submit(){
+ const fd = new FormData();
+ fd.append('pictureFile',this.pictureFile);
const data = {
newsCategoryId:this.newsCategoryId,
content:this.content,
- title:this.title,
releaseTime:this.releaseTime,
- pictureFile:this.file,
+ title:this.title
}
- add(data).then(res => {
+ // console.log(999)
+ add(data,fd).then(res => {
console.log(res);
- if(res.code !== 200){
+ console.log(this.newsCategoryId);
+ if (res.code != 200) {
return this.$message.error('鍙戝竷鏂伴椈澶辫触锛岃閲嶈瘯锛�')
}else{
this.$message.success('鏂伴椈鍙戝竷鎴愬姛锛�')
diff --git a/src/components/Administrator/Welcome.vue b/src/components/Administrator/Welcome.vue
index b46f470..8f99e0f 100644
--- a/src/components/Administrator/Welcome.vue
+++ b/src/components/Administrator/Welcome.vue
@@ -1,14 +1,74 @@
<template>
<div>
<h2>娆㈣繋杩涘叆鍚庡彴绠$悊绯荤粺</h2>
+
+ <el-upload
+ ref="upload"
+ action
+ accept="image/*"
+ :limit= 3
+ :file-list='filelist'
+ list-type="picture-card"
+ :on-preview="handlePictureCardPreview"
+ :on-remove="handleRemove"
+ :http-request='upload'>
+ <i class="el-icon-plus"></i>
+ </el-upload>
+ <el-dialog :visible.sync="dialogVisible">
+ <img width="100%" :src="dialogImageUrl" alt="">
+ </el-dialog>
+ <el-button @click="save">淇濆瓨</el-button>
</div>
</template>
<script>
-
-
+import {fileUpload, update} from '../../api/api'
export default {
+ data() {
+ return {
+ // fileList: []
+ imageUrl:'',
+ filelist:[],
+ delList:[],
+ dialogVisible:false,
+ dialogImageUrl:'',
+ }
+ },
+ methods:{
+ save(){
+ //鍙栧埌鍥剧墖闆嗗悎
+ let uploadImglist = this.$refs.upload.uploadFiles
+ console.log(uploadImglist);
+ let formData = new FormData();
+ uploadImglist.forEach(item => {
+ //ready鐘舵�佺殑鏄湭涓婁紶鐨� success鏄凡缁忎笂浼犳垚鍔熺殑锛屽彧闇�瑕佹坊鍔犳湭涓婁紶鐨勫嵆鍙�
+ if(item.status == "ready"){
+ formData.append('file', item.raw);
+ }
+ });
+ formData.get('file')
+ fileUpload(formData).then(res=>{
+ //涓婁紶鎺ュ彛
+ console.log(res);
+ })
+ },
+ // 棰勮鍥剧墖
+ handlePictureCardPreview(file){
+ this.dialogVisible = true
+ this.dialogImageUrl=file.url
+ console.log(this.dialogImageUrl);
+ },
+ // 鍒犻櫎鍥剧墖
+ handleRemove(file){
+ //鍒ゆ柇鐘舵�侊紝濡傛灉鏄笂浼犳垚鍔熺殑 闇�瑕佹妸id鍔犲埌鍒犻櫎id闆嗗悎閲岄潰
+ if(file.status == 'success'){
+ this.delList.push(file.id)
+ }
+ },
+ upload(){
+ }
+ }
}
</script>
diff --git a/src/components/Home.vue b/src/components/Home.vue
index 7bafe07..3e42a65 100644
--- a/src/components/Home.vue
+++ b/src/components/Home.vue
@@ -45,7 +45,7 @@
// this.getNavArr();
},
mounted() {
- let api3 = 'http://localhost:8080/news_type/all'
+ let api3 = 'http://localhost:7070/news_type/all'
axios.get(api3).then((res)=>{
// console.log(res);
this.menuList2 = res.data.data
diff --git a/src/components/page/News.vue b/src/components/page/News.vue
index 3d576af..2914833 100644
--- a/src/components/page/News.vue
+++ b/src/components/page/News.vue
@@ -3,10 +3,10 @@
<!-- <p>{{ this.$route.query.id }}</p> -->
<div class="header">
<h2>{{ title }}</h2>
- <p>鍙戝竷鏃ユ湡锛歿{ releaseTime }} 鐐瑰嚮閲忥細[ {{hits}} ]</p>
+ <p>鍙戝竷鏃ユ湡锛歿{ releaseTime }} 鐐瑰嚮閲忥細[ {{(hits+1)/2}} ]</p>
</div>
<hr>
- <div v-html="content"></div>
+ <div v-html="content" class="ql-editor"></div>
</div>
</template>
<script>
@@ -54,4 +54,11 @@
height: 35px;
line-height: 35px;
}
+.ql-editor{
+ padding: 12px 0px !important;
+}
+.ql-editor img{
+ width: 600px;
+ height: 400px;
+}
</style>
\ No newline at end of file
diff --git a/src/components/page/index.vue b/src/components/page/index.vue
index 506c2ad..789723f 100644
--- a/src/components/page/index.vue
+++ b/src/components/page/index.vue
@@ -3,10 +3,10 @@
<!-- 棣栭〉涓婂崐閮ㄥ垎 -->
<el-row type="flex" class="row-bg" justify="space-between">
<div class="block marr10">
- <el-carousel height="460px" arrow="always" :interval="3000">
+ <el-carousel height="450px" arrow="always" :interval="3000">
<el-carousel-item v-for="(item,index) in imgList" :key="index">
- <div @click="gonew(item.id)" class="cursor">
- <img :src="'http://localhost:8080/'+item.picturePath" alt="" style="width:105%;">
+ <div @click="gonew(item.id)" class="cursor" style="width:590px; height:450px">
+ <img :src="'http://localhost:7070/'+item.picturePath" alt="" style="width:100%; height:90%">
</div>
</el-carousel-item>
</el-carousel>
diff --git a/src/components/page/introduce.vue b/src/components/page/introduce.vue
index 631982e..41641c1 100644
--- a/src/components/page/introduce.vue
+++ b/src/components/page/introduce.vue
@@ -15,7 +15,7 @@
<!-- 鏂伴椈鍐呭 -->
<el-card class="box-card">
<el-col>
- <div v-html="this.new.content"></div>
+ <div v-html="this.new.content" class="ql-editor"></div>
</el-col>
</el-card>
</el-row>
@@ -116,4 +116,7 @@
.ft-black {
color: #000;
}
+.ql-editor{
+ padding: 12px 0px !important;
+}
</style>
\ No newline at end of file
diff --git a/src/main.js b/src/main.js
index ba50c0f..801199f 100644
--- a/src/main.js
+++ b/src/main.js
@@ -13,7 +13,7 @@
// 閰嶇疆璇锋眰鐨勮窡璺緞
// axios.defaults.baseURL = 'http://8.140.68.52:8181'
// axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1'
-axios.defaults.baseURL = 'http://localhost:8080/'
+axios.defaults.baseURL = 'http://localhost:7070/'
axios.defaults.withCredentials = true;
axios.interceptors.request.use(config => {
// console.log(config)
diff --git a/src/utils/request.js b/src/utils/request.js
index dbffe70..ee13a3f 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,9 +1,10 @@
//瀵筧xios鐨勫皝瑁�
import axios from 'axios'
-let is_baseURL = 'http://localhost:8080/'//娴嬭瘯鐜
+let is_baseURL = 'http://localhost:7070/'//娴嬭瘯鐜
//鍒涘缓axios瀹炰緥
const request = axios.create({
- baseURL: is_baseURL
+ baseURL: is_baseURL,
+ headers:{'Content-Type':'application/x-www-form-urlencoded'}
})
//response鏈嶅姟鍣ㄥ搷搴旀嫤鎴櫒
request.interceptors.response.use(
--
Gitblit v1.8.0