云开发 Copilot
是腾讯云云开发推出的一款 AI
开发辅助工具,可以帮助用户快速生成多种类型的应用功能,包括低代码应用、页面、组件、数据模型、CMS
内容等。开发者可以使用云开发 Copilot
快速构建自己的小程序、web
等云开发应用,加快开发效率,提升开发体验。
云开发 Copilot
目前提供了两种使用方式:一种是游客体验,另一种是在拥有腾讯云账号的前提下开通 微搭免费体验版 或者 使用已有的云开发环境。
游客体验 游客版,无需登录即可使用云开发 Copilot 部分功能 体验地址:云开发 Copilot 游客版 游客可以免费体验截图生成需求、AI答疑等功能 AI 生成应用/组件/区块等功能需要开通云环境限时免费使用
正式体验 开通微搭免费体验版的地址:https://console.cloud.tencent.com/lowcode 使用云开发 Copilot 功能:进入 云开发 Copilot 或者可以在 云开发平台 中右下角找到并使用。
附 云开发 Copilot 官网教程链接:https://docs.cloudbase.net/ai/copilot/introduce
云开发 Copilot
适用于以下五大场景:
AI
生成低代码组件AI
生成低代码应用AI
生成低代码页面/区块AI
优化低代码组件的样式上传一张截图(设计稿、参考的网站截图等),云开发 Copilot
会自动生成相关的需求提示词。得到需求的提示词之后,再配合云开发 Copilot
或者其他 AI
编程助手,可以快速把截图变成代码。
AI
生成低代码组件针对于复杂的业务场景,云开发 Copilot
可以根据用户的需求,自动生成带有逻辑的相应的组件代码,帮助开发者快速实现业务功能。
AI
生成低代码应用云开发 Copilot
能够依据关键字迅速生成小程序 / web
应用,操作简单且高效。只需一句话,即可生成可编辑的应用,该应用支持发布至小程序和网页。
AI
生成低代码页面/区块云开发 Copilot
能够依据关键字迅速生成小程序 / web
页面,操作简单且高效。只需一句话,即可生成可以可视化编辑的页面/区块,该页面支持发布至小程序和网页。
AI
优化低代码组件的样式可以通过 云开发 Copilot
优化低代码组件的样式,无需编写代码,让组件更符合用户需求,提高用户体验。
云开发 Copilot 能够根据需求生成代码并展示在应用中,其核心优势之一便是 JSX
组件的灵活性和通用性。作为一个强大的源码组件,JSX
支持快速引入外部组件库(如 TDesign
、Antd
等),可配置实现多样化的组件功能,包括水印、步骤条、级联选择、评分、滑动输入条等。
利用 云开发 Copilot AI
的能力,原生 JSX
代码块可以根据需求自动生成,并直接嵌入到 JSX
组件中。通过这种方式,开发者可以将复杂需求以组件形式快速展现,显著提升开发效率和可扩展性。
以开发一款 待办事项列表应用 为例,详细介绍如何通过云开发 Copilot 快速生成并优化一款完整的应用。待办事项列表应用是一款用于组织和管理任务的工具,它在日常生活、工作和学习中非常实用,能够帮助我们更好地安排时间和提高效率。
通过云开发 Copilot
,我们可以快速生成一个 待办事项列表应用,具体步骤如下:
组件生成后,我们可以对组件进行预览,如果对组件效果不满意,我们可以继续对话提出修改建议,但目前来看暂不需要。
视频演示
目前待办事项信息只保存了单一的 任务 内容,还缺少一个重要字段:截止时间。因此我们需要向 云开发 Copilot 追加修改的需求。提示词如下:
保持当前的黑白风格,添加一个字段来保存截止时间,该字段的值不需要用户输入,你可以添加一个日历图标,用户点击日历图标后自由选择一个日期,然后隐藏日历组件。另外,截止时间字段只在展示待办事项列表时显示,添加待办事项的表单可以不用显示。这样一来布局肯定会改变,可以适当调整布局以保证美观性。
将提示词发给 云开发 Copilot 之后,它能够按照我们追加的需求调整组件。
视频演示
在上个视频末尾的演示阶段,你会发现当前应用存在着一个 bug
:每个待办事项的截止时间引用了同一个变量 dueDate
,导致数据污染的问题。AI
生成的代码出现 bug
在现阶段比较正常,我们要做的是不断提醒 AI
,让其不断完善代码。因此我们需要再次向 云开发 Copilot 提出需求,修复这个 bug
。提示词如下:
每个待办事项的截止时间的值应在 task 对象用一个单独的字段保存,而不是引用同一个变量 dueDate,请修复这个 bug。
云开发 Copilot 根据我们的需求对组件进行调整后,bug
最终被修复。
接下来是优化样式的步骤。从下图可以看到,日历图标的样式和展开后的灰色背景色显得不够美观,因此我们可以对其进行调整。具体优化过程请参考下方的演示视频。
优化后的效果如下图所示:
到这里,一款简单的待办事项列表应用就开发完成了。
视频演示
目前,待办事项的数据存储在内存中,为了实现数据持久化,我们需要引入数据库。云开发平台提供了云数据库模块,允许我们在应用中直接使用。因此,我们只需在云数据库模块中创建数据模型并调整相关代码即可。接下来,将介绍如何创建数据模型并在 待办事项列表应用 中进行集成。
数据模型创建完成之后,接下来是在代码里集成数据模型。
目前,云开发 Copilot
还不支持自动生成与云数据库及数据模型相关的操作代码,也无法将 JSX
中的元素(例如按钮)直接转换为 可视化开发 中的按钮组件,从而支持可视化设计与开发。因此,我们需要手动编写这部分代码。好在 JSX
组件编辑器提供了快捷的代码生成按钮,并且有详细的数据模型 API
接入文档,帮助我们快速完成开发。我相信随着 云开发 Copilot 的不断迭代与升级,未来我们可以实现更多自动化,从而真正解放双手。
以下是对数据模型增删改查的函数封装,仅供参考。
// 1. 查询任务列表
const fetchTasks = async () => {
try {
const result = await $w.cloud.callDataSource({
dataSourceName: "dbsx", // 数据模型标识
methodName: "wedaGetRecordsV2",
params: {
getCount: true,
pageSize: 100,
pageNumber: 1,
orderBy: [{ createdAt: 'desc' }],
}
});
setTasks(result.records || []);
} catch (e) {
console.log("查询任务失败", e.code, e.message);
}
};
// 2. 新增任务
const addTask = async () => {
if (newTask.trim()) {
try {
const dueDateTimestamp = selectedDate ? new Date(selectedDate).getTime() : null;
const result = await $w.cloud.callDataSource({
dataSourceName: "dbsx",
methodName: "wedaCreateV2",
params: {
data: {
task: newTask,
dueDate: dueDateTimestamp,
completed: false,
}
}
});
console.log("任务添加成功", result);
fetchTasks(); // 刷新任务列表
} catch (e) {
console.log("新增任务失败", e.code, e.message);
}
setNewTask('');
setSelectedDate(null);
}
};
// 3. 删除任务
const deleteTask = async (id) => {
try {
const result = await $w.cloud.callDataSource({
dataSourceName: "dbsx",
methodName: "wedaDeleteV2",
params: {
filter: {
where: {
_id: { $eq: id },
}
}
}
});
console.log("任务删除成功", result);
fetchTasks(); // 刷新任务列表
} catch (e) {
console.log("删除任务失败", e.code, e.message);
}
};
// 4. 更新任务
const saveEdit = async () => {
try {
const dueDateTimestamp = selectedDate ? new Date(selectedDate).getTime() : null;
const result = await $w.cloud.callDataSource({
dataSourceName: "dbsx",
methodName: "wedaUpdateV2",
params: {
data: {
task: newTask,
dueDate: dueDateTimestamp,
completed: false, // 保持原有的状态,或者根据需求修改
},
filter: {
where: {
_id: { $eq: editingId }
}
}
}
});
console.log("任务更新成功", result);
setEditingId(null);
setNewTask('');
setSelectedDate(null);
fetchTasks(); // 刷新任务列表
} catch (e) {
console.log("更新任务失败", e.code, e.message);
}
};
// 5. 任务完成状态切换
const toggleComplete = async (id) => {
const task = tasks.find(task => task._id === id);
if (task) {
try {
const result = await $w.cloud.callDataSource({
dataSourceName: "dbsx",
methodName: "wedaUpdateV2",
params: {
data: { completed: !task.completed },
filter: {
where: { _id: { $eq: id } }
}
}
});
console.log("任务状态更新成功", result);
fetchTasks(); // 刷新任务列表
} catch (e) {
console.log("更新任务状态失败", e.code, e.message);
}
}
};
最终效果演示
在本文中,首先对云开发 Copilot 进行了介绍,然后通过一个待办事项列表应用的案例,详细演示了如何利用 云开发 Copilot 实现从快速生成到优化的完整开发流程。
主要内容包括:
AI
自动生成组件的功能,轻松搭建待办事项列表应用。bug
:针对开发过程中的数据引用问题,提出修复 bug
的需求。通过这些实践,我们可以看到,云开发 Copilot 不仅可以快速满足功能需求,还能在开发过程的各个阶段协助优化和完善应用,极大地方便了开发者。
你好,我是陈明勇,一名热爱技术、乐于分享的开发者,同时也是开源爱好者。
成功的路上并不拥挤,有没有兴趣结个伴?
关注我,加我好友,一起学习一起进步!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。