小程序请求后台

2017-11-25  本文已影响16人  9b559869875b

小程序是通过App.HttpService请求后台的,比如在order/confirm/index.js里,就有4个这样的请求了

App.HttpService.getDefalutAddress()

App.HttpService.getAddressDetail(id)

App.HttpService.postOrder(params)

App.HttpService.clearCartByUser

这个HttpService具体是在这里实现的

import HttpService from './helpers/HttpService'

如果自己添加路由,首先在this.$$path={

wechatSignUp:'/user/wechat/sign/up',

里加上自己的路径

order:'/order',

book:'/book'

getBanners(params) 调的是 this.getRequest(this.$$path.banner, {

    data: params}) , 第一个参数是路由,第二个参数是 data:params的json数据包

getGoods(params)  :  this.getRequest(this.$$path.goods, {data: params})

getDetail 传入id,并且把id加在路由的后面变成 /goods/:id

getDetail(id) {

return this.getRequest(`${this.$$path.goods}/${id}`)

}

如果传入两个参数,第1个id,第2个参数params装在json的data属性里发射出去

putCartByUser(id, params) {

    return this.putRequest(`${this.$$path.cart}/${id}`, {

        data: params,

    })

}

除了HttpService,还有App.HttpResource('/goods/:id', {id: '@id'})

传入路由,/goods/:id, 参数{id:'@id'}

class HttpResource {

constructor(url, paramDefaults, actions, options) {

由此看来,上面传入了url,还传入了paramDefaults, 

const resource = new WxResource(this.setUrl(this.url), this.paramDefaults, this.actions, this.options)

/**

* 设置请求路径

*/

setUrl(url) {

return `${__config.basePath}${url}`

}

basePath: 'http://localhost:3000/api',

domain: 'http://localhost:3000/',

basepath就是 http://localhost:3000/api, 加上后面的{url}比如/goods,就是http://localhost:3000/api/goods, 这是传给WxResource的第一个参数,

上一篇下一篇

猜你喜欢

热点阅读