0.0.16 • Published 5 years ago

askapi-alpha v0.0.16

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

askApi

一个 Vue.js 请求管理插件. -> askApi 文档

简介

askApi Vue.js 请求管理插件,配合axios做了一个请求状态管理,拥有缓存与状态交互,配合Vue.js 得MVVM的状态,做到极简请求。

项目使用示例

我精心准备了一个简单的 一分钟上手例子 方便您体验到 askApi 带来的乐趣, 在example分支哦。

主要特性

  • 彻底脱离后端文档开发:提高开发效率。
  • 完整的 Vue.js 开发体验,无需理解复杂的状态管理。
  • localStorage、sessionStorage、cookie 一键数据管理方案。
  • 请求数据自动管理,告别繁杂的获取数据工作方式。
  • 响应数据自动映射,告别不看文档不知道怎么取值的被动工作方式。
  • 对各种请求风格支持良好,方便维护。
  • 不依赖任何服务,可以mock数据开发。

其它特性正在等着你去探索。欢迎您提交Issues

如何使用

第一步: 创建 api.js

import Vue from 'vue'
import axios from 'axios'
import askApi from 'askapi-alpha' // or import askApi from 'askapi'

Vue.use(askApi, axios);

export default askApi.create({
    axiosConfig,
    askConfig: {
        home:{
            apipath: 'home/user/input/content',
            method: 'POST'
        }
    }
})

第二步: 在 main.js 里引入 api.js,并挂在到vue实例上

import Vue from 'vue'
import App from './App.vue'
import router from './views'
import askApi from './api'

Vue.config.productionTip = false;

new Vue({
    askApi,
    router,
    render: h => h(App)
}).$mount('#app');

在任何一个.vue的文件里

<template>
    <div>
        <input v-model='$ask.state.home.req.content'>
        <button @clikc='clickConfirm'>点击发起请求</button>
    </div>
</template>

<script>
export default {
    methods: {
        async clickConfirm () {
            await this.$ask.fetch('home')
            // 接口给回的数据
            console.log('接口给回的数据:', this.$ask.state.home.res )
        }
    }
}
</script>

配置详情

axiosConfig
    createDefaultConfig
    interceptors
        request
        errorRequest
        response
        errorResponse
askConfig
    'any'
        apiPath
        method
        mappingData
            %fetchMock
        request
        response
  • axiosConfig 的配置来自 axios,你可以查看 axios 文档
  • createDefaultConfig 可选参数 初始化 axios 的配置
  • interceptors 可选参数 axios 的拦截器配置
  • request 可选参数 axios 的全局请求拦截成功回调
  • errorRequest 可选参数 axios 的全局请求拦截错误回调
  • response 可选参数 axios 的全局响应拦截成功回调
  • errorResponse 可选参数 axios 的全局响应拦截错误回调
  • askConfig 初始化 askApi state的配置
  • any 代表任意深度的对象,任意对象包含 apiPath 和 method 就认为是一个state
  • apiPath 必选参数 api接口路径;支持params写法: '/user/:id/info',当请求参数有id时,:id 会被替换成值
  • method 必选参数 请求方法
  • mappingData 可选参数 用于映射接口数据,mappingData必须是一个key,value都是String类型对象,value会映射成接口具体的值,层级优先。
  • %fetchMock 可选参数 设置为 ture 开启mock模式,此时mappingData的value可以是任意值
  • request 可选参数 单次请求拦截,当 return 值为 null ,则不会发起请求
  • response 可选参数 单次响应拦截,当 return 值为 null,则不会更新state.
0.0.16

5 years ago

0.0.15

5 years ago

0.0.14

5 years ago

0.0.13

5 years ago

0.0.12

5 years ago

0.0.11

5 years ago

0.0.10

5 years ago

0.0.9

5 years ago

0.0.8

5 years ago

0.0.7

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago