Skip to content

Commit dc2e290

Browse files
committed
完善项目
1 parent 3f0e0a2 commit dc2e290

File tree

3 files changed

+129
-83
lines changed

3 files changed

+129
-83
lines changed

README.md

Lines changed: 124 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
1-
# vue-bytedance_job
1+
# vue-bytedancejob
22

3-
`Vue`重构字节跳动招聘官网的单页面应用
3+
一个`Vue`重构字节跳动公司招聘官网的单页面应用
44

55
## 线上预览
66

77
[http://123.56.124.33:3000](http://123.56.124.33:3000)
88

9-
![vue-bytedanceJob](./screenshots/previewQrcode.png)
10-
119
## Clone project
1210

1311
```bash
@@ -23,16 +21,25 @@ npm install
2321
### Compiles and hot-reloads for development
2422

2523
```bash
26-
npm run dev
24+
npm run dev
2725
```
28-
26+
默认启动 <http://localhost:8080>
2927
### Start server API
3028

3129
```bash
32-
npm run server
30+
npm run server 默认监听`http://localhost:3000`
3331
```
3432

35-
> 如果`vue.config.js`文件中的`devServer.proxy`选项为本地服务器地址的话,则需要启动此命令。
33+
> 默认不需要启动,如果需要调试服务器接口,请配置根目录下的`vue.config.js`文件,默认配置如下
34+
35+
```js
36+
module.exports = {
37+
devServer: {
38+
proxy: "http://123.56.124.33:3000",
39+
// proxy: "http://localhost:3000",
40+
},
41+
};
42+
```
3643

3744
### Compiles and minifies for production
3845

@@ -51,106 +58,140 @@ npm run build
5158
- [x] 职位详情
5259
- [x] 产品与服务
5360
- [x] 员工故事
54-
- [x] 校园招聘
61+
- [x] 校园招聘(外链)
5562

63+
- [ ] 注册(由于有一定的复杂度此功能暂未实现,。欢迎有兴趣的同学协同实现此功能)
5664
- [ ] 登录
65+
- [x] 邮箱登录(需要官方网站注册邮箱账号)
66+
- [ ] 手机号登录
67+
- [x] 退出
5768
- [ ] 简历投递
69+
- [x] 简历
70+
- [x] 我的简历
71+
- [x] 简历上传
72+
- [x] 编辑简历
73+
- [x] 保存简历
5874

5975
## 技术栈
6076

6177
`vue` `vue-router`
6278

6379
`vue-cli` `less`
6480

65-
`axios` `lodash` `es6`
81+
`axios` `lodash` `es6~7`
6682

67-
`express` `node-fetch`
83+
`express` `node-fetch` `http-proxy-middleware`
6884

69-
## 服务端`API`
85+
## 项目结构
7086

71-
1. [首页](./docs/home.md)
72-
- http://123.56.124.33:3000/api/staff-stories
73-
- http://123.56.124.33:3000/api/byte-standards
74-
2. [产品](./docs/product.md)
87+
<b><details><summary>组件</summary></b>
7588

76-
- http://123.56.124.33:3000/api/products
89+
```
90+
components
91+
├── Bytedance-Button.vue //主题按钮,可定制尺寸
92+
├── Checkbox-Transfer.vue // 复选框穿梭选择器,用来选择搜索职位
93+
├── File-Icon.vue 文件上传后可显示指定的图标
94+
├── Input-Search.vue 搜索输入框
95+
├── Loading 数据加载组件(支持API调用和指令调用)
96+
│ ├── Loading.vue
97+
│ └── main.js
98+
├── Logo.vue 主题颜色可变的logo组件
99+
├── Pagination.vue 分页器组件
100+
├── footer.vue
101+
└── header.vue
77102
78-
3. [职位](./docs/job.md)
103+
```
79104

80-
- `POST` http://123.56.124.33:3000/api/jobs
105+
</details>
81106

82-
* http://123.56.124.33:3000/api/jobs/6826273638594103559
107+
<b><details><summary>页面</summary></b>
83108

84-
- http://123.56.124.33:3000/api/job-filters
109+
```
110+
views
111+
├── Home.vue 首页
112+
├── JobDetail.vue 职位详情
113+
├── Jobs.vue 职位列表浏览
114+
├── Products.vue 产品展示
115+
├── Resume.vue 简历预览
116+
├── ResumeEditor.vue 编辑简历
117+
├── StaffStory.vue 员工故事
118+
└── User.vue 用户
85119
86-
* http://123.56.124.33:3000/api/job-categories
120+
```
87121

88-
## 项目结构
122+
</details>
123+
124+
<b><details><summary>辅助工具</summary></b>
125+
126+
```
127+
src/helper
128+
├── notification.plugin.js 项目全局消息通知插件,只在开发环境使用,辅助开发
129+
├── registerElementComponents.js 按需引入第三方组件库
130+
├── registerGlobalComponents.js 全局注册手动开发的组件
131+
├── request.js 不带有`token`的`axios`请求示例
132+
├── requestWithToken.js 带有`token`的`axios`请求示例,主要包含简历相关的接口
133+
└── utilities.js 其他工具函数
134+
```
135+
136+
</details>
137+
138+
<b><details><summary>静态资源文件`/src/assets`</summary></b>
89139

90140
```
91-
vue-byte_dance_job
92-
├── public
93-
│ ├── favicon.ico
94-
│ └── index.html
95-
├── screenshots
96-
│ ├── home.gif
97-
│ ├── job.gif
98-
│ ├── jobDetail.gif
99-
│ ├── navbar.gif
100-
│ ├── previewQrcode.png
101-
│ ├── product.gif
102-
│ └── staffStory.gif
103-
├── server
104-
│ ├── controller
105-
│ │ ├── jobs.js
106-
│ │ ├── productAndStandard.js
107-
│ │ ├── request.js
108-
│ │ └── staff-stories.js
109-
│ ├── app.js
110-
│ ├── data.json
111-
│ ├── package-lock.json
112-
│ ├── package.json
113-
│ └── router.js
141+
src/assets
142+
└── style 样式
143+
├── global.css 自定义全局样式
144+
├── mixin.less 定义的混入样式
145+
├── reset.css 重置浏览器默认样式
146+
└── variable.less 项目全局变量
147+
```
148+
149+
</details>
150+
151+
<b><details><summary>服务端</summary></b>
152+
153+
```
154+
server
155+
├── app.js 项目启动入口
156+
├── controller 代理请求回调函数目录
157+
│ ├── jobs.js 职位
158+
│ ├── productAndStandard.js 产品和字节范
159+
│ ├── request.js 代理请求示例
160+
│ └── staff-stories.js 员工故事
161+
├── data.json 页面静态数据存放文件
162+
├── package.json
163+
└── router.js 代理接口路由
164+
165+
```
166+
</details>
167+
168+
<b><details><summary>源代码其他文件</summary></b>
169+
```
114170
├── src
115-
│ ├── assets
116-
│ │ └── style
117-
│ │ ├── global.css
118-
│ │ ├── mixin.less
119-
│ │ ├── reset.css
120-
│ │ └── variable.less
121-
│ ├── components
122-
│ │ ├── Bytedance-Button.vue
123-
│ │ ├── Checkbox-Transfer.vue
124-
│ │ ├── Footer.vue
125-
│ │ ├── Header.vue
126-
│ │ ├── Input-Search.vue
127-
│ │ ├── Logo.vue
128-
│ │ └── Pagination.vue
129-
│ ├── helper
130-
│ │ ├── registerGlobalComponents.js
131-
│ │ ├── request.js
132-
│ │ └── utilities.js
133-
│ ├── router
171+
│ ├── App.vue 入口组件
172+
│ ├── main.js 应用入口
173+
│ ├── router 路由
134174
│ │ └── index.js
135-
│ ├── views
136-
│ │ ├── Home.vue
137-
│ │ ├── JobDetail.vue
138-
│ │ ├── Jobs.vue
139-
│ │ ├── Products.vue
140-
│ │ └── StaffStory.vue
141-
│ ├── App.vue
142-
│ └── main.js
143-
├── test
144-
├── README.md
145-
├── babel.config.js
146-
├── deploy.local.sh
147-
├── deploy.sh
148-
├── package-lock.json
149-
├── package.json
150-
└── vue.config.js
175+
│ ├── store 全局共享状态
176+
│ │ └── index.js
177+
```
178+
</details>
151179

180+
<b><details><summary>根目录</summary></b>
152181

153182
```
183+
vue-bytedanceJob
184+
├── docs/ 服务端接口文档
185+
├── public/ 项目公共文件
186+
├── server/ 服务端目录
187+
├── src/ 代码源目录
188+
├── test/
189+
├── README.md 项目介绍文档
190+
├── babel.config.js 按需引入第三方库在这里配置
191+
├── package.json 项目包介绍
192+
└── vue.config.js 项目配置
193+
```
194+
</details>
154195

155196
## 项目截图
156197

@@ -160,9 +201,11 @@ vue-byte_dance_job
160201
![vue-bytedanceJob](./screenshots/jobDetail.gif)<br>
161202
![vue-bytedanceJob](./screenshots/product.gif)<br>
162203
![vue-bytedanceJob](./screenshots/staffStory.gif)
204+
![vue-bytedanceJob](./screenshots/resume.gif)
163205

164206
## 支持
165207

166208
如果看完此项目对您学习`Vue`有帮助的话,请您动手点一下`star`,有了您的支持,我会有更大的动力开源更多有趣的项目出来,谢谢!
167209

168210
> 查看本项目技术解密文章请点击我的个人博客[https://juejin.im/post/5ef338c75188252e7f772aee](https://juejin.im/post/5ef338c75188252e7f772aee)查看,欢迎点赞和留言!
211+

screenshots/resume.gif

2.53 MB
Loading

src/views/Jobs.vue

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,10 @@ export default {
127127
};
128128
},
129129
clearable() {
130-
return this.job_category_id_list.length || this.location_code_list.length;
130+
return (
131+
this.job_category_id_list.length !== 0 ||
132+
this.location_code_list.length !== 0
133+
);
131134
}
132135
},
133136
watch: {
@@ -212,8 +215,8 @@ export default {
212215
.clear {
213216
&.clearable {
214217
color: @main-color;
218+
cursor: pointer;
215219
}
216-
cursor: pointer;
217220
}
218221
}
219222
.job-filter-block {

0 commit comments

Comments
 (0)