jwt 登录
2024-10-20 00:49:20
/* eslint-disable */
'use strict'; const Controller = require('egg').Controller;
const jwt = require('jsonwebtoken'); class LoginController extends Controller {
async index() {
const ctx = this.ctx;
const token = jwt.sign({
user_id: 1,
user_name: ctx.request.body.username
}, 'shenzhouhaotian', {
expiresIn: '10000s'
});
ctx.body = {
token: token,
user_name:ctx.request.body.username
};
ctx.status = 200;
}
} module.exports = LoginController;
import Axios from 'axios'
import router from '../router' if (window.localStorage.getItem('token')) {
Axios.defaults.headers.common['Authorization'] = `Bearer ` + window.localStorage.getItem('token')
} export let instance = Axios.create({
baseURL: process.env.NODE_ENV === 'production' ? 'http://sayhub.me/api' : 'http://localhost:7001'
})
// respone拦截器
instance.interceptors.response.use(
response => {
return response
},
error => {
if (error.response) {
switch (error.response.status) {
case 401:
router.replace({
path: 'login',
query: { redirect: router.currentRoute.fullPath } // 将跳转的路由path作为参数,登录成功后跳转到该路由
})
}
}
return Promise.reject(error.response)
}
) export const login = ({ loginUser, loginPassword }) => {
return instance.post('/login', {
username: loginUser,
password: loginPassword
})
} export const getUserInfo = () => {
return instance.get('/profile')
}
最新文章
- 常用的android弹出对话框
- UVa 10474 Where is the Marble
- cordova环境配置步骤
- js函数的作用域与this指向
- mysql 存在索引但不能使用索引的典型场景
- Python——pyqt5——智能提示(lineEdit/conmbobox)
- CF1066D Boxes Packing
- Windows 10 的一些快捷键
- layui上传文件配合进度条
- 堆+建堆、插入、删除、排序+java实现
- 列表操作方法,元祖,for循环嵌套
- js el jstl list 循环
- error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1800”
- jQuery上传插件uploadify 3.2.1
- linux CentOS7 安装spark
- Uniprot 数据库-最常用的蛋白质数据库
- hadoop(三)HDFS基础使用
- iOS客户端学习之AES加密
- http.pieplining
- spring集成spring mvc 和hibernate详解