# efox上传文件插件
支持所有类型的文件上传到腾讯云，上传完成上报文件MD5、类型、URL、项目名称、用户uid

## 安装
```js
yarn add @efox/upload-file
```

### 全局注册
```js
import efoxUploadFile from '@efox/upload-file'

Vue.use(efoxUploadFile, {
  env: '',
  uid: '',
  projectName: '',
  serverOrigin: '',
  defaultName: false,
  copy: true
})
```
参数 | type | 默认值 | 说明
----- | ---- | ---- | ---
evn | String | production | 环境 'production', 'development'
uid | String | '' | 用户uid
projectName | String | '' | 项目名称，会拼接到文件path上面，上传会验证 uid 是否有 projectName 权限，没有权限上传会失败
serverOrigin | String | https://static.moschat.com |  显示上传完成文件地址 origin
defaultName | Boolean | false | 上传时文件名输入框默认使用的名称，false 使用 uuid 生成文件名，true 使用源文件名
copy | Boolean | false | 上传完成是否显示复制链接按钮

### 局部注册
```js
import { EfoxUploadFile } from '@efox/upload-file'

export default {
  components: {
    EfoxUploadFile
  }
}
```

### 设置默认值
```js
import { setConfig } from '@efox/upload-file'
setConfig({
  env: '',
  uid: '',
  projectName: '',
  serverOrigin: '',
  defaultName: true,
  copy: false
})

```

### 使用组件
```js
<efox-upload-file
  projectName="moschat"
  uid="1001"
  serverOrigin="https://www.moschat.com"
  :defaultName="true"
  :copy="true"
  @success=onSuccess
></efox-upload-file>
```

### 文件上传完成回调 $emit('success')，参数结构如下
```js
const payload = {
  cloudData: {
    ETag: "\"7259c10192786138b99fddc6a5c964f7\"",
    Location: "dianhu-1253537286.cos.eu-moscow.myqcloud.com/efoxfile/moschat/dota2skin_2.mp4",
    headers: {
      etag: "\"7259c10192786138b99fddc6a5c964f7\""
    },
    statusCode: 200
  },
  fileName: "/efoxfile/moschat/dota2skin_2.mp4"
  md5: "7259c10192786138b99fddc6a5c964f7"
  size: 1444852
  originUrl: "https://dianhu-1253537286.cos.eu-moscow.myqcloud.com/efoxfile/moschat/dota2skin_2.mp4" // 腾讯云源地址
  url: "https://static.moschat.com/efoxfile/moschat/dota2skin_2.mp4"
}
```
