# 菜鸟前端基础工具库

## 迁移 1.x 到 2.x

参考文档 https://alidocs.dingtalk.com/i/nodes/NZQYprEoWoxKPoqwCgRMvRQeV1waOeDk

## 使用场景

菜鸟组件的常用方法，不包含 lodash 和 ahooks

## 引用方式

```javascript
import { isImage } from '@cainiaofe/cn-ui-utils';
```

## 使用文档

### getCnEnv

基于 hostname 和 script src 判断当前菜鸟运行环境，判断规范基于菜鸟通用域名规范

```typescript
import { getCnEnv } from '@cainiaofe/cn-ui-utils';

getCnEnv(cnEnvOptions: {
    /**
     * 待匹配的域名, 默认读取 window.location.hostname
     */
    hostname?: string;
    /**
     * 当前 script 的 src, 默认读取顺序
     * window.__CURRENT_SCRIPT_SRC__
     * window.document.currentScript.src
     */
    currentScriptSrc?: string;
}) => 'prod' | 'pre' | 'test' | 'daily';
```

### isImage

通过文件路径判断是否为图片，图片后缀判断依据 [image-extensions](https://github.com/arthurvr/image-extensions/blob/master/image-extensions.json) 进行

```typescript
import { isImage } from '@cainiaofe/cn-ui-utils';

isImage(fileUrl: string) => boolean;
```

### downloadFile

```typescript
import { downloadFile } from '@cainiaofe/cn-ui-utils';

downloadFile(fileUrl: string) => boolean;
```

### useGuid

生成 guid

```typescript
import { useGuid } from '@cainiaofe/cn-ui-utils';

useGuid(prefix: string) => string;
```
