@@ -144,12 +144,13 @@
@click="changePasswordType()"
>
-
{{ userI18n[selectUserI18n].inputPasswordTip }}
-
{{ userI18n[selectUserI18n].Email }}
+
{{ userI18n[selectUserI18n].Email }}
* {
@@ -1015,6 +1017,9 @@ export default defineComponent({
// margin-top: 4rem;
.email_last_step_bottom {
padding: 0 40px;
+ @media (max-width: 767px) {
+ padding: 0 2rem;
+ }
}
.email_last_step_block {
padding: 10px;
@@ -1028,6 +1033,10 @@ export default defineComponent({
font-size: 2.2rem;
font-weight: bold;
color: #030303;
+ @media (max-width: 767px) {
+ font-size: 1.2rem;
+ margin-left: .5rem;
+ }
}
.email_last_step_block_icon {
cursor: pointer;
@@ -1229,6 +1238,9 @@ export default defineComponent({
font-weight: bold;
color: #000;
cursor: pointer;
+ @media (max-width: 767px) {
+ font-size: 1rem;
+ }
}
.email_last_step_des {
@@ -1237,16 +1249,25 @@ export default defineComponent({
justify-content: space-between;
margin-top: 4rem;
margin-bottom: 2rem;
-
+ @media (max-width: 767px) {
+ margin-top: 2rem;
+ margin-bottom: 1rem;
+ }
.sent_email_content {
font-size: 1.8rem;
font-weight: bold;
color: #a5b0c2;
+ @media (max-width: 767px) {
+ font-size: 1.2rem;
+ }
}
.email_tip_content {
font-size: 1.4rem;
color: #030303;
+ @media (max-width: 767px) {
+ font-size: 1.2rem;
+ }
}
}
}
diff --git a/src/component/toolsPage/index.vue b/src/component/toolsPage/index.vue
index 8b3e72ed..84828edb 100644
--- a/src/component/toolsPage/index.vue
+++ b/src/component/toolsPage/index.vue
@@ -165,9 +165,22 @@ export default defineComponent({
time = setTimeout(()=>{
let canvasData = JSON.parse(canvasJSON)
if(!canvasData)return
- canvasData.canvas.objects.forEach((objectsItem:any) => {
- if(objectsItem.type == 'image')objectsItem.minioUrl = getMinioUrl(objectsItem.src)
- });
+ function deepProcessObjects(data:any, callback:any) {
+ if (!Array.isArray(data)) return data;
+ return data.map(item => {
+ callback(item)
+ const processedItem = {...item};
+ if (processedItem.objects &&
+ Array.isArray(processedItem.objects) &&
+ processedItem.objects.length > 0) {
+ processedItem.objects = deepProcessObjects(processedItem.objects, callback);
+ }
+ return processedItem;
+ });
+ }
+ canvasData.canvas.objects = deepProcessObjects(canvasData.canvas.objects,(item:any)=>{
+ if(item.type == 'image')item.minioUrl = getMinioUrl(item.src)
+ })
let blob = new Blob([JSON.stringify(canvasData)], { type: "application/json" });
let formData = new FormData();
formData.append("file", blob, "data.json");
diff --git a/src/tool/https.js b/src/tool/https.js
index 77eda601..ce1f5b79 100644
--- a/src/tool/https.js
+++ b/src/tool/https.js
@@ -2,133 +2,150 @@ import axios from 'axios'
// import qs from 'qs'
// import message from '@/components/public/message/src'
import router from '@/router/index'
-import {getCookie,clonAllCookie} from '@/tool/cookie'
+import { getCookie, clonAllCookie } from '@/tool/cookie'
// import cookie from '@/tools/cookie.js'
-axios.defaults.timeout = 60000; //响应时间
+axios.defaults.timeout = 60000 //响应时间
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8'; //配置请求头
-axios.defaults.headers.post["Content-Type"] = "application/json";
+axios.defaults.headers.post['Content-Type'] = 'application/json'
-
-axios.defaults.headers.post['lang'] = 'en'; //配置语言请求头
-axios.defaults.withCredentials = true; //跨域携带cookie
-import { message } from 'ant-design-vue';
-import store from '@/store';
+axios.defaults.headers.post['lang'] = 'en' //配置语言请求头
+axios.defaults.withCredentials = true //跨域携带cookie
+import { message } from 'ant-design-vue'
+import store from '@/store'
// if(import.meta.env.VITE_USER_NODE_ENV == "development"){
// axios.defaults.baseURL = ""; //配置接口地址
// }else{
// axios.defaults.baseURL = import.meta.env.VITE_APP_BASE_URL; //配置接口地址
// }
-// let httpIp
+// let httpIp
// if(import.meta.env.VITE_USER_NODE_ENV == 'development'){
// httpIp = 'http://192.168.1.12:10086'
// }else{
// httpIp = ''
// }
-let httpIp = import.meta.env.VITE_USER_NODE_ENV == 'development' ? "" : "";
+let httpIp = import.meta.env.VITE_USER_NODE_ENV == 'development' ? '' : ''
// let httpIp = import.meta.env.VITE_USER_NODE_ENV == 'development' ? "https://192.168.1.8:10086" : "";
-axios.defaults.baseURL = httpIp; //配置接口地址
+axios.defaults.baseURL = httpIp //配置接口地址
// console.log(axios.defaults.baseURL);
-axios.defaults.baseURL = import.meta.env.VITE_APP_BASE_URL; //配置接口地址
+axios.defaults.baseURL = import.meta.env.VITE_APP_BASE_URL //配置接口地址
console.log(import.meta.env.VITE_APP_BASE_URL)
// 创建取消令牌
-const CancelToken = axios.CancelToken;
-const source = CancelToken.source();
+const CancelToken = axios.CancelToken
+const source = CancelToken.source()
// console.log(import.meta.env.VITE_APP_BASE_URL);
let isLoginTime = false
//POST传参序列化(添加请求拦截器)
-axios.interceptors.request.use((config) => {
- //在发送请求之前做某件事
+axios.interceptors.request.use(
+ config => {
+ //在发送请求之前做某件事
-
-
- // config.cancelToken = source.token
- if(config.method === 'post' || config.method === 'put' || config.method === 'delete'){
- // config.data = qs.stringify(config.data);
- // config.data = JSON.stringify(config.data);
- }
- // config.headers.Authorization = 'Bearer-eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIyIiwic3ViIjoie1wiaWRcIjoyLFwidXNlcm5hbWVcIjpcImxpcnNcIn0iLCJpYXQiOjE2NjU3NDEwODcsImlzcyI6IkRXSiIsImF1dGhvcml0aWVzIjoiW10iLCJleHAiOjE2NzQzODEwODd9.ShM9R_NNFD7oo1OvxrEgg7PFeWinOuAKkuInUCMQupp66s64Hhv8tN0Wwr83nIN4rHPqtn95wmd4msWcvaFYJA';
- config.headers.Authorization = getCookie('token');
- return config;
-},(error) =>{
- return Promise.reject(error);
-});
-const binaryToUrl = (binary,type = 'application/json',res)=>{
- let blob = new Blob([binary], {'content-type':type});
- let url = URL.createObjectURL(blob);
+ // config.cancelToken = source.token
+ if (
+ config.method === 'post' ||
+ config.method === 'put' ||
+ config.method === 'delete'
+ ) {
+ // config.data = qs.stringify(config.data);
+ // config.data = JSON.stringify(config.data);
+ }
+ // config.headers.Authorization = 'Bearer-eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiIyIiwic3ViIjoie1wiaWRcIjoyLFwidXNlcm5hbWVcIjpcImxpcnNcIn0iLCJpYXQiOjE2NjU3NDEwODcsImlzcyI6IkRXSiIsImF1dGhvcml0aWVzIjoiW10iLCJleHAiOjE2NzQzODEwODd9.ShM9R_NNFD7oo1OvxrEgg7PFeWinOuAKkuInUCMQupp66s64Hhv8tN0Wwr83nIN4rHPqtn95wmd4msWcvaFYJA';
+ config.headers.Authorization = getCookie('token')
+ return config
+ },
+ error => {
+ return Promise.reject(error)
+ }
+)
+const binaryToUrl = (binary, type = 'application/json', res) => {
+ let blob = new Blob([binary], { 'content-type': type })
+ let url = URL.createObjectURL(blob)
return url
}
//返回状态判断(添加响应拦截器)
-axios.interceptors.response.use((res) =>{
- // if(res.data.data == null){
- // message.warning(res.data.errMsg)
- // return Promise.reject(res.data);
- // }else
- if(res?.config?.env?.binary){
- let url = binaryToUrl(res.data,res.config.env.binaryType,res)
- return Promise.resolve({url,data:res.data})
- }
- if (res?.data) {
- if (res?.data?.errCode === 0) {
- // message.error(res?.data?.errMsg)
- return Promise.resolve(res?.data?.data);
- } else if(res?.data?.errCode === 1){
- message.warning(res?.data?.errMsg)
- return Promise.reject(res?.data);
- } else if(res?.data?.errCode === 2){
- return Promise.reject(res?.data);
- }else if(res?.data?.errCode === -1){
- message.error(res?.data?.errMsg)
- return Promise.reject(res?.data);
- }
+axios.interceptors.response.use(
+ res => {
+ // 允许透传完整响应:请求时传 config.fullData = true
- } else {
- if (res?.data?.errCode === 0) {
- message.warning(res?.data?.errMsg)
- return Promise.reject(res?.data);
- } else if(res?.data?.errCode === 1){
- message.warning(res?.data?.errMsg)
- return Promise.reject(res?.data);
- } else if(res?.data?.errCode === 2){
- return Promise.reject(res?.data);
- }else if(res?.data?.errCode === -1){
- message.error(res?.data?.errMsg)
- return Promise.reject(res?.data);
+ // if(res.data.data == null){
+ // message.warning(res.data.errMsg)
+ // return Promise.reject(res.data);
+ // }else
+ if (res?.config?.env?.binary) {
+ let url = binaryToUrl(res.data, res.config.env.binaryType, res)
+ return Promise.resolve({ url, data: res.data })
}
- }
-}, function(error) {
- if(error?.response?.status === 401 && router.currentRoute._value.name != 'setIdentification'){//如果是记录浏览器页面就不跳转login
- clonAllCookie()
- if(!isLoginTime){
- isLoginTime = true
- let isSystemUserRouteList = ['/Square']//如果是这两个页面就无需跳转未登录页
- let sSystemUser = false
- for (let index = 0; index < isSystemUserRouteList.length; index++) {
- if(router.currentRoute.value.path.indexOf(isSystemUserRouteList[index]) > -1){
- sSystemUser = true
- break
+ if (res?.data) {
+ if (res?.data?.errCode === 0) {
+ // message.error(res?.data?.errMsg)
+ if (res?.config?.fullData) {
+ return Promise.resolve(res.data)
}
+ return Promise.resolve(res?.data?.data)
+ } else if (res?.data?.errCode === 1) {
+ message.warning(res?.data?.errMsg)
+ return Promise.reject(res?.data)
+ } else if (res?.data?.errCode === 2) {
+ return Promise.reject(res?.data)
+ } else if (res?.data?.errCode === -1) {
+ message.error(res?.data?.errMsg)
+ return Promise.reject(res?.data)
}
- if(!sSystemUser){
- router.replace('/')
+ } else {
+ if (res?.data?.errCode === 0) {
+ message.warning(res?.data?.errMsg)
+ return Promise.reject(res?.data)
+ } else if (res?.data?.errCode === 1) {
+ message.warning(res?.data?.errMsg)
+ return Promise.reject(res?.data)
+ } else if (res?.data?.errCode === 2) {
+ return Promise.reject(res?.data)
+ } else if (res?.data?.errCode === -1) {
+ message.error(res?.data?.errMsg)
+ return Promise.reject(res?.data)
}
- message.warning('Please login and try again~')
- store.commit('createDetail')
- store.commit('createProbject')
- store.commit('createProjectPath')
- setTimeout(()=>[
- isLoginTime = false
- ],2000)
}
- // source.cancel('取消后续接口调用');
- return Promise.reject()
- }
- let data_new = error?.response?.data
- // message.error(data_new?.errMsg || 'Error: server exception')
- return Promise.reject(data_new);
-});
+ },
+ function (error) {
+ if (
+ error?.response?.status === 401 &&
+ router.currentRoute._value.name != 'setIdentification'
+ ) {
+ //如果是记录浏览器页面就不跳转login
+ clonAllCookie()
+ if (!isLoginTime) {
+ isLoginTime = true
+ let isSystemUserRouteList = ['/Square'] //如果是这两个页面就无需跳转未登录页
+ let sSystemUser = false
+ for (let index = 0; index < isSystemUserRouteList.length; index++) {
+ if (
+ router.currentRoute.value.path.indexOf(
+ isSystemUserRouteList[index]
+ ) > -1
+ ) {
+ sSystemUser = true
+ break
+ }
+ }
+ if (!sSystemUser) {
+ router.replace('/')
+ }
+ message.warning('Please login and try again~')
+ store.commit('createDetail')
+ store.commit('createProbject')
+ store.commit('createProjectPath')
+ setTimeout(() => [(isLoginTime = false)], 2000)
+ }
+ // source.cancel('取消后续接口调用');
+ return Promise.reject()
+ }
+ let data_new = error?.response?.data
+ // message.error(data_new?.errMsg || 'Error: server exception')
+ return Promise.reject(data_new)
+ }
+)
export const Https = {
httpUrls: {
interfaceUrl: '',
@@ -447,9 +464,16 @@ export const Https = {
segAnything: `/api/python/segAnything`, //分割Anything
// award页面
- uploadPDF: '/api/global-award/uploads/pdf', // 上传pdf
- uploadVideo: '/api/global-award/uploads/video', // 上传video
-
+ checkEmail: '/api/global-award/checkEmail', // 检查邮箱是否存在
+ checkOTP: '/api/global-award/checkCode', // 检查验证码是否正确
+ initPdfUpload: '/api/global-award/uploads/pdf/init', // 初始化pdf上传
+ initVideoUpload: '/api/global-award/uploads/video/init', // 初始化video上传
+ uploadPDF: '/api/global-award/uploads/pdf/chunk', // 上传pdf
+ uploadVideo: '/api/global-award/uploads/video/chunk', // 上传video
+ uploadPDFComplete: '/api/global-award/uploads/pdf/complete', // 上传pdf完成
+ uploadVideoComplete: '/api/global-award/uploads/video/complete', // 上传video完成
+ submitForm: '/api/global-award/contestants/save', // 提交表单
+ getContestantByID: '/api/global-award/contestants/' // 获取表单
},
axiosGet(url, config) {
diff --git a/src/views/AwardPage/apply.vue b/src/views/AwardPage/apply.vue
index 36a7998d..0a57f9ad 100644
--- a/src/views/AwardPage/apply.vue
+++ b/src/views/AwardPage/apply.vue
@@ -5,12 +5,19 @@
BLOOM YOUR CREATIVITY • AiDA GLOBAL FASHION AWARD 2026