Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

CloudBase UniApp 模板

基于 UniApp 和腾讯云开发(CloudBase)的跨平台应用模板,目前已适配 H5微信小程序支付宝小程序抖音小程序 以及 App (iOS/Android),其他端的适配正在开发中。为开发者提供了快速构建全栈跨平台应用的能力。

Powered by CloudBase

本项目基于 CloudBase AI ToolKit 开发,通过AI提示词和 MCP 协议+云开发,让开发更智能、更高效,支持AI生成全栈代码、一键部署至腾讯云开发(免服务器)、智能日志修复。

项目特点

  • 🚀 基于 UniApp 构建,一套代码多端运行
  • ⚡ 使用 Vue 3 Composition API 构建现代化 UI
  • 🌐 目前支持 H5微信小程序支付宝小程序抖音小程序 以及 App (iOS/Android) ,其他平台适配开发中
  • 🎁 深度集成腾讯云开发 CloudBase,提供一站式后端云服务
  • 🔧 自定义 UniApp 适配器,完美适配云开发能力
  • 📱 完整的 TypeScript 支持,提供更好的开发体验

各平台展示效果

各平台展示如下:

H5 端 微信小程序
H5 端 微信小程序
支付宝小程序 抖音小程序
支付宝小程序 抖音小程序
Android 和 iOS

项目架构

前端架构

  • 框架:UniApp (基于 Vue 3)
  • 构建工具:Vite
  • 多端支持:H5、微信小程序、支付宝小程序、抖音小程序、App (iOS/Android)(其他平台适配开发中)
  • 状态管理:Vue 3 Reactivity API
  • 类型支持:TypeScript

云开发资源

本项目使用了以下腾讯云开发(CloudBase)资源:

  • 身份认证:用于用户登录和身份验证(匿名登录、手机验证码登录、邮箱验证码登录、手机号/用户名/邮箱密码登录、微信小程序 openId 静默登录)
  • 云数据库:用于存储应用数据
  • 云函数:用于实现业务逻辑
  • 云托管:用于实现业务逻辑
  • 云存储:用于存储文件
  • 静态网站托管:用于部署 H5 版本

目录结构

├── src/
│   ├── components/
│   │   ├── show-captcha.vue       # 登录验证弹窗组件
│   ├── pages/                     # 页面文件
│   │   ├── index/                 # 首页
│   │   │   ├── index.vue
│   │   │   └── index.json
│   │   ├── demo/                  # 云开发演示页面
│   │   │   ├── demo.vue
│   │   │   └── demo.json
│   │   ├── login/
│   │   │   ├── index.vue          # 登录主页面
│   │   │   ├── phone-login.vue    # 手机验证码登录页面
│   │   │   ├── email-login.vue    # 邮箱验证码登录页面
│   │   │   └── password-login.vue # 密码登录页面
│   │   └── profile/               # 用户信息页面
│   │       └── profile.vue        # 用户信息查看页面              
│   ├── utils/                     # 工具函数和云开发初始化
│   │   ├── cloudbase.ts           # 云开发配置
│   │   └── index.ts               # 通用工具函数
│   ├── static/                    # 静态资源
│   ├── App.vue                    # 应用入口组件
│   ├── main.ts                    # 应用入口文件
│   ├── pages.json                 # 页面路由配置
│   └── manifest.json              # 应用配置文件
├── cloudfunctions/                # 云函数目录
│   └── hello/                     # 示例云函数
│       ├── index.js
│       └── package.json
├── index.html                     # H5 模板
├── vite.config.ts                 # Vite 配置
├── tsconfig.json                  # TypeScript 配置
├── package.json                   # 项目依赖
├── cloudbaserc.json               # CloudBase CLI 配置
└── README.md                      # 项目说明

开始使用

VS Code 预览功能

本项目已配置 VS Code 预览功能,支持自动打开浏览器预览:

  1. 在 VS Code 中打开项目
  2. 项目会自动加载 .vscode/preview.yml 配置
  3. 启动开发服务器后会自动打开浏览器预览页面
  4. 默认端口:5173

配置文件位置:.vscode/preview.yml

前提条件
  • 安装 Node.js (版本 16 或更高)
  • 安装 HBuilderX 或其他支持 UniApp 的开发工具
  • 腾讯云开发账号 (可在腾讯云开发官网注册)
安装依赖
npm install
配置云开发环境
  1. 打开 src/utils/cloudbase.ts 文件
  2. ENV_ID 变量的值修改为您的云开发环境 ID
const ENV_ID = 'your-env-id'; // 替换为您的云开发环境ID
云开发环境配置

1. 开启登录认证方式

在云开发控制台的【扩展能力】->【身份认证】->【登录方式】中开启

  • 匿名登录
  • 用户名密码登录
  • 短信验证码登录
  • 邮箱登录
  • 微信小程序 openId 登录(需要先在【环境配置】->【小程序认证】中完成小程序认证)

2. 配置安全域名(H5 端)

在云开发控制台的【环境配置】->【安全来源】->【安全域名】中添加:

  • 开发域名:http://localhost:5173(本地开发)
  • 生产域名:您的实际部署域名

3. 配置安全域名(抖音小程序、支付宝小程序)

在云开发控制台的【环境配置】->【安全来源】->【安全域名】中添加域名:

  • 抖音小程序开发域名:tmaservice.developer.toutiao.com
  • 支付宝开发域名:devappid.hybrid.alipay-eco.com

4. 配置微信小程序域名

在微信小程序管理后台的【开发】->【开发管理】->【开发设置】->【服务器域名】中配置:

request 合法域名:

https://tcb-api.tencentcloudapi.com
https://your-env-id.service.tcloudbase.com

uploadFile 合法域名:

https://cos.ap-shanghai.myqcloud.com

downloadFile 合法域名:

https://your-env-id.tcb.qcloud.la
https://cos.ap-shanghai.myqcloud.com

注意:请将 your-env-id 替换为您的实际环境 ID,地域根据您的云开发环境所在地域调整。

5. **(仅 App 端需要)**配置安全应用来源

在云开发控制台的【环境配置】->【安全来源】->【移动应用安全来源】中添加应用:

  • 应用标识:your-appSign
  • 应用凭证:your-appAccessKeysrc/utils/cloudbase.ts 文件中,找到 appConfig 对象,填入您获取到的凭证信息。
const appConfig = {
    env: config.env || ENV_ID,
    timeout: config.timeout || 15000,
    appSign: 'your-appSign', // 应用标识
    appSecret: {
        appAccessKeyId: 1, // 凭证版本
        appAccessKey: 'your-appAccessKey' // 凭证
    }
本地开发
# H5 开发
npm run dev:h5

# 微信小程序开发
npm run dev:mp-weixin

# 抖音小程序开发
npm run dev:mp-toutiao

# 支付宝小程序开发
npm run dev:mp-alipay

# App (iOS/Android) 开发
# 1. 使用 HBuilderX 打开项目
# 2. 在顶部菜单栏选择【运行】->【运行到手机或模拟器】-> 选择您的设备

# 注意:目前仅支持 APP、H5、微信小程序、抖音小程序和支付宝小程序开发,其他平台适配开发中
构建生产版本
# 构建 H5 版本
npm run build:h5

# 构建微信小程序
npm run build:mp-weixin

# 构建抖音小程序
npm run build:mp-toutiao

# 构建支付宝小程序
npm run build:mp-alipay

# 注意:目前仅支持 H5 、微信小程序、抖音小程序和支付宝小程序构建,其他平台适配开发中

云开发使用示例

通过 src/utils/cloudbase.ts 访问云开发服务:

import { app, checkLogin } from './utils/cloudbase'

// 数据库操作
await checkLogin();
const db = app.database();
const result = await db.collection('users').get(); // 查询数据
await db.collection('users').add({ name: 'test' }); // 添加数据

// 调用云函数
const funcResult = await app.callFunction({ name: 'hello' });

// 调用云托管
app.callContainer({
    name: 'helloworld',
    method: 'POST',
    path: '/abc',
    header:{
      'Content-Type': 'application/json; charset=utf-8'
    },
    data: {
      key1: 'test value 1',
      key2: 'test value 2'
    },
  }).then((res) => {
    console.log(res)
  });

// 文件上传
const uploadResult = await app.uploadFile({ cloudPath: 'test.jpg', filePath: file });

// 文件下载
cloudbase.downloadFile({
    fileID: "cloud://aa-99j9f/my-photo.png"
  }).then((res) => {});

部署指南

部署云函数

可以使用 CloudBase CLI 或 MCP 工具部署云函数:

# 使用 CloudBase CLI
tcb functions:deploy hello

部署到云开发静态网站托管(H5版本)

  1. 构建 H5 版本:npm run build:h5
  2. 登录腾讯云开发控制台
  3. 进入您的环境 -> 静态网站托管
  4. 上传 dist/build/h5 目录中的文件

微信小程序发布

  1. 构建微信小程序版本:npm run build:mp-weixin
  2. 使用微信开发者工具打开 dist/build/mp-weixin 目录
  3. 上传代码包并发布

抖音小程序发布

  1. 构建抖音小程序版本:npm run build:mp-toutiao
  2. 使用抖音开发者工具打开 dist/build/mp-toutiao 目录
  3. 上传代码包并发布

支付宝小程序发布

  1. 构建支付宝小程序版本:npm run build:mp-alipay
  2. 使用支付宝开发者工具打开 dist/build/mp-alipay 目录
  3. 上传代码包并发布

平台适配状态

✅ 已适配平台

H5 端

  • ✅ 完全支持所有云开发功能
  • ✅ 支持本地开发和生产部署
  • ✅ 已配置相关安全域名

微信小程序

  • ✅ 完全支持所有云开发功能
  • ✅ 支持本地开发和发布
  • ✅ 已配置相关域名白名单

抖音小程序

  • ✅ 完全支持所有云开发功能
  • ✅ 支持本地开发和发布
  • ✅ 已配置相关域名白名单

支付宝小程序

  • ✅ 完全支持所有云开发功能
  • ✅ 支持本地开发和发布
  • ✅ 已配置相关域名白名单

App 端 (iOS/Android)

  • ✅ 完全支持所有云开发功能
  • ✅ 支持通过 HBuilderX 进行本地开发
  • ✅ 需要配置移动应用安全来源

🚧 开发中平台

其他小程序平台

  • 🚧 适配开发中

功能演示

项目包含完整的云开发功能演示:

  • 认证功能: 匿名登录/退出、手机验证码登录、邮箱验证码登录、密码登录、微信小程序 openId 静默登录
  • 云函数调用: 调用示例云函数
  • 云托管: 调用云托管服务
  • 数据库操作: 增加和查询数据
  • 数据库监听: 实时监听数据变化
  • 文件存储: 上传和下载文件

使用 CloudBase CLI 部署

# 安装 CloudBase CLI
npm install -g @cloudbase/cli

# 登录
tcb login

# 部署到云开发
tcb framework deploy

技术栈

  • UniApp - 跨平台应用开发框架
  • Vue 3 - 渐进式 JavaScript 框架
  • TypeScript - JavaScript 的超集,提供类型支持
  • Vite - 下一代前端构建工具
  • CloudBase JS SDK - 腾讯云开发 JavaScript SDK

开发注意事项

  1. 环境变量: 确保正确配置云开发环境 ID
  2. 安全域名: 根据部署平台配置相应的安全域名
  3. 权限配置: 注意数据库集合的读写权限设置
  4. 跨端兼容: 部分 API 在不同平台表现可能不同,注意测试

相关链接

贡献指南

欢迎提交 Issue 和 Pull Request 来改进这个模板!

许可证

MIT License