README
初始化组件
npm config set registry https://registry.npmjs.org
npm adduser
xuwei_sleep
Vv84225213@
xuwei_sleep@qq.com
npm publish
Fetch用法
支持get post put delete
支持文件上传下载
自动从sessionStorage中传递token
异常自定义:Fetch.systemError、Fetch.serverError、Fetch.unknownError
todo:loading 文件上传、下载进度
安装
npm i venusource-commons
使用
import Fetch from 'venusource-commons/lib/http/index'
<template>
<div id="app">
<input type="file"></input>
<span @click="doUpload">上传文件</span>
</div>
</template>
<script>
// import Fetch from './api/http/index'
import Fetch from 'venusource-commons/lib/http/index'
export default {
name: 'app',
data() {
return {
appCode: 'survey',
baseUrl: 'http://192.168.0.101:9002'
}
},
created() {
sessionStorage.setItem('token', 'xuwei');
Fetch.systemError = msg => {
console.log('systemError:' + msg);
};
Fetch.serverError = msg => {
console.log('serverError:' + msg);
};
Fetch.unknownError = msg => {
console.log('unknownError:' + msg);
};
this.doLoad();
// this.doSave();
// this.doDownload();
},
methods: {
async doLoad() {
let authUrl = window.location.href.split('#')[0];
let query = {
url: authUrl,
appCode: this.appCode
};
let result = await Fetch(this.baseUrl + '/weixin-api/config', {
method: 'get',
query
});
},
async doSave() {
let url = this.baseUrl + "/survey-api/category/save";
let entity = {
"categoryCode": "test",
"categoryName": "测试",
"orderNo": 100
};
let result = await Fetch(url, {
method: 'post',
body: entity
});
},
async doDownload() {
let url = this.baseUrl + '/survey-api/excel/download/b16ab6a96f8dfb7b016f8e0ea7360000';
await Fetch(url, {
method: 'get',
headers: {
'Content-Type': 'application/octet-stream'
}
});
},
async doUpload() {
let url = this.baseUrl + '/survey-api/attachment/upload/file';
let formData = new FormData();
let fileField = document.querySelector("input[type='file']");
formData.append('file', fileField.files[0]);
formData.append('name', 'aaa');
await Fetch(url, {
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'
},
body: formData
});
}
}
}
</script>