zweizhao.github.io

项目,文章,随笔,博客,Markdown,个人网站,人生感悟。

View on GitHub
export default {
	/**@author zwei
	 * GET 请求封装
	 * @param {String} path 请求 path
	 * @param {Object} data 请求数据
	 * @param {Object} payload 其他
	 */
	get(path, data, payload) {
		return this.request('get', path, data, payload)
	},

	/**@author zwei
	 * POST 请求封装
	 * @param {String} path 请求 path
	 * @param {Object} data 请求数据
	 * @param {Object} payload 其他
	 */
	post(path, data, payload) {
		return this.request('post', path, data, payload)
	},
	/**@author zwei
	 * DELETE 请求封装
	 * @param {String} path 请求 path
	 * @param {Object} data 请求数据
	 * @param {Object} payload 其他
	 */
	delete(path, data, payload) {
		return this.request('delete', path, data, payload)
	},
	/**@author zwei
	 * axios 请求封装
	 * @param {String} method 请求方式
	 * @param {String} path 请求 path
	 * @param {Object} data 请求数据
	 * @param {Object} payload 其他
	 */
	request(method, path, data, payload) {
		let url = host + path
		let isGet = method === 'get'

		return (
			axios.request({
				url,
				data,
				method,
				params: isGet ? data : undefined,
				transformRequest: [data => {
					return qs.stringify(data)
				}],
				headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' },
				// 配置跨域携带 Cookie
				withCredentials: true,
			})
				.then(res => {
					let rData = res.data
					if (typeof (rData) !== 'object') rData = JSON.parse(rData)
					if (rData.success) return rData.module
					else if(rData.errCode === '10002' || rData.errCode === '1002') {
						Toast('账号错误')
						location.href = '/'
						return
					}
					else {
					  if(rData.errMsg) Toast(rData.errMsg)
					}
				})
				.catch(err => {
					console.error(err);
				})
		)
	},
}