@@ -15,26 +15,15 @@
{{ eventsDetail.title }}
-
- {{ introItem.text }}
-
{{ introItem.link }}
- {{ introItem?.residue }}
+
+
+
{{ buttonItem.text }}
+
+
+
+
-
@@ -46,11 +35,12 @@ import { defineComponent,h ,toRefs,ref,reactive,onMounted,nextTick,provide,compu
// import HeaderComponent from "@/component/HomePage/Header.vue";
// import RobotAssist from "@/component/HomePage/RobotAssist.vue";
import { Https } from "@/tool/https";
+import { message, Upload, Modal } from "ant-design-vue";
import fullScreenImg from '@/component/HomePage/fullScreenImg.vue'
import { useRouter } from 'vue-router';
import { useI18n } from "vue-i18n";
import generalMenu from "@/component/HomePage/generalMenu.vue";
-import {eventsItem} from "@/assets/json/events.json";
+import eventData from "@/assets/json/events.json";
import { useStore } from "vuex";
export default defineComponent({
components: {
@@ -77,6 +67,7 @@ export default defineComponent({
},
isShowMark:false,
isNoData:false,//如果数据为空就不加载
+ loadingShow:{},
})
let systemUser = computed(()=>{
return store.state.UserHabit.systemUser
@@ -85,9 +76,27 @@ export default defineComponent({
}
let setBack = ()=>{
router.go(-1);
+ }
+ let openButton = (data:any,index:number)=>{
+ if(filter.loadingShow[index]){
+ return
+ }
+ filter.loadingShow[index] = true
+ Https.axiosGet(data.https).then(
+ (rv: any) => {
+ if(rv){
+ console.log(rv);
+
+ message.success(data.success)
+ filter.loadingShow[index] = false
+ }
+ }
+ ).catch(res=>{
+ filter.loadingShow[index] = false
+ });
}
onMounted (()=>{
- eventsItem.forEach((item:any)=>{
+ eventData.eventsItem.forEach((item:any)=>{
if(item.id == router.currentRoute.value.query.id){
filter.eventsDetail = item;
}
@@ -98,8 +107,16 @@ export default defineComponent({
systemUser,
likeFile,
setBack,
+ openButton,
}
},
+ directives:{
+ detailText:{
+ mounted (el,binding) {
+ el.innerHTML = binding.value
+ }
+ }
+ },
async mounted(){
},
@@ -111,6 +128,16 @@ export default defineComponent({
width: 100%;
padding: 0 9rem;
padding-top: 5rem;
+
+ &.active{
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ .eventsDetail_content{
+ overflow-y: auto;
+ width: 100%;
+ }
+ }
@media (max-width: 768px) {
padding-top: 0;
min-height: auto;
@@ -120,27 +147,29 @@ export default defineComponent({
display: flex;
padding: 2rem 0rem;
align-items: center;
- border-bottom: 1px solid #f0f0f0;
position: sticky;
top: 0;
+ z-index: 222;
+ background: #fff;
.modal_title_text{
cursor: pointer;
display: flex;
margin-bottom: 0;
}
+ .modal_title_text:hover .eventsDetail_title_text{
+ text-decoration: underline;
+ }
i{
display: flex;
align-items: center;
margin-right: 1rem;
}
}
- .eventsDetail_title:hover .eventsDetail_title_text{
- text-decoration: underline;
- }
.eventsDetail_content{
+ border-top: 1px solid #f0f0f0;
display: flex;
justify-content: space-between;
- margin-top: 8rem;
+ padding-top: 8rem;
@media (max-width: 768px) {
flex-direction: column;
}
@@ -155,6 +184,9 @@ export default defineComponent({
@media (max-width: 768px) {
width: 100%;
}
+ .ant-image{
+ height: auto;
+ }
.eventsDetail_content_left_img{
width: 100%;
cursor: zoom-in;
@@ -164,9 +196,38 @@ export default defineComponent({
.modal_title_text{
letter-spacing: .4rem;
font-weight: 600;
+ .modal_title_text_intro{
+ display: block;
+ &.active{
+ display: flex;
+ justify-content: space-between;
+ }
+ li{
+ width: 48%;
+
+ }
+ em{
+ // font-family: auto;
+ }
+ a{
+ display: inline;
+ }
+ }
+ .eventsDetail_content_right_btn_box{
+ display: flex;
+ justify-content: space-evenly;
+ .eventsDetail_content_right_btn{
+ }
+ }
+
}
.modal_title_text:last-child{
- border-bottom: 3px solid;
+ }
+ .modal_title_text:last-child::after{
+ content: "";
+ display: block;
+ border-top: 3px solid;
+ height: 6rem;
}
}
}
diff --git a/src/component/HomePage/Header.vue b/src/component/HomePage/Header.vue
index 55feabff..4d7cc8d6 100644
--- a/src/component/HomePage/Header.vue
+++ b/src/component/HomePage/Header.vue
@@ -263,7 +263,7 @@ export default defineComponent({
this.accountIsLogin(this.userInfo);
}
this.isHaveBindEmail = this.userInfo?.email ? true : false;
- if(!isMurmur){
+ if(!this.isMurmur){
this.operateClick();
document.addEventListener("click", this.operateClick);
}
diff --git a/src/component/Login/registerModel.vue b/src/component/Login/registerModel.vue
index 5ccdca5c..8be5bd44 100644
--- a/src/component/Login/registerModel.vue
+++ b/src/component/Login/registerModel.vue
@@ -466,6 +466,9 @@ export default defineComponent({
Https.axiosPost(Https.httpUrls.designWorksRegisterCode, data).then(
(rv: any) => {
if (rv) {
+ if(rv.systemUser == 4){
+ rv.systemUser = 1
+ }
this.createTimer();
let isTest = rv.systemUser == 3?true:false
let isBeginner = rv.isBeginner == 1?true:false
diff --git a/src/main.ts b/src/main.ts
index 17a51eaf..298ee658 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -14,6 +14,7 @@ import i18n from './lang/index'
import { getBrowserInfo, murmur } from './tool/util'
import "../node_modules/@flaticon/flaticon-uicons/css/all/all.css"
import { Https } from "@/tool/https";
+import { useStore } from "vuex";
import 'swiper/css';
import 'swiper/css/pagination';
@@ -25,13 +26,12 @@ flexible()
import { getCookie, setCookie } from "@/tool/cookie";
router.beforeEach((to, from, next) => {
- if(to.name == "login"){
- if(window.location.search.substring(1) != 'oldHis'){
- isMurmur()
- }
+ if(to.name == "login" || to.name == 'SquareWorks'){
+ isMurmur()
}
next();
});
+
async function isMurmur() {
let murmurStr: any = localStorage.getItem('murmurStr')
let id: any = localStorage.getItem('id')
@@ -49,6 +49,9 @@ async function isMurmur() {
if(data.id){
Https.axiosPost(Https.httpUrls.noLoginRequired, data)
.then((rv) => {
+ if(rv.systemUser == 4){
+ rv.systemUser = 1
+ }
let isTest = rv.systemUser == 3 ? true : false
let isBeginner = rv.isBeginner == 1 ? true : false
setCookie("isMurmur", true);
@@ -57,6 +60,7 @@ async function isMurmur() {
setCookie("isBeginner", isBeginner);
setCookie("isBeginnerNum", 0);//从第一步开始,机器人开始的话就是从第二部开始
setCookie("userInfo", JSON.stringify(rv));
+ useStore().commit("setSystemUser", rv.systemUser)
sessionStorage.setItem('isTimeOne', JSON.stringify(false));//是否需要公告 提示 弹窗
let randomNum: any = Math.floor(Math.random() * 9000000000000000) + 1000000000000000;
sessionStorage.setItem('sessionId', randomNum);
diff --git a/src/tool/https.js b/src/tool/https.js
index d3f44d3e..0ffb96f8 100644
--- a/src/tool/https.js
+++ b/src/tool/https.js
@@ -90,7 +90,17 @@ axios.interceptors.response.use((res) =>{
if(error?.response?.status === 401 && router.currentRoute._value.name != 'setIdentification'){//如果是记录浏览器页面就不跳转login
if(!isLoginTime){
isLoginTime = true
- router.replace('/')
+ 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~')
clonAllCookie()
store.commit('clearSystemUser')
@@ -262,6 +272,8 @@ export const Https = {
exportSave:`/api/history/exportSave`,//保存画布
exportSearch:`/api/history/exportSearch`,//保存画布
+ //活动
+ activity:`/api/account/activity`,
//调查问卷
diff --git a/src/views/HomeMain.vue b/src/views/HomeMain.vue
index 188336f3..5cec5332 100644
--- a/src/views/HomeMain.vue
+++ b/src/views/HomeMain.vue
@@ -238,7 +238,7 @@ export default defineComponent({
this.accountIsLogin(this.userInfo);
}
this.isHaveBindEmail = this.userInfo?.email ? true : false;
- if(!isMurmur){
+ if(!this.isMurmur){
this.operateClick();
document.addEventListener("click", this.operateClick);
}
diff --git a/src/views/HomeView/Events.vue b/src/views/HomeView/Events.vue
index 09c524f6..51d3c6e5 100644
--- a/src/views/HomeView/Events.vue
+++ b/src/views/HomeView/Events.vue
@@ -33,7 +33,7 @@ import { Https } from "@/tool/https";
import { useI18n } from "vue-i18n";
import generalMenu from "@/component/HomePage/generalMenu.vue";
import { useStore } from "vuex";
-import {eventsList} from "@/assets/json/events.json";
+import eventData from "@/assets/json/events.json";
import { useRouter } from 'vue-router'
import { gsap, TweenMax } from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";
@@ -66,7 +66,7 @@ export default defineComponent({
// value: 'myWorks'
// },
],
- eventsList:eventsList,
+ eventsList:eventData.eventsList,
getListDate:{
"getLikePortfolio": 0,
"getMyPortfolio": 0,
@@ -169,7 +169,6 @@ export default defineComponent({
start: "top 90%", // 滚动触发器的起始滚动位置
end: '100% 80%', // 滚动触发器的结束滚动位置
// markers: true, // 开启标注功能
- scrub: true,
animation:tl1,
scroller:dom,//设置指定元素为滚动依据
scrub:2,
diff --git a/src/views/LoginPage.vue b/src/views/LoginPage.vue
index da63f75f..cf789d35 100644
--- a/src/views/LoginPage.vue
+++ b/src/views/LoginPage.vue
@@ -464,6 +464,9 @@ export default defineComponent({
Https.axiosPost(Https.httpUrls.accountLogin, data).then(
(rv: any) => {
if (rv) {
+ if(rv.systemUser == 4){
+ rv.systemUser = 1
+ }
this.createTimer();
let isTest = rv.systemUser == 3?true:false
let isBeginner = rv.isBeginner == 1?true:false
diff --git a/tsconfig.json b/tsconfig.json
index f31c96d0..a92202d6 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -11,6 +11,8 @@
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"useDefineForClassFields": true,
+ "resolveJsonModule": true,//引入json文件
+ "esModuleInterop": true,//引入json文件
"sourceMap": true,
"allowJs": true, //编译时允许有js
"baseUrl": ".",