//api接口配置
let subDomain = '' // 子域名,没有就等于''
const API_BASE_URL = 'https://nideshop.bluej.cn/api/' // 主地址//
//const API_BASE_URL = 'http://localhost:3000' //测试地址
const request = (url, method, data) => {
let _url = API_BASE_URL + subDomain + url
return new Promise((resolve, reject) => {
uni.showLoading({
})
wx.request({
url: _url,
method: method,
data: data,
header: {
'Content-Type': 'application/json'
},
success(request) {
resolve(request.data)
uni.hideLoading()
},
fail(error) {
reject(error)
uni.hideLoading()
},
complete(aaa) {
// 加载完成
uni.hideLoading()
}
})
})
}
Promise.prototype.finally = function (callback) {
var Promise = this.constructor;
return this.then(
function (value) {
Promise.resolve(callback()).then(
function () {
return value;
}
);
},
function (reason) {
Promise.resolve(callback()).then(
function () {
throw reason;
}
);
}
);
}
export default {
request,
// 首页接龙列表
// getSolitaireList: (data) => request('/api/merch/solitaire', 'get', data),
// // 注册登录
// Login: (data) => request('/api/auth/login', 'post', data),
// //小程序授权登录
// JAppletlogin: (data) => request('/api/wxpro/login', 'get', data),
// //获取分类:此分类是菜单左边的数据
getIndex:(data)=>request('index/index','get',data)
}
import api from './request/index.js'
Vue.prototype.api = api
******************************************************************************
第二版本 (推荐)
index.js
let BASE_URL = '';
if(process.env.NODE_ENV === 'development'){
BASE_URL = 'http://192.168.3.139:9300/';
}else if(process.env.NODE_ENV === 'production'){
BASE_URL = 'http://192.168.3.139:9300/';
}
const instance = (url,method,data)=>{
let _url = BASE_URL + url;
uni.showLoading({
title:''
})
return new Promise((resolve,reject)=>{
uni.request({
url:_url,
method:method,
data:data,
header:{
'Content-type':'application/json',
'token': uni.getStorageSync('token') ? uni.getStorageSync('token') : ''
},
success(res) {
resolve(res.data)
uni.hideLoading()
},
fail(err) {
reject(err)
uni.hideLoading()
}
})
})
}
Promise.prototype.finally = function (callback) {
var Promise = this.constructor;
return this.then(
function (value) {
Promise.resolve(callback()).then(
function () {
return value;
}
);
},
function (reason) {
Promise.resolve(callback()).then(
function () {
throw reason;
}
);
}
);
}
export default{
instance
}
api.js
import login from './book/login.js'
export const api = {
login
}
login.js
import instance from '../index.js'
export default{
login(data){
return instance('user/login','post',data)
}
}