Skip to content
目录

基于 chatgpt 的面经 h5 项目开发

面经 h5 项目介绍

面经 h5 项目是一个vue入门的项目,主要功能包括注册登录,面经列表页面,收藏和喜欢的页面以及个人中心页面,技术栈使用的vue2的全家桶,组件库选用vant组件库。接下来,就来使用 chatgpt 帮助我们从 0 到 1 来实现面经 h5 项目。

ChatGPT编码

开始

项目初始化

目标:使用 chatgpt 帮助我们一步一步的搭建好项目。

在初始化阶段我们需要 chatgpt 帮我们完成以下几步:

搭建项目

prompt:请使用 vue2 搭建一个前端 h5 项目,项目名称为“heima-interview”,并配置移动端适配。

引入组件库

prompt:请在项目中引入 vant 组件库,需要安装 2.x 版本的,并配置按需加载。

配置路由

prompt:请在项目中配置下路由,注意需要安装 vue-router3.x 版本的

封装 axios

prompt:请封装下 axios 相关的配置,包括鉴权还有登录拦截

登录&注册

目标:使用 chatgpt 来实现用户登录和注册的功能

ChatGPT编码

添加路由

prompt:请添加下登录页面和注册页面的路由

注册页面

prompt:

请实现下注册页面,功能如下:

1.顶部有一个导航栏,标题为“面经注册”;

2.页面中有一个表单,表单中有“用户名”和“密码”两个元素,另外还有一个提交按钮;

3.表单右下方还有个小提示,提示内容为“有账号,去登录”,点击后会跳转登录页面;

功能的实现尽量依赖 vant 提供的组件

注册功能

接口 baseUrl:http://interview-api-t.itheima.net/

prompt:请完善下注册函数,注册的接口地址为“/h5/user/register”,请求方法为 post,参数有两个,username 和 password,分别对应用户名和密码,注册成功后需要跳转到登录页面

登录页面

chatgpt 推理能力很强,因为注册页面和登录页面样式基本一致,所以只需要输入下面的提示词就可以了

prompt:请实现下登录页面,页面功能和注册页面一样

登录功能

prompt:请完善下登录函数,登录的接口地址为“/h5/user/login”,请求方法为 post,参数有两个,username 和 password,分别对应用户名和密码,成功后需要将服务器返回的 token 存储到本地,然后跳转到首页

首页布局

目标:使用 chatgpt 来帮助完成首页布局和路由配置

ChatGPT编码

路由设计:

  • 登录页 (一级)
  • 注册页(一级)
  • 首页(一级)
    • 面经(二级)
    • 收藏(二级)
    • 喜欢(二级)
    • 我的(二级)

prompt:请实现首页的布局,首页是一个一级页面,页面内容有两块,上面部分展示以下四个二级页面的内容,分别是“面经”,“收藏”,“喜欢”和“我的”,底部是一个 tab 栏,用 vant 的 tabbar 组件实现,一共有四个 tab,分别对应前面的四个二级页面,并且点击对应的 tab 就会跳转到对应的页面,默认是面经页面,还需要实现这几个页面的路由的配置,项目打开需要默认会跳转到首页。

面经页面

页面布局

ChatGPT编码

prompt:请实现下面经页面的布局,面经页面包含两个部分:

首先页面头部的左边有两个可点击的选项,分别是“推荐”和“最新”,右边是项目的 logo,头部固定在页面顶部。

然后是面经的列表,这个列表是一个无限滚动列表,使用 vant 组件实现,列表每一项的内容是从服务器上请求的数据

列表请求

prompt:获取面经列表的接口地址为“h5/interview/query”,请求方式为 get,参数有三个:

1.current,表示请求第几页的数据;

2.pageSize,表示每页多少条数据,默认给 10;

3.sorter,如果在推荐栏,则传 weight_desc,如果在最新栏,则不传

每次切换 tab 需要重新请求数据,如果滚动到底部,自动请求下一页数据,直到最后一条,请用 vant 的 list 组件实现下获取数据的逻辑

面经组件

prompt:列表中返回的每条面经的数据包括作者的名称和头像,发布时间,还有面经的标题和内容,以及点赞量和浏览量,请实现一个 InfoWrapper 组件来展示这些内容

收藏(喜欢)页面

prompt:请实现下收藏页面,收藏页面是一个无限滚动列表,能拉取所有的收藏的面经,每个面经的展示可以用之前封装的 InfoWrapper 组件,接口地址为“/h5/interview/opt/list”,参数有三个,分别是“page”,“pageSize”和“optType”,其中“optType”的值为 1

喜欢页面和收藏页面类似,只需要改下参数即可

我的页面

个人信息展示

prompt:请实现“我的”页面,进入页面时会请求个人信息,包括头像和用户名,然后将这部分信息展示在页面上

跳转部分

prompt:接着下面会有三个跳转的链接,分别是“历史记录”,“我的收藏”和“我的点赞”,三个链接水平分布,并且都需要添加一个额外的图标展示,请实现这部分代码

卡片部分

prompt:接着下面是一个列表,这个列表中有四个元素,分别是“推荐分享”,“意见反馈”,“关于我们”和“退出登录”,点击前三个分别会跳转到对应的页面,点击退出登录会清除存储的 token,然后跳转登录页,可以用单元格组件实现

根据 MIT 许可证发布