663 lines
16 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import axios from "axios";
import getCurrentTimestamp from "@/js/methods.js";
const api = 'http://nbxt.oa.x-lf.cn'
/**
* 登录
* @param data (user,password)
* @returns {*}
*/
const login = (data) => {
return axios({
url: api+"/auth/login",
method: "post",
data: data,
headers: {
'content-type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
},
})
}
/**
* 注册
* @param data (username,password,address,phone,email,sex,age)
* @returns {*}
*/
const register = (data) => {
return axios({
url: api + "/auth/register",
method: "post",
data: data,
headers: {
'content-type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 退出登录
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const logout = (token) => {
return axios({
url: api + "/auth/logout",
method: "get",
headers: {
'Authorization':'Bearer '+token,
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 修改密码
* @param data (oldPassword,newPassword,confirmPassword)
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const changePassword = (data, token) => {
return axios({
url: api + "/auth/password",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 忘记密码
* @param data (email,check邮箱验证码,newPassword)
* @returns {*}
*/
const forgetPassword = (data) => {
return axios({
url: api + "/auth/password/forget",
method: "put",
data: data,
headers: {
'content-type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 邮箱登录
* @param params 对象包含邮箱emailstring验证码codeinteger
* @returns {*}
*/
const authLoginWithEmail = (params) => {
return axios({
url: api + "/auth/login/email",
method: "get",
params: params,
headers: {
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 发送邮箱验证码
* @param email 邮箱string
* @returns {*}
*/
const authSendEmailCode = (email) => {
return axios({
url: api + "/auth/email/code",
method: "get",
params: email,
headers: {
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 获取全部用户信息
* @param data pagelimitsearchrole
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userAllCurrent = (data, token) => {
return axios({
url: api + "/user/current/all",
method: "post",
data: data,
headers: {
'Authorization':'Bearer ' + token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 获取一个用户信息(敏感)
* @param params (id,username,email,phone)可以只传一个参数
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userCurrent = (params, token) => {
return axios({
url: api + "/user/current",
method: "get",
params: params,
headers: {
'Authorization':'Bearer '+token,
// 'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 新增用户
* @param data (username,password,address,phone,email,sex,age)必须全部
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userAdd = (data, token) => {
return axios({
url: api + "/user/add",
method: "post",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 编辑用户
* @param data (id,address,phone,email,age,signature,sex,avatar,nickname,description
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userEdit = (data, token) => {
return axios({
url: api + "/user/edit",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 删除用户
* @param id
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userDelete = (id, token) => {
return axios({
url: api + "/user/delete",
method: "delete",
params: {
id: id
},
headers: {
'Authorization':'Bearer '+token,
'content-type':'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 锁定用户
* @param data idisLock(1解锁)
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userLock = (data, token) => {
return axios({
url: api + "/user/lock",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 获取用户信息(非敏感)
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userGetProfile = (token) => {
return axios({
url: api + "/user/profile/get",
method: "get",
headers: {
'Authorization':'Bearer '+token,
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 修改用户信息(普通用户)
* @param data (id,username,address,phone,email,sex,age,signature,avatar,nickname,description)
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const userEditProfile = (data, token) => {
return axios({
url: api + "/user/profile/edit",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 查询角色
* @param id 可选,不填则是查询所有?
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleGet = (id, token) => {
return axios({
url: api + "/role/get",
method: "get",
params: id,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 新增角色
* @param data (name,displayName)示例(name:teacher, displayName:老师)必须
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleAdd = (data, token) => {
return axios({
url: api + "/role/add",
method: "post",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 编辑角色
* @param data (id,name,displayName中文)必须
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleEdit = (data, token) => {
return axios({
url: api + "/role/edit",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 删除角色
* @param id
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleDelete = (id, token) => {
return axios({
url: api + "/role/delete",
method: "delete",
params: id,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 给角色添加用户
* @param data riduid
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleAddUser = (data, token) => {
return axios({
url: api + "/role/user/add",
method: "post",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 修改用户的角色
* @param data uidrid
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleChangeUser = (data, token) => {
return axios({
url: api + "/role/user/change",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 移除用户的角色
* @param uid
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const roleRemoveUser = (uid, token) => {
return axios({
url: api + "/role/user/remove",
method: "delete",
data: uid,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 查询轮播图(管理员)
* @param id 可选
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const infoGetHeaderImage = (id, token) => {
return axios({
url: api + "/info/header-image/get",
method: "get",
params: id,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 编辑轮播图信息
* @param data (id,displayOrder排序顺序,image图片地址,title,description,isActive是否启用)
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const infoEditHeaderImage = ( data, token) => {
return axios({
url: api + "/info/header-image/edit",
method: "put",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 新增轮播图
* @param data (displayOrder,image,title,description,isActive)
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const infoAddHeaderImage = (data, token) => {
return axios({
url: api + "/info/header-image/add",
method: "post",
data: data,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 删除轮播图
* @param id
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const infoDeleteHeaderImage = (id, token) => {
return axios({
url: api + "/info/header-image/del",
method: "delete",
params: id,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 展示轮播图,顺序或倒序
* @param showType 0倒序1顺序
* @param token
* @returns {Promise<AxiosResponse<any>> | *}
*/
const infoEditSettingHeaderImage = (showType, token) => {
return axios({
url: api + "/info/header-image/edit-setting",
method: "put",
data: showType,
headers: {
'Authorization':'Bearer '+token,
'Content-Type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 展示我负责的项目
* @param token
*/
const projectGet =(token) => {
return axios({
url:api+ "/project/get",
method: "get",
headers:{
'Authorization':'Bearer '+token,
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 展示游客查看的项目
* @param data (tags isFinish id)
*/
const projectGetCustom = (data) =>{
return axios({
url:api+ "/project/get/custom",
method: "get",
params: data,
headers:{
'Timestamp': getCurrentTimestamp()
}
})
}
// const data = reactive({
// id: 1,
// tags: ['web','ai'],
// isFinish: [1,-1,0]
// })
// const projectGetCustom = (id, tags, isFinish) =>{
// return axios({
// url:api+ "/project/get/custom",
// method: "get",
// data: {
// id: id,
// tags: tags,
// isFinish: isFinish
// },
// headers:{
// 'Timestamp': getCurrentTimestamp()
// }
// })
// }
// request.projectGetCustom(1, [], [1, -2, 0, 2])
/**
* 展示全部消息
*
*/
const messageGet = (token) => {
return axios({
url:api + "/message/get",
method:"get",
headers:{
'Authorization':'Bearer '+token,
'content-type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 得到tag列表
* @param token
*/
const getTagsProjectList
= (token) =>{
return axios({
url:api+ "/tags/project/list",
method: "get",
headers:{
'Authorization':'Bearer '+token,
'Timestamp': getCurrentTimestamp()
}
})
}
/**
* 得到tag列表
* @param data
* @param token
* 获取项目的所有子系统
*/
const projectWorkGet = (data,token) => {
return axios({
url:api + "/project/work/get",
method:"get",
data:data,
headers:{
'Authorization':'Bearer '+token,
'content-type': 'application/json;charset=utf-8',
'Timestamp': getCurrentTimestamp()
}
})
}
// /**
// * 得到tag列表
// * @param token
// */
// const getTagsProjectList = (token) =>{
// return axios({
// url:api+ "/tags/project/list",
// method: "get",
// headers:{
// 'Authorization':'Bearer '+token,
// 'Timestamp': getCurrentTimestamp()
// }
// })
// }
export default {
login,
register,
logout,
changePassword,
forgetPassword,
authLoginWithEmail,
authSendEmailCode,
userAllCurrent,
userCurrent,
userAdd,
userEdit,
userDelete,
userLock,
userGetProfile,
userEditProfile,
roleGet,
roleEdit,
roleAdd,
roleDelete,
roleAddUser,
roleChangeUser,
roleRemoveUser,
infoGetHeaderImage,
infoEditHeaderImage,
infoAddHeaderImage,
infoDeleteHeaderImage,
infoEditSettingHeaderImage,
projectGet,
projectGetCustom,
getTagsProjectList,
projectWorkGet,
messageGet,
}