前言
在 uni-app 小程序开发中,手写重复代码、跨端适配调试、Web 代码转小程序代码等场景往往耗时又容易踩坑。DCloud 官方推出的 uniAI 插件(适配 HBuilderX)完美解决了这些痛点------它能通过自然语言指令直接生成符合小程序规范的 uni-app 代码,无需手动适配 API、单位、生命周期,比通用 AI 工具(如 Copilot)更贴合 uni-app 生态。本文将从插件安装到进阶技巧,全程手把手教你用好 uniAI,大幅提升小程序开发效率。
一、环境准备:安装 uniAI 插件(HBuilderX 内)
1. 安装步骤
- 打开 HBuilderX 编辑器,点击顶部菜单栏「插件市场」→「插件安装」;
- 在搜索框输入「uniAI」,找到 DCloud 官方出品 的 uniAI 插件(认准开发者标识),点击「安装」;
- 安装完成后必须重启 HBuilderX(插件需重启才能生效);
- 验证安装:重启后打开任意
.vue文件,右键菜单中能看到「uniAI」选项,即安装成功。
2. 注意事项
- 确保 HBuilderX 为最新版本,避免插件兼容问题;
- 插件无需额外配置,登录 HBuilderX 账号即可使用基础功能。
二、基础使用:一键生成 uni-app 小程序页面(核心实战)
以「生成微信小程序登录页」为例,3 步搞定完整页面开发,包含 UI、逻辑、样式全流程。
步骤 1:新建空的 uni-app 页面文件
- 在已创建的 uni-app 项目中,右键「pages」文件夹 →「新建页面」;
- 页面名称填写「login」,勾选「创建同名目录」「SCSS 样式」,点击「创建」;
- 打开生成的
pages/login/login.vue文件(初始为空白模板,仅含基础 Vue 结构)。
步骤 2:输入自然语言指令(核心关键)
在 login.vue 文件任意位置(推荐顶部),输入注释格式的中文指令(无需复杂语法,精准即可):
vue
// 生成 uni-app 微信小程序登录页,使用 uView UI 组件库,包含手机号+验证码输入框、获取验证码倒计时、登录按钮,样式用 rpx 单位,scoped SCSS,调用 uni.request 发送登录请求,登录成功后用 uni.switchTab 跳转到首页
通用指令模板(可直接修改复用)
plaintext
// 生成 uni-app 微信小程序<页面名>,使用 <uView/Vant Weapp> 组件库,包含 <核心功能>,样式用 rpx 单位,scoped SCSS,调用 uni.request 处理请求,使用 <onLoad/onShow> 生命周期
步骤 3:触发生成代码(2 种方式)
方式 1:右键菜单(新手推荐)
- 将光标停在指令行末尾,右键点击 → 选择「uniAI」→「生成代码」;
- 等待 2-3 秒,uniAI 会自动在指令下方生成完整适配代码(包含 template/script/style)。
方式 2:快捷键触发(高效)
输入指令后,按快捷键:
- Windows:
Alt + A - Mac:
Option + A
直接触发生成,无需鼠标操作。
步骤 4:验证生成效果
生成的代码完全适配微信小程序规范,包含三大核心部分:
vue
<template>
<!-- uView 适配小程序的表单组件,布局用 rpx 单位 -->
<view class="login-container">
<u-form :model="loginForm" label-width="80rpx">
<u-form-item label="手机号">
<u-input v-model="loginForm.phone" type="number" placeholder="请输入手机号"></u-input>
</u-form-item>
<u-form-item label="验证码">
<u-input v-model="loginForm.code" type="number" placeholder="请输入验证码"></u-input>
<u-button size="mini" :disabled="countDown > 0" @click="getCode">{{ countDown > 0 ? `${countDown}s后重新获取` : '获取验证码' }}</u-button>
</u-form-item>
<u-button type="primary" @click="login">登录</u-button>
</u-form>
</view>
</template>
<script>
export default {
data() {
return {
loginForm: {
phone: '',
code: ''
},
countDown: 0 // 验证码倒计时
}
},
onLoad() {
// 小程序生命周期,替代 web 端 mounted
},
methods: {
// 验证码倒计时逻辑
getCode() {
if (!/^1[3-9]\d{9}$/.test(this.loginForm.phone)) {
uni.showToast({ title: '手机号格式错误', icon: 'none' });
return;
}
this.countDown = 60;
const timer = setInterval(() => {
this.countDown--;
if (this.countDown <= 0) clearInterval(timer);
}, 1000);
// 发送验证码请求(uni.request 适配小程序)
uni.request({
url: '/api/sendCode',
method: 'POST',
data: { phone: this.loginForm.phone },
success: (res) => {
if (res.data.code === 200) uni.showToast({ title: '验证码发送成功' });
},
fail: (err) => {
uni.showToast({ title: '请求失败', icon: 'none' });
}
});
},
// 登录请求逻辑
login() {
uni.request({
url: '/api/login',
method: 'POST',
data: this.loginForm,
success: (res) => {
if (res.data.code === 200) {
uni.switchTab({ url: '/pages/index/index' }); // 小程序跳转 API
}
},
fail: (err) => {
uni.showToast({ title: '登录失败', icon: 'none' });
}
});
}
}
}
</script>
<style lang="scss" scoped>
.login-container {
padding: 40rpx 30rpx;
.u-form {
margin-top: 60rpx;
}
.u-button {
margin-top: 40rpx;
height: 80rpx;
line-height: 80rpx;
}
}
</style>
<template>:基于 uView 的表单组件,适配小程序交互逻辑;<script>:验证码倒计时、uni.request 封装(替代 axios)、小程序生命周期 onLoad;<style>:rpx 单位适配多端,scoped 避免样式冲突。
三、进阶使用技巧:解决小程序开发高频痛点
1. 代码纠错/优化(修复适配问题)
若生成的代码存在小程序兼容问题(如样式错乱、API 调用错误),选中问题代码,右键 →「uniAI」→「代码纠错/优化」,输入指令:
plaintext
优化这段代码,修复微信小程序适配问题:1. 按钮点击区域过小;2. uni.request 未处理请求失败场景;3. 验证码输入框聚焦时页面上移
uniAI 会自动修正代码,并标注修改点(如增大按钮 padding、补充请求失败兜底、添加输入框聚焦防抖)。
2. 代码转换(Web 代码转 uni-app 小程序)
若已有 Vue2 Web 端代码,需转为 uni-app 小程序版本:
- 复制 Vue2 代码到
login.vue; - 选中代码,右键 →「uniAI」→「代码转换」,输入指令:
plaintext
把这段 Vue2 代码转换为 uni-app 微信小程序版本,替换 axios 为 uni.request,px 改为 rpx,mounted 改为 onLoad
- 一键完成转换,无需手动修改 API、单位、生命周期。
3. 生成专属配置文件(pages.json/manifest.json)
uniAI 支持生成 uni-app 核心配置文件,避免手动写路由/权限配置:
- 新建
pages.json文件,输入指令:
plaintext
生成 uni-app 微信小程序的 pages.json 配置,包含登录页、首页、商品列表页的路由,配置导航栏样式、下拉刷新、分包加载(商品模块分包)
- 触发生成,直接得到符合小程序规范的配置代码:
json
{
"pages": [
{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "登录",
"navigationBarBackgroundColor": "#ffffff",
"enablePullDownRefresh": false
}
},
{
"path": "pages/index/index",
"style": {
"navigationBarTitleText": "首页",
"enablePullDownRefresh": true
}
}
],
"subPackages": [
{
"root": "pages/goods",
"pages": [
{
"path": "list/list",
"style": {
"navigationBarTitleText": "商品列表"
}
}
]
}
]
}
4. 生成规范注释/文档(适配小程序)
选中生成的页面代码,右键 →「uniAI」→「生成注释」,输入指令:
plaintext
为这段 uni-app 小程序代码生成详细注释,标注小程序适配点(比如 rpx 单位、uni.request 拦截器、隐私接口权限)
自动添加符合小程序开发规范的注释,方便团队协作和后期维护。
四、避坑指南:关键注意事项
- 指令要精准:必须包含「uni-app 微信小程序」「rpx 单位」「uni.request」等关键词,生成的代码更贴合小程序场景;
- 组件库明确:指令中写清「uView UI」或「Vant Weapp」,避免生成 Element-UI 等 Web 端组件(小程序不兼容);
- 网络请求选型:优先指定「uni.request」而非 axios,axios 在小程序端存在跨域/兼容问题;
- 权限配置提醒 :生成涉及定位/支付/相册的代码时,uniAI 会提示在
manifest.json配置小程序权限,务必按提示添加(如微信小程序的scope.userLocation权限)。
五、总结
- 核心流程:安装 uniAI 插件 → 新建 uni-app 页面 → 输入中文指令 → 右键生成代码,全程无需手写重复逻辑;
- 核心优势:比通用 AI 工具更懂 uni-app 生态,生成的代码无需修改 API、单位、生命周期,直接适配小程序;
- 效率提升:善用「代码转换」「纠错」功能,可将 Web 转小程序、调试适配的时间缩短 80% 以上。
拓展
uniAI 不仅支持登录页,还能生成商品列表、购物车、支付页等小程序核心页面,只需修改指令中的「页面名」和「核心功能」即可。如果生成的代码需要个性化调整(如样式、交互逻辑),只需在指令中补充细节,uniAI 就能精准匹配需求。
快去试试用 uniAI 开发你的下一个 uni-app 小程序吧,体验「自然语言→完整代码」的高效开发模式~