From 894dd034da2c3b466f0ee80db36342d4b0d01ebc Mon Sep 17 00:00:00 2001
From: 明梦爽 <2972214568@qq.com>
Date: 星期三, 26 一月 2022 23:18:03 +0800
Subject: [PATCH] 管理权限整好
---
src/components/Administrator/AdMain.vue | 432 +++++++++++++++++++++++++++++++++++++++
src/components/page/News.vue | 5
src/api/api.js | 23 ++
src/components/Administrator/Main.vue | 30 +-
src/components/Administrator/AdEdit.vue | 63 +++++
src/main.js | 1
src/components/page/zhengce.vue | 2
src/router.js | 15 +
src/components/Administrator/EditLunBo.vue | 9
src/components/Login.vue | 73 +++---
10 files changed, 599 insertions(+), 54 deletions(-)
diff --git a/src/api/api.js b/src/api/api.js
index ca3cec2..c867b16 100644
--- a/src/api/api.js
+++ b/src/api/api.js
@@ -62,4 +62,27 @@
url:'/news/add',
params:data
})
+}
+//鐧诲綍
+export const login = data => {
+ return request({
+ method:'POST',
+ url:'/login',
+ params:data
+ })
+}
+//鑾峰彇鏅�氱鐞嗗憳鍒楄〃
+export const getmain = () => {
+ return request({
+ method: 'GET',
+ url:'/admin/list'
+ })
+}
+//瓒呯淇敼鏅璐﹀彿瀵嗙爜
+export const editAccount = data => {
+ return request({
+ method:'POST',
+ url:'/admin/updatePassword',
+ params:data
+ })
}
\ No newline at end of file
diff --git a/src/components/Administrator/AdEdit.vue b/src/components/Administrator/AdEdit.vue
new file mode 100644
index 0000000..665807a
--- /dev/null
+++ b/src/components/Administrator/AdEdit.vue
@@ -0,0 +1,63 @@
+<template>
+ <div>
+ <el-card class="box-card">
+ <!-- 鏂伴椈琛ㄦ牸鍖哄煙 -->
+ <el-table
+ :data="tableData"
+ border
+ style="width: 100%"
+ :header-cell-style="{textAlign: 'center'}"
+ :cell-style="{ textAlign: 'center' }"
+ >
+ <el-table-column type="index" label="搴忓彿" width="50">
+ <!-- <template slot-scope="scope">
+ <span>{{ (currentPage-1)*pageSize+scope.$index+1 }}</span>
+ </template> -->
+ </el-table-column>
+ <el-table-column prop="username" label="鏅�氱鐞嗗憳璐﹀彿" width="" >
+ </el-table-column>
+ <el-table-column prop="id" label="id" width="">
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="">
+ <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>
+ </div>
+ </template>
+
+ </el-table-column>
+ </el-table>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import { getmain,editAccount } from '../../api/api'
+export default {
+ data() {
+ return {
+ tableData:[], //鏅�氱鐞嗗憳鍒楄〃
+ }
+ },
+ created(){
+ this.ready()
+ },
+ methods:{
+ ready(){
+ getmain().then(res => {
+ console.log(res);
+ if(res.code == 200){
+ this.tableData = res.data
+ }
+ })
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/components/Administrator/AdMain.vue b/src/components/Administrator/AdMain.vue
new file mode 100644
index 0000000..e32dd5b
--- /dev/null
+++ b/src/components/Administrator/AdMain.vue
@@ -0,0 +1,432 @@
+<template>
+ <div>
+ <!-- 绾ц仈閫夋嫨鍣� -->
+ <el-row class="block">
+ <el-col :span="4">
+ <el-cascader
+ v-model="value"
+ :options="options"
+ clearable
+ filterable
+ :getCheckedNodes="true"
+ @change="handleChange">
+ </el-cascader>
+ </el-col>
+ <el-col :span="5">
+ <el-button type="primary" icon="el-icon-edit" @click="goAdEdit()">鐐瑰嚮瀵规櫘閫氱鐞嗗憳杩涜绠$悊</el-button>
+ </el-col>
+ </el-row>
+ <div>
+ <el-card class="box-card">
+ <el-row :gutter="40">
+ <el-col :span="4">
+ <!-- 娣诲姞鏂伴椈鎸夐挳 -->
+ <el-button el-button class="add" type="success" icon="el-icon-plus" @click="goEdit(newsCategoryId)">鐐瑰嚮鍦ㄨ鍒楄〃涓嬫坊鍔犱竴鏉℃柊闂�</el-button>
+ </el-col>
+ <el-col :span="10">
+ <!-- 鏂伴椈鎼滅储 -->
+ <el-input clearable placeholder="璇疯緭鍏ユ墍瑕佹煡璇㈢殑鏂伴椈鏍囬" v-model="search" class="input-with-select">
+ </el-input>
+ </el-col>
+ </el-row>
+ <!-- 鏂伴椈琛ㄦ牸鍖哄煙 -->
+ <el-table
+ :data="tableData.filter(data => !search || data.title.toLowerCase().includes(search.toLowerCase()))"
+ border
+ style="width: 100%"
+ :header-cell-style="{textAlign: 'center'}"
+ :cell-style="{ textAlign: 'center' }"
+ >
+ <el-table-column type="index" label="搴忓彿" width="50">
+ <template slot-scope="scope">
+ <span>{{ (currentPage-1)*pageSize+scope.$index+1 }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="releaseTime" label="鏃ユ湡" width="" >
+ </el-table-column>
+ <el-table-column prop="title" label="鏂伴椈鏍囬" width="">
+ </el-table-column>
+ <el-table-column prop="id" label="id" width="">
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="">
+ <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>
+ </div>
+ </template>
+
+ </el-table-column>
+ </el-table>
+ <!-- 鍒嗛〉 -->
+ <div>
+ <!-- 鑾峰彇鏂伴椈鍒楄〃鍒嗛〉 -->
+ <div>
+ <el-pagination
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ :current-page="currentPage"
+ :page-sizes="[6,12, 18,]"
+ :page-size="100"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
+ </div>
+ </div>
+ </el-card>
+ <!-- 淇敼鏂伴椈鐨勫璇濇 -->
+ <el-dialog
+ title="淇敼鏂伴椈"
+ :visible.sync="editDialogVisible"
+ width="50%"
+ :before-close="handleClose">
+ <!-- rules琛ㄥ崟楠岃瘉瑙勫垯锛宺ef褰撳墠琛ㄥ崟鐨勯獙璇佸璞� -->
+ <el-form ref="editFormRef" :model="editForm" label-width="80px" status-icon>
+ <el-form-item label="id:">
+ <el-input v-model="editForm.id" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="鏂伴椈鏍囬:">
+ <el-input v-model="editForm.title"></el-input>
+ </el-form-item>
+ <el-form-item label="鍙戝竷鏃ユ湡:">
+ <el-date-picker
+ v-model="editForm.releaseTime"
+ type="date"
+ placeholder="璇烽�夋嫨鍙戝竷鏃ユ湡"
+ format="yyyy 骞� MM 鏈� dd 鏃�"
+ value-format="yyyy-MM-dd"
+ ></el-date-picker>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="editDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="editNew()">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+ </div>
+</template>
+
+<script>
+import { getNewsList,getnew,update,deleteNew,fuzzy } from '../../api/api'
+export default {
+ data() {
+ return {
+ search:'',
+ getShow:true, //鑾峰彇鍒嗛〉鐨勬樉绀�(甯冨皵鍊�)
+ gettable:true, //鑾峰彇琛ㄦ牸鐨勬樉绀�
+ visible: false,
+ editDialogVisible:false, //鎺у埗淇敼瀵硅瘽妗嗙殑甯冨皵鍊�
+ AdDialogVisible:false, //瓒呯鐧诲綍瀵硅瘽妗�
+ Ad:{ username:'',password:'' }, //瓒呯瀵硅薄
+ editForm:{}, //鏌ヨ鍒扮殑鏂伴椈瀵硅薄锛岀洰鍓嶄粎渚涗慨鏀逛娇鐢�
+ newsCategoryId:1, //鍏堝瓨涓�涓皬鏍囬id
+ tableData:[], //鏂伴椈鍒楄〃瀵硅薄
+ fuzzytableData:[], //妯$硦鏌ヨ鍒楄〃瀵硅薄
+ pageSize:6, //姣忛〉鏉℃暟
+ currentPage:1, //褰撳墠椤�
+ total:0, //鏂伴椈鎬绘潯鏁�
+ fuzzyShow:false, //妯$硦鏌ヨ鍒嗛〉鐨勬樉绀�(甯冨皵鍊�)
+ fuzzytable:false, //妯$硦鏌ヨ琛ㄦ牸鐨勬樉绀�
+ fuzzyForm:{ fuzzytitle:'',fuzzytotal:0,fuzzycurrent:1,fuzzysize:6 }, //妯$硦鏌ヨ鍒楄〃瀵硅薄
+ value: [],
+ options: [{
+ value: 1,
+ label: '棣栭〉',
+ children: [{
+ value:42,
+ label: '閫氱煡鍏憡',
+ },
+ {
+ value:43,
+ label: '宸ヤ綔鍔ㄦ��',
+ },
+ {
+ value:44,
+ label: '瀛﹂櫌鍔ㄦ��',
+ },
+ {
+ value:45,
+ label: '杞挱鍥�',
+ }],
+ },{
+ value: 22,
+ label: '绉戝崗姒傚喌',
+ children: [{
+ value:27,
+ label: '绠�浠�',
+ },
+ {
+ value:28,
+ label: '绔犵▼',
+ },
+ {
+ value:29,
+ label: '缁勭粐缁撴瀯',
+ },
+ {
+ value:30,
+ label: '宸ヤ綔鑱岃矗',
+ },
+ {
+ value:31,
+ label: '涓撹亴浜哄憳',
+ }],
+ },
+ {
+ value: 23,
+ label: '鏀跨瓥娉曡',
+ children: [{
+ value:35,
+ label: '涓浗绉戝崗鏀跨瓥鏂囦欢',
+ },
+ {
+ value:36,
+ label: '鍦版柟绉戝崗鏀跨瓥鏂囦欢',
+ },
+ {
+ value:37,
+ label: '绀惧洟绠$悊鏂囦欢',
+ }],
+ },
+ {
+ value: 25,
+ label: '瀛︽湳浜ゆ祦',
+ children: [{
+ value:38,
+ label: '瀛︽湳淇℃伅',
+ },
+ {
+ value:39,
+ label: '绉戞妧绔炶禌',
+ }],
+ },
+ {
+ value: 27,
+ label: '绉戞櫘椋庨噰',
+ children: [{
+ value:40,
+ label: '骞抽《灞卞闄㈢鏅椿鍔�',
+ },
+ {
+ value:41,
+ label: '骞抽《灞卞競鏀垮崗绉戞櫘娲诲姩',
+ }],
+ }]
+ }
+ },
+ created(){
+ },
+ mounted(){
+ },
+ methods: {
+ //淇敼瀵硅瘽妗嗗叧闂殑鏂规硶
+ handleClose(done) {
+ this.$confirm('纭鍏抽棴锛�')
+ .then(_ => {
+ done();
+ })
+ .catch(_ => {});
+ },
+ //璺宠浆鏅�氱鐞嗗垪琛�
+ goAdEdit(){
+ this.$router.push({path:'adedit'})
+ },
+ //绾ц仈閫夋嫨鍣ㄧ殑鏂规硶
+ handleChange(value) {
+ // console.log(value);
+ // console.log(value[1]);
+ this.currentPage = 1;
+ this.newsCategoryId = value[1]; //灏嗗緱鍒扮殑灏忔爣棰榠d瀛樻斁璧锋潵
+ this.query(this.newsCategoryId);
+ },
+ query(newsCategoryId){
+ const data = {
+ current:this.currentPage,
+ newsCategoryId:newsCategoryId,
+ size:this.pageSize
+ };
+ getNewsList(data).then(res=>{
+ // console.log(res);
+ if (res.code !== 200) {
+ return this.$message.error('鑾峰彇鏂伴椈鍒楄〃澶辫触')
+ }else{
+ this.tableData = res.data.records
+ this.total = res.data.total
+ }
+ }).catch(err => {
+ console.log(err);
+ })
+ },
+ //灞曠ず淇敼瀵硅瘽妗�
+ showEditDialog(id){
+ getnew(id).then(res => {
+ // console.log(res);
+ if (res.code == 200) {
+ this.editForm = res.data
+ }
+ })
+ this.editDialogVisible = true;
+ },
+ //纭畾淇敼琛ㄥ崟鎻愪氦锛岄獙璇佸彂璧疯姹�
+ editNew(){
+ const data = {
+ id: this.editForm.id,
+ releaseTime: this.editForm.releaseTime,
+ title:this.editForm.title
+ }
+ update(data).then(res=>{
+ console.log('dsadasas',res);
+ if (res.code == 200) {
+ this.editDialogVisible =false;
+ this.$message.success('淇敼鏂伴椈鎴愬姛锛�')
+ this.query(this.newsCategoryId);
+ }
+ })
+ },
+ //妯$硦鏌ヨ
+ fuzzyList(title){
+ // console.log(title);
+ if(title == ''){
+ return this.$message.error('璇峰厛杈撳叆鏌ヨ鏂伴椈鏍囬锛�')
+ }
+ this.fuzzyShow = true //妯$硦鍒嗛〉鏄剧ず
+ this.getShow = false //鑾峰彇鍒嗛〉闅愯棌
+ this.gettable = false
+ this.fuzzytable = true
+ const data = {
+ current: this.fuzzyForm.fuzzycurrent,
+ size: this.fuzzyForm.fuzzysize,
+ title:title
+ }
+ fuzzy(data).then(res => {
+ // console.log(res);
+ if (res.code !== 200) {
+ return this.$message.error('鏌ヨ鏂伴椈鍒楄〃澶辫触')
+ }else{
+ this.fuzzytableData = res.data.records
+ this.fuzzyForm.fuzzytotal = res.data.total
+ }
+ }).catch(err => {
+ console.log(err);
+ })
+ },
+ //娓呯┖鏌ヨ鍒楄〃鍐呭
+ qingKong(){
+ this.tableData = []
+ this.fuzzytableData = []
+ this.fuzzyForm.fuzzytotal = 0
+ this.fuzzyShow = false
+ this.getShow = true
+ this.fuzzytable = false
+ this.gettable = true
+ },
+ //鏍规嵁id鍒犻櫎鏂伴椈
+ async deleteNews(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 瑕佷互瀵硅薄鐨勫舰寮忎紶鍏�
+ deleteNew(data).then(res => {
+ console.log('>>>'+res);
+ if(res.code == 200){
+ this.$message.success('鍒犻櫎鏂伴椈鎴愬姛锛�')
+ this.query(this.newsCategoryId);
+ }else{
+ return this.$message.error('鍒犻櫎鏂伴椈澶辫触锛�')
+ }
+ })
+ }
+ },
+ //鏌ョ湅
+ look(id){
+ this.$router.push({path:'news',query:{id:id}})
+ },
+ //瓒呯鐧诲綍瀵硅瘽妗�
+ showAdDialog(){
+ this.AdDialogVisible = true
+ },
+ handleCurrentChange(val) {
+ // console.log(`褰撳墠椤�: ${val}`);
+ this.currentPage = val;
+ this.query(this.newsCategoryId)
+ },
+ handleSizeChange(val) {
+ // console.log(`姣忛〉 ${val} 鏉);
+ this.pageSize = val;
+ this.query(this.newsCategoryId)
+ },
+ handleCurrentChangefuzzy(val){
+ this.fuzzyForm.fuzzycurrent = val
+ this.fuzzyList(this.fuzzyForm.fuzzytitle) //妯$硦鏌ヨ
+ },
+ handleSizeChangefuzzy(val){
+ this.fuzzyForm.fuzzysize = val
+ this.fuzzyList(this.fuzzyForm.fuzzytitle) //妯$硦鏌ヨ
+ },
+ //鍘诲線娣诲姞缂栬緫椤甸潰
+ goEdit(id){
+ let title = '';
+ console.log(this.value);
+ if (this.value.length = 2) {
+ let t = this.value[0];
+ let i = this.value[1];
+ this.options.forEach( item => {
+ if(item.value == t){
+ title += item.label+'/'
+ item.children.forEach( e => {
+ if(e.value == i) title += e.label;
+ })
+ }
+ })
+ }
+ if (this.newsCategoryId==27&&this.total==1||this.newsCategoryId==28&&this.total==1||this.newsCategoryId==29&&this.total==1||
+ this.newsCategoryId==30&&this.total==1||this.newsCategoryId==31&&this.total==1) {
+ this.$message.error('璇ユ柊闂绘爣棰樹笅鍙兘瀛樺湪涓�绡囨柊闂�')
+ }else if(this.newsCategoryId==27||this.newsCategoryId==28||this.newsCategoryId==29||this.newsCategoryId==30||
+ this.newsCategoryId==31||this.newsCategoryId == 35||this.newsCategoryId==36||this.newsCategoryId==37||
+ this.newsCategoryId==38||this.newsCategoryId==39||this.newsCategoryId==40||
+ this.newsCategoryId==41||this.newsCategoryId==42||this.newsCategoryId==43||
+ this.newsCategoryId==44){
+ this.$router.push({path:'/administrator/edit',query:{id:id,title:title}})
+ console.log(this.newsCategoryId);
+ }else if(this.newsCategoryId==45){
+ this.$router.push({path:'/administrator/editlunbo',query:{id:id,title:title}})
+ // console.log(this.newsCategoryId);
+ }else{
+ this.$message.error('璇峰厛閫夋嫨鏂伴椈鏍囬')
+ }
+
+ }
+ },
+}
+</script>
+
+<style lang="less">
+.add{
+ margin-bottom: 10px !important;
+}
+.block{
+ margin-bottom: 10px;
+}
+.el-pagination{
+ margin-top: 10px;
+}
+</style>
\ No newline at end of file
diff --git a/src/components/Administrator/EditLunBo.vue b/src/components/Administrator/EditLunBo.vue
index a19f534..47900d7 100644
--- a/src/components/Administrator/EditLunBo.vue
+++ b/src/components/Administrator/EditLunBo.vue
@@ -6,7 +6,8 @@
<el-upload
class="upload-demo"
drag
- action="https://jsonplaceholder.typicode.com/posts/"
+ action="http://localhost:8080//news/add"
+ :on-remove="handleRemove"
multiple>
<i class="el-icon-upload"></i>
<div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
@@ -50,12 +51,16 @@
this.newsCategoryId = this.$route.query.id
},
methods:{
+ handleRemove(file,fileList){
+ console.log(file,fileList);
+ },
submit(){
const data = {
newsCategoryId:this.newsCategoryId,
content:this.content,
title:this.title,
- releaseTime:this.releaseTime
+ releaseTime:this.releaseTime,
+ pictureFile:this.file,
}
add(data).then(res => {
console.log(res);
diff --git a/src/components/Administrator/Main.vue b/src/components/Administrator/Main.vue
index 76f7999..2953c2a 100644
--- a/src/components/Administrator/Main.vue
+++ b/src/components/Administrator/Main.vue
@@ -1,16 +1,18 @@
<template>
<div>
<!-- 绾ц仈閫夋嫨鍣� -->
- <div class="block">
- <el-cascader
- v-model="value"
- :options="options"
- clearable
- filterable
- :getCheckedNodes="true"
- @change="handleChange">
- </el-cascader>
- </div>
+ <el-row class="block">
+ <el-col :span="4">
+ <el-cascader
+ v-model="value"
+ :options="options"
+ clearable
+ filterable
+ :getCheckedNodes="true"
+ @change="handleChange">
+ </el-cascader>
+ </el-col>
+ </el-row>
<div>
<el-card class="box-card">
<el-row :gutter="40">
@@ -114,6 +116,8 @@
gettable:true, //鑾峰彇琛ㄦ牸鐨勬樉绀�
visible: false,
editDialogVisible:false, //鎺у埗淇敼瀵硅瘽妗嗙殑甯冨皵鍊�
+ AdDialogVisible:false, //瓒呯鐧诲綍瀵硅瘽妗�
+ Ad:{ username:'',password:'' }, //瓒呯瀵硅薄
editForm:{}, //鏌ヨ鍒扮殑鏂伴椈瀵硅薄锛岀洰鍓嶄粎渚涗慨鏀逛娇鐢�
newsCategoryId:1, //鍏堝瓨涓�涓皬鏍囬id
tableData:[], //鏂伴椈鍒楄〃瀵硅薄
@@ -267,7 +271,7 @@
title:this.editForm.title
}
update(data).then(res=>{
- // console.log('dsadasas',res);
+ console.log('dsadasas',res);
if (res.code == 200) {
this.editDialogVisible =false;
this.$message.success('淇敼鏂伴椈鎴愬姛锛�')
@@ -348,6 +352,10 @@
look(id){
this.$router.push({path:'news',query:{id:id}})
},
+ //瓒呯鐧诲綍瀵硅瘽妗�
+ showAdDialog(){
+ this.AdDialogVisible = true
+ },
handleCurrentChange(val) {
// console.log(`褰撳墠椤�: ${val}`);
this.currentPage = val;
diff --git a/src/components/Login.vue b/src/components/Login.vue
index 9e3bd7d..cd43fda 100644
--- a/src/components/Login.vue
+++ b/src/components/Login.vue
@@ -6,18 +6,18 @@
<img src="../assets/logo.png" alt="" />
</div>
<!-- 鐧诲綍琛ㄥ崟鍖哄煙 -->
- <el-form ref="loginFormRef" :model="loginForm" :rules="loginFormRules" label-width="0px" class="login_form">
+ <el-form ref="loginFormRef" :model="loginForm" label-width="0px" class="login_form">
<!-- 鐢ㄦ埛鍚� -->
<el-form-item prop="username">
- <el-input v-model="loginForm.username" prefix-icon="iconfont icon-user"></el-input>
+ <el-input v-model="loginForm.username" prefix-icon="iconfont icon-user" placeholder="璇疯緭鍏ヨ处鍙�" clearable></el-input>
</el-form-item>
<!-- 瀵嗙爜 -->
<el-form-item prop="password">
- <el-input v-model="loginForm.password" prefix-icon="iconfont icon-3702mima" type="password"></el-input>
+ <el-input v-model="loginForm.password" prefix-icon="iconfont icon-3702mima" type="password" show-password placeholder="璇疯緭鍏ュ瘑鐮�"></el-input>
</el-form-item>
<!-- 鎸夐挳鍖哄煙 -->
<el-form-item class="btns">
- <el-button type="primary" @click="login">鐧诲綍</el-button>
+ <el-button type="primary" @click="Login">鐧诲綍</el-button>
<el-button type="info" @click="resetLoginForm">閲嶇疆</el-button>
</el-form-item>
</el-form>
@@ -26,27 +26,15 @@
</template>
<script>
+import { login } from '../api/api'
export default {
data() {
return {
// 杩欐槸鐧诲綍琛ㄥ崟鐨勬暟鎹粦瀹氬璞�
loginForm: {
- username: 'admin',
+ username: 'rendong',
password: '123456'
},
- // 杩欐槸琛ㄥ崟鐨勯獙璇佽鍒欏璞�
- loginFormRules: {
- // 楠岃瘉鐢ㄦ埛鍚嶆槸鍚﹀悎娉�
- username: [
- { required: true, message: '璇疯緭鍏ョ櫥褰曞悕绉�', trigger: 'blur' },
- { min: 3, max: 10, message: '闀垮害鍦� 3 鍒� 10 涓瓧绗�', trigger: 'blur'}
- ],
- // 楠岃瘉瀵嗙爜鏄惁鍚堟硶
- password: [
- { required: true, message: '璇疯緭鍏ョ櫥褰曞瘑鐮�', trigger: 'blur' },
- { min: 6, max: 15, message: '闀垮害鍦� 6 鍒� 15 涓瓧绗�', trigger: 'blur'}
- ]
- }
}
},
methods: {
@@ -54,22 +42,41 @@
resetLoginForm() {
this.$refs.loginFormRef.resetFields()
},
- login() {
- this.$refs.loginFormRef.validate(async (valid) => {
- if (!valid) return
- const { data: res } = await this.$http.post('/login', this.loginForm)
- console.log('12312123123123123')
- console.log(res)
- if (res.meta.status !== 200) return this.$message.error('鐧诲綍澶辫触锛�')
- this.$message.success('鐧诲綍鎴愬姛')
- // console.log(res)
- // 1. 灏嗙櫥褰曟垚鍔熶箣鍚庣殑 token锛屼繚瀛樺埌瀹㈡埛绔殑 sessionStorage 涓�
- // 1.1 椤圭洰涓嚭浜嗙櫥褰曚箣澶栫殑鍏朵粬API鎺ュ彛锛屽繀椤诲湪鐧诲綍涔嬪悗鎵嶈兘璁块棶
- // 1.2 token 鍙簲鍦ㄥ綋鍓嶇綉绔欐墦寮�鏈熼棿鐢熸晥锛屾墍浠ュ皢 token 淇濆瓨鍦� sessionStorage 涓�
- window.sessionStorage.setItem('token', res.data.token)
- // 2. 閫氳繃缂栫▼寮忓鑸烦杞埌鍚庡彴涓婚〉锛岃矾鐢卞湴鍧�鏄� /home
- this.$router.push('/administrator/main')
+ Login() {
+ const data = {
+ username: this.loginForm.username,
+ password: this.loginForm.password
+ }
+ login(data).then(res => {
+ console.log(res);
+ if(res.code !== 200){
+ this.$message.error('鐧诲綍澶辫触锛�')
+ }else if(res.data.role == '瓒呯骇绠$悊鍛�'){
+ this.$message.success('瓒呯鐧诲綍鎴愬姛锛�')
+ window.sessionStorage.setItem('token',res.cookie)
+ this.$router.push('/administrator/admain')
+ }else{
+ this.$message.success('鐧诲綍鎴愬姛锛�')
+ window.sessionStorage.setItem('token',res.cookie)
+ this.$router.push('/administrator/main')
+ }
})
+
+ // this.$refs.loginFormRef.validate(async (valid) => {
+ // if (!valid) return
+ // const { data: res } = await this.$http.post('/login', this.loginForm)
+ // console.log('12312123123123123')
+ // console.log(res)
+ // if (res.meta.status !== 200) return this.$message.error('鐧诲綍澶辫触锛�')
+ // this.$message.success('鐧诲綍鎴愬姛')
+ // // console.log(res)
+ // // 1. 灏嗙櫥褰曟垚鍔熶箣鍚庣殑 token锛屼繚瀛樺埌瀹㈡埛绔殑 sessionStorage 涓�
+ // // 1.1 椤圭洰涓嚭浜嗙櫥褰曚箣澶栫殑鍏朵粬API鎺ュ彛锛屽繀椤诲湪鐧诲綍涔嬪悗鎵嶈兘璁块棶
+ // // 1.2 token 鍙簲鍦ㄥ綋鍓嶇綉绔欐墦寮�鏈熼棿鐢熸晥锛屾墍浠ュ皢 token 淇濆瓨鍦� sessionStorage 涓�
+ // window.sessionStorage.setItem('token', res.data.token)
+ // // 2. 閫氳繃缂栫▼寮忓鑸烦杞埌鍚庡彴涓婚〉锛岃矾鐢卞湴鍧�鏄� /home
+ // this.$router.push('/administrator/main')
+ // })
}
}
}
diff --git a/src/components/page/News.vue b/src/components/page/News.vue
index be05aef..3d576af 100644
--- a/src/components/page/News.vue
+++ b/src/components/page/News.vue
@@ -6,7 +6,7 @@
<p>鍙戝竷鏃ユ湡锛歿{ releaseTime }} 鐐瑰嚮閲忥細[ {{hits}} ]</p>
</div>
<hr>
- <div v-html="content" class="content"></div>
+ <div v-html="content"></div>
</div>
</template>
<script>
@@ -54,7 +54,4 @@
height: 35px;
line-height: 35px;
}
-/* .content span{
- background-color: rgb(0, 0, 0);
-} */
</style>
\ No newline at end of file
diff --git a/src/components/page/zhengce.vue b/src/components/page/zhengce.vue
index 475dddc..8462a8c 100644
--- a/src/components/page/zhengce.vue
+++ b/src/components/page/zhengce.vue
@@ -116,7 +116,7 @@
show(item){
// console.log(item.id);
this.$router.push({path:'/home/news',query:{id:item.id}})
- }
+ },
}
}
</script>
diff --git a/src/main.js b/src/main.js
index 49e66c8..ba50c0f 100644
--- a/src/main.js
+++ b/src/main.js
@@ -14,6 +14,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.withCredentials = true;
axios.interceptors.request.use(config => {
// console.log(config)
config.headers.Authorization = window.sessionStorage.getItem('token')
diff --git a/src/router.js b/src/router.js
index 2eae566..84e2fd8 100644
--- a/src/router.js
+++ b/src/router.js
@@ -19,6 +19,8 @@
import Main from './components/Administrator/Main.vue'
import Edit from './components/Administrator/Edit.vue'
import EditLunBo from './components/Administrator/EditLunBo.vue'
+import AdMain from './components/Administrator/AdMain.vue'
+import AdEdit from './components/Administrator/AdEdit.vue'
Vue.use(Router)
@@ -33,7 +35,9 @@
{ path:'main',component:Main },
{ path:'edit',component:Edit },
{ path:'news',component:News },
- { path:'editlunbo',component:EditLunBo }]
+ { path:'editlunbo',component:EditLunBo },
+ { path:'admain',component:AdMain },
+ { path:'adedit',component:AdEdit }]
},
{
path: '/home',
@@ -115,10 +119,15 @@
// from 浠h〃浠庡摢涓矾寰勮烦杞�屾潵
// next 鏄竴涓嚱鏁帮紝琛ㄧず鏀捐
// next() 鏀捐 next('/login') 寮哄埗璺宠浆
-
- if (to.path === '/login') return next()
+ // if (to.path === '/administrator/main' && !tokenStr) return next()
+ // if (to.path === '/home/index') return next()
// 鑾峰彇token
const tokenStr = window.sessionStorage.getItem('token')
+ if (to.path === '/administrator/main' && !tokenStr) return next('/login')
+ if (to.path === '/administrator/admain' && !tokenStr) return next('/login')
+ if (to.path === '/administrator' && !tokenStr) return next('/login')
+ if (to.path === '/administrator/edit' && !tokenStr) return next('/login')
+ if (to.path === '/administrator/welcome' && !tokenStr) return next('/login')
// if (!tokenStr) return next('/login')
next()
})
--
Gitblit v1.8.0