标题
VUE封装和使用axios
目录结构
创建文件src/utils/request.js封装axios
/**
* SpringSecurity中的用户实体类
*
*/
public class SecurityUser implements UserDetails {
private static final long serialVersionUID = 1L;
private final String uid;
private final String username;
private final String password;
private final boolean enabled;
private final Collection<? extends GrantedAuthority> authorities;
public SecurityUser(
String uid,
String username,
String password,
boolean enabled,
Collection<? extends GrantedAuthority> authorities) {
this.uid = uid;
this.username = username;
this.password = password;
this.enabled = enabled;
this.authorities = authorities;
}
/**
* 返回分配给用户的角色列表
*
* @return
*/
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return authorities;
}
@JsonIgnore
public String getUid() {
return uid;
}
@JsonIgnore
@Override
public String getPassword() {
return password;
}
@Override
public String getUsername() {
return username;
}
/**
* 账户是否激活
*
* @return
*/
@JsonIgnore
@Override
public boolean isEnabled() {
return enabled;
}
/**
* 账户是否未过期
*
* @return
*/
@JsonIgnore
@Override
public boolean isAccountNonExpired() {
return true;
}
/**
* 账户是否未锁定
*
* @return
*/
@JsonIgnore
@Override
public boolean isAccountNonLocked() {
return true;
}
/**
* 密码是否未过期
*
* @return
*/
@JsonIgnore
@Override
public boolean isCredentialsNonExpired() {
return true;
}
}
创建文件src/api/xxx.js分类封装所有请求
```javascript
import request from "@/utils/request";
export function login(param) {
return request({
url: process.env.VUE_APP_ADMIN_API + "/auth/login",
method: "post",
data: param
});
}
export function getInfo(token) {
return request({
url: process.env.VUE_APP_ADMIN_API + "/auth/info",
method: "get",
params: { token }
});
}
调用api发送请求`
```javascript
```javascript
import { login, logout, getInfo, getMenu } from "@/api/login";
var params = new URLSearchParams();
params.append("username", username);
params.append("password", password);
// 发送登录请求
login(params)
.then(response => {
const data = response.data;
// 向cookie中设置token
setToken(data.token);
// 向store中设置cookie
commit("SET_TOKEN", data.token);
resolve(response);
})
.catch(error => {
reject(error);
});