续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

书接前文,上篇文章我们教大家如何三分钟时间用 Laf 实现一个自己的 ChatGPT

一觉醒来,GPT-4 已经发布了!

GPT-4 实现了真正的多模态,可以把纸笔画的原型直接写出网页代码读论文时还能理解插图含意

好消息是,ChatGPT Plus 用户目前可以提前尝鲜 GPT-4 模型。作为高贵的 Plus 用户,这怎么能忍?立马打开 ChatGPT 切换到最新模型。

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

一位 Twitter 网友经过测试发现,使用了 GPT-4 模型的 ChatGPT 编码能力有了显著的提高,甚至可以写出一个完整的工程出来。

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

既然如此,我有一个想法,先把 Laf 的所有文档内容喂给它,然后再让它给我写一个完整的待办事项 App。不知道它能不能完成这个任务呢?

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

一顿操作猛如虎训练完文档后,开始正式对它进行考试:

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

我按照它提供的代码编写云函数和前端项目代码,最后竟然真的成功运行了:

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

看来能力确实很强啊,可以正常插入数据,竟然毫无 bug。本文到此结束,完结撒花~~

接下来所有的内容都是针对 GPT-4 回复内容的解读和注解,以帮助读者使用 Laf 从零开发一个简单的待办实现 App?

准备工作

  1. 你需要在 laf.dev 上注册一个账户。
  2. 登录到 laf.dev,点击 新建 按钮,创建一个空应用。
  3. 待应用成功启动后,点击右侧 「开发」 按钮,进入应用的「开发控制台」,接下来,我们将在「开发控制台」 进行第一个 laf 应用的功能开发。

编写云函数

首先需要创建一个云函数。

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

然后在 getTodos 云函数中写上以下代码,写完以后记得在右上角找到 「发布」两个字,点一下发布。

import cloud from '@lafjs/cloud'

const db = cloud.database()
export async function main(ctx: FunctionContext) {
  // 调用云数据库的 get() 方法从 "todos" 集合中查询所有待办事项
  const todos = await db.collection('todos').get()

  // 将查询到的待办事项数据返回给前端
  return todos
}

按照刚刚的方式我们再创建 addTodo updateTodo 这两个云函数,并分别写入代码。

import cloud from '@lafjs/cloud'

const db = cloud.database()
export async function main(ctx: FunctionContext) {
  // 从前端传来的数据中提取 content(待办事项内容)
  const { content } = ctx.body

  // 创建一个新的待办事项对象,包含 content 和 completed(是否完成)两个属性
  const newTodo = {
    content,
    completed: false,
  }

  // 调用云数据库的 add() 方法将新的待办事项添加到 "todos" 集合中
  const res = await db.collection('todos').add(newTodo)

  // 将添加操作的结果返回给前端
  return res
}
import cloud from '@lafjs/cloud'

const db = cloud.database()
export async function main(ctx: FunctionContext) {
  // 从前端传来的数据中提取 id(待办事项的唯一标识)和 data(待更新的数据)
  const { id, data } = ctx.body

  // 调用云数据库的 where() 方法筛选出指定 id 的待办事项
  // 然后调用 update() 方法更新该待办事项的数据
  const res = await db.collection('todos').where({ _id: id }).update(data)

  // 将更新操作的结果返回给前端
  return res
}

再次提醒,更改过的每一个云函数都需要 「发布」才能生效哦!

创建集合

这里的集合,对应着传统数据库的表,用来存储数据。

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

前端

前端这里我们用的是 Vue 项目来演示,React/Angular/小程序,操作都是相同的。

首先需要在前端项目中安装 laf-client-sdk

$ npm install laf-client-sdk

还记得刚创建完项目的页面吗,我们需要回到那里找到我们需要用到的<APPID>

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

引入并创建 cloud 对象,这里需要注意的是<APPID>需要换成自己的。

import { Cloud } from "laf-client-sdk"; // 引入

// 创建cloud对象
const cloud = new Cloud({
  baseUrl: "https://<AppID>.laf.dev", // 这里的 <AppID> 需要换成自己的 AppID
  getAccessToken: () => '', // 这里先为空
});

然后我们在前端需要的地方调用我们的云函数。

// 获取待办事项列表
async function fetchTodos() {
  // 调用云函数 "getTodos" 来获取待办事项
  const res = await cloud.invoke("getTodos")
  // 将获取到的待办事项数据存储在 todos.value 中
  todos.value = res.data
}

// 添加新的待办事项
async function addTodo() {
  // 如果输入框的值为空,则直接返回
  if (!newTodo.value.trim()) return

  // 调用云函数 "addTodo",添加新的待办事项,传递输入框的值
  await cloud.invoke("addTodo", { content: newTodo.value.trim() })
  // 清空输入框的值
  newTodo.value = ""
  // 刷新待办事项列表,以显示新添加的待办事项
  await fetchTodos()
}

// 更新待办事项的状态
async function updateTodo(todo) {
  // 调用云函数 "updateTodo",更新待办事项的完成状态
  await cloud.invoke("updateTodo", {
    id: todo._id, // 传递待办事项的唯一 ID
    data: { completed: todo.completed }, // 更新完成状态
  })
}

到这里我们已经完成了项目的核心功能,可以正常插入数据:

续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App

从上述步骤可以看出,整个 App 的后端都托管在 Laf 中,不需要自己准备服务器、搭建服务等等,只需要专注于业务逻辑即可。

除了后端之外,前端能不能也托管在 Laf 中呢?完全没问题!参考上篇文章

不过细心的同学应该发现了,ChatGPT 给出的代码中并不包含删除的功能,你可以按照本文给出的思路继续让 ChatGPT 完善代码,或者可以直接参考 Laf 的官方文档:

原文链接:https://www.cnblogs.com/ryanyangcs/p/17240046.html

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:续集来了!我让 GPT-4 用 Laf 三分钟写了个完整的待办事项 App - Python技术站

(0)
上一篇 2023年4月17日
下一篇 2023年4月17日

相关文章

  • 云计算openstack共享组件——Memcache 缓存系统

    一、缓存系统   静态web页面: 1、工作流程: 在静态Web程序中,客户端使用Web浏览器(IE、FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服务器我现在需要得到哪个页面,所有的请求交给Web服务器,之后WEB服务器根据用户的需要,从文件系统(存放了所有静态页面的磁盘)取出内容。之后通过…

    2023年4月10日
    00
  • 云计算灾备原理与预防恢复方案

    云计算灾备原理与预防恢复方案 一、灾备的定义 1.1 什么是灾备? 1.2 备份和容灾的概念 1.2.1 备份 1.2.2 容灾 1.2.3 两者区别 1.2.4 两者关系 1.3 灾备提供的保护    二、灾备的作用 2.1 存在的问题 2.1.1 数据中心存在的问题 2.1.2 没有灾备会怎么样? 2.2 备份的作用 2.2.1 存储层面 2.2.2 云…

    云计算 2023年4月11日
    00
  • 最佳案例 | 游戏知几 AI 助手的云原生容器化之路

    作者 张路,运营开发专家工程师,现负责游戏知几 AI 助手后台架构设计和优化工作。 游戏知几 随着业务不断的拓展,游戏知几AI智能问答机器人业务已经覆盖了自研游戏、二方、海外的多款游戏。游戏知几研发团队主动拥抱云原生,推动后台业务全量上云,服务累计核心1w+。 通过云上的容器化部署、自动扩缩容、健康检查、可观测性等手段,提高了知几项目的持续交付能力和稳定性,…

    2023年4月9日
    00
  • Python的函数使用详解

    Python的函数使用详解 在Python中,函数是组织代码的基本单位,可以通过函数的方式实现将一个大问题分解成若干个小问题的解决方案。本文将详细讲解Python中函数的使用,包括定义函数、调用函数、函数参数、匿名函数、作用域等方面。 定义函数 Python使用def关键字定义函数,函数名以字母或下划线开头,由字母、下划线和数字组成。如下所示: def ad…

    云计算 2023年5月18日
    00
  • asp.net基于JWT的web api身份验证及跨域调用实践

    ASP.NET基于JWT的Web API身份验证及跨域调用实践 本文将详细讲解 ASP.NET 基于 JWT 的 Web API 身份验证及跨域调用实践,帮助读者理解如何构建一个基于 JWT 的 API 并使用跨域调用这个 API。 什么是JWT JWT (JSON Web Token)是一个开放标准(RFC 7519),用于在各方之间安全地传输信息。它可以…

    云计算 2023年5月17日
    00
  • c#代码生成URL地址的示例

    对于“c#代码生成URL地址的示例”,我可以提供如下完整攻略: 1. 使用System.Net.Http.HttpClient生成URL地址示例 下面提供一个使用System.Net.Http.HttpClient生成URL地址的示例,具体步骤如下: 创建System.Net.Http.HttpClient实例: using System.Net.Http;…

    云计算 2023年5月17日
    00
  • 华工软院IBM LinuxONE Community Cloud云计算实验文档

    此博文介绍华南理工大学软件学院“云计算开发与应用”实验课。本人在大二期间选修了这门课,实验课内容是把已有的app部署到云服务器上运行。虽然实验内容很简单(作者大概一个小时就做完了两天的实验内容),但觉得这次实验是我在华工期间做过的为数不多有意义的实验之一,故作此博客记录实验详细过程。此博客以linux环境为准。 实验所需材料与环境配置: 本地环境:Manja…

    云计算 2023年4月11日
    00
  • springboot操作阿里云OSS实现文件上传,下载,删除功能

    Spring Boot操作阿里云OSS实现文件上传、下载、删除功能攻略 阿里云OSS(Object Storage Service)是一种高可用、高可靠、安全、低成本的云存储服务。本文将提供一个完整的攻略,包括如何使用Spring Boot操作阿里云OSS实现文件上传、下载、删除功能。以下是详细步骤: 步骤1:创建Spring Boot项目 首先,我们需要创…

    云计算 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部