使用Vue UI创建项目
1.选择插件
2.设置路由方式
3.保存刚刚设置的预设,方便以后创建项目
4.等待项目建立完成
使用WebStorm打开项目
打开项目
安装依赖
配置启动方式
整理项目,清除多余的文件
启动项目后的页面
设置跨域代理
建立配置文件
配置代理
代码
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:8180',// 要跨域的域名
changeOrigin: true, // 是否开启跨域
pathRewrite: {
'^/api': '' // 在请求的时候 凡是/api开头的地址都可以跨域
}
},
}
}
};
配置axios
安装axios
cnpm install axios -S
配置axios全局使用
import axios from 'axios'
axios.defaults.withCredentials = true; //配置为true
axios.defaults.baseURL = '/api' //关键代码
Vue.prototype.$axios = axios
qs
安装qs
cnpm install qs -S
配置qs
import Qs from 'qs'
Vue.prototype.$qs =Qs
vant
安装
cnpm i vant -S
配置vant
import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant)
登录页
<template>
<div class="home">
<van-form @submit="onSubmit">
<van-field
v-model="username"
name="username"
label="用户名"
placeholder="用户名"
:rules="[{ required: true, message: '请填写用户名' }]"
/>
<van-field
v-model="password"
type="password"
name="password"
label="密码"
placeholder="密码"
:rules="[{ required: true, message: '请填写密码' }]"
/>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit">提交</van-button>
</div>
</van-form>
</div>
</template>
<script>
// @ is an alias to /src
export default {
data() {
return {
username: '',
password: '',
};
},
methods: {
onSubmit(values) {
console.log('submit', values);
},
},
};
</script>
页面效果
增加后端登录的代码
<template>
<div class="home">
<van-form @submit="login">
<van-field
v-model="username"
name="username"
label="用户名"
placeholder="用户名"
:rules="[{ required: true, message: '请填写用户名' }]"
/>
<van-field
v-model="password"
type="password"
name="password"
label="密码"
placeholder="密码"
:rules="[{ required: true, message: '请填写密码' }]"
/>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit">提交</van-button>
</div>
</van-form>
</div>
</template>
<script>
// @ is an alias to /src
export default {
data() {
return {
username: '',
password: '',
};
},
methods: {
login() {
const _this = this;
this.$axios
.post('/login', {
username: this.username,
password: this.password
}, {
withCredentials: true,
transformRequest: [function (data) {
data = _this.$qs.stringify(data);
return data;
}],
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
}).then(response => {
console.log(response)
}).catch(function (error) { // 请求失败处理
console.log(error);
});
},
},
};
</script>