我们在使用后端提供的接口的过程中,都是先在线下测试结束,没有问题以后才会将代码部署到线上,这样才保证线上的代码是没有问题的。所以如果只有一个接口和一个页面的话,那么是无所谓的, 要不要统一管理都是一样的,但是一旦接口和页面多的话,就会比较麻烦了,所以我们需要统一一个文件进行管理这些接口,这样可以不管是线上还是线下的跑项目,都是可以直接执行的,也不会出现更改过多的问题。
我们在config文件里面新建一个管理api的js,这样可以进行统一设置,在我们系统目录下面进行更改dev.env.js和prod.env.js里面进行添加自己需要的线上和线下的接口
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
/*module.exports = merge(prodEnv, {
NODE_ENV: '"development"'
})*/
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',//开发环境
api_9101 : '"http://47.98.113.173:9101"', //房价码的线下接口
api_9102 : '"http://47.98.113.173:9102"', //会员的线下接口
api_9519 : '"http://47.98.113.173:9519"', //登陆的线下接口
});
'use strict'
/*module.exports = {
NODE_ENV: '"production"'
}*/
module.exports = {
NODE_ENV: '"production"',//生产环境
api_price : '"http://price.crowncrystalhotel.com"', //房价码的线上接口
api_member : '"http://member.crowncrystalhotel.com"', //会员的线上接口
api_9022 :'"http://47.98.113.173:9022"',//登陆的线上接口
};
/**
* 线下接口
* @type {string}
*/
const api_9519 = process.env.api_9519; //登陆的线下接口 徐哥的所有的线下接口
const api_9101 = process.env.api_9101; //房价码的线下接口
const api_9102 = process.env.api_9102; //会员的线下接口
/**
* 线上接口
* @type {string}
*/
const api_9022 = process.env.api_9022; //登陆的线上接口 徐哥所有的线下接口
const api_price = process.env.api_price; //房价码的线上接口
const api_member = process.env.api_member; //会员的线上接口
export default {
/**
* 线上接口
*/
api_9022_9519 : api_9022,
api_price_9101 : api_price,
api_member_9102 : api_member,
/**
* 线下接口
*/
/*api_9022_9519 : api_9519,
api_price_9101 : api_9101,
api_member_9102 : api_9102,*/
}
当然这里的接口的数量是不上限的,可以一直加,只要是你们的环境是存在的接口。api.js
是我自己新建的,你们自己喜欢用什么都可以。
import api from '../config/api'
Vue.prototype.api = api;
handleLogin : function(){
{
let that = this;
/**
* 常规登录 && code.trim().length > 0
*/
if(that.check_login === 'login_flag'){
let url = that.api.api_9022_9519 + '/v1/common/employee/login';
let username = this.account.username;
let pwd = this.account.pwd;
let code = this.account.code;
if(username.trim().length > 0 && pwd.trim().length > 0){
this.$axios({
method: 'post',
url: url,
data: {
code: code,
user_name: username,
password: that.getmd5(pwd),
}
}).then((res) => {
console.info(res);
if(res.data.message === "success") {
sessionStorage.setItem("root_level",res.data.root_level);
sessionStorage.setItem("rules",JSON.stringify(res.data.rules));
localStorage.setItem('access-user', JSON.stringify(res.data.real_name));
localStorage.setItem('userInfo', JSON.stringify(res.data.user_info));
that.$router.push({
path: '/'
});
} else {
that.$message({
message: '登录失败',
type: 'warning'
});
//this.loading = false;
//console.info(data.data.message);
//this.$message.error("登录失败,账号或密码错误");
}
}).catch(function(err) {
that.$message({
message: '登录失败',
type: 'warning'
});
})
}
},
}
当然你的url也可以在你的return里面定义,这样一个页面上的所有就可以再次统一一下,举个例子:
return {
url : this.api_9022_9519,
}
那么下面用的就可以直接that.url就可以了。
哪里不明白的可以私信我,或者下方留言,看到了都会回复的,或者关注一下,一起学习!