sd-von

1.0.2 • Public • Published

注意!!!!!

MPVUE 小程序 目前只支持 直接拷贝代码。

因为 不会上传npm 搞不好环境 哪位兄弟姐妹帮忙搞一下 然后再分享下吧。

安装

snpm i @sd/von --save

请求封装

caller.js

/**
 * Author   : roy
 * Date     : 2017-07-18  17:00
 * Describe :
 */
 
import Von from './von/von'
import * as appService from '../services/appService'
import accountService from '../services/accountService'
import api from './index'
import constants from '../constants'
import toast from '../utils/toast'
 
const DEFAULT_BASE_URL = constants.url.BASE_API
 
const von = new Von(Von.engine.mp)
 
von.defaults.baseUrl = DEFAULT_BASE_URL
von.defaults.method = 'POST'
 
von.logger.show = true
 
von.interceptor.request.use(async (call) => {
  const request = call.request
 
  let version = appService.getVersion()
  let channelType = appService.getChannel()
 
  request.params = {
    version,
    channelType,
    ...request.params
  } 
 
  let uniqueId = appService.getUniqueId()
  let platform = appService.getPlatform()
 
  request.header = {
    platform,
    channelType,
    uniqueId,
    ...request.header
  }
})
 
von.interceptor.response.use(async (call) => {
  let request = call.request
  let response = call.response
 
  if (request.ignoreResponseJson) {
    return response.data
  }
  if (response.data.code !== 0) {
    handleResponseAccount(call).catch(console.warn)
    let msg = `code: ${response.data.code}, msg: ${response.data.msg}`
    let error = new Error(msg)
    error.apiMsg = response.data.msg
    throw error
  }
  return response.data
}, error => {
  toast.show(error.apiMsg || '服务器繁忙,请稍后重试')
  throw error
})
 
export default von
 
import von from '../von'
export const checkOk1 = () => von.request('/lala/ok1')
export const checkOk1 = () => von.request('/lala/ok1', {params: {id: 123}})
export const checkOk1 = () => von.request('/lala/ok1', {params: {id: 123}, method: 'PUT'})
export const checkOk1 = () => von.request('/lala/ok1', {params: {id: 123}, method: 'PUT', header: {token: 'aksljdkl2daklsjd'}})
export const checkOk1 = () => von.request('/lala/ok1', {params: {id: 123}, method: 'PUT', header: {token: 'aksljdkl2daklsjd'}, baseUrl: 'http://vsona.net'})

Readme

Keywords

none

Package Sidebar

Install

npm i sd-von

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

154 kB

Total Files

15

Last publish

Collaborators

  • shuidifed