Vue获取Abp VNext Token
2024-09-06 16:13:16
Abp VNext默认没公开访问Token的Api,但有个问题Cookie方式如果是手机或桌面程序不如Token方便
Axios默认是Json方式提交,abp登录需要使用application/x-www-form-urlencoded方式提交
首先引入Axios
import Axios from "axios"
Vue.prototype.$axios = Axios
//api访问基址
Axios.defaults.baseURL = 'https://localhost:44364'
Vue的Data数据
data() {
return {
form: {
grant_type: 'password',
scope: 'Mall',
username: 'admin',
password: '1q2w3E*',
client_id: 'Mall_App',
client_secret: '1q2w3e*'
},
rememberMe: false
}
}
显示布局
<el-form ref="form" label-width="80px">
<el-form-item label="用户名:">
<el-input v-model="form.username"></el-input>
</el-form-item>
<el-form-item label="密码:">
<el-input type="password" v-model="form.password"></el-input>
</el-form-item>
<el-form-item>
<el-checkbox v-model="rememberMe">记住我</el-checkbox>
</el-form-item>
<el-button type="primary" @click="btnLogin">Login</el-button>
</el-form>
按钮登录事件
btnLogin() {
//QS使用的目的
//正常用Json方式提交
//将对象序列化A=1&b=2&c=3这种方式提交
var qs = require('qs');
this.$axios.post('/connect/token', qs.stringify(this.form), {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).then(response => {
console.log(response)
// this.$router.push('/') 跳转
if (this.rememberMe == true) {
//如果记住我打钩将token保存在本地
// sessionStorage.setItem('access_token', response.data.access_token)//保存为本次会话
// localStorage.setItem('access_token', response.data.access_token);//永久保存,直到浏览器清除缓存
// 想用cookie保存需要引入vue-cookies
// import Vue from 'vue'
// import VueCookies from 'vue-cookies'
// Vue.use(VueCookies)
// 设置一个cookie
// this.$cookies.set(keyName, value[, expireTimes[, path[, domain[, secure]]]])
}
}).catch(error => {
console.log(error.response);
});
}
效果展示
最新文章
- fastclick 源码注解及一些基础知识点
- CSS3知识点整理&;&;一些demo
- python第二天基础1-1
- 《C#本质论》读书笔记(14)支持标准查询操作符的集合接口
- linux安装svn服务端不使用apache
- 实现Java JTable的应用案例
- luoguP2266 爱的距离
- 利用Unicorn和Idaemu辅助解决Geekpwn SecretCode
- Mybaits入门之起航
- 【转载】openCV轮廓操作
- [转]How To Use CSS3 Media Queries To Create a Mobile Version of Your Website
- 基于Vue的页面切换左右滑动效果
- 心得体会,搞清楚你为什么学习C++?
- python基础知识点(unittest)
- git 入门教程之忽略文件
- caffe项目工程化封装FRCNN
- mysql,Jdbc工具类,只需一条sql实现简单查询
- man iptables 8
- VS2010工程结构及其瘦身策略
- 英特尔和 Valve* 将英特尔&#174; Embree 光线追踪技术添加至全新 Steam* Audio 插件