初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

123
addon/pc/source/os/utils/http.js Executable file
View File

@@ -0,0 +1,123 @@
import Config from "@/plugins/config.js"
import axios from "axios"
import {
getToken
} from "./auth"
axios.defaults.baseURL = Config.baseUrl
axios.defaults.headers = {
"X-Requested-With": "XMLHttpRequest",
"content-type": "application/json"
}
axios.defaults.responseType = "json"
axios.defaults.timeout = 60 * 1000
/**
* http单个请求
* @param {object} params 请求参数
* @param {integer} successCode 接口正常返回结果标识
*
* @returns Promise
*/
export default function request(params, successCode = 0, method = "POST") {
var url = params.url // 请求路径
var data = {
app_type: "pc",
app_type_name: "PC"
}
var token = getToken()
if (token) data.token = token
// 参数
if (params.data != undefined) Object.assign(data, params.data)
//异步
return axios({
url,
method,
data
})
.then(res => {
const {
code
} = res.data || {}
if (process.client && code == -3 && window.$nuxt.$route.name != 'close') {
window.$nuxt.$router.push('/close');
return;
}
if (code == successCode) return res.data
else return Promise.reject(res.data)
})
.catch(error => {
const {
error_code
} = error
if (error_code === "TOKEN_ERROR") {
error.message = '登录错误'
vue.$store.dispatch("member/remove_token")
if (params.forceLogin) {
vue.$router.push(`/auth/login?redirect=${encodeURIComponent(vue.$router.history.current.fullPath)}`)
}
}
return Promise.reject(error)
})
}
/**
* 并发请求
* @param {array} params 并发请求参数数组,传入数组中对象的顺序要匹配 data 中 url
* @var 该方法为并发请求,数据会在全部请求完之后才返回
* 该方法不建议使用。
*/
export function conRequest(params) {
if (Object.prototype.toString.call(params) != "[object Array]") {
return Promise.reject({
code: -1,
msg: "参数必须为数组"
})
}
//同步并发
var quest = []
for (var i = 0; i < url.length; i++) {
quest.push(
axios({
url: params[i].url,
method: method,
params: params[i].data
})
)
}
axios
.all(quest)
.then(
axios.spread(() => {
// 请求全部完成后执行
var res = []
for (let i = 0; i < arguments.length; i++) {
res.push(arguments[i].data)
}
return res
})
)
.catch(error => {
const {
error_code
} = error
if (error_code === "TOKEN_ERROR") {
error.message = '登录错误'
vue.$store.dispatch("member/remove_token")
if (params.forceLogin) {
vue.$router.push(`/auth/login?redirect=${encodeURIComponent(vue.$router.history.current.fullPath)}`)
}
}
return Promise.reject(error)
})
}