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+
0 commit comments