<p align="center">
    <img alt="logo" src="https://ik.imagekit.io/anyup/uview-pro/common/logo-new.png" width="120" height="120" style="margin-bottom: 10px;">
</p>
<h3 align="center" style="margin: 30px 0 30px;font-weight: bold;font-size:40px;">uView Pro</h3>
<h3 align="center">uni-app Vue3 多平台快速开发的 UI 框架</h3>

[![star](https://gitee.com/anyup/uView-Pro/badge/star.svg)](https://gitee.com/anyup/uView-Pro)
[![fork](https://gitee.com/anyup/uView-Pro/badge/fork.svg)](https://gitee.com/anyup/uView-Pro)
[![stars](https://img.shields.io/github/stars/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![forks](https://img.shields.io/github/forks/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro)
[![issues](https://img.shields.io/github/issues/anyup/uView-Pro?style=flat-square&logo=GitHub)](https://github.com/anyup/uView-Pro/issues)
[![downloads](https://img.shields.io/npm/dm/uview-pro?logo=npm&link=https%3A%2F%2Fwww.npmjs.com%2Fpackage%2Fuview-pro&style=flat-square)](https://www.npmjs.com/package/uview-pro)
[![npm version](https://img.shields.io/npm/v/uview-pro)](https://www.npmjs.com/package/uview-pro)
[![Website](https://img.shields.io/badge/uView%20Pro-docs-blue?style=flat-square)](https://uviewpro.cn)
[![node version](https://img.shields.io/badge/node-%3E%3D18-green)](https://nodejs.org/)
[![pnpm version](https://img.shields.io/badge/pnpm-%3E%3D7.30-green)](https://pnpm.io/)
[![license](https://img.shields.io/github/license/anyup/uView-Pro?style=flat-square)](https://en.wikipedia.org/wiki/MIT_License)

## 说明

`uView UI`，是 [uni-app](https://uniapp.dcloud.io/) 生态优秀的 UI 框架，全面的组件和便捷的工具会让您信手拈来，如鱼得水。

`uView Pro`，是全面支持 Vue3.0、TypeScript 的 uni-app 生态框架，uView Pro 的基线版本是基于 uView 1.8.8 修改，使用 TypeScript 完全重构，已覆盖 Android、iOS、鸿蒙以及微信/头条/支付宝等主流小程序平台，真正实现“一套代码，多端运行”，支持多主题系统、暗黑模式与国际化（i18n）。

## [官方文档：https://uviewpro.cn](https://uviewpro.cn)

## [快速启动模板：https://starter.uviewpro.cn](https://starter.uviewpro.cn)

## 特性

- 兼容安卓，iOS，微信小程序，H5，QQ 小程序，百度小程序，支付宝小程序，头条小程序
- 70+精选组件，功能丰富，多端兼容，让您快速集成，开箱即用
- 众多贴心的 JS 利器，让您飞镖在手，召之即来，百步穿杨
- 众多的常用页面和布局，让您专注逻辑，事半功倍
- 详尽的文档支持，现代化的演示效果
- 按需引入，精简打包体积

## 鸿蒙预览

🎉🎉 uView Pro 鸿蒙端应用已正式上线华为鸿蒙应用市场，为您提供完整的业务场景演示平台，包含组件库、模板示例、场景案例等，支持一键复制下载，帮助开发者快速上手并体验组件的实际应用价值！

> 系统要求：仅支持 HarmonyOS 5.0 及以上版本设备

<table>
    <tr align="center">
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_harmony.png" width="180" height="180" ></td>
    </tr>
    <tr>
        <td align="center"><strong>鸿蒙应用</strong><br>（浏览器扫码）</td>
    </tr>
</table>

## 手机预览

您可以通过**微信**或**手机浏览器**扫描以下二维码，查看最佳的演示效果。

<table class="table">
    <tr>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_wx.jpg" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_alipay.png" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_h5.png" width="150" height="150" ></td>
        <td><img src="https://ik.imagekit.io/anyup/images/social/qr_uview_pro_android.png" width="150" height="150" ></td>
    </tr>
    <tr>
        <td align="center"><strong>微信小程序</strong><br>（微信扫码）</td>
        <td align="center"><strong>支付宝小程序</strong><br>（支付宝扫码）</td>
        <td align="center"><strong>H5</strong><br>（浏览器扫码）</td>
        <td align="center"><strong>Android</strong><br>（浏览器扫码）</td>
    </tr>
</table>

运行示例工程，请[下载源码](https://github.com/anyup/uview-pro)后，在项目根目录执行以下命令：

```bash
pnpm install
pnpm dev
```

## 链接

- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [官方文档](https://uviewpro.cn)
- [更新日志](https://github.com/anyup/uView-Pro/blob/master/src/uni_modules/uview-pro/changelog.md)

## 交流反馈

欢迎通过各种方式来交流反馈，让 uView Pro 更好的为大家服务：

[欢迎交流反馈](https://uviewpro.cn/zh/resource/about.html)

## 捐赠 uView Pro

开源不易，如果您认为 `uView Pro` 帮到了您的开发工作，您可以捐赠 `uView Pro`：

[欢迎捐赠留名](https://uviewpro.cn/zh/reward/donation.html)

## 关于 PR

我们非常乐意接受各位的优质 PR，但在此之前我希望您了解 `uView Pro` 是一个需要兼容多个平台的（小程序、h5、iOS App、Android App）包括 nvue 页面、vue 页面。

所以希望在您修复 bug 并提交之前尽可能的去这些平台测试一下兼容性。最好能携带测试截图以方便审核。非常感谢！

## 安装配置

`uView Pro` 支持 `npm` 和 `uni_modules` 两种主流安装方式，配置方式高度一致。无论采用哪种方式，均可通过 `easycom` 实现组件自动引入，极大提升开发效率。以下为统一的配置说明：

### 1. 安装 uView Pro

- npm 安装：

```bash
npm install uview-pro
# 或
yarn add uview-pro
# 或
pnpm add uview-pro
```

- uni_modules 安装：

通过 HBuilderX 插件市场或手动下载，将 uView Pro 放入 `uni_modules` 目录。

[插件市场：https://ext.dcloud.net.cn/plugin?id=24633](https://ext.dcloud.net.cn/plugin?id=24633)

### 2. 引入 uView Pro 主库

在 `main.ts` 中引入并注册 uView Pro：

```js
import { createSSRApp } from 'vue';
// npm 方式
import uViewPro from 'uview-pro';
// uni_modules 方式
// import uViewPro from "@/uni_modules/uview-pro";

export function createApp() {
    const app = createSSRApp(App);
    app.use(uViewPro);
    return {
        app
    };
}
```

### 3. 引入全局样式

在 `uni.scss` 中引入主题样式：

```scss
/* npm 方式 */
@import 'uview-pro/theme.scss';
/* uni_modules 方式 */
/* @import "@/uni_modules/uview-pro/theme.scss"; */
```

在 `App.vue` 首行引入基础样式：

```scss
<style lang="scss">
  /* npm 方式 */
  @import "uview-pro/index.scss";
  /* uni_modules 方式 */
  /* @import "@/uni_modules/uview-pro/index.scss"; */
</style>
```

### 4. 配置 easycom 自动引入组件

在 `pages.json` 中配置 `easycom` 规则，实现组件自动引入：

```json
{
    "easycom": {
        "autoscan": true,
        "custom": {
            // npm 方式
            "^u-(.*)": "uview-pro/components/u-$1/u-$1.vue"
            // uni_modules 方式
            // "^u-(.*)": "@/uni_modules/uview-pro/components/u-$1/u-$1.vue"
        }
    },
    "pages": []
}
```

**温馨提示**

- 1.修改 `easycom` 规则后需重启 HX 或重新编译项目。
- 2.请确保 `pages.json` 中只有一个 easycom 字段，否则请自行合并多个规则。
- 3.一定要放在 `custom` 内，否则无效。

### 5. Volar 类型提示支持

如需在 `CLI` 项目中获得 `Volar` 的全局类型提示，请在 `tsconfig.json` 中添加：

```json
{
    "compilerOptions": {
        // npm 方式
        "types": ["uview-pro/types"]
        // uni_modules 方式
        // "types": ["@/uni_modules/uview-pro/types"]
    }
}
```

> HBuilderX 项目暂不支持 `tsconfig.json` 的 `types` 配置，`CLI` 项目推荐配置以获得最佳 `TS` 体验。

### 6. 组件使用

配置完成后，无需 `import` 和 `components` 注册，可直接在 `SFC` 中使用 `uView Pro` 组件：

```vue
<template>
    <u-button type="primary">按钮</u-button>
</template>
```

请通过[快速上手](https://uviewpro.cn/zh/components/quickstart.html)了解更详细的内容

## 贡献者

<a href="https://github.com/anyup/uView-Pro/graphs/contributors">
  <img alt="Contributors" src="https://contrib.rocks/image?repo=anyup/uView-Pro" />
</a>

## 版权信息

`uView Pro` 遵循[MIT](https://en.wikipedia.org/wiki/MIT_License)开源协议，意味着您无需支付任何费用，也无需授权，即可将 `uView Pro` 应用到您的产品中。

## 鸣谢

再次感谢 `uView UI` 开发团队，以及所有为 `uView UI` 的贡献者，以及所有为 `uView Pro` 的贡献者。

- [Github](https://github.com/anyup/uview-pro)
- [Gitee](https://gitee.com/anyup/uview-pro)
- [uView UI 1.0](https://github.com/umicro/uView)
- [uView UI 2.0](https://github.com/umicro/uView2.0)
