当前位置:首页 > 技术分析 > 正文内容

Cursor案例分享,探索无需代码的Chrome插件创作之路

ruisui883个月前 (01-20)技术分析24

1.chrome浏览器制作一个分割图片为四等份

1. 使用cursor工具生成代码

点击桌面cursor(关于cursor工具的安装这里就不做详细展开)

cursor 下载地址

https://www.cursor.com/



我们打开cursor开发工具



我们使用ctrl+i 打开composer组件



接下来我们输入我们的需求

请你帮我开发一个谷歌插件,用于将用户上传的图片,平均切分为4张图片,并自动下载到本地电脑上。注意使用 manifest v3 版本开发, 注意按钮中文编码的问题。



这里模型选择我们选择claude3.5-sonnet模型,接下来会自动生成我们要的代码



生成好后,我们点击接受就可以让左边窗体生成代码目录结构



生成的代码background.js

chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  if (request.action === 'downloadImage') {
    chrome.downloads.download({
      url: request.dataUrl,
      filename: request.filename,
      saveAs: false
    });
  }
});

manifest.json

{
  "manifest_version": 3,
  "name": "图片切分器",
  "version": "1.0",
  "description": "将图片平均切分为4张并下载",
  "permissions": ["activeTab", "downloads"],
  "action": {
    "default_popup": "popup.html"
  },
  "background": {
    "service_worker": "background.js"
  }
}

popup.html

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>图片切分器</title>
  <style>
    body {
      width: 300px;
      padding: 10px;
      font-family: Arial, sans-serif;
    }
    #uploadBtn, #splitBtn {
      margin-top: 10px;
      padding: 5px 10px;
    }
    #preview {
      max-width: 100%;
      margin-top: 10px;
    }
  </style>
</head>
<body>
  <h2>图片切分器</h2>
  <input type="file" id="fileInput" accept="image/*">
  <button id="uploadBtn">上传图片</button>
  <img id="preview" style="display: none;">
  <button id="splitBtn" style="display: none;">切分并下载</button>
  <script src="popup.js"></script>
</body>
</html>

popup.js

let uploadedImage = null;

document.getElementById('uploadBtn').addEventListener('click', () => {
  document.getElementById('fileInput').click();
});

document.getElementById('fileInput').addEventListener('change', (event) => {
  const file = event.target.files[0];
  if (file) {
    const reader = new FileReader();
    reader.onload = (e) => {
      uploadedImage = new Image();
      uploadedImage.onload = () => {
        document.getElementById('preview').src = e.target.result;
        document.getElementById('preview').style.display = 'block';
        document.getElementById('splitBtn').style.display = 'block';
      };
      uploadedImage.src = e.target.result;
    };
    reader.readAsDataURL(file);
  }
});

document.getElementById('splitBtn').addEventListener('click', () => {
  if (uploadedImage) {
    const canvas = document.createElement('canvas');
    const ctx = canvas.getContext('2d');
    const partWidth = uploadedImage.width / 2;
    const partHeight = uploadedImage.height / 2;

    for (let i = 0; i < 2; i++) {
      for (let j = 0; j < 2; j++) {
        canvas.width = partWidth;
        canvas.height = partHeight;
        ctx.drawImage(
          uploadedImage,
          i * partWidth, j * partHeight, partWidth, partHeight,
          0, 0, partWidth, partHeight
        );
        const partDataUrl = canvas.toDataURL('image/png');
        chrome.runtime.sendMessage({
          action: 'downloadImage',
          dataUrl: partDataUrl,
          filename: `split_image_${i}_${j}.png`
        });
      }
    }
  }
});

生成完成后代码,它还挺友好的告诉你如何使用这个工具

使用说明:
创建一个新文件夹,将上述所有文件放入其中。
打开 Chrome 浏览器,进入扩展程序页面(chrome://extensions/)。
开启"开发者模式"。
点击"加载已解压的扩展程序",选择包含这些文件的文件夹。
这个插件使用了 Manifest V3,并且注意了按钮中文编码的问题。如果您需要任何修改或有任何问题,请随时告诉我



我们可以将该说明复制到reademe.md文件中



我们在登录cursor 官方网站可以查看请求模型次数使用量



简单解释一下,以上代码我只做了一次请求就生成了上面4个代码。500次请求使用还是够用的。

2.测试验证

打开chrome浏览器,打开扩展程序。



点击加载已经解压的扩展程序



选择我们刚才代码生成好的文件夹,比如我的是D:\tmp\cursorexample2024\ChromePlugin




我们点击chrome浏览器右上角扩展程序将这个插件显示出来




点开这个图片切分器





3.总结

我们通过cursor工具一行代码没有写就完成了chrome浏览器插件工具的开发,前后不到5分钟,这效率真的是刚刚的。

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/394.html

分享给朋友:

“Cursor案例分享,探索无需代码的Chrome插件创作之路” 的相关文章

车辆费用统计管理系统

车辆费用统计管理系统headerfooter《车辆费用统计管理系统》是一款适用于中小型货运车辆管理公司统计车辆费用。主要包括车辆信息,费用管理,汇总统计等功能。本管理系统多处具有快速辅助录入功能,操作简单,易学、易用;处理功能高效强大,是协助您的好帮手!主要功能:1.基础设置:车辆档案、驾驶员信息2...

智能计费、综合管控,爱博精电帮您快速构建水电费预付费管理系统

近年来,随着企业经营管理意识的加强,商业建筑的物业管理部门对于水电费的收缴越来越重视,在实际运营中,因为服务、管理或其他方面的纠纷,商户拖欠电费的情况时有发生,管理部门为了消除收费难、垫付水电费过多、偷窃电等诸多难题,急需改变传统水电费收缴方式。但是常规的水电预付费改造面临着改造难度大、改造周期长、...

Beta版Linux Mint“Xia”发行版22.1发布

IT之家 12 月 13 日消息,Beta 版 Linux Mint“Xia” 22.1 昨日(12 月 12 日)发布,新版本基于 Ubuntu 24.04,内核版本为 Linux 6.8,长期支持将持续到 2029 年,为用户提供可靠稳定的使用体验。新版本在软件包管理方面,主要弃用了传统的 ap...

Git 分支管理策略汇总

最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码?我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的流程。所以查了一些资料,总结出下面这篇文章,一共包含四种常见的分支管理策略,分享给大家。Git flow在这种模式下,主要维护了两类分支...

10款超牛Vim插件,爱不释手了

我是一个忠实的Vim编辑器用户,从事开发工作多年,我一直都非常喜欢使用Vim。轻量、便捷,而且,熟悉了Vim相关的快捷键之后,效率能够成倍的提升。除了这些之外,Vim像很多知名的IDE、编辑器一样,也支持插件配置,通过这些插件,可以实现更多高级、高效的操作。今天,就来给大家分享10个我特别喜欢的Vi...

别让“跑焦”毁所有!仅需这一项设置,即可显著改善镜头对焦精度

我常常会收到一些摄影爱好者的私信,也一直在努力的帮助大家解决更多摄影中常见问题。在我收到的所有问题中。有一个问题是最麻烦的,那就是“为什么我的图像看起来模糊?”。这个问题几乎每个人都遇到过,究其原因可以说是多种多样相对复杂。起初我一直认为是对焦问题所导致,也就有了我之前所写的“后按对焦”以及“对焦模...