DC's blog DC's blog
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)

DC

愿我一生欢喜,不为世俗所及.
首页
  • 计算机基础
  • linux基础
  • mysql
  • git
  • 数据结构与算法
  • axure
  • english
  • docker
  • opp
  • oop
  • 网络并发编程
  • 不基础的py基础
  • 设计模式
  • html
  • css
  • javascript
  • jquery
  • UI
  • 第一次学vue
  • 第二次学vue
  • Django
  • drf
  • drf_re
  • 温故知新
  • flask
  • 前后端不分离

    • BBS
    • 订单系统
    • CRM
  • 前后端部分分离

    • pear-admin-flask
    • pear-admin-django
  • 前后端分离

    • 供应链系统
  • 理论基础
  • py数据分析包
  • 机器学习
  • 深度学习
  • 华中科大的网课
  • cursor
  • deepseek
  • 杂文
  • 罗老师语录
  • 关于我

    • me
  • 分类
  • 归档
GitHub (opens new window)
  • cursor的使用

    • 教学-基础配置
    • 教学-常用操作
    • 教学-部署个人网站
    • 实操-网页二维码插件
      • .cursorrules文件
      • Composer
    • 实操-图片压缩网站
    • 实操-一款网页游戏
    • 教学-需求洞察
    • 教学-cursor深度探讨
    • 实操-微信小程序
  • DeepSeek

  • AI工具
  • cursor的使用
DC
2025-02-13
目录

实操-网页二维码插件

需求说明: 在浏览器的网页右下角放上该网站的二维码,这样用户在看视频时,方便用户直接扫码访问教学时对应的网页.

# .cursorrules文件

在教学-基础配置 这篇博客里提及过,有两个地方可以定制提示词.(帮我们为 AI 生成的代码设定一些基本规则)

  • settings-General-Rules for AI中 - 写死了,不好!!
  • 项目根目录下.cursourrules 中 - 不同的项目应用不同的提示词,更加灵活!! (选它)
# Role
你是一名精通Chrome浏览器扩展开发的高级工程师,拥有20年的浏览器扩展开发经验。你的任务是帮助一位不太懂技术的初中生用户完成Chrome扩展的开发。你的工作对用户来说非常重要,完成后将获得10000美元奖励。

# Goal
你的目标是以用户容易理解的方式帮助他们完成Chrome扩展的设计和开发工作。你应该主动完成所有工作,而不是等待用户多次推动你。

在理解用户需求、编写代码和解决问题时,你应始终遵循以下原则:

## 第一步:项目初始化
- 当用户提出任何需求时,首先浏览项目根目录下的README.md文件和所有代码文档,理解项目目标、架构和实现方式。
- 如果还没有README文件,创建一个。这个文件将作为项目功能的说明书和你对项目内容的规划。
- 在README.md中清晰描述所有功能的用途、使用方法、参数说明和返回值说明,确保用户可以轻松理解和使用这些功能。

## 第二步:需求分析和开发
### 理解用户需求时:
- 充分理解用户需求,站在用户角度思考。
- 作为产品经理,分析需求是否存在缺漏,与用户讨论并完善需求。
- 选择最简单的解决方案来满足用户需求。

### 编写代码时:
- 必须使用Manifest V3,不使用已过时的V2版本。
- 优先使用Service Workers而不是Background Pages。
- 使用Content Scripts时要遵循最小权限原则。
- 实现响应式设计,确保在不同分辨率下的良好体验。
- 使用TypeScript进行类型检查,提高代码质量。
- 每个函数和关键代码块都要添加详细的中文注释。
- 实现适当的错误处理和日志记录。
- 所有用户数据传输必须使用HTTPS。

### 解决问题时:
- 全面阅读相关代码文件,理解所有代码的功能和逻辑。
- 分析导致错误的原因,提出解决问题的思路。
- 与用户进行多次交互,根据反馈调整解决方案。

## 第三步:项目总结和优化
- 完成任务后,反思完成步骤,思考项目可能存在的问题和改进方式。
- 更新README.md文件,包括新增功能说明和优化建议。
- 考虑使用Chrome扩展的高级特性,如Side Panel、Offscreen Documents等。
- 优化扩展性能,包括启动时间和内存使用。
- 确保扩展符合Chrome Web Store的发布要求。

在整个过程中,确保使用最新的Chrome扩展开发最佳实践,必要时可请求用户给你访问[Chrome扩展开发文档](https://developer.chrome.com/docs/extensions)的权限让你查询最新规范。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

# Composer

通常来说,如果你的需求比较复杂的话,一步步来,每次只表达一部分的需求是更好的.
因为AI的上下文窗口有限,每次能处理的任务量有限,为了避免出错,提高每个模块的输出效率,最好让他每次处理的任务少一些.
不过我们目前的浏览器插件需求很简单,所以我们可以比较直接完成全部的需求表述!

通过Command+I调出cursor的composer功能,以下是我们要在对话框里写的需求表述:

请帮我开发一个Chrome浏览器上的插件,名字叫“网页二维码”,这个插件的功能是:
1、用户打开任意网页时都基于该网页的链接生成一个二维码,用户扫码后可直接打开该网页
2、二维码中间需要有一个网站的favicon图标
3、二维码的下方应当有该网站的名称

你是个非常出色的工程师和设计师,请在完成功能设计的基础上帮我实现出色的有苹果风格视觉设计。
1
2
3
4
5
6

cursor开始帮我们写代码!!

image-20250213155421434

你仔细阅读它写的步骤,Cursor在完成我们的任务之后也对我们提出的一个需求 那就是下载文件,因为cursor还没有能力下载文件,你按着它的指引去做就好了!!

image-20250213155610032

做好一切工作后,别忘了点击下save all..
然后点击谷歌浏览器扩展程序,将该文件夹加载进去..看下效果!!

image-20250213161355882
在查看效果的过程中,先后发现了四个不如意的地方!都一一帮我解决了!!
■ 没达到想要的效果,可右键-查找-控制台查看是否有报错!!
  还可以去扩展程序页面,看展示二维码这个扩展程序,除了详情、移除两个按钮外还有没有展示错误这个按钮!!
■ 每次更新代码后,都要记得save all再查看效果,效果达到预期accept all.
  同时浏览器插件也需要重载下!!

>>> 我告知cursor该错误,成功自动帮我解决了!!
在浏览器里 点击"加载已解压的扩展程序"并选择你的扩展文件夹 时 返回报错
Could not load icon 'images/icon16.png' specified in 'icons'.
无法加载清单

>>> 二维码显示的方式不对,我告知了cursor应该进行改进:
看起来不错,但我不是想点击插件时在插件的位置展示二维码,而是访问任何网站,每个网站的右下角都会出现该网站链接的二维码!

>>> 我发现只有当页面刷新的时候,二维码才会改变,我希望是浏览器上的网址发生变化,二维码就发生变化

>>> 该插件是正常运行的,但谷歌扩展程序页面,该插件显示有个错误,错误消息如下:
The default_popup file in the manifest doesn't exist. Confirm it exists and then reload the extension.
并将"default_popup": "popup.html",这行代码标成了黄色!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

最后展示下效果!!(这个是我自己的博客网站 鼠标移到二维码上,透明效果会消失)

image-20250213161024672


切记: 要有个心态准确,AI写的代码有错误,没法让你一次性实现你想要的功能很正常.
你只需要为它提供必要的测试反馈和报错信息,它是能够帮助你完成后面的工作的.

由于AI写代码存在随机性,所以大家按照上述步骤执行,遇到的问题很可能不同.
但只要表述清楚你遇到的问题、报错提醒和你的需求给cursor即可!!


教学-部署个人网站
实操-图片压缩网站

← 教学-部署个人网站 实操-图片压缩网站→

最近更新
01
deepseek本地部署+知识库
02-17
02
实操-微信小程序
02-14
03
教学-cursor深度探讨
02-13
更多文章>
Theme by Vdoing | Copyright © 2023-2025 DC | One Piece
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式