返回》

网站前端AI提示词

# 新手用AI从0-1开发网站 - 网站前端AI提示词

## 前端环境准备:

1. 本地电脑安装nodejs20+

   - https://nodejs.org/zh-cn/download

2. 新建文件夹ai-web-01(根据自己的需求命名,记得替换提示词中的文件夹名称)

   - 打开cursor后进入项目文件夹ai-web-01


## 新建网站前端框架


1. 新建项目框架

不要询问,直接执行命令。

目录ai-web-01下新建一个网站前端项目frontend-web01,基于nodejs20+Vue3+vite+TypeScript,我们的网站名是知识乐园

- 直接使用 Vite 模板,完全跳过交互,可以直接使用 Vite 的 Vue+TS 模板: npm create vite@latest my-project -- --template vue-ts

- 在该项目下的package.json中添加必要依赖,注意不要添加其他非必要依赖,一次性安装

- 要注意Vue Router 4中RouteRecordRaw的导入方式

- 在这一步里,请不要写与基础框架无关的页面,比如除了首页、404之外的其他页面。

- 检测是否安装node.js,如果未安装则安装,若已安装则无需再次安装

- 创建一个简洁的 README.md 文件,包含项目介绍和启动方法

- 确保代码是响应式的,不需要兼容移动端,所有页面默认是pc端页面

- 项目运行默认端口8000

- 创建.gitignore文件,并添加Vue项目常见的忽略内容


2. 添加依赖

进入项目,在该项目下的package.json中添加以下依赖:

Element Plus、Vue Router、axios、echarts、mitt、vuex、vuex-along

   - 注意组件版本兼容性

   - 在这一步里,不要添加任何与基础框架无关的页面。


3. 创建布局

创建布局,需要包含以下组件:

Layout主组件,作为路由的父级容器,主组件内嵌套header组件、内容区router-view、footer组件

调整项目整体样式,整体宽度100%,header组件高度为60px,layout的内容区域根据设备自适应宽度(PC端1280px,移动端375px)

header内容区要添加导航栏,导航栏的宽度要略大于内容区宽度,让页面布局更加协调,导航项:主页、圈子、工具包、教程、问答、求职,设置活跃项的底部蓝色指示线

导航栏右侧添加搜索框并添加搜索按钮,新增"发布"和"登录"按钮,优化布局和间距

header组件、内容区、footer组件优化布局和间距

   - 用一个默认正方形图片作为logo,默认图片从这个网站引用https://picsum.photos/

   - 在这一步里,不要添加任何与基础框架无关的页面。





## 开发页面

找对标站点的页面,截图当做设计图

把设计图发给cursor对话框,让cursor参考设计图的布局以及样式,创建页面

循环往复,直到完成所有页面、

小技巧:先让cursor创建一个默认页面,然后上传设计图,让Cursor根据设计图调整布局、样式、功能模块

比如:

1. 参考这个设计图的布局与样式,修改首页以及header组件里的导航栏布局,不要修改导航项,我们的网站名是知识乐园

2. 根据新上传的这个设计图,修改 Home 页面的布局和样式,保持现有文字内容不变,同时保持 已有的header 导航栏组件不变。

3. 这个首页布局与样式还需要继续优化,参考我刚才给你的设计图,继续优化布局样式

4. 调整页面布局,让热门圈子模块占据所有宽度,并将圈子榜单放在热门圈子下方,与热门话题在同一行。

5. 根据设计图,新增圈子详情页面,首页点击圈子卡片后,跳转到该详情页面


无设计图时,可以提要求让AI新建页面,需要详细描述页面大致布局以及功能:

比如:

1. 新建登录页面,知识分享网站登录页面,包含表单、用户名、密码输入框、忘记密码和立即注册按钮

2. 新增一个注册页面,与登录页面的风格一致,表单内容要用户名、昵称、性别、密码、确认密码,以及勾选阅读同意用户协议和隐私政策,还有一个已有账号返回登录的文字按钮




## 网站对接后台接口


创建圈子页面需要对接新增圈子的接口,接口地址:http://192.168.31.120:3000/api/circles/create,

请求的Header要有Authorization参数,参数值参考:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTMsInVzZXJuYW1lIjoid2FuZyIsImVtYWlsIjoiYXNmZXdmQHFxLmNvbSIsInJvbGUiOjEsImlhdCI6MTc1MDE3NDM5NywiZXhwIjoxNzUwNzc5MTk3fQ.ANNSwya0TVLgqN3j971zhsu1ttK8jUrsBo9SbzSTNxQ

,请求参数:

{

  "category_id": 1,

  "category_name": "科技",

  "type": 1,

  "name": "AI技术交流圈",

  "cover": "https://example.com/cover.jpg",

  "introduction": "这是一个关于人工智能技术的交流圈子",

  "content_description": "这里我们将深入讨论机器学习、深度学习等各种AI技术...",

  "price": 0.00,

  "annual_fee_type": 1,

  "status": 1

}

响应结果:

{

    "message": "创建圈子成功",

    "data": {

        "create_time": "2025-06-17T15:37:50.188Z",

        "update_time": "2025-06-17T15:37:50.188Z",

        "id": 11,

        "category_id": 1,

        "category_name": "科技",

        "type": 1,

        "name": "AI技术交流圈",

        "cover": "https://example.com/cover.jpg",

        "introduction": "这是一个关于人工智能技术的交流圈子",

        "content_description": "这里我们将深入讨论机器学习、深度学习等各种AI技术...",

        "price": 0,

        "annual_fee_type": 1,

        "status": 1,

        "author_id": 13,

        "author_name": "wang",

        "member_count": 0,

        "post_count": 0

    }

}



注册页面需要对接注册接口,接口地址:http://localhost:3000/api/auth/register,请求参数:{

  "username": "john_do123e",

  "email": "john123@example.com",

  "password": "securePassword123",

  "confirmPassword": "securePassword123",

  "nickname": "John",

  "gender": 1

},响应结果:{

    "message": "注册成功",

    "user": {

        "id": 12,

        "username": "john_do123e",

        "email": "john123@example.com",

        "nickname": "John",

        "role": 1

    },

    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTIsInVzZXJuYW1lIjoiam9obl9kbzEyM2UiLCJlbWFpbCI6ImpvaG4xMjNAZXhhbXBsZS5jb20iLCJyb2xlIjoxLCJpYXQiOjE3NDk3NDMwMzMsImV4cCI6MTc1MDM0NzgzM30.Soz7VOxH9YanJQtnyIiPsArA5Q4iCaLZ9mcW5bbp4yo"

}




登录页面需要对接登录接口,接口地址:http://192.168.31.120:3000/api/auth/login,请求参数:{

  "login": "test@example.com",

  "password": "Password123!"

},响应结果:{

    "message": "注册成功",

    "user": {

        "id": 12,

        "username": "john_do123e",

        "email": "john123@example.com",

        "nickname": "John",

        "role": 1

    },

    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTIsInVzZXJuYW1lIjoiam9obl9kbzEyM2UiLCJlbWFpbCI6ImpvaG4xMjNAZXhhbXBsZS5jb20iLCJyb2xlIjoxLCJpYXQiOjE3NDk3NDMwMzMsImV4cCI6MTc1MDM0NzgzM30.Soz7VOxH9YanJQtnyIiPsArA5Q4iCaLZ9mcW5bbp4yo"

}

获取到token,需要保存在localStorage中,下次登录时,从localStorage中获取token,并添加到请求头中。登录成功后,跳转到首页,首页的登录按钮改为用户信息





首页热门圈子模块,需要对接获取圈子列表接口,接口地址:http://192.168.31.120:3000/api/circles,这个接口是post请求,

请求参数:{

  "page": 1,

  "pageSize": 8

}

响应结果:{

    "message": "获取圈子列表成功",

    "data": {

        "circles": [

            {

                "id": 5,

                "category_id": 4,

                "category_name": "艺术",

                "type": 1,

                "name": "摄影爱好者",

                "cover": "https://example.com/covers/photography.jpg",

                "introduction": "摄影作品分享与点评",

                "content_description": "分享摄影技巧、作品和后期处理经验。定期组织线下拍摄活动。",

                "price": "199.00",

                "annual_fee_type": 4,

                "create_time": "2023-04-12T11:10:00.000Z",

                "update_time": "2023-06-17T09:45:00.000Z",

                "status": 1,

                "author_id": 105,

                "author_name": "陈摄影师",

                "member_count": 432,

                "post_count": 287

            }

            

        ],

        "pagination": {

            "total": 10,

            "page": 1,

            "pageSize": 10,

            "totalPages": 1

        }

    }

}



首页圈子分类模块,需要获取圈子类型接口渲染标签组,接口地址:http://192.168.31.120:3000/api/circles/categories,这个接口是post请求,

请求参数:{

  "parent_id": 0,

  "status": 1,

  "level": 1,

  "is_tree": true

}

响应结果:{

    "message": "获取圈子分类列表成功",

    "data": [

        {

            "id": 1,

            "name": "科技",

            "description": "探索科技前沿,分享技术心得",

            "icon": "https://example.com/icons/tech.png",

            "cover_image": "https://example.com/covers/tech.jpg",

            "parent_id": 0,

            "level": 1,

            "sort_order": 100,

            "status": 1,

            "circle_count": 15,

            "created_at": "2025-06-16T22:55:04.000Z",

            "updated_at": "2025-06-16T22:55:04.000Z",

            "created_by": 1,

            "updated_by": null,

            "is_deleted": 0

        }

    ]

}



首页圈子榜单模块,点击tab按钮,需要对接根据圈子类型id获取学习榜单接口,只获取5条数据,接口地址:http://192.168.31.120:3000/api/circles/rank,这个接口是post请求,

请求参数:{

  "page": 1,

  "pageSize": 5,

  "category_id": 1

}

响应结果:{

    "message": "获取圈子学习榜单成功",

    "data": {

        "circles": [

            {

                "id": 1,

                "category_id": 1,

                "category_name": "科技",

                "circle_id": 101,

                "circle_name": "AI技术前沿",

                "circle_cover": "https://example.com/covers/ai-tech.jpg",

                "circle_intro": "人工智能技术交流",

                "author_name": "张教授",

                "heat_score": "98.50",

                "member_count": 3200,

                "post_count": 850,

                "like_count": 12500,

                "comment_count": 4200,

                "view_count": 85600,

                "activity_score": "95.20",

                "rank_position": 1,

                "rank_change": 1,

                "rank_type": 1,

                "rank_date": "2023-06-25",

                "rank_time": "2023-06-25T09:00:00.000Z"

            }

        ],

        "pagination": {

            "total": 1,

            "page": 1,

            "pageSize": 10,

            "totalPages": 1

        }

    }

}



圈子详情页面,需要对接获取圈子详情信息的接口,接口地址:http://192.168.31.120:3000/api/circles/detail,这个接口是post请求,

请求参数:

{

     "id": 1  // 圈子ID(必填)

   }

响应结果:

{

     "message": "获取圈子详情成功",

     "data": {

       "circle": {

         "id": 1,

         "category_id": 2,

         "category_name": "技术",

         "type": 1,

         "name": "编程学习",

         "cover": "https://picsum.photos/200/300",

         "introduction": "一起学习编程技术",

         "content_description": "详细介绍...",

         "price": 0.00,

         "annual_fee_type": 1,

         "status": 1,

         "author_id": 5,

         "author_name": "技术大牛",

         "member_count": 120,

         "post_count": 56,

         "create_time": "2023-06-15T12:30:45",

         "update_time": "2023-06-15T12:30:45"

       },

       "featuredTopics": [

         {

           "id": 1,

           "circle_id": 1,

           "topic_name": "精华主题1",

           "topic_description": "描述...",

           "topic_level": 3,

           "is_sticky": true,

           // 其他主题字段...

         },

         // 更多精华主题...

       ],

       "benefits": [

         {

           "id": 1,

           "circle_id": 1,

           "benefit_name": "专属内容",

           "description": "可以查看所有会员专属内容",

           "sort_order": 10,

           "create_time": "2023-06-15T12:30:45",

           "update_time": "2023-06-15T12:30:45"

         },

         // 更多会员权益...

       ]

     }

   }

THE END