与 Cursor AI 对话编程:2小时开发报修维修微信小程序
本文记录了如何通过与 Cursor AI 对话,全程不写一行代码的情况下,完成一个完整的报修小程序。整个过程展示了 AI 如何帮助我们:
-
生成代码 、解决问题、优化实现、完善细节。
先看一下效果图:
一、项目配置
首先我是这样和 AI 对话的:
我:我想开发一个报修小程序,需要哪些基础配置?
AI:我来帮你配置 app.json,首先需要:
设置导航栏样式
配置底部 tabBar
注册所有页面路径
我:好的,请帮我实现
AI:我已经生成了配置代码:
{
"pages": [
"pages/login/login",
"pages/index/index",
...
],
"window": {
"navigationBarBackgroundColor": "#4CAF50",
...
}
}
我:很好,帮我创建这些页面
AI:好的,我会依次创建每个页面的 wxml、wxss、js 文件
二、登录页面
我:需要一个简单的登录页面,输入用户名即可
AI:我来帮你设计登录页面:
先创建 login.wxml:
<view class="container">
<view class="login-box">
<input class="input" placeholder="请输入用户名" />
<button class="login-btn">登录</button>
</view>
</view>
添加样式 login.wxss:
.login-box {
...
}
实现登录逻辑 login.js:
Page({
...登录处理代码...
})
我:好的,请帮我完善样式
AI:我已添加渐变背景、阴影效果等...
三、首页模块
我:首页需要显示用户信息和快捷按钮
AI:我来设计首页布局:
index.wxml 代码:
<view class="container">
<view class="header">
<text>您好,{{userInfo.username}}</text>
</view>
<view class="quick-actions">
...三个操作按钮...
</view>
</view>
添加样式和交互...
我:最近报修记录怎么显示?
AI:我来添加报修列表组件:
<view class="repair-list">
<view class="repair-item" wx:for="{{recentRepairs}}">
...列表项内容...
</view>
</view>
四、报修表单
我:需要一个完整的报修表单
AI:我来实现表单页面:
new.wxml:
<form bindsubmit="submitRepair">
<view class="form-group">
<text class="label">报修人</text>
<input name="reporter" value="{{userInfo.username}}" />
</view>
...其他表单字段...
</form>
添加样式美化表单
实现提交逻辑
添加表单验证
我:表单样式不够美观
AI:我来优化样式:
.form-group {
margin-bottom: 30rpx;
...
}
五、报修列表
我:需要分页显示报修记录
AI:我来实现列表页面:
list.wxml:
<scroll-view
bindscrolltolower="loadMore"
refresher-enabled="{{true}}"
<view class="repair-item" wx:for="{{repairs}}">
...列表项内容...
</view>
</scroll-view>
实现分页加载逻辑
添加下拉刷新
优化列表样式
六、个人中心
我:需要个人中心页面
AI:我来实现:
admin.wxml:
<view class="container">
<view class="user-info">
<text class="avatar-text">{{userInfo.username[0]}}</text>
...
</view>
<view class="menu-list">
...菜单项...
</view>
</view>
-
添加退出登录功能
修改 app.js添加全局的登录状态管理:
// 添加登出方法
logout(){
return newPromise((resolve) =>{
// 清除本地存储wx.clearStorageSync();
// 清除全局数据
this.globalData.userInfo=null;
// 跳转到登录页wx.reLaunch({
url:'/pages/login/login',
success:() =>{
resolve();
}
});修改 pages/admin/admin.js中的退出登录逻辑:
wx.navigateTo({
url:'/pages/admin/settings'
});
},
onLogout(){wx.showModal({
title:'提示',
content:'确定要退出登录吗?',
success:async(res)=>{
if(res.confirm){wx.showLoading({
title:'退出中...',
mask:true
});try{
await app.logout();wx.hideLoading();
}catch(error){wx.hideLoading();wx.showToast({
title:'退出失败,请重试',
icon:'none'
});
}
七、优化细节
在开发过程中,我只需要描述问题,AI 就能帮我解决:
我:提交报修后页面没有自动刷新
AI:我来修复这个问题:
在提交成功后添加页面刷新逻辑...
我:报修列表样式不够美观
AI:我来优化列表样式:
添加卡片效果、优化间距...
我:需要添加加载提示
AI:我来添加 Loading:
使用 wx.showLoading 实现...
开发心得
-
与 AI 对话技巧:
-
清晰描述需求和问题
-
分步骤实现功能
-
及时提出修改建议
-
注意细节完善
-
AI 的强大之处:
-
直接生成完整代码
-
快速解决各种问题
-
代码质量有保证
-
持续优化改进
-
开发建议:
-
先规划后实现
-
多与 AI 交流
-
注重用户体验
-
及时测试验证
总结
通过与 AI 的对话式开发:
-
无需编写代码就能完成项目
-
大大提升开发效率
-
代码质量有保证
-
学习了很多技巧
这种开发方式特别适合:
-
个人开发者
-
快速原型验证
-
学习新技术
-
小型项目开发
希望这个分享对大家有帮助!
相关文章:

与 Cursor AI 对话编程:2小时开发报修维修微信小程序
本文记录了如何通过与 Cursor AI 对话,全程不写一行代码的情况下,完成一个完整的报修小程序。整个过程展示了 AI 如何帮助我们: 生成代码 、解决问题、优化实现、完善细节。 先看一下效果图: 一、项目配置 首先我是这样和 AI 对…...

leetcode-73.矩阵置零-day5
class Solution {public void setZeroes(int[][] mat) {int m mat.length, n mat[0].length;// 1. 扫描「首行」和「首列」记录「首行」和「首列」是否该被置零boolean r0 false, c0 false;for (int i 0; i < m; i) {if (mat[i][0] 0) {r0 true;break;}}for (int j …...

CSS学习记录13
CSS组合器 组合器是解释选择器之间关系的某种机制。CSS选择器可以包含多个简单选择器。在简单选择器之间,我们可以包含一个组合器。 CSS中有四种不同的组合器: 后代组合器(空格)子选择器(>)相邻兄弟选择器&#…...

CAD图纸加密软件哪个最好用 | 安全可靠的解决方案
CAD图纸加密软件哪个最好用 | 安全可靠的解决方案 图纸文件泄密事件频发,给企业带来了严重的商业损失、技术秘密泄露、公共安全威胁以及信誉损害。 为了应对这一挑战,选择一款既安全可靠又易于使用的CAD图纸加密软件显得尤为重要。 在众多加密软件中&a…...

基于SSM+Vue的宠物医院管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
处理VUE框架中,ElementUI控件u-table空值排序问题
按照以下步骤进行操作: 分离数据:首先,将原始数据按照username为空和非空进行分类。对非空表进行排序:对非空表按照username进行升序排序。合并表格:将空表和排序后的非空表合并,保证空表挂接在排序后的非…...

专业140+总分400+北京理工大学826信号处理导论考研经验北理工电子信息与通信工程,真题,大纲,参考书。
考研总分400,专业826信号处理导论(信号与系统和dsp)140,成功上岸北理工,虽然已经一段时间,但是后劲很大,每每回想还是昨日事,群里同学多次要求分享自己的一些经验,感谢大…...
Rocky DEM tutorial5_Drop Weight test_落锤试验
tutorial5_Drop Weight test_落锤实验 文章目录 tutorial5_Drop Weight test_落锤实验0. 目的1. 模型介绍2. 模型设置2.1 设置Physics2.2 导入几何2.3 定义进口面2.4 设置motion frames2.5 设置边界条件2.6 设置材料2.7 设置 materials interactions2.8 设置 Particles2.9 设置…...

C#,在 C# 语言中将 LaTeX 转换为 PNG 或 JPG 图像
在 C 语言中将 LaTeX 转换为 PNG 或 JPG 图像# 12月 28, 2021 2 分钟 法尔汉拉扎 在 C 语言中将 TeX 转换为 PNG JPG 图像# TeX 格式用于处理技术和科学文件。它通常用于交流或发布此类文档。在某些情况下,您可能需要将 TeX 文件渲染为 PNG 或 JPG 等图像…...
Elasticsearch:Mapping-映射
一、创建索引 自动生成索引字段数据类型即自动映射 创建之前,先删除索引防止重复创建 删除索引: DELETE product_mapping创建索引 product_mapping并且赋值 PUT /product_mapping/_doc/1 {"name": "xiaomi phone","desc": "s…...
安装Tensorflow@FreeBSD(失败)
pkg 安装,失败,找不到:pkg: No packages available to install matching science/py-tensorflow have been found in the repositories ports安装 cd /usr/ports/science/py-tensorflow make install 报错: 按照提示重新发命令 make DISABLE_VULNERA…...

API接口示例:电商商品评论数据
当然,以下是一个简化的电商商品评论数据API接口的示例。请注意,这只是一个示例,实际的API接口可能会更加复杂,并且会包含更多的验证、错误处理和安全措施。 API接口示例:电商商品评论数据 基础信息 API名称…...

使用idea创建一个JAVA WEB项目
文章目录 1. javaweb项目简介2. 创建2.1 idea新建项目2.2 选择,命名2.3 打开2.4 选择tomcat运行2.5 结果 3. 总结 1. javaweb项目简介 JavaWeb项目是一种基于Java技术的Web应用程序,主要用于开发动态网页和Web服务。这种项目能够构建在Java技术栈之上&a…...
解决MyBatis在 Oracle 中使用 IN 语句不能超过 1000 问题
在 Oracle 数据库中,IN 语句常用于查询某个字段是否属于一组特定的值。对于大多数开发者而言,IN 是一种简单直观的查询方式,能够提升开发效率,避免过多的 OR 语句。然而,许多人在使用 IN 语句时可能遇到一个问题&#…...

最长递增子序列两种算法实现(动态规划,二分查找)
恭喜你刷到博主 DP 经典题目详解部分第一期,想学好 DP 请关注订阅,会持续更新!!!!! 建议先阅读DP算法入门 00001 最长递增子序列(Longest Increasing Subsequence,简写…...

Deepmotion技术浅析(三):特征提取
DeepMotion 的特征提取模块是整个动作捕捉和 3D 追踪流程的基础,负责从输入的视频帧中提取出具有代表性的视觉特征。这些特征将被用于人体姿态估计、动作识别、3D 重建等后续任务。 包括: 1.图像特征提取 卷积神经网络(CNN) 卷…...

国内CentOS使用yum安装docker和docker-compose
安装docker 安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖 yum install -y yum-utils device-mapper-persistent-data lvm2下载yum源采用阿里云的镜像源 wget -O /etc/yum.repos.d/docker-ce.repo https://mi…...

python学opencv|读取图像(十三)BGR图像和HSV图像互相转换深入
【1】引言 前序学习过程中,我们偶然发现:如果原始图像是png格式,将其从BGR转向HSV,再从HSV转回BGR后,图像的效果要好于JPG格式。 文章链接为: python学opencv|读取图像(十二)BGR图…...

【鸿蒙实战开发】数据的下拉刷新与上拉加载
本章介绍 本章主要介绍 ArkUI 开发中最常用的场景下拉刷新, 上拉加载,在本章中介绍的内容在实际开发过程当中会高频的使用,所以同学们要牢记本章的内容。下面就让我们开始今天的讲解吧! List 组件 在 ArkUI 中List容器组件也可以实现数据滚动的效果&a…...
面向对象设计规则和各类设计模式
面向对象设计(Object-Oriented Design, OOD)是一种软件设计方法论,它使用对象、类、继承、封装、多态等概念来组织代码。面向对象设计的核心目标是提高软件的可维护性、可扩展性和复用性。在面向对象设计中,遵循一定的设计原则和模…...
Flask 基础与实战概述
一、Flask 基础知识 什么是 Flask? Flask 是一个基于 Python 的轻量级 Web 框架(微框架)。 特点:核心代码简洁,给予开发者更多选择空间。 与 Django 对比: Django 创建空项目生成多个文件,Flask 仅需一个文件即可实现简单应用(如 "Hello, World!")。 Flask …...
使用Python和Flask构建简单的机器学习API
在机器学习项目中,将模型部署为一个Web API是一种常见的需求。这样可以方便地将模型集成到其他应用程序中,例如移动应用、Web应用或其他后端服务。Flask是一个轻量级的Python Web框架,非常适合用于构建简单的API。本文将通过一个具体的例子&a…...

MVC与MVP设计模式对比详解
MVC(Model-View-Controller)和MVP(Model-View-Presenter)是两种广泛使用的分层架构模式,核心目标是解耦业务逻辑、数据和界面,提升代码可维护性和可测试性。以下是它们的对比详解: MVC 模式&…...

云计算 Linux Rocky day03(which、快捷键、mount、家目录、ls、alias、mkdir、rm、mv、cp、grep)
云计算 Linux Rocky day03(which、快捷键、mount、家目录、ls、alias、mkdir、rm、mv、cp、grep) 目录 云计算 Linux Rocky day03(which、快捷键、mount、家目录、ls、alias、mkdir、rm、mv、cp、grep)1.which找到命令所对应的程序…...

传统的将自然语言转化为嵌入向量的核心机制是:,将离散的语言符号转化为连续的语义向量,其核心依赖“上下文决定语义”的假设和神经网络的特征提取能力。
传统的将自然语言转化为嵌入向量的核心机制是:,将离散的语言符号转化为连续的语义向量,其核心依赖“上下文决定语义”的假设和神经网络的特征提取能力。 传统的将自然语言转化为嵌入向量(Word Embedding)的核心机制是分布式语义假设(Distributional Semantics Hypothesis…...
wordpress+woocommerce电商平台搭建方案的优势分析
以下是WordPress WooCommerce电商平台搭建方案的优势分析: 技术架构与功能扩展优势 强大的插件生态系统:WordPress拥有超过58000个插件,WooCommerce作为其中最受欢迎的电商插件,提供了丰富的功能扩展选项,如支持超过…...

黄晓明新剧《潜渊》定档 失忆三面间谍开启谍战新维度
据悉,黄晓明领衔主演的谍战剧《潜渊》已于近日正式定档6月9日,该剧以“失忆三面间谍”梁朔为核心,打破传统谍战剧的框架和固有角度,以一种特别的视角将悬疑感推向极致。剧中,梁朔因头部受伤失去记忆,陷入身…...
CentOS 7 如何安装llvm-project-10.0.0?
CentOS 7 如何安装llvm-project-10.0.0? 需要先升级gcc至7.5版本,详见CentOS 7如何编译安装升级gcc版本?一文 # 备份之前的yum .repo文件至 /tmp/repo_bak 目录 mkdir -p /tmp/repo_bak && cd /etc/yum.repo.d && /bin/mv ./*.repo …...
qt控制台程序与qt窗口程序在读取数据库中文字段的差异!!巨坑
问题:最近在自己编写一个类,这个类需要对mysql数据库进行插入和查询。因为最后是以一个类文件的形式拿来单独使用,所以在创建项目的时候就创建了一个qt的控制台程序。但是在对数据库的内容进行查询时,出现了中文乱码。参考了之前的…...

Redis底层数据结构之深入理解跳表(2)
上一篇文章中我们详细讲述了跳表的增添、查找和修改的操作,这篇文章我们来讲解一下跳表在多线程并发时的安全问题。在Redis中,除了网络IO部分和大文件的后台复制涉及到多线程外,其余任务执行时全部都是单线程,这也就意味着在Redis…...