# Ui-Ep

## 介绍

> 基于 vue3 + ts + Element-plus 二次封装组件

<!-- 这是我在学习 Vue3 中基于[Element-plus](https://element-plus.org/zh-CN/) 二次封装基础组件文档，希望对你有用。可查看 [详细组件案例文档](https://wocwin.github.io/t-ui-plus/) 预览 -->

<p align="center">
  <a href="https://github.com/vuejs/vue" target="_blank">
    <img src="https://img.shields.io/badge/vue-3.2.36-brightgreen.svg" alt="vue3">
  </a>
   <a href="https://github.com/wqq100/ui-ep/stargazers" target="_blank">
    <img src="https://img.shields.io/github/stars/wqq100/ui-ep.svg" alt="ui-ep">
  </a>
   <a href="https://www.npmjs.com/package/ui-ep" target="_blank">
    <img alt="npm" src="https://img.shields.io/npm/v/ui-ep.svg" />
  </a>
</p>

## npm 方式安装使用

```shell
pnpm i ui-ep
```

## 全局注册使用

> ### 前提条件：使用项目必须全局注册 Element-plus组件库

```ts
// 在 main.ts 中按下引入
import { createApp } from 'vue'
import App from './App.vue'
// element-plus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

// ui-ep
import UiEp from 'ui-ep'
import 'ui-ep/lib/ui-ep.css'

const app = createApp(App)
app.use(ElementPlus)
app.use(UiEp)
app.mount('#app')
```

## 按需引入
```ts
// 在 main.ts 中按下引入
import 'ui-ep/lib/ui-ep.css'
// 单个.vue文件引入
<script setup lang="ts">
  import { UiButton } from 'ui-ep'
</script>
```

### 国际化
```ts
<template>
  <UiConfigProvider :locale="zhCn">
    <app />
  </UiConfigProvider>
</template>

<script setup lang="ts">
import { UiConfigProvider } from 'ui-ep'
import { zhCn } from 'ui-ep'
</script>
```

### 暗黑模式
首先你可以创建一个开关来控制 暗黑模式 的 class 类名。
```ts
<html class="dark">
  <head></head>
  <body></body>
</html>
```

## 全部组件如下
| 组件名称                 | 说明                                                                                                                                                       |
| :----------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| UiButton                  | [按钮组件](https://xxx/components/UiButton/base.html?_blank)                                                                     |


## ui-ep Volar 组件类型提示

```js
// 需要在使用的项目的 tsconfig.json 文件中添加以下
compilerOptions：{
  "types": [
      "ui-ep/lib/global.d.ts",
    ],
}

```
## Vue3 + Vite 项目中安装引入报如下错误的解决方法
> #### 把项目的vite版本升级到4+

<img src="./README_GIF/error.png">

## 安装依赖
> ### 注意: 本地环境版本最好安装 [Node.js 16.x+](https://nodejs.org/en)、[pnpm 7.x+](https://github.com/pnpm/pnpm/)

```shell
npm install -g pnpm

# 安装依赖
pnpm install --registry=https://registry.npmjs.org/
>pnpm config get registry 查看当前指向源

# 如果安装依赖失败，可以尝试使用淘宝镜像  --registry=https://registry.npmmirror.com/
>pnpm config set registry https://registry.npmmirror.com/ 切换淘宝镜像源
>pnpm install

```

## 本地运行 vuepress 中组件文档

```shell
// docs项目(文档demo示例)基于vue3+vite项目
npm run docs:dev

```

## Thanks to all the contributors

<a href="https://github.com/wqq100/ui-ep/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=wqq100/ui-ep" alt="contributors" />
</a>

<!-- ## 微信交流群

>目前微信群已超过 200 人，需要加微信好友(请备注 ui-ep)，拉大家进群

|                微信二维码                 |
| :---------------------------------------: |
| <img src="./public/wocwin.jpg" width=170> | -->

## Git 提交规范

- `ci`: ci 配置文件和脚本的变动;
- `chore`: 构建系统或辅助工具的变动;
- `fix`: 代码 BUG 修复;
- `feat`: 新功能;
- `perf`: 性能优化和提升;
- `refactor`: 仅仅是代码变动，既不是修复 BUG 也不是引入新功能;
- `style`: 代码格式调整，可能是空格、分号、缩进等等;
- `docs`: 文档变动;
- `test`: 补充缺失的测试用例或者修正现有的测试用例;
- `revert`: 回滚操作;
