首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI 代码远征季 | AI生成+云部署,在线商城H5应用开发实战

AI 代码远征季 | AI生成+云部署,在线商城H5应用开发实战

原创
作者头像
叶一一
发布2025-07-22 08:56:37
发布2025-07-22 08:56:37
16200
代码可运行
举报
文章被收录于专栏:项目实战项目实战
运行总次数:0
代码可运行

引言

腾讯云推出的 CloudBase AI ToolKit 正引领全栈自动化开发的新范式。它无缝集成主流 AI 编程工具,通过自然语言 Prompt 生成可直接部署的前后端应用,将开发重心从“搭骨架”转向“注入灵魂”。

本文基于 React+node.js 技术栈,将实战演示如何通过该工具链开发一个新零售在线商城 H5 应用,涵盖代码生成、云函数配置、一键部署全流程,并深入解析核心代码逻辑。

一、前置准备:开通 CloudBase 环境

1.1 开通云开发环境

1.1.1 步骤1:注册并登录腾讯云

前往 腾讯云官网,注册腾讯云账号,然后登录账号。如有账号,可以直接登录。

1.1.2 步骤2:开通云开发 CloudBase 环境

  • 登录腾讯云 云开发控制台,单击立即创建并使用,新建一个环境来进行部署。
  • 开通成功之后,单击环境名称,进入环境总览页面。请记住您的环境 ID,这个 ID 在后续步骤将被使用。

1.2 Web 应用开发前置工作

因为我是做H5开发,所以需要做Web 应用开发的前置工作。

1.2.1 安装 SDK

@cloudbase/js-sdk 让您可以在 Web 端(如 PC Web 页面、微信公众平台 H5 等)使用 JavaScript 访问 CloudBase 服务和资源。

1.2.1.1 准备工作:引入 @cloudbase/js-sdk

方式 1:通过包管理器引入

npm

代码语言:javascript
代码运行次数:0
运行
复制
npm install @cloudbase/js-sdk -S

yarn

代码语言:javascript
代码运行次数:0
运行
复制
yarn add @cloudbase/js-sdk

方式2:通过公共 CDN 引用

引入全量 SDK

代码语言:javascript
代码运行次数:0
运行
复制
<script src="//static.cloudbase.net/cloudbase-js-sdk/${version}/cloudbase.full.js"></script>
<script>
  const app = cloudbase.init({
    env: 'cloudbase-yyy-xxx',
    clientId: '<CLIENT_ID>', // 应用 ID,选填
  });
</script>

实际开发中需要将<CLIENT_ID> 替换为 Client ID(可前往 身份认证 > 开发设置中创建获取)

1.2.1.2 第 1 步:初始化 Web SDK
代码语言:javascript
代码运行次数:0
运行
复制
import cloudbase from '@cloudbase/js-sdk';

const app = cloudbase.init({
    env: 'cloudbase-yyy-xxxx',
    clientId: '<CLIENT_ID>', // 应用 ID,选填
});

实际开发中需要将代码中的<CLIENT_ID> 替换为 Client ID(可前往 身份认证 > 开发设置中创建获取)

1.2.1.3 第 2 步:调用云开发 CloudBase 能力

初始化完成后,即可调用身份认证、数据库、云函数、云存储等能力的 API:

示例:调用 AI 能力

代码语言:javascript
代码运行次数:0
运行
复制
const model = app.ai.createModel("deepseek");
const systemPrompt =
  "生成 CloudBase 云函数:  
- 函数名 getProducts  
- 从云数据库查询商品集合  
- 支持分页参数 page 和 pageSize  
- 返回字段:id, name, price, image";

const res = await model.streamText({
  data: {
    model: "deepseek-r1", // 指定具体的模型
    messages: [
      { role: "user", content: systemPrompt },
    ],
  },
});
// 当使用 deepseek-r1 时,模型会生成思维链内容
for await (let data of res.dataStream) {
  // 打印思维链内容
  const think = (data?.choices?.[0]?.delta)?.reasoning_content;
  if (think) {
    console.log(think);
  }

  // 打印生成文本内容
  const text = data?.choices?.[0]?.delta?.content;
  if (text) {
    console.log(text);
  }
}

1.3 云开发 AI 开发套件

云开发 AI 开发套件是一套开发工具,可以帮助开发者快速在小程序、web等应用里面连接用户和 AI 服务。

1.3.1 创建 AI 应用

除了前面接入 SDK 的方式,还可以直接使用 CloudBase 提供的页面版 AI 开发套件。

我选择了 deepseek 大模型:

二、AI 生成核心功能模块

2.1 生成商品列表页(前端)

2.1.1 Prompt

代码语言:javascript
代码运行次数:0
运行
复制
生成一个 React 商品列表页组件:  
- 从云函数获取商品数据  
- 支持分页(每页10条)  
- 卡片式布局,包含图片、名称、价格  
- 实现下拉加载更多

输入Prompt,AI便可以自动生成你想要的功能:

2.1.2 AI 生成代码

代码语言:javascript
代码运行次数:0
运行
复制
import React, { useState, useEffect } from 'react';
import { cloud } from '@cloudbase/js-sdk';

const ProductList = () => {
  const [products, setProducts] = useState([]);
  const [page, setPage] = useState(1);
  const [loading, setLoading] = useState(false);

  // 调用云函数获取商品数据
  const fetchProducts = async () => {
    setLoading(true);
    try {
      const res = await cloud.callFunction({
        name: 'getProducts',
        data: { page, pageSize: 10 }
      });
      setProducts(prev => [...prev, ...res.result.data]);
    } catch (err) {
      console.error('获取商品失败:', err);
    } finally {
      setLoading(false);
    }
  };

  useEffect(() => {
    fetchProducts();
  }, [page]);

  // 滚动加载更多
  const handleScroll = () => {
    if (window.innerHeight + document.documentElement.scrollTop !== 
        document.documentElement.offsetHeight || loading) return;
    setPage(prev => prev + 1);
  };

  useEffect(() => {
    window.addEventListener('scroll', handleScroll);
    return () => window.removeEventListener('scroll', handleScroll);
  }, []);

  return (
    <div className="product-grid">
      {products.map(product => (
        <div key={product.id} className="product-card">
          <img src={product.image} alt={product.name} />
          <h3>{product.name}</h3>
          <p>¥{product.price.toFixed(2)}</p>
        </div>
      ))}
      {loading && <div className="loading">加载中...</div>}
    </div>
  );
};
export default ProductList;

2.1.3 代码解析

模块

说明

cloud.callFunction

调用名为 getProducts 的云函数,传递分页参数

滚动加载

通过 handleScroll 监听滚动事件,触达底部时更新 page 状态触发重新请求

数据拼接

setProducts(prev => [...prev, ...res.result.data]) 实现数据增量更新

错误处理

try/catch 包裹云函数调用,避免页面崩溃

2.2 购物车云同步(前端)

2.2.1 Prompt

代码语言:javascript
代码运行次数:0
运行
复制
生成一个 React 购物车云同步:  
- 从云函数获用户取购物车数据  
- 实时购物车数据更新

2.2.2 流程图解

2.2.3 AI生成核心代码

代码语言:javascript
代码运行次数:0
运行
复制
// cloud/functions/syncCart.js  
const cloud = require('@cloudbase/node-sdk');  

exports.main = async (event) => {  
  const { userId, cartItems } = event;  
  const app = cloud.init({ env: process.env.ENV_ID });  

  try {  
    // 原子更新购物车  
    await app.database().collection('user_carts').doc(userId).update({  
      items: cartItems,  
      updateTime: new Date()  
    });  

    // 发布实时更新事件  
    await app.callFunction({  
      name: 'pushNotification',  
      data: {  
        userId,  
        type: 'cart_update'  
      }  
    });  

    return { code: 0 };  
  } catch (error) {  
    return { code: 500, msg: error.message };  
  }  
};

2.2.3 关键技术点

  • 原子操作:直接更新整个购物车对象避免并发冲突。
  • 实时通知:通过云函数触发多端同步。
  • 环境隔离process.env.ENV_ID自动注入环境变量。

2.3 支付链路(前端)

2.3.1 Prompt

代码语言:javascript
代码运行次数:0
运行
复制
生成一个 React 支付链路:  
- 下单详情页  
- 支付聚合页,支持多种支付方式
- 支付成功页
- 订单列表页
- 从元函数获取用户信息和商品信息 

2.3.2 架构解析

2.3.3 支付云函数代码

代码语言:javascript
代码运行次数:0
运行
复制
// cloud/functions/createPayment.js  
const cloud = require('@cloudbase/node-sdk');  
const tenpay = require('tenpay');  

exports.main = async (event) => {  
  const { orderId, totalFee, openId } = event;  
  const app = cloud.init();  

  // 初始化支付配置  
  const pay = new tenpay({  
    appid: process.env.WX_APPID,  
    mchid: process.env.WX_MCHID,  
    partnerKey: process.env.WX_KEY  
  });  

  // 生成支付参数  
  const result = await pay.getPayParams({  
    out_trade_no: orderId,  
    body: '商城订单支付',  
    total_fee: totalFee,  
    openid: openId  
  });  

  // 记录支付请求  
  await app.database().collection('payment_logs').add({  
    orderId,  
    params: result,  
    createTime: new Date()  
  });  

  return result;  
};

2.3.4 安全设计:

  • 敏感信息隔离:支付密钥通过环境变量注入。
  • 操作审计:记录所有支付请求日志。
  • 订单号生成out_trade_no保证全局唯一性。

2.4 生成商品查询云函数(后端)

2.4.1 Prompt

代码语言:javascript
代码运行次数:0
运行
复制
生成 CloudBase 云函数:  
- 函数名 getProducts  
- 从云数据库查询商品集合  
- 支持分页参数 page 和 pageSize  
- 返回字段:id, name, price, image

2.4.2 AI 生成代码

代码语言:javascript
代码运行次数:0
运行
复制
const cloud = require('@cloudbase/node-sdk');
const app = cloud.init({ env: process.env.ENV_ID });

exports.main = async (event) => {
  const { page = 1, pageSize = 10 } = event;
  const db = app.database();
  const collection = db.collection('products');

  try {
    const res = await collection
      .field({ id: true, name: true, price: true, image: true })
      .skip((page - 1) * pageSize)
      .limit(pageSize)
      .get();

    return { code: 0, data: res.data };
  } catch (err) {
    return { code: 500, msg: '数据库查询失败', error: err };
  }
};

2.4.3 参数解析

参数

类型

作用

skip()

方法

跳过指定数量文档(实现分页)

limit()

方法

限制返回文档数量

field()

方法

指定返回字段,避免传输冗余数据

process.env.ENV_ID

环境变量

自动注入部署时的云环境 ID

三、部署项目

  • 找到云开发控制台 静态网站托管 页面。
  • 单击基础配置,在域名信息中找到默认域名。

结语

CloudBase AI ToolKit 通过三项革新显著提升开发效率:

  • 全栈生成能力:从 UI 组件到云函数,90% 基础代码由 AI 自动生成。
  • 无缝云集成:一键部署至 CloudBase,自动处理资源配置与依赖。
  • 智能运维闭环:结合日志监控与错误诊断,快速定位运行时问题。

在本次新零售 H5 商城的实战中,我们仅通过 5 条核心 Prompt 便完成了商品展示系统的开发与部署,验证了 AI ToolKit 在“从 1 到 N”场景下的工程价值。未来,随着工具链对复杂状态管理(如购物车、订单)的深度支持,AI 驱动的全栈开发将成为中小型项目的首选方案。

GitHub 参考CloudBase-AI-ToolKit 开源仓库 免费环境申请腾讯云开发控制台

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 一、前置准备:开通 CloudBase 环境
    • 1.1 开通云开发环境
      • 1.1.1 步骤1:注册并登录腾讯云
      • 1.1.2 步骤2:开通云开发 CloudBase 环境
    • 1.2 Web 应用开发前置工作
      • 1.2.1 安装 SDK
    • 1.3 云开发 AI 开发套件
      • 1.3.1 创建 AI 应用
  • 二、AI 生成核心功能模块
    • 2.1 生成商品列表页(前端)
      • 2.1.1 Prompt
      • 2.1.2 AI 生成代码
      • 2.1.3 代码解析
    • 2.2 购物车云同步(前端)
      • 2.2.1 Prompt
      • 2.2.2 流程图解
      • 2.2.3 AI生成核心代码
      • 2.2.3 关键技术点
    • 2.3 支付链路(前端)
      • 2.3.1 Prompt
      • 2.3.2 架构解析
      • 2.3.3 支付云函数代码
      • 2.3.4 安全设计:
    • 2.4 生成商品查询云函数(后端)
      • 2.4.1 Prompt
      • 2.4.2 AI 生成代码
      • 2.4.3 参数解析
  • 三、部署项目
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档