vue apis
1.0.0
Плагин vue, интегрированный с axios. Создайте API с помощью цепного программирования и верните экземпляр запроса в виде обещания. Хорошее упрощение построения API и способов обращения к ним.
Плагин vue, интегрированный с axios. Используйте цепное программирование для создания API и возврата экземпляра запроса с помощью Promise. Это значительно упрощает способ создания API и способ ссылки (ссылка через this.$apis.apiName).
| Последние ✔ | Последние ✔ | Последние ✔ | Последние ✔ | Последние ✔ | 11 ✔ |
npm install vue-apis // or yarn add vue-apis
import Vue from 'vue' import VueApis from 'vue-apis' Vue.use(VueApis, options)
| функция | пример | аргумент | описание |
|---|---|---|---|
| setUrl | setUrl('https://baidu.com') | (URL: строка) | установить URL-адрес запроса |
| setData | setData({а: 1}) | (данные: Объект) | установить объект тела сообщения |
| setParams | setParams({t: Date.now() }) | (параметры: Объект) | установить запрос URL-адреса запроса |
| setHeaders | setHeaders({ 'content-type': 'application/json' }) | (заголовки: Объект) | установить заголовки запроса |
| setTimeout | setTimeout (10000) | (тайм-аут: число) | установить таймаут запроса |
| setCustomOptions | setCustomOptions ({ResponseType: 'поток'}) | (опции: Объект, ясно: логическое значение) | установить пользовательские параметры |
| ключ опции | тип | значение по умолчанию | описание |
|---|---|---|---|
| апис | объект | {} | набор API |
| показатьЗагрузка | функция | неопределенный | показать функцию макета загрузки |
| скрытьЗагрузка | функция | неопределенный | скрыть функцию макета загрузки |
| перехватчики | ПерехватчикОбъект | неопределенный | Вы можете перехватывать запросы или ответы до того, как они будут обработаны, или перехватывать их. |
| поле | тип | описание |
|---|---|---|
| запрос | ЗапросОбъект/Функция | Когда экземпляр имеет значение «Функция», это обратный вызов «то» для перехватчика. |
| ответ | Объект ответа/функция | Когда экземпляр имеет значение «Функция», это обратный вызов «то» для перехватчика. |
| Функция | например |
|---|---|
| затем | (конфигурация) => {вернуть конфигурацию; |
| ловить | (ошибка) => { return Promise.reject(ошибка }); |
| Функция | например |
|---|---|
| затем | (ответ) => {возврат ответа } |
| ловить | (ошибка) => { return Promise.reject(ошибка }); |
main.js
импортировать Vue из 'vue'import VueApis из 'vue-apis'import Api из './api'Vue.use(VueApis, {
API: API,
showLoading: () => {console.log('showLoading')
},
скрытьLoading: () => {console.log('hideLoading')
},
перехватчики: {request: { then(config) {// Сделайте что-нибудь перед отправкой запросаreturn config; }, catch(error) {// Сделайте что-нибудь с запросом errorreturn Promise.reject(error }}, ответ: { then( ответ) {// Сделайте что-нибудь с ответом datareturn response }, catch(error) {// Сделайте что-нибудь с ответом errorreturn Promise.reject(error }};
}})API.js
import { ApiOptions, ApiMethod } из 'vue-apis' const $api = {
readme () {return new ApiOptions().setUrl(`https://raw.githubusercontent.com/Chans-Open-Source/vue-apis/master/README.md`).setMethod(ApiMethod.GET).setParams( { временная метка: Date.now()}).setHeaders({ Авторизация: `Bearer ${Date.now()}`}).request()
}}экспортировать $api по умолчаниюhome.vue
<шаблон>
<div v-html="readme"></div></template><script>
экспортировать по умолчанию {данные () { return {readme: '' }},async Created () { const res = await this.$apis.readme() this.readme = res}
</скрипт>API
константа $api = {
formDataRequest (formData) {вернуть новый ApiOptions().setUrl(URL).setMethod(ApiMethod.POST).setData(formData).request()
}}Создать экземпляр FormData
const formData = новое окно.FormData()formData.append(ключ, значение)// Requestthis.$apis.formDataRequest(formData)
константа $api = {
formDataRequest (formData) {return new ApiOptions().setUrl(URL).setMethod(ApiMethod.POST).setData(formData).setCustomOptions({ url: `https://baidu.com`, // неверные данные: {} , // недопустимые параметры: {}, // недопустимые заголовки: {}, // недопустимый метод: {}, // недопустимый тип ответа: 'stream' // действительный}, /* все очищено сначала пользовательские параметры */ false).request()
}}Официальный демо-источник
Источник плагина