# 应用开发脚手架

## 启动项目

### 安装

```sh
npm install
```

### 运行

```sh
npm run dev
```

### 使用线上环境联调

如果需要使用线上联调环境需要如下配置保证接口调用权限，否则不需要配置。

#### 登录到线上开发环境

例如：http://www.h2018.dev-nb.com/

#### 配置本地 host

打开本地 host 文件，增加如下配置：

``` sh
127.0.0.1  local.dev-nb.com
```

主域名需要与登录的开发环境一致（例如：dev-nb.com），子域名可以任意配置（例如：local、dev）。

#### 本地代理配置
参考下面示例在 vite.config.ts 的 proxy 中配置。

``` js
// 本地接口联调示例
'/demo-gov-service': {
  target: 'http://10.200.24.106:19999',
  changeOrigin: true,
  // 如果本地接口不需要走微服务网关则去掉
  rewrite: (path) => path.replace('/demo-gov-service', '')
}

// 线上接口联调配置示例
'/parameter-service': {
  target: 'http://app-api.expc.dev2.com',
  changeOrigin: true,
},
```
注意：接口调用不需要加 `/api` 前缀，上线会自动添加。

#### 访问本地页面

打开 local.dev-nb.com:8000（8000为默认的本地运行端口，如果不同自行替换），即为登录状态的页面。

## 开发指南

### 脚手架公共能力

* element-plus ui 组件库
* 海关自己的组件库（@cacp/ui）
* 脚手架中的公共代码

#### element-plus

参考官方文档

#### @cacp/ui

文档：// TO ADD

基于 element-plus 封装的业务组件库，主要有两个核心功能：

* 提供全局的主题 css 文件
* 典型页面及功能区组件

#### 脚手架公共代码

##### 公共 api

* login

##### assets

* base.css

##### directives

* permission

##### hooks

* loading

##### plugins

* icon (element-plus icon)

##### routers

* error
* not found

##### stores

* userStore

##### types

* core
  * tool
  * auth
  * config
  * framework

## 构建

```sh
npm run build
```