Skip to content

Commit 6a1bac6

Browse files
committed
feat: optimize readme and fix a typo error
1 parent ee9e138 commit 6a1bac6

File tree

2 files changed

+48
-40
lines changed

2 files changed

+48
-40
lines changed

readme.md

Lines changed: 47 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,28 @@
11
## `vue`项目实战小节
2-
> 由于项目是边学习边进行实践,所以对应的注释会比较多,有些问题没有解释清楚还请谅解
2+
> 由于项目是边学习边进行实践,所以对应的注释会比较多。
3+
4+
* [源码地址](https://github.com/wangkaiwd/vue-admin)
5+
* [预览地址](https://wangkaiwd.github.io/vue-admin/#/login)
6+
37
### 项目初衷
4-
在最近的一段时间,一直负责公司的后台管理系统的开发和维护,整个技术栈涉及到`react + redux + redux-thunk + ant design`,并且将`react`升级到了`16.8`最新版本,尝试了`react hooks`的使用。之后自己也在`github`写了一个[`react`版本](https://github.com/wangkaiwd/react-create-app-kit)的后台管理系统的模板。
8+
在最近的一段时间,一直负责公司的后台管理系统的开发和维护,整个技术栈涉及到`react + redux + redux-thunk + ant design`,并且将`react`升级到了`16.8`最新版本,尝试了`react hooks`的使用。之后自己也在`github`写了一个[`react`版本](https://github.com/wangkaiwd/react-create-app-kit) 的后台管理系统的模板。
9+
10+
这之前一直有用`vue`写一些组件,但是却一直没有写过后台管理系统,所以这次既算是对`vue`写后管理系统的一次尝试,也是自己对后台管理系统相关业务需求和`vue`整体知识的一个总结,方便之后自己复习和回顾,也希望能帮助到社区的小伙伴。
511

6-
这之前一直有用`vue`写一些组件,但是却一直没有写过后台管理系统,所以这次既算是对`vue`写后管理系统的一次尝试,也是自己对后台管理系统相关业务需求和`vue`整体知识的一个总结,方便之后自己的复习和回顾,也希望能帮助到社区的小伙伴。
712
### 项目介绍
8-
该项目是一个`vue`技术栈结合`express+mongodb`实现的一个后台管理系统,其中后台只是实现了登录注册等用户接口以及一个列表的增删改查。整个项目以前端为主,是一个通用的后台管理系统,并且集成了富文本、`echarts`并进行了二次封装。由于`element-ui`提供的`icon`图表较少,自己也在项目中加入了一个`AdminIcon`组件。
13+
项目截图:
14+
![](https://raw.githubusercontent.com/wangkaiwd/drawing-bed/master/20201023144614.png)
15+
![](https://raw.githubusercontent.com/wangkaiwd/drawing-bed/master/20201023144738.png)
916

10-
项目中的大多数需求都是根据自己工作中碰到需求的一个总结,有可能带有一些片面性,在使用的时候要根据自己的需求进行改进。项目中也通过几个真实的后台接口,真实模拟了一个简单的增删改查,在写登录注册时也对`jsonwebtoken`进行了简单实践,这也算是自己在后端接口方面的一个实战
17+
该项目是一个`vue`技术栈结合`express+mongodb`实现的一个后台管理系统,其中后台只是实现了登录注册等用户接口以及一个列表的增删改查
1118

12-
想要学习`node`的小伙伴可以点击这里:[`node`入门笔记](https://github.com/wangkaiwd/nodejs-relevant/blob/master/nodeBase/readme.md),这是我在网上整理的一份`node`入门笔记,喜欢的可以`star`
19+
整个项目以前端为主,是一个通用的后台管理系统,并且集成了富文本、`echarts`并进行了二次封装。由于`element-ui`提供的`icon`图表较少,自己也在项目中加入了一个`AdminIcon`组件
1320

14-
项目截图:
15-
#### 项目启动
21+
项目中的大多数需求都是根据自己工作中碰到需求的一个总结,有可能带有一些片面性,在使用的时候要根据自己的需求进行改进。项目中也通过几个真实的后台接口,模拟了一个简单的增删改查。在写登录注册时也对`jsonwebtoken`进行了简单实践,这也算是自己在后端接口方面的一个实战。
22+
23+
想要学习`node`的小伙伴可以点击这里:[`node`入门笔记](https://github.com/wangkaiwd/nodejs-relevant/blob/master/nodeBase/readme.md) ,这是我在网上整理的一份`node`入门笔记,喜欢的可以`star`
24+
25+
### 本地开发
1626
```npm
1727
git clone git@github.com:wangkaiwd/vue-admin.git
1828
cd vue-admin
@@ -27,9 +37,11 @@ yarn build:pro
2737
# 打包文件分析
2838
yarn build:analyze
2939
```
30-
注意事项:
31-
* 本地开发的话可以结合对应的真实接口来使用,接口`dmoe`我写到了另外一个仓库:https://github.com/wangkaiwd/node-interface-demo。
40+
41+
注意事项:
42+
* 本地开发的话可以结合对应的真实接口来使用,接口`dmoe`我写到了另外一个仓库:[`node-interface-demo`](https://github.com/wangkaiwd/node-interface-demo)
3243
* 使用真实接口开发的话要注释`axios``baseURL`,并在`vue.config.js`中配置服务代理
44+
3345
#### 项目技术栈
3446
前端是以`vue`为主的技术栈,包括如下:
3547
* `vue`
@@ -39,14 +51,33 @@ yarn build:analyze
3951
后端是以`express`为主结合`mongodb`数据库完成:
4052
* `express`
4153
* `mongodb`
54+
55+
### 实现功能
56+
* 后台接口
57+
- [x] 登录
58+
- [x] 注册
59+
- [x] 退出
60+
- [x] 使用`token`实现身份认证
61+
- [x] 列表数据(增、删、改、查、分页)
62+
* `vue`组件封装
63+
- [x] 富文本组件(图片上传暂未实现)
64+
- [x] `echarts`组件
65+
- [x] 区域分割组件
66+
* 项目模块
67+
- [x] `axios`请求封装
68+
- [x] `list`页面增删改查`demo`
69+
- [x] 左侧导航栏收缩
70+
- [x] `mock`数据接入
71+
4272
#### 项目依赖
43-
* [`axios`](https://github.com/axios/axios):基于`Promise``http`客户端,用于浏览器和`node.js`
44-
* [`qs`](https://github.com/ljharb/qs):支持解析嵌套的`querystring`。通俗来讲就是可以将以`key1=val1&key2=val2&...`格式的字符串转换为对象格式`{key1:val1,key2:val2,...}`
45-
* [`elemente ui`](http://element-cn.eleme.io/#/zh-CN/component/installation):基于`Vue 2.0`的桌面端组件库
73+
74+
* [`axios`](https://github.com/axios/axios) :基于`Promise``http`客户端,用于浏览器和`node.js`
75+
* [`qs`](https://github.com/ljharb/qs) :支持解析嵌套的`querystring`。通俗来讲就是可以将以`key1=val1&key2=val2&...`格式的字符串转换为对象格式`{key1:val1,key2:val2,...}`
76+
* [`elemente ui`](http://element-cn.eleme.io/#/zh-CN/component/installation) :基于`Vue 2.0`的桌面端组件库
4677
* [`dayjs`](https://github.com/iamkun/dayjs): 一个轻量的日期处理库,用法和`moment.js`类似
4778
* [`countup.js`](https://inorganik.github.io/countUp.js/): 一个有趣的数字动画库
4879
* [`wangeditor`](http://www.wangeditor.com/): 基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费
49-
* [`echarts`](https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts):一个使用 JavaScript 实现的开源可视化库
80+
* [`echarts`](https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20ECharts) :一个使用 JavaScript 实现的开源可视化库
5081

5182
#### 权限控制
5283
在实际工作中,前端是不可能一个人完成权限控制的,我们需要与后端配合。这个时候后端需要返回给我们类似这样的数据:
@@ -136,33 +167,10 @@ const router = {
136167
```
137168

138169
#### 参考`demo`
139-
参考了社区优秀的`vue-admin`项目,给各位大佬`star`:
170+
171+
参考了社区优秀的`vue-admin`项目,给各位大佬递茶:
140172
* [`vue-element-admin`](https://github.com/PanJiaChen/vue-element-admin)
141173
* [`vue-admin-template`](https://github.com/PanJiaChen/vue-admin-template)
142174
* [`vue-admin`](https://github.com/taylorchen709/vue-admin)
143-
### 实现功能
144-
* 后台接口
145-
- [x] 登录
146-
- [x] 注册
147-
- [x] 退出
148-
- [x] 使用`token`实现身份认证
149-
- [x] 列表数据(增、删、改、查、分页)
150-
* `vue`组件封装
151-
- [x] 富文本组件(图片上传暂未实现)
152-
- [x] `echarts`组件
153-
- [x] 区域分割组件
154-
* 项目模块
155-
- [x] `axios`请求封装
156-
- [x] `list`页面增删改查`demo`
157-
- [x] 左侧导航栏收缩
158-
- [x] `mock`数据接入
159-
### 项目中碰到的比较难的逻辑小结
160-
将项目中碰到的不太容易的逻辑罗列出来,方便之后的反复练习,针对类似的问题可以快速相处解决方法
161-
162-
路由列表生成、权限控制、顶部多`tab`:
163-
* 根据指定字段过滤路由列表: 过滤掉一个递归数组中不满足条件的元素
164-
* 将路由列表数组根据某个字段进行子项的位置调整:将递归数组中的某一项位置移动
165-
* 根据路由列表生成面包屑:找出满足条件元素的所有父元素
166-
* 通过某个字段来找出路由列表中的对应项
167175

168176

src/views/login/index.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
</el-form-item>
2121
<el-form-item>
2222
<el-col class="admin-login-form-register" :span="20">
23-
<el-col>已经有账号了?去
23+
<el-col>还没有账号了?去
2424
<router-link to="/register">注册</router-link>
2525
</el-col>
2626
<el-button type="primary" @click="onSubmit" :loading="loginLoading">登录</el-button>

0 commit comments

Comments
 (0)