open-index/open-npm huggingface dataset:
npm package: @gdin/cli
Description: 脚手架CLI工具
Latest version: 1.2.8

# @gdin/cli

项目脚手架

## 安装

全局安装：

```shell
npm install -g @gdin/cli
```

或使用yarn安装：

```shell
yarn global add @gdin/cli
```

## 命令

| 命令        | 简写  | 说明           | 备注    |
|-----------|-----|--------------|-------|
| create    | c   | 选择模板生成一个项目应用 |       |
| deploy    | d   | 部署到远程服务器     |       |
| locale    | l   | 多语言数据同步   |  |
| --version | -v  | 查看当前版本号      | |
| --help    | -h  | 获取插件信息       | |

## 创建项目

```shell
gdin create [项目名]
```

```
[shell]$ gdin create example

? 选择环境 (Use arrow keys)
> PC网页（集成权限模块）
  PC网页
  手机H5页面
  微信小程序

? 选择环境 security
√ 模板下载中...
√ 项目生成中...
? 是否立即安装依赖？ (Y/n)
```

## 部署到远程服务器

测试环境推荐使用:
```shell
gdin deploy --env.test --clear
```

查看操作项：

```shell
gdin deploy -h
```

| 操作 | 说明  |
|----|-----|
| `--init` | 生成部署配置文件    |
| `--env.dev`  |  开发环境   |
| `--env.test`  | 测试环境    |
| `--env.prod`  |  线上环境   |
| `--backup`  |  需要备份   |
| `--clear`  |  清空旧文件   |

### 初始化

先执行初始化命令在项目根目录生成配置文件`.scprc`，并自动会将`.scprc`追加到`.gitignore`内容中

```shell
gdin deploy --init
```

- 修改配置文件

`.scprc` 配置文件里区分三个环境变量，各个环境的配置项一样，配置值根据各个环境自行修改

```
dev   开发环境
test  测试环境
prod  线上环境
```

- scprc文件属性说明

| 属性名 | 说明 | 默认值 |
| ----- | ---- | ----- |
| build | 项目打包目录 | `/dist` |
| host | 服务器IP | 127.0.0.1 |
| post | 服务器SCP端口号 | `22` |
| username | 服务器登录账号 | root |
| password | 服务器登录密码 | 123 |
| path | 服务器目标目录 | `/home/static` |

### 部署命令

```shell
# 部署至 开发环境
gdin deploy --env.dev

# 部署至 测试环境
gdin deploy --env.test

# 部署至 线上环境
gdin deploy --env.prod

```
其他命令
```shell
# 部署前，对前一次的部署文件进行备份
gdin deploy --env.test --backup

# 部署前，清空目标文件夹
gdin deploy --env.test --clear

# 对前一次的部署文件进行备份，并清空目标文件夹
gdin deploy --env.test --backup --clear
```

## 多语言数据同步

如使用服务器管理多语言数据，可用此命令拉取多语言数据同步到项目中。

```shell
gdin locale --catalog [项目ID]
```

查看操作项：
```shell
gdin locale -h
```

| 操作          | 说明       | 默认值                         |
|-------------|----------|-----------------------------|
| `--catalog` | 项目ID，必填  |                             |
| `--service` | 接口地址     | `http://192.168.1.234:8877` |
| `--dir`     | 多语言文件夹位置 | `/src/locales`              |
| `--file`    | 键值对枚举类文件位置 | `/src/utils/locale.js`      |

## 本地调试

```text
// 本地安装
npm link ---force
```
npm package: @gdin/file-viewer
Description: 文件预览
Latest version: 1.0.9

# FileViewer 文件预览

```js
import { FileViewer } from '@gdin/file-viewer';
```

注意：除了 pdf 之外，其他文件只做了简单的内容展示、尚存在样式丢失的问题

## 组件

| 组件              | 名称              |
| ----------------- | ----------------- |
| `FileViewer`      | 文件预览          |
| `FileViewerModal` | 文件预览-弹窗模式 |

新版本支持`按需加载`，故又拆分成新增了下列的组件：

| 组件              | 名称       | 文件后缀或媒体类型               |
| ----------------- | ---------- | -------------------------------- |
| `FileAudioViewer` | 音频文件   | `.mp3`                           |
| `FileDocxViewer`  | docx 文件  | `.docx`                          |
| `FileImageViewer` | 图片文件   | `image/*`                        |
| `FileJsonViewer`  | json 文件  | `.json`                          |
| `FilePdfViewer`   | pdf 文件   | `.pdf`                           |
| `FileTxtViewer`   | 纯文本文件 | `text/*` `.js` `.ts` `.xml` 等等 |
| `FileVideoViewer` | 视频文件   | `.webm` `.mp4`                   |
| `FileXlsxViewer`  | xlsx 文件  | `.xlsx`                          |

## 属性

| key    | 名称           | 类型     | 备注                                     |
| ------ | -------------- | -------- | ---------------------------------------- |
| url    | 文件地址       | `string` |                                          |
| suffix | 指定的文件后缀 | `string` | 如 `sudffix = pdf`，如为空则从地址上读取 |

- `pdf`默认使用的`worker`文件是：`https://unpkg.com/pdfjs-dist@2.12.313/build/pdf.worker.min.js` <a download href="/pdfjs-dist@2.12.313_build_pdf.worker.min.js" target="_blank">下载</a>

- 可在业务项目中单独设置`pdf`所需的`worker`文件，当前`pdfjs`的版本是`2.12.313`，需设置对应版本的`worker`文件，如：

```ts
import { setPdfWorkerSrc } from '@gdin/file-viewer';

setPdfWorkerSrc('http://127.0.0.1/pdfjs-dist@2.12.313_build_pdf.worker.min.js');
```

- 如果是基于 `umi3` 架构的，或者是用 `webpack4` 的 ，需要在 `.umirc.js` 或 `config/config.js` 添加配置：

```shell
{
  nodeModulesTransform: {
    ...,
    exclude: ['pdfjs-dist']
  }
}
```

## 弹窗模式

```js
import { FileViewerModal } from '@gdin/file-viewer';
```

### ref 方法

| 方法   | 名称     | 类型                                     |
| ------ | -------- | ---------------------------------------- |
| `show` | 显示弹窗 | `(url: string, suffix?: string) => void` |
| `hide` | 隐藏弹窗 | `() => void`                             |
npm package: @gdin/h5-login
Description: 登录页
Latest version: 1.0.4

# 登录表单与登录页

```shell
yarn add @gdin/login
```

```ts
import {
  // 组件
  LoginForm,
  LoginPage,
  OauthPage,
  // 工具方法
  toOauthLogin,
  clearOldToken,
  saveTokenToCache,
} from '@gdin/login';
```
npm package: @gdin/homepage
Description: 自定义首页内容
Latest version: 0.0.9

# @gdin/homepage

[![NPM version](https://img.shields.io/npm/v/@gdin/homepage.svg?style=flat)](https://npmjs.org/package/@gdin/homepage)
[![NPM downloads](http://img.shields.io/npm/dm/@gdin/homepage.svg?style=flat)](https://npmjs.org/package/@gdin/homepage)

A react library developed with dumi

## Usage

TODO

## Options

TODO

## Development

```bash
# install dependencies
$ yarn install

# develop library by docs demo
$ yarn start

# build library source code
$ yarn run build

# build library source code in watch mode
$ yarn run build:watch

# build docs
$ yarn run docs:build

# Locally preview the production build.
$ yarn run docs:preview

# check your project for potential problems
$ yarn run doctor
```

## LICENSE

MIT
npm package: @gdin/login
Description: 登录页
Latest version: 1.0.14

# 登录表单与登录页

```shell
yarn add @gdin/login
```

```ts
import {
  // 组件
  LoginForm,
  LoginPage,
  OauthPage,
  // 工具方法
  toOauthLogin,
  clearOldToken,
  saveTokenToCache,
} from '@gdin/login';
```
npm package: @gdin/plugins
Description: 一些插件
Latest version: 0.0.7

# @gdin/plugins

**[ 未完成 ]**

基于 `umi 4` 的一些插件，如 `按需加载`

```shell
yarn add --dev @gdin/plugins
```

- 按需加载（gdin 组件库）

在 `.umirc.ts` 或者 `config.ts` 添加：

```shell
{
  plugins: ['@gdin/plugins/dist/dynamic-import']
}
```
npm package: @gdin/pro-process
Description: 流程业务类组件
Latest version: 1.1.2

# @gdin/pro-process

[![NPM version](https://img.shields.io/npm/v/@gdin/pro-process.svg?style=flat)](https://npmjs.org/package/@gdin/pro-process)
[![NPM downloads](http://img.shields.io/npm/dm/@gdin/pro-process.svg?style=flat)](https://npmjs.org/package/@gdin/pro-process)

A react library developed with dumi

## Usage

TODO

## Options

TODO

## Development

```bash
# install dependencies
$ yarn install

# develop library by docs demo
$ yarn start

# build library source code
$ yarn run build

# build library source code in watch mode
$ yarn run build:watch

# build docs
$ yarn run docs:build

# check your project for potential problems
$ yarn run doctor
```

## LICENSE

MIT
npm package: @gdin/security
Description: 权限后台组件
Latest version: 1.1.4

# @gdin/security

[![NPM version](https://img.shields.io/npm/v/@gdin/security.svg?style=flat)](https://npmjs.org/package/@gdin/security)
[![NPM downloads](http://img.shields.io/npm/dm/@gdin/security.svg?style=flat)](https://npmjs.org/package/@gdin/security)

权限后台组件