Appearance
UniApp 前端规范(uniapp/hiapi-cloud-uniapp)
HTTP:只用 HiapiUtils
ts
import { HiapiUtils } from '@hiapi/hiapi-cloud-web-basic'- 禁止直接使用 alovaInstance
- composable 内也需要显式 import(HiapiUtils 不在自动导入范围)
参数顺序:HiapiUtils.post(url, params, data) —— 第二个是 query
只发 body 时是 HiapiUtils.post(url, {}, payload),三个参数。 写成两个参数的话 payload 会被当成 query,body 空 —— 不报错,但接口什么都没收到。 和 useApi().post(url, data, params) 正好相反。 详见发布包总览 · 一号陷阱。
完整方法表、各宿主实现差异、0.0.22 与 0.0.25 的能力差,见 web-basic 包文档。
自动导入
以下目录内容在 <script setup> 中无需 import: src/composables/、src/store/、src/utils/、src/api/,以及 Vue 响应式 API(ref/computed/reactive/onMounted…)。
技术选型(不要另起炉灶)
| 用途 | 用什么 |
|---|---|
| UI 组件 | wot-design-uni(wd-* 前缀) |
| 路由 | uni-mini-router |
| 状态 | Pinia(defineStore) |
| HTTP | HiapiUtils(见上) |
常用命令
bash
pnpm dev:h5 / dev:mp-weixin
pnpm build:mp-weixin
pnpm type-check && pnpm lint:fix装修组件(uniapp-design)
- 每个 widget 必须有
index.vue(渲染)+property.vue(属性编辑器),放src/components/<project>/<widget>/,并在src/components/index.ts注册 - 命名:
hiapi-<project>-<widget> pnpm build:h5产出 UMD 包,经 UploadPlugin 发布