【学Cursor,掌握AI编程的唯一诀窍:先做出来,发布出来!】 https://www.bilibili.com/video/BV1PrS2YKEpY/?share_source=copy_web&vd_source=f4634749379d1151961b5797f4268f87
引导视频:引导视频
原作者网站:BookAI
安装
Cursor Setup 0.43.6 - x64.exe
常用快捷键
cursor最常用的快捷键就四个,非常好记:
Tab:自动填充
Ctrl+K:编辑代码
Ctrl+L:回答用户关于代码和整个项目的问题,也可以编辑代码(功能最全面)
Ctrl+i:编辑整个项目代码(跨文件编辑代码)
提示词
1
我想做一个简单的网页应用,这个网页只会显示亮度,作为黑夜里照亮东西的光源。我希望有两个左右滑动的控件,一个控制屏幕的亮度,一个控制光线的冷色调与暖色调。
2
我想做一个API服务,增加个固定值token效验,用post方法接收ID参数,返回json格式的mysql数据库phalapi库中user表中用户信息(id、name、demo)。
3
我想做一个API返回二维码图像服务,用get方法接收sr(二维码内容字符)参数,返回二维码图像。
1
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>光源调节器</title>
<style>
body {
margin: 0;
padding: 20px;
min-height: 100vh;
display: flex;
flex-direction: column;
align-items: center;
background-color: #000;
transition: background-color 0.3s;
}
.light-box {
width: 100%;
max-width: 500px;
padding: 20px;
background: rgba(255, 255, 255, 0.1);
border-radius: 10px;
margin-top: 20px;
}
.slider-container {
margin: 20px 0;
}
.slider-container label {
display: block;
color: #fff;
margin-bottom: 10px;
}
input[type="range"] {
width: 100%;
}
</style>
</head>
<body>
<div class="light-box">
<div class="slider-container">
<label>亮度调节</label>
<input type="range" id="brightness" min="0" max="100" value="50">
</div>
<div class="slider-container">
<label>色温调节</label>
<input type="range" id="temperature" min="0" max="100" value="50">
</div>
</div>
<script>
const brightnessSlider = document.getElementById('brightness');
const temperatureSlider = document.getElementById('temperature');
function updateLight() {
const brightness = brightnessSlider.value;
const temperature = temperatureSlider.value;
// 将色温值转换为实际的RGB颜色
const warmth = temperature / 100;
const r = Math.round(255 * (warmth * 1 + (1 - warmth) * 0.5));
const b = Math.round(255 * (warmth * 0.5 + (1 - warmth) * 1));
// 计算亮度
const brightnessValue = brightness / 100;
// 设置背景颜色
document.body.style.backgroundColor =
`rgb(${r * brightnessValue}, ${r * brightnessValue}, ${b * brightnessValue})`;
}
brightnessSlider.addEventListener('input', updateLight);
temperatureSlider.addEventListener('input', updateLight);
// 初始化光源
updateLight();
</script>
</body>
</html>
2
<?php
// 设置响应头为JSON
header('Content-Type: application/json; charset=utf-8');
// 检查请求方法
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
http_response_code(405); // Method Not Allowed
echo json_encode([
'status' => 'error',
'message' => '只允许POST请求'
]);
exit;
}
// 获取POST的JSON数据
$data = json_decode(file_get_contents('php://input'), true);
// 定义固定token
define('VALID_TOKEN', 'your_secret_token_123'); // 替换为您想要的固定token值
// 验证token
if (!isset($data['token']) || $data['token'] !== VALID_TOKEN) {
http_response_code(401); // 未授权
echo json_encode([
'status' => 'error',
'message' => '无效的token'
]);
exit;
}
// 验证ID参数
if (!isset($data['id']) || !is_numeric($data['id']) || intval($data['id']) <= 0) {
http_response_code(400);
echo json_encode([
'status' => 'error',
'message' => '无效的ID参数'
]);
exit;
}
$id = intval($data['id']);
// 数据库连接配置
$servername = "localhost";
$username = "phalapi";
$password = "phalapi";
$dbname = "phalapi";
try {
// 创建数据库连接
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("set names utf8mb4");
// 准备SQL语句
$stmt = $conn->prepare("SELECT id, name, demo FROM user WHERE id = :id");
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
// 执行查询
$stmt->execute();
// 获取结果
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if ($result) {
http_response_code(200);
echo json_encode([
'status' => 'success',
'data' => $result
]);
} else {
http_response_code(400);
echo json_encode([
'status' => 'error',
'message' => '未找到该用户'
]);
}
} catch(PDOException $e) {
http_response_code(400);
echo json_encode([
'status' => 'error',
'message' => '数据库错误:' . $e->getMessage()
]);
}
// 关闭数据库连接
$conn = null;
3
<?php
// 引入phpqrcode库
include 'phpqrcode/qrlib.php';
// 检查请求方法
if ($_SERVER['REQUEST_METHOD'] !== 'GET') {
header('Content-Type: application/json; charset=utf-8');
http_response_code(405); // Method Not Allowed
echo json_encode([
'status' => 'error',
'message' => '只允许GET请求'
]);
exit;
}
// 获取sr参数
$sr = isset($_GET['sr']) ? $_GET['sr'] : '';
// 验证sr参数
if (empty($sr)) {
header('Content-Type: application/json; charset=utf-8');
http_response_code(400);
echo json_encode([
'status' => 'error',
'message' => '缺少sr参数'
]);
exit;
}
// 设置响应头为PNG图片
header('Content-Type: image/png');
// 直接输出二维码图像
QRcode::png($sr, false, QR_ECLEVEL_L, 10, 2);
都一次性过,思考...