Skip to content

Commit 9d638a8

Browse files
committed
结构调整,修改为服务端渲染
1 parent 150769e commit 9d638a8

File tree

146 files changed

+474
-3799
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+474
-3799
lines changed
File renamed without changes.
File renamed without changes.

README.md

+10-65
Original file line numberDiff line numberDiff line change
@@ -1,62 +1,10 @@
11
## 设计方案
22

33
#### 后台
4-
1.前后端分离
5-
2.RESTful API
6-
3.使用 jwt 身份认证
7-
4.后台使用 iview
8-
9-
#### 前台
10-
1.前台使用 nuxt.js 做服务端渲染
11-
12-
## 结构
13-
14-
|-[admin](https://github.com/lscho/ThinkJS-Vue.js-blog/tree/master/admin) 后台
15-
|-[home](https://github.com/lscho/ThinkJS-Vue.js-blog/tree/master/home) 前台
16-
|-[server](https://github.com/lscho/ThinkJS-Vue.js-blog/tree/master/server) 服务端
17-
18-
19-
## 依赖
20-
21-
#### 服务端
22-
23-
```json
24-
"dependencies": {
25-
"think-cache": "^1.0.0",
26-
"think-cache-file": "^1.0.8",
27-
"think-logger3": "^1.0.0",
28-
"think-model": "^1.0.0",
29-
"think-model-mysql": "^1.0.0",
30-
"think-session": "^1.0.0",
31-
"think-session-jwt": "^1.0.8",
32-
"think-view": "^1.0.11",
33-
"think-view-ejs": "^0.0.11",
34-
"thinkjs": "^3.0.0"
35-
}
36-
```
37-
#### 后台
38-
39-
```json
40-
"dependencies": {
41-
"axios": "^0.17.0",
42-
"echarts": "^3.8.5",
43-
"iview": "^2.8.0",
44-
"mavon-editor": "^2.4.13",
45-
"vue": "^2.5.2",
46-
"vue-axios": "^2.0.2",
47-
"vue-router": "^3.0.1",
48-
"vuex": "^3.0.0",
49-
"vuex-router-sync": "^5.0.0"
50-
}
51-
```
52-
53-
#### 前台
54-
55-
```json
56-
"dependencies": {
57-
"nuxt": "^1.0.0"
58-
}
59-
```
4+
1.前后端分离
5+
2.RESTful API
6+
3.使用 jwt 身份认证
7+
4.后台使用 iview
608

619
## 安装
6210

@@ -65,14 +13,10 @@
6513
导入sql,修改[配置](https://github.com/lscho/ThinkJS-Vue.js-blog/blob/master/server/src/config/adapter.js)中 mysql 部分,启动服务
6614
```bash
6715
# 启动服务端
68-
cd ./admin
69-
npm run dev
70-
# 启动前台服务
71-
cd ./home
72-
npm run dev
16+
npm start
7317
# 启动后台服务
7418
cd ./admin
75-
npm run dev
19+
npm start
7620
```
7721

7822
#### 部署
@@ -81,8 +25,9 @@ npm run dev
8125
# 编译
8226
cd ./admin
8327
npm run build
84-
cd ./home
85-
npm run build
8628
```
8729

88-
将 server 文件夹上传至服务器,参考[nginx.conf](https://github.com/lscho/ThinkJS-Vue.js-blog/blob/master/server/nginx.conf)进行配置
30+
将 src/ view/ www/ 文件夹上传至服务器
31+
执行`npm install`
32+
修改[配置](https://github.com/lscho/ThinkJS-Vue.js-blog/blob/master/server/src/config/adapter.js)中 mysql 部分,启动服务
33+
参考[nginx.conf](https://github.com/lscho/ThinkJS-Vue.js-blog/blob/master/server/nginx.conf)进行配置

admin/config/index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,12 @@ module.exports = {
6060

6161
build: {
6262
// Template for index.html
63-
index: path.resolve(__dirname, '../dist/index.html'),
63+
index: path.resolve(__dirname, '../../www/admin.html'),
6464

6565
// Paths
66-
assetsRoot: path.resolve(__dirname, '../dist'),
67-
assetsSubDirectory: 'static',
68-
assetsPublicPath: '/',
66+
assetsRoot: path.resolve(__dirname, '../../www/static/admin'),
67+
assetsSubDirectory: '',
68+
assetsPublicPath: '/static/admin/',
6969

7070
/**
7171
* Source Maps

admin/src/api/comment.js

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import Vue from 'vue'
2+
3+
export default {
4+
5+
getList (map = {}) {
6+
return new Promise((resolve, reject) => {
7+
Vue.axios.get('/comment', { params: map }).then(response => {
8+
resolve(response.data)
9+
})
10+
})
11+
},
12+
13+
getInfo (slug) {
14+
return new Promise((resolve, reject) => {
15+
Vue.axios.get('/comment/' + slug).then(response => {
16+
resolve(response.data)
17+
})
18+
})
19+
},
20+
21+
update (id, data) {
22+
return new Promise((resolve, reject) => {
23+
Vue.axios.put('/comment/' + id, data).then(response => {
24+
resolve(response.data)
25+
})
26+
})
27+
},
28+
29+
delete (id) {
30+
return new Promise((resolve, reject) => {
31+
Vue.axios.delete('/comment/' + id).then(response => {
32+
resolve(response.data)
33+
})
34+
})
35+
}
36+
}

admin/src/api/image.js

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import Vue from 'vue'
2-
console.log(11)
32
export default {
43

54
upload (data) {

admin/src/api/index.js

+2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import category from '@/api/category'
22
import content from '@/api/content'
3+
import comment from '@/api/comment'
34
import image from '@/api/image'
45
import tag from '@/api/tag'
56
import token from '@/api/token'
@@ -9,6 +10,7 @@ import site from '@/api/site'
910
export {
1011
category,
1112
content,
13+
comment,
1214
image,
1315
tag,
1416
token,

admin/src/assets/css/admin.css

+9
Original file line numberDiff line numberDiff line change
@@ -189,3 +189,12 @@ body {
189189
.line-chart-con {
190190
height: 150px;
191191
}
192+
193+
.page {
194+
float: right;
195+
margin-top: 10px;
196+
}
197+
198+
.search {
199+
text-align: right;
200+
}

admin/src/router/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Vue.use(VueRouter)
66

77
// 路由配置
88
const RouterConfig = {
9-
mode: 'history',
9+
//mode: 'history',
1010
routes: routers
1111
}
1212

admin/src/router/router.js

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ export const adminRouter = [{
3636
{ path: 'page/list', name: 'ContentList', meta: { title: '页面列表', requiresAuth: true }, component: resolve => { require(['@/view/page/list.vue'], resolve) } },
3737
{ path: 'category/save', name: 'CategorySave', meta: { title: '分类编辑', requiresAuth: true }, component: resolve => { require(['@/view/category/save.vue'], resolve) } },
3838
{ path: 'category/list', name: 'CategoryList', meta: { title: '分类列表', requiresAuth: true }, component: resolve => { require(['@/view/category/list.vue'], resolve) } },
39+
{ path: 'comment/save', name: 'CommentSave', meta: { title: '分类编辑', requiresAuth: true }, component: resolve => { require(['@/view/comment/save.vue'], resolve) } },
40+
{ path: 'comment/list', name: 'CommentList', meta: { title: '分类列表', requiresAuth: true }, component: resolve => { require(['@/view/comment/list.vue'], resolve) } },
3941
{ path: 'tag/save', name: 'TagSave', meta: { title: '标签编辑', requiresAuth: true }, component: resolve => { require(['@/view/tag/save.vue'], resolve) } },
4042
{ path: 'tag/list', name: 'TagList', meta: { title: '标签列表', requiresAuth: true }, component: resolve => { require(['@/view/tag/list.vue'], resolve) } },
4143
{ path: 'user/info', name: 'UserInfo', meta: { title: '个人资料', requiresAuth: true }, component: resolve => { require(['@/view/user/info.vue'], resolve) } },

admin/src/view/Main.vue

+11-52
Original file line numberDiff line numberDiff line change
@@ -89,71 +89,28 @@ export default {
8989
},
9090
{
9191
name: "内容管理",
92-
path: "/content",
92+
path: "/content/list",
9393
icon: "document",
94-
children: [
95-
{
96-
name: "内容发布",
97-
path: "/content/save",
98-
icon: "edit"
99-
},
100-
{
101-
name: "内容列表",
102-
path: "/content/list",
103-
icon: "navicon-round"
104-
}
105-
]
10694
},
10795
{
10896
name: "页面管理",
109-
path: "/page",
97+
path: "/page/list",
11098
icon: "ios-paper",
111-
children: [
112-
{
113-
name: "页面发布",
114-
path: "/page/save",
115-
icon: "edit"
116-
},
117-
{
118-
name: "页面列表",
119-
path: "/page/list",
120-
icon: "navicon-round"
121-
}
122-
]
99+
},
100+
{
101+
name: "评论管理",
102+
path: "/comment/list",
103+
icon: "chatbubbles"
123104
},
124105
{
125106
name: "分类管理",
126-
path: "/category",
107+
path: "/category/list",
127108
icon: "shuffle",
128-
children: [
129-
{
130-
name: "分类发布",
131-
path: "/category/save",
132-
icon: "edit"
133-
},
134-
{
135-
name: "分类列表",
136-
path: "/category/list",
137-
icon: "navicon-round"
138-
}
139-
]
140109
},
141110
{
142111
name: "标签管理",
143-
path: "/tag",
112+
path: "/tag/list",
144113
icon: "pricetags",
145-
children: [
146-
{
147-
name: "标签发布",
148-
path: "/tag/save",
149-
icon: "edit"
150-
},
151-
{
152-
name: "标签列表",
153-
path: "/tag/list",
154-
icon: "navicon-round"
155-
}
156-
]
157114
},
158115
{
159116
name: "系统设置",
@@ -174,6 +131,8 @@ export default {
174131
home: "控制台",
175132
content: "内容",
176133
category: "分类",
134+
page: "页面",
135+
comment: "评论",
177136
tag: "标签",
178137
save: "编辑",
179138
list: "列表"

admin/src/view/category/list.vue

+21-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,22 @@
11
<template>
2-
<Table border :loading="loading" :columns="columns" :data="data"></Table>
2+
<div>
3+
<Form ref="formInline" inline>
4+
<FormItem>
5+
<Button type="primary" icon="plus" @click="add">添加分类</Button>
6+
</FormItem>
7+
</Form>
8+
<Table border :loading="loading" :columns="columns" :data="data"></Table>
9+
</div>
310
</template>
411
<script>
512
import { category } from "@/api";
6-
import { Button, Table } from 'iview';
13+
import { Button, Table, Form, FormItem } from 'iview';
714
export default {
815
components: {
916
Button,
10-
Table
17+
Table,
18+
Form,
19+
FormItem
1120
},
1221
data() {
1322
return {
@@ -49,7 +58,8 @@ export default {
4958
{
5059
props: {
5160
type: "primary",
52-
size: "small"
61+
size: "small",
62+
icon:'edit'
5363
},
5464
style: {
5565
marginRight: "5px"
@@ -64,15 +74,15 @@ export default {
6474
});
6575
}
6676
}
67-
},
68-
"编辑"
77+
}
6978
),
7079
h(
7180
"Button",
7281
{
7382
props: {
7483
type: "error",
75-
size: "small"
84+
size: "small",
85+
icon:'trash-a'
7686
},
7787
on: {
7888
click: () => {
@@ -81,8 +91,7 @@ export default {
8191
}
8292
}
8393
}
84-
},
85-
"删除"
94+
}
8695
)
8796
]);
8897
}
@@ -102,6 +111,9 @@ export default {
102111
category.delete(id).then(res => {
103112
this.data.splice(index, 1);
104113
});
114+
},
115+
add(){
116+
this.$router.push('/category/save');
105117
}
106118
},
107119
mounted() {

admin/src/view/category/save.vue

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,12 +45,12 @@ export default {
4545
if (this.formItem.id) {
4646
//更新数据
4747
category.update(this.formItem.id, this.formItem).then(res => {
48-
this.$router.push("/admin/category/list");
48+
this.$router.push("/category/list");
4949
});
5050
} else {
5151
//新增数据
5252
category.create(this.formItem).then(res => {
53-
this.$router.push("/admin/category/list");
53+
this.$router.push("/category/list");
5454
});
5555
}
5656
} else {

0 commit comments

Comments
 (0)