vue |
您所在的位置:网站首页 › 字节跳动的来源 › vue |
vue-bytedanceJob
一个用Vue全家桶技术栈重构的字节跳动官方招聘网站 本项目所有数据均同步于官方网站,本人开发此项目主要是为了学习。 为了使自己提高手写代码,实现复杂业务逻辑的能力,本项目除了表单类的组件是使用第三方的组件库,其他功能组件均是自己手动封装的,向弹窗类的API组件和选择器类的模板调用组件等等都是综合基础功能和自身的业务逻辑相结合后实现的。通过封装这些组件,自己手写代码,封装逻辑的能力也是有了很大的提高,不仅如此,对于使用一些优秀的类库也是有了进一步的理解和使用。总之开发此项目收货满满。此外还有一些项目升级的需求和优化我也会持续更新,会持续的维护此项目。欢迎收藏和关注,谢谢! 线上预览http://123.57.204.48:3000 Clone project git clone [email protected]:konglingwen94/vue-bytedanceJob.git Project setup npm install Compiles and hot-reloads for development npm run dev默认启动 http://localhost:8080 Start server API npm run server 默认监听`http://localhost:3000`默认不需要启动,如果需要调试服务器端代码,请配置根目录下的vue.config.js文件,修改代理地址如下 module.exports = { devServer: { proxy: "http://localhost:3000", }, }; Compiles and minifies for production npm run build 主要功能首页 公司信息介绍 职位关键字搜索 城市职位检索 职位分类检索 职位列表分页展示 职位详情 产品与服务 员工故事 校园招聘(外链) 注册(由于服务端接口爬取有一定的复杂度,部分逻辑未实现,欢迎有兴趣的同学参与实现) 登录 邮箱登录(需要官方网站注册邮箱账号) 手机号登录退出 简历投递 简历 我的简历 简历上传 编辑简历 保存简历 技术栈vue vue-router vue-cli less axios lodash es6~7 express node-fetch http-proxy-middleware 数据接口爬取为了使本项目的数据和原网站保持同步,我决定亲自在浏览器的开发者工具爬取数据接口,虽然找接口的那段时间花费了不少精力和时间。当项目开发完成后,还是觉得所有的付出都是有收获的。在这我简单谈一下在找API接口过程中的采坑过程,希望对正在关注本项目的你有所启发。 在找一些包含大量数据类型的接口时并没有遇到很多困难,就按照平常我们开发项目时调式接口的基本操作,在多一点耐心,多调试几次就能找到。可是找接口的路还远远没有结束。后来项目开发到登录和注册的逻辑的时候,各种爬取接口的坑接踵而来。 其主要复杂的接口都在 这个文件里。比起之前数据类的接口这个文件里的接口在发送请求的时候需要携带一些验证身份信息的字段。而且中间又牵扯一系列的跨域问题。为了解决这些问题我也算是绞尽了脑汁,最后在使用postman不断的调试之后,终于成功解决了所有存在的问题。 项目结构组件 src/components components ├── Bytedance-Button.vue //主题按钮,可定制尺寸 ├── Checkbox-Transfer.vue // 复选框穿梭选择器,用来选择搜索职位 ├── File-Icon.vue 文件上传后可显示指定的图标 ├── Input-Search.vue 搜索输入框 ├── Loading 数据加载组件(支持API调用和指令调用) │ ├── Loading.vue │ └── main.js ├── Message 消息弹窗组件(使用API调用) │ ├── main.vue │ └── index.js ├── PopupProgress 弹窗进度条组件(支持API调用) │ ├── main.vue │ └── index.js ├── Logo.vue 主题颜色可变的logo组件 ├── Pagination.vue 分页器组件 ├── footer.vue └── header.vue页面 src/views views ├── Home.vue 首页 ├── JobDetail.vue 职位详情 ├── Jobs.vue 职位列表浏览 ├── Products.vue 产品展示 ├── Resume.vue 简历预览 ├── ResumeEditor.vue 编辑简历 ├── StaffStory.vue 员工故事 └── User.vue 用户辅助工具 src/helper/ src/helper ├── notification.plugin.js 项目全局消息通知插件,只在开发环境使用,辅助开发 ├── registerElementComponents.js 按需引入第三方组件库 ├── registerGlobalComponents.js 全局注册手动开发的组件 ├── request.js 不带有`token`的`axios`请求示例 ├── requestWithToken.js 带有`token`的`axios`请求示例,主要包含简历相关的接口 └── utilities.js 其他工具函数静态资源文件/src/assets src/assets └── style 样式 ├── global.css 自定义全局样式 ├── mixin.less 定义的混入样式 ├── reset.css 重置浏览器默认样式 └── variable.less 项目全局变量服务端 /server/ server ├── app.js 项目启动入口 ├── controller 代理请求回调函数目录 │ ├── jobs.js 职位 │ ├── productAndStandard.js 产品和字节范 │ ├── request.js 代理请求示例 │ └── staff-stories.js 员工故事 ├── data.json 页面静态数据存放文件 ├── package.json └── router.js 代理接口路由源代码其他文件 ├── src │ ├── App.vue 入口组件 │ ├── main.js 应用入口 │ ├── router 路由 │ │ └── index.js │ ├── store 全局共享状态 │ │ └── index.js根目录 vue-bytedanceJob ├── docs/ 服务端接口文档 ├── public/ 项目公共文件 ├── server/ 服务端目录 ├── src/ 代码源目录 ├── test/ ├── README.md 项目介绍文档 ├── babel.config.js 按需引入第三方库在这里配置 ├── package.json 项目包介绍 └── vue.config.js 项目配置 项目截图
https://github.com/konglingwen94/vue-bytedanceJob/issues/7 https://github.com/konglingwen94/vue-bytedanceJob/issues/6 个人博客总结https://juejin.im/post/6868884040029011975 https://juejin.im/post/6844904199289831432 支持如果看完此项目对您学习Vue有帮助的话,请您动手点一下star,有了您的支持,我会有更大的动力开源更多有趣的项目出来,谢谢! 由于服务端部分接口尚未获取到,有部分功能待实现。如果您对本项目感兴趣的话,也欢迎您能参与项目共建! 欢迎收藏和关注,谢谢! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |