Esempio n. 1
0
		return new Promise(function(reslove, reject) {
			//设定请求参数并且发送请求
			var p = Vue.http({
				url: requesturl + req_config[item].url+"?"+new Date().getTime(),//请求url,包括请求的restful参数和时间戳
				body: params,//请求参数
				headers: {
					"Content-Type": item.contentType || "application/x-www-form-urlencoded",//请求数据类型
				},
				before: () => {},//请求预处理函数
				method: item.method || "POST",//请求方式,POST GET PUT DELETE OPTION
				emulateJSON: item.emulateJSON || true  //是否序列化body
			});
			//请求结果处理
			p.then((res) => {
				if(res.body.code == 1) {//成功
					reslove(res)
				} else if(res.body.code == 3) {//需要登录
					//去登录
				} else {//出错
					reject(res)
				}

			}, function() {
				//网路错误
				console.error("网络错误");
			});
		});
Esempio n. 2
0
 return new Promise((resolve, reject) => {
   Vue.http({
     url: '/monitor/sdk/score',
     method: 'GET',
     params: {json: JSON.stringify(objs || [])}
   }).then(({data: {datas}}) => {
     resolve(datas || {})
   }, () => {
     reject("[s:score] - 获取评分失败!")
   })
 })
Esempio n. 3
0
 return new Promise((resolve, reject) => {
   Vue.http({
     url: options.url,
     method: options.method,
     data: options.data || {}
   }).then((res) => {
     resolve(res.data);
   }, (res) => {
     Toast('请求服务器失败,请重试');
   });
 });
Esempio n. 4
0
module.exports = (params) => {
  Vue.http.options.heads = {
    'Content-Type': 'application/x-www-from-urlencoded;charset=UTF-8;'
  }
  Vue.http.options.emulateJSON = true
  Vue
    .http({
      url: params.url,
      method: params.method,
      data: params.data || {}
    })
    .then((response) => {
      let data = response.data
      params.callback(data)
    }, (err) => {
      console.log(err)
    })
}
Esempio n. 5
0
module.exports = (params) => {
  Vue.http.options.headers = {
    'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8;'
  }
  // Vue.http.options.xhr = {
  //   withCredentials: true
  // }
  Vue.http.options.emulateJSON = true
  Vue
    .http({
      url: params.url,
      method: params.method,
      data: params.data || {}
    })
    .then((response) => {
      let data = response.data
      params.callback(data)
    }, (response) => {
      // error callback
    })
}
Esempio n. 6
0
        return new Promise((resolve, reject) => {
            // Fetch the first page
            Vue.http(opts).then((response) => {
                // Calculate additional pages we need to fetch
                let addnPages = opts.full && response.data.count && (response.data.count > opts.params.page_size) ?
                    [...Array(Math.ceil(response.data.count / opts.params.page_size)).keys()].map(p => p + 1).slice(1) : []

                if (addnPages.length) {
                    let pagePromises = addnPages.map((page) => {
                        let pageOpts = JSON.parse(JSON.stringify(opts))
                        pageOpts.params.page = page
                        return Vue.http(pageOpts)
                    })

                    Promise.all(pagePromises).then((responses) => {
                        response.data.results = response.data.results.concat.apply(response.data.results, responses.map(r => r.data.results))
                        resolve(response)
                    })
                } else {
                    resolve(response)
                }
            }, (response) => {
                // If we get a 401, assume this is due an expired token which
                // we should refresh before trying again
                if (response.status == 401) {
                    store.dispatch(types.OAUTH2_REFRESH_TOKEN, {}).then(() => {
                        store.dispatch(types.NINETOFIVER_API_REQUEST, options).then((res) => {
                            resolve(res);
                        }, (res) => {
                            reject(res)
                        })
                    }, () => {
                        reject(response)
                    })
                } else {
                    reject(response)
                }
            })
        })
Esempio n. 7
0
export const setContent = ({ dispatch, state }, tag, pageNum, callback) => {
  if (state.content.data[tag][pageNum]) return callback(setMsg(true, '获取缓存数据'))
  Vue.http({
    url: '/api/v1/topics',
    method: 'GET',
    params: {
      page: pageNum,
      limit: 20,
      tab: tag === 'index' ? '' : tag
    }
  }).then(res => {
    let data = JSON.parse(res.data)
    if (data.success) {
      dispatch(types.SET_CONTENT, tag, data.data, pageNum)
      callback(setMsg(true, '成功'))
    } else {
      callback(setMsg(false, data.error_msg))
    }
  }).catch(err => {
    console.log(err)
    callback(setMsg(false, '接口调用出错'))
  })
}
  return new Promise((resolve, reject) => {
    const _url = /\?/.test(url)
      ? `${url}&cachebust=${Date.now()}`
      : `${url}?cachebust=${Date.now()}`;

    Vue.http(assign({}, options, {
      method: method,
      data: data,
      url: _url,
      headers: options.headers,
    }))
    .then(
      (resp) => resolve(!!dataOnly ? resp.data : resp),
      (err) => {
        console.log(err);
        if(err.status == 401) {
          localStorage.clear();
          location.reload();
        }
        reject(new Error(`${err.status}: ${err.statusText}`));
      }
    );
  });
Esempio n. 9
0
    post(url, data, doneCb = null, errorCb = null) {
        return this.request('post', url, data, doneCb, errorCb);
    },

    put(url, data, doneCb = null, errorCb = null) {
        return this.request('put', url, data, doneCb, errorCb);
    },

    delete(url, data = {}, doneCb = null, errorCb = null) {
        return this.request('delete', url, data, doneCb, errorCb);
    },

    build(method, url, data = {}, beforeSend = null, doneCb = null, errorCb = null) {
        return Vue.http(url, {
						method: method
					, data: data
					, beforeSend: beforeSend
				})
				.then(doneCb, errorCb);
    },

		encode(obj){
			var str = "";
			for (var key in obj) {
				if (str != "") {
						str += "&";
				}
				str += key + "=" + encodeURIComponent(obj[key]);
			}
			return str;
		},
Esempio n. 10
0
 let pagePromises = addnPages.map((page) => {
     let pageOpts = JSON.parse(JSON.stringify(opts))
     pageOpts.params.page = page
     return Vue.http(pageOpts)
 })