1.0.2 • Published 7 years ago

sd-von v1.0.2

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

注意!!!!!

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'})