1
0
mirror of https://github.com/ialley-workshop-open/uni-halo.git synced 2026-09-12 16:40:40 +08:00
Files
uni-halo/.agents/skills/uniapp-project/SKILL.md
T
2026-08-31 07:58:23 +08:00

235 lines
8.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: uniapp-project
description: Provides comprehensive uni-app component and API integration guidance. Use when the user needs official uni-app components or APIs, wants per-component or per-API examples, or needs cross-platform compatibility details.
license: Complete terms in LICENSE.txt
---
## When to use this skill
Use this skill whenever the user wants to:
- Use any uni-app built-in component or uni-ui component
- Use any uni-app API (network, storage, device, UI, navigation, media, etc.)
- Access per-component or per-API examples with official doc links
- Check platform compatibility for components and APIs
- Build cross-platform uni-app applications with official patterns
## How to use this skill
This skill is organized to match the official uni-app components and API documentation:
1. **Choose component or API category**:
- Components → `examples/components/built-in/` and `examples/uni-ui/`
- APIs → `examples/api/` (categorized by domain)
2. **Open the matching example file**:
- Each component or API has its own example file
- Each example includes the official documentation URL
- Examples mirror the official documentation examples
3. **Use references when you need full specs**:
- `references/components/built-in/` for built-in components
- `references/components/uni-ui/` for uni-ui components
- `references/api/` for API parameter/return/compatibility details
## Examples and References
### Components (Built-in)
- Examples: `examples/components/built-in/*.md`
- References: `references/components/built-in/*.md`
- Official docs: https://uniapp.dcloud.net.cn/component/
### Components (uni-ui)
- Examples: `examples/uni-ui/*.vue` and `examples/uni-ui/README.md`
- References: `references/components/uni-ui/*.md`
- Official docs: https://uniapp.dcloud.net.cn/component/uniui/uni-ui.html
- Plugin: https://ext.dcloud.net.cn/plugin?id=55
### APIs
- Examples: `examples/api/{category}/*.md`
- References: `references/api/*.md`
- Official docs: https://uniapp.dcloud.net.cn/api/
## Best Practices
1. **One file per component/API**: Each component and API has an independent example file with official doc link.
2. **Follow platform compatibility**: Check the compatibility section in each example/reference.
3. **Use conditional compilation**: Use `#ifdef`/`#endif` for platform-specific logic.
4. **Keep examples aligned**: Use the official documentation examples as the source of truth.
5. **Prefer references for specs**: Use `references/` for full parameter tables and compatibility.
## Resources
- **Components**: https://uniapp.dcloud.net.cn/component/
- **APIs**: https://uniapp.dcloud.net.cn/api/
- **uni-ui**: https://uniapp.dcloud.net.cn/component/uniui/uni-ui.html
- **Plugin Market**: https://ext.dcloud.net.cn/
## Keywords
uniapp, uni-app, components, api, built-in components, uni-ui, examples, references, pages.json, manifest.json, H5, App, mini program, 跨平台, 组件, API, 官方文档
- `examples/api/network/` - 网络请求 API 示例
- `examples/api/storage/` - 数据存储 API 示例
- `examples/api/device/` - 设备信息 API 示例
- `examples/api/ui/` - 界面交互 API 示例
- `examples/api/location/` - 位置服务 API 示例
- `examples/api/media/` - 媒体处理 API 示例
- `examples/api/navigation/` - 页面路由 API 示例
- `examples/api/file/` - 文件操作 API 示例
- `examples/api/payment/` - 支付 API 示例
- `examples/api/share/` - 分享 API 示例
- `examples/api/other/` - 其他 API 示例
- `examples/uni-ui/` - uni-ui 组件的完整示例代码(每个组件一个独立的 .vue 文件)
**使用场景**:当需要查看组件或 API 的完整使用示例时,参考此目录下的示例文件。每个示例文件包含官网展示的所有示例场景,可直接复制使用。
**注意**
- references/ 和 examples/ 职责不同,不应合并。references/ 提供文档说明,examples/ 提供可运行代码。
- 每个组件和 API 都有独立的示例文件,包含原文档地址和官网全部示例
- 内置组件的示例代码在 `examples/components/built-in/` 目录
- API 的示例代码在 `examples/api/` 目录,按分类组织
- uni-ui 组件的完整示例代码在 `examples/uni-ui/` 目录
## 平台支持
uni-app 支持以下平台:
- **H5**Web 浏览器
- **微信小程序**WeChat Mini Program
- **支付宝小程序**Alipay Mini Program
- **百度小程序**Baidu Smart Program
- **字节跳动小程序**ByteDance Mini Program
- **QQ 小程序**QQ Mini Program
- **快手小程序**Kuaishou Mini Program
- **App**iOS、Androidnvue、vue
- **快应用**Quick App
每个组件和 API 的详细平台支持情况见对应文档。
## 参考资源
- **官方文档**https://uniapp.dcloud.net.cn/
- **组件文档**https://uniapp.dcloud.net.cn/component/
- **API 文档**https://uniapp.dcloud.net.cn/api/
- **插件市场**https://ext.dcloud.net.cn/
- **社区问答**https://ask.dcloud.net.cn/
## 使用示例
### 组件使用示例
基础组件使用示例:
```vue
<template>
<view class="container">
<text>{{ message }}</text>
<button @click="handleClick">点击按钮</button>
<image :src="imageUrl" mode="aspectFit"></image>
</view>
</template>
<script>
export default {
data() {
return {
message: 'Hello UniApp',
imageUrl: '/static/logo.png'
}
},
methods: {
handleClick() {
uni.showToast({
title: '按钮被点击',
icon: 'success'
})
}
}
}
</script>
```
**更多组件示例**
- **内置组件示例**:请参考[官方文档](https://uniapp.dcloud.net.cn/component/)或 `references/components/built-in/` 目录下的组件文档
- **uni-ui 组件完整示例**:见 `examples/uni-ui/` 目录(每个组件都有独立的 .vue 示例文件)
- **组件详细文档**:见 `references/components/built-in/``references/components/uni-ui/` 目录(每个组件都有独立的文档文件,包含属性、事件、平台兼容性、使用示例)
### API 使用示例
```javascript
// 网络请求
uni.request({
url: 'https://api.example.com/data',
method: 'GET',
success: (res) => {
console.log(res.data)
},
fail: (err) => {
console.error(err)
}
})
// 数据存储
uni.setStorage({
key: 'userInfo',
data: { name: 'John', age: 30 },
success: () => {
console.log('存储成功')
}
})
// 页面跳转
uni.navigateTo({
url: '/pages/detail/detail?id=123'
})
```
**更多 API 示例**:见 `references/api/` 目录中的详细文档
## 注意事项
1. **组件层级**:原生组件(如 video、map)层级高于普通组件,需要使用 cover-view 覆盖
2. **条件编译**:使用 `#ifdef``#endif` 处理平台差异
3. **生命周期**:注意 uni-app 的页面生命周期和组件生命周期
4. **样式单位**:推荐使用 rpx 作为响应式单位
5. **性能优化**:合理使用组件,避免过度嵌套,注意长列表优化
## 能力边界
### ✅ 适用场景
- 当你需要使用此技能对应的技术栈时
- 当项目需要遵循最佳实践时
- 当需要快速上手或深入理解核心概念时
### ⚠️ 需要注意
- 复杂业务逻辑需要结合具体场景调整
- 性能优化需要根据实际数据量评估
### ❌ 不适用场景
- 不相关的技术栈或框架
- 需要完全自定义的特殊场景
## 常见陷阱 (Gotchas)
1. **版本兼容性**:注意框架版本与依赖库的兼容性,不同版本 API 可能有差异
2. **配置文件格式**:配置文件格式错误是最常见的问题,建议使用编辑器的语法检查
3. **环境变量**:确保所有必要的环境变量已正确设置,敏感信息不要硬编码
4. **依赖冲突**:多版本共存时注意依赖冲突,使用 lock 文件锁定版本
5. **性能陷阱**:大数据量场景下注意性能优化,避免 N+1 查询等常见问题
## 使用流程
### Step 1: 环境准备
确保开发环境已安装必要的依赖和工具。
### Step 2: 配置初始化
根据项目需求进行基础配置。
### Step 3: 核心功能使用
按照示例代码实现核心功能。
### Step 4: 测试验证
运行测试确保功能正常。
### Step 5: 部署上线
完成开发后进行部署和监控。