修改招生官样式和今日缘分样式

This commit is contained in:
A1300399510 2025-01-21 19:05:54 +08:00
parent 758429fb9d
commit 7fd77636f0
13 changed files with 667 additions and 300 deletions

View File

@ -1,6 +1,6 @@
// template/admission-box/admission-box.js // template/admission-box/admission-box.js
var miucms = require('../../utils/miucms.js'); var miucms = require("../../utils/miucms.js")
var common = require('../../utils/commonMethod.js'); var common = require("../../utils/commonMethod.js")
const util = require("../../utils/util") const util = require("../../utils/util")
const app = getApp() const app = getApp()
Component({ Component({
@ -12,8 +12,8 @@ Component({
type: Boolean, type: Boolean,
value: false, value: false,
observer(res) { observer(res) {
if (res) this.getAdmissionsOfficer() this.getAdmissionsOfficer()
} },
}, },
isShow: { isShow: {
type: Boolean, type: Boolean,
@ -26,17 +26,19 @@ Component({
*/ */
data: { data: {
urls: [], urls: [],
mold: 3,
countdownInterval: null, countdownInterval: null,
countDown: { countDown: {
days: 0, days: 0,
hours: '00', hours: "00",
minutes: '00', minutes: "00",
seconds: '00', seconds: "00",
}, },
admissionCurrent: 0, admissionCurrent: 0,
countDownState: false, countDownState: false,
}, },
/** /**
@ -44,54 +46,64 @@ Component({
*/ */
methods: { methods: {
getAdmissionsOfficer() { getAdmissionsOfficer() {
util.wxget('/api/project.other/admissionOfficerIn').then(res => { util.wxget("/api/project.other/admissionOfficerIn").then(res => {
if (res.code != 200) return if (res.code != 200) return
const data = res.data || [] const data = res.data || []
const today = new Date() const today = new Date()
today.setHours(0, 0, 0, 0) today.setHours(0, 0, 0, 0)
let list = [] let list = []
for (var i in data) { for (var i in data) {
const item = data[i]; const item = data[i]
for (var ii in item) { for (var ii in item) {
const ite = item[ii]; const ite = item[ii]
list.push(...ite) list.push(...ite)
} }
} }
let urls = [] let urls = []
console.log("list", list);
list.forEach(element => { list.forEach(element => {
element.urls.forEach(ele => { element.urls.forEach(ele => {
urls.push({ urls.push({
...ele, ...ele,
logo: element.schoollogo logo: element.schoollogo,
}) })
}) })
}) })
urls.sort((a, b) => b.rank - a.rank); // console.log("urls", urls);
// urls[0]['date'] = "2025-01-20 15:35"
urls.sort((a, b) => b.rank - a.rank)
urls.forEach(element => { urls.forEach(element => {
let mold = null let mold = null
let timestamp = "" let timestamp = ""
if (!element.date || (typeof element.date == 'string' && element.date.indexOf("答疑") >= 0)) mold = 3; if (!element.date || (typeof element.date == "string" && element.date.indexOf("答疑") >= 0)) mold = 3
else { else {
const date = new Date(element.date); const date = new Date(element.date)
if (!isNaN(date.getTime())) { if (!isNaN(date.getTime())) {
if (date >= today) mold = 1 if (date >= today) mold = 1
else mold = 2 else mold = 2
// if (Date.now() < date.getTime()) timestamp = date.getTime() - Date.now()
if (Date.now() < date.getTime()) timestamp = true if (Date.now() < date.getTime()) timestamp = true
} else mold = 3 } else mold = 3
} }
element['mold'] = mold element["mold"] = mold
element['timestamp'] = timestamp element["timestamp"] = timestamp
})
urls = urls.filter(item => item.timestamp);
console.log("urls", urls);
urls.push({
mold: 4,
timestamp: "",
}) })
this.setData({ this.setData({
urls, urls,
}) })
this.calculateIndicator() this.calculateIndicator()
if (urls.length != 0) this.setCountDown(0) if (urls.length != 0) this.setCountDown(0)
@ -131,18 +143,23 @@ Component({
bindanimationfinish(e) { bindanimationfinish(e) {
const current = e.detail.current || 0 const current = e.detail.current || 0
const urls = this.data.urls
this.setData({ this.setData({
admissionCurrent: current admissionCurrent: current,
mold: urls[current]['mold'],
}) })
// console.log("current", urls[current]);
this.setCountDown(current) this.setCountDown(current)
this.calculateIndicator(current) this.calculateIndicator(current)
}, },
setCountDown(index) { setCountDown(index) {
const urls = this.data.urls const urls = this.data.urls
clearTimeout(this.data.countdownInterval); clearTimeout(this.data.countdownInterval)
if (urls[index]['timestamp']) this.startCountdown(urls[index]['date']) if (urls[index]["timestamp"]) this.startCountdown(urls[index]["date"])
else { else {
this.setData({ this.setData({
countDownState: false, countDownState: false,
@ -151,7 +168,7 @@ Component({
}, },
startCountdown(date) { startCountdown(date) {
clearTimeout(this.data.countdownInterval); clearTimeout(this.data.countdownInterval)
if (!this.data.isShow) return if (!this.data.isShow) return
const newTime = new Date().getTime() const newTime = new Date().getTime()
const dateTime = new Date(date).getTime() const dateTime = new Date(date).getTime()
@ -162,26 +179,34 @@ Component({
}) })
return return
} }
const days = Math.floor(timer / (24 * 60 * 60 * 1000)); const days = Math.floor(timer / (24 * 60 * 60 * 1000))
const hours = Math.floor((timer % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000)); const hours = Math.floor((timer % (24 * 60 * 60 * 1000)) / (60 * 60 * 1000))
const minutes = Math.floor((timer % (60 * 60 * 1000)) / (60 * 1000)); const minutes = Math.floor((timer % (60 * 60 * 1000)) / (60 * 1000))
const seconds = Math.floor(timer % (60 * 1000) / 1000); const seconds = Math.floor((timer % (60 * 1000)) / 1000)
this.setData({ this.setData({
countDown: { countDown: {
days, days,
hours: hours.toString().padStart(2, '0'), hours: hours.toString().padStart(2, "0"),
minutes: minutes.toString().padStart(2, '0'), minutes: minutes.toString().padStart(2, "0"),
seconds: seconds.toString().padStart(2, '0'), seconds: seconds.toString().padStart(2, "0"),
}, },
countDownState: true, countDownState: true,
}); })
timer = timer - 1000 timer = timer - 1000
if (timer > 0) this.data.countdownInterval = setTimeout(() => this.startCountdown(date), 1000) if (timer > 0) this.data.countdownInterval = setTimeout(() => this.startCountdown(date), 1000)
}, },
goPage(e) { goPage(e) {
clearTimeout(this.data.countdownInterval)
const url = e.currentTarget.dataset.url const url = e.currentTarget.dataset.url
common.goPage(url) common.goPage(url)
}, },
}
cutQuickAnswer() {
this.setData({
quickAnswerState: !this.data.quickAnswerState
})
},
},
}) })

View File

@ -30,14 +30,22 @@
.admission-box { .admission-box {
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(-78.6688125977936deg, rgba(207, 247, 255, 1) -12%, rgba(239, 240, 209, 1) 45%, rgba(207, 247, 255, 1) 155%); // background: linear-gradient(-78.6688125977936deg, rgba(207, 247, 255, 1) -12%, rgba(239, 240, 209, 1) 45%, rgba(207, 247, 255, 1) 155%);
background: linear-gradient(-73.0773379882089deg, rgba(193, 241, 254, 1) 0%, rgba(218, 247, 251, 1) 48%, rgba(174, 228, 251, 1) 100%);
border: none; border: none;
border-radius: 24rpx; border-radius: 24rpx;
padding: 12rpx 15rpx 0; // padding: 12rpx 15rpx 0;
margin: 0 22.5rpx 30rpx; margin: 0 22.5rpx 30rpx;
height: 234.5rpx;
position: relative;
.head { .head {
margin-bottom: 9rpx; margin-bottom: 9rpx;
position: absolute;
top: 12rpx;
left: 0;
width: 100%;
padding: 0 15rpx;
.icon { .icon {
width: 230rpx; width: 230rpx;
@ -98,8 +106,7 @@
width: 38rpx; width: 38rpx;
height: 38rpx; height: 38rpx;
margin: 0 5rpx; margin: 0 5rpx;
background-color: rgba(2, 98, 119, 1); background-color: rgba(245, 154, 35, 1);
background-color: rgba(249, 93, 93, 1);
border-radius: 19.5rpx; border-radius: 19.5rpx;
font-size: 21rpx; font-size: 21rpx;
color: #FFFFFF; color: #FFFFFF;
@ -109,13 +116,30 @@
} }
.content { .content {
background-color: rgba(255, 255, 255, 1); // background-color: rgba(255, 255, 255, 1);
border-radius: 18rpx; // border-radius: 18rpx;
height: 120rpx; // height: 120rpx;
height: 100%;
position: relative;
z-index: 1;
.more {
width: 100rpx;
height: 100rpx;
position: absolute;
top: 12rpx;
right: 15rpx;
height: 39rpx;
}
.item { .item {
position: relative; position: relative;
padding-left: 16.5rpx; padding-left: 16.5rpx;
background-color: rgba(255, 255, 255, 1);
width: 100%;
height: 120rpx;
margin: 0 15rpx;
border-radius: 18rpx;
.schoolimg-box { .schoolimg-box {
width: 60rpx; width: 60rpx;
@ -146,9 +170,13 @@
.indicator-box { .indicator-box {
height: 55rpx; height: 55rpx;
padding: 20rpx 0; padding: 20rpx 0;
position: relative; position: absolute;
display: flex; display: flex;
justify-content: center; justify-content: center;
bottom: -8rpx;
left: 50%;
transform: translateX(-50%);
z-index: 1;
} }
.indicator { .indicator {
@ -194,4 +222,53 @@
vertical-align: middle; vertical-align: middle;
margin-right: 16.5rpx; margin-right: 16.5rpx;
margin-bottom: 5rpx; margin-bottom: 5rpx;
}
.quick-answer {
height: 214.5rpx;
height: 234.5rpx;
border-radius: 24rpx;
}
.quick-answer-pop {
display: flex;
flex-direction: column;
background-color: rgba(0, 0, 0, 0.705882352941177);
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 101;
animation: slideUp 0.3s forwards;
@keyframes slideUp {
0% {
top: 100%;
}
100% {
top: 0;
}
}
.quick-answer-box {
.quick-answer-img {
width: 100vw;
height: 1096.5rpx;
position: absolute;
bottom: 0;
left: 0;
border-radius: 35rpx;
}
.quick-answer-icon {
width: 270rpx;
height: 270rpx;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 260rpx;
}
}
} }

View File

@ -1,9 +1,9 @@
<!--template/admission-box/admission-box.wxml--> <!--template/admission-box/admission-box.wxml-->
<view class="admission-box" wx:if="{{ urls.length != 0 }}"> <view class="admission-box" wx:if="{{ urls.length != 0 }}">
<view class="head flexacenter"> <view class="head flexacenter" wx:if="{{ urls.length > 1 }}">
<image class="icon" src="https://app.gter.net/image/miniApp/offer/talk-live-index-icon.png" mode="widthFix"></image> <image class="icon" src="https://app.gter.net/image/miniApp/offer/talk-live-index-icon-black.png" mode="widthFix"></image>
<view class="text flexcenter"> <view class="text flexcenter">
<image class="bj" src="https://app.gter.net/image/miniApp/offer/rhomboid-icon.svg" mode="heightFix"></image> <image class="bj" src="https://app.gter.net/image/miniApp/offer/rhomboid-icon-blue-grey.svg" mode="heightFix"></image>
招生官为你答疑 招生官为你答疑
</view> </view>
<view class="operate flex1"> <view class="operate flex1">
@ -13,7 +13,7 @@
<view class="item flexcenter">{{ countDown.minutes }}</view>: <view class="item flexcenter">{{ countDown.minutes }}</view>:
<view class="item flexcenter">{{ countDown.seconds }}</view> <view class="item flexcenter">{{ countDown.seconds }}</view>
</view> </view>
<navigator wx:else target="miniProgram" app-id="wxa9296b07391c2bc7" path="/pages/admissionList/admissionList" hover-class="none" class="more flexacenter"> <navigator wx:else target="miniProgram" app-id="wxa9296b07391c2bc7" url="/pages/admissionList/admissionList" hover-class="none" class="more flexacenter">
more more
<image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-circle-dark-blue.svg"></image> <image class="icon" src="https://app.gter.net/image/miniApp/offer/arrows-circle-dark-blue.svg"></image>
</navigator> </navigator>
@ -22,23 +22,35 @@
<swiper class="content" autoplay="{{ true }}" bindanimationfinish="bindanimationfinish" circular="{{ true }}"> <swiper class="content" autoplay="{{ true }}" bindanimationfinish="bindanimationfinish" circular="{{ true }}">
<swiper-item class="flexacenter" wx:for="{{ urls }}" wx:key="index"> <swiper-item class="flexacenter" wx:for="{{ urls }}" wx:key="index">
<view class="item flexacenter" bind:tap="goPage" data-url="/pages/webview/webview?url={{ item.url }}"> <image wx:if="{{ item.mold == 4 }}" class="quick-answer" src="https://app.gter.net/image/miniApp/offer/quick-answer.png" mode="heightFix" bind:tap="cutQuickAnswer"></image>
<view class="schoolimg-box flexcenter">
<image class="schoolimg" src="{{ item.logo }}" mode="heightFix"></image> <block wx:else>
<navigator class="more" wx:if="{{ !countDownState }}" target="miniProgram" app-id="wxa9296b07391c2bc7" url="/pages/admissionList/admissionList" hover-class="none"></navigator>
<view class="item flexacenter" bind:tap="goPage" data-url="/pages/webview/webview?url={{ item.url }}">
<view class="schoolimg-box flexcenter">
<image class="schoolimg" src="{{ item.logo }}" mode="heightFix"></image>
</view>
<view class="title flex1">
<image wx:if="{{ item.mold == 1 }}" class="admissionState" src="https://app.gter.net/image/miniApp/offer/about-start1.png" mode="widthFix"></image>
<image wx:elif="{{ item.mold == 2 }}" class="admissionState" src="https://app.gter.net/image/miniApp/offer/answer-collation.png" mode="widthFix"></image>
<image wx:else class="admissionState" src="https://app.gter.net/image/miniApp/offer/answer-questions.png" mode="widthFix"></image>
{{ item.title }}
</view>
</view> </view>
<view class="title flex1"> </block>
<image wx:if="{{ item.mold == 1 }}" class="admissionState" src="https://app.gter.net/image/miniApp/offer/about-start.png" mode="widthFix"></image>
<image wx:elif="{{ item.mold == 2 }}" class="admissionState" src="https://app.gter.net/image/miniApp/offer/answer-collation.png" mode="widthFix"></image>
<image wx:else class="admissionState" src="https://app.gter.net/image/miniApp/offer/answer-questions.png" mode="widthFix"></image>
{{ item.title }}
</view>
</view>
</swiper-item> </swiper-item>
</swiper> </swiper>
<view class="indicator-box"> <view class="indicator-box" wx:if="{{ urls.length > 1 }}">
<view class="indicator flexcenter"> <view class="indicator flexcenter">
<view class="item {{ item.current == 2 ? 'pitch' : '' }} {{ item.current == 1 ? 'tiny1' : '' }} {{ item.current == 0 ? 'tiny' : '' }}" wx:for="{{ urls }}" wx:key="index"></view> <view class="item {{ item.current == 2 ? 'pitch' : '' }} {{ item.current == 1 ? 'tiny1' : '' }} {{ item.current == 0 ? 'tiny' : '' }}" wx:for="{{ urls }}" wx:key="index"></view>
</view> </view>
</view> </view>
</view>
<view class="quick-answer-pop" wx:if="{{ quickAnswerState }}" catch:touchmove="return" bind:tap="cutQuickAnswer">
<view class="quick-answer-box" catch:tap="return">
<image class="quick-answer-img" src="https://app.gter.net/image/miniApp/offer/quick-answer-pop.png" mode="widthFix"></image>
<image class="quick-answer-icon" show-menu-by-longpress src="https://u.gter.net/assistantwxqrcode.png" mode="widthFix"></image>
</view>
</view> </view>

View File

@ -24,14 +24,20 @@
} }
.admission-box { .admission-box {
box-sizing: border-box; box-sizing: border-box;
background: linear-gradient(-78.6688126deg, #cff7ff -12%, #eff0d1 45%, #cff7ff 155%); background: linear-gradient(-73.07733799deg, #c1f1fe 0%, #daf7fb 48%, #aee4fb 100%);
border: none; border: none;
border-radius: 24rpx; border-radius: 24rpx;
padding: 12rpx 15rpx 0;
margin: 0 22.5rpx 30rpx; margin: 0 22.5rpx 30rpx;
height: 234.5rpx;
position: relative;
} }
.admission-box .head { .admission-box .head {
margin-bottom: 9rpx; margin-bottom: 9rpx;
position: absolute;
top: 12rpx;
left: 0;
width: 100%;
padding: 0 15rpx;
} }
.admission-box .head .icon { .admission-box .head .icon {
width: 230rpx; width: 230rpx;
@ -87,20 +93,32 @@
width: 38rpx; width: 38rpx;
height: 38rpx; height: 38rpx;
margin: 0 5rpx; margin: 0 5rpx;
background-color: #026277; background-color: #f59a23;
background-color: #f95d5d;
border-radius: 19.5rpx; border-radius: 19.5rpx;
font-size: 21rpx; font-size: 21rpx;
color: #FFFFFF; color: #FFFFFF;
} }
.admission-box .content { .admission-box .content {
background-color: #ffffff; height: 100%;
border-radius: 18rpx; position: relative;
height: 120rpx; z-index: 1;
}
.admission-box .content .more {
width: 100rpx;
height: 100rpx;
position: absolute;
top: 12rpx;
right: 15rpx;
height: 39rpx;
} }
.admission-box .content .item { .admission-box .content .item {
position: relative; position: relative;
padding-left: 16.5rpx; padding-left: 16.5rpx;
background-color: #ffffff;
width: 100%;
height: 120rpx;
margin: 0 15rpx;
border-radius: 18rpx;
} }
.admission-box .content .item .schoolimg-box { .admission-box .content .item .schoolimg-box {
width: 60rpx; width: 60rpx;
@ -126,9 +144,13 @@
.admission-box .indicator-box { .admission-box .indicator-box {
height: 55rpx; height: 55rpx;
padding: 20rpx 0; padding: 20rpx 0;
position: relative; position: absolute;
display: flex; display: flex;
justify-content: center; justify-content: center;
bottom: -8rpx;
left: 50%;
transform: translateX(-50%);
z-index: 1;
} }
.admission-box .indicator { .admission-box .indicator {
position: absolute; position: absolute;
@ -167,3 +189,44 @@
margin-right: 16.5rpx; margin-right: 16.5rpx;
margin-bottom: 5rpx; margin-bottom: 5rpx;
} }
.quick-answer {
height: 214.5rpx;
height: 234.5rpx;
border-radius: 24rpx;
}
.quick-answer-pop {
display: flex;
flex-direction: column;
background-color: rgba(0, 0, 0, 0.70588235);
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 101;
animation: slideUp 0.3s forwards;
}
@keyframes slideUp {
0% {
top: 100%;
}
100% {
top: 0;
}
}
.quick-answer-pop .quick-answer-box .quick-answer-img {
width: 100vw;
height: 1096.5rpx;
position: absolute;
bottom: 0;
left: 0;
border-radius: 35rpx;
}
.quick-answer-pop .quick-answer-box .quick-answer-icon {
width: 270rpx;
height: 270rpx;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 260rpx;
}

View File

@ -101,6 +101,8 @@ Page({
admissionofficerin: [], admissionofficerin: [],
answerquestions: [], answerquestions: [],
quickAnswerState: false,
}, },
/** /**
@ -145,19 +147,26 @@ Page({
}).then(res => { }).then(res => {
const data = res.data const data = res.data
let admissionofficerin = data.admissionofficerin || [] let admissionofficerin = data.admissionofficerin || []
// console.log("data", data);
// admissionofficerin[0]['date'] = "2025-01-21 19:00"
if (admissionofficerin.length > 0) { if (admissionofficerin.length > 0) {
admissionofficerin.forEach(element => { admissionofficerin.forEach(element => {
const date = new Date(element.date); const date = new Date(element.date);
let answerType = 1 // let answerType = 1
if (!isNaN(date.getTime())) { if (!isNaN(date.getTime())) {
if (Date.now() < date.getTime()) { if (Date.now() < date.getTime()) {
this.startCountdown(date.getTime() - Date.now() || 0) this.startCountdown(date.getTime() - Date.now() || 0)
answerType = 2 // answerType = 2
this.setData({
answerType: 2,
})
} }
} }
this.setData({ // this.setData({
answerType, // answerType,
}) // })
}) })
} }
@ -787,4 +796,10 @@ Page({
title: `${ this.data.info.schoolalias || this.data.info.schoolname || '' }】 - ${this.data.info.name_zh}`, title: `${ this.data.info.schoolalias || this.data.info.schoolname || '' }】 - ${this.data.info.name_zh}`,
} }
}, },
cutQuickAnswer() {
this.setData({
quickAnswerState: !this.data.quickAnswerState
})
},
}) })

View File

@ -1922,8 +1922,9 @@ navigator {
z-index: 1; z-index: 1;
// width: 690rpx; // width: 690rpx;
height: 120rpx; height: 120rpx;
padding: 0 12rpx; // padding: 0 12rpx;
margin-top: 37.5rpx; margin-top: 37.5rpx;
box-shadow: 0 0 4rpx rgba(0, 0, 0, 0.129411764705882);
.bj { .bj {
position: absolute; position: absolute;
@ -1936,18 +1937,39 @@ navigator {
} }
.left { .left {
width: 453rpx; // width: 453rpx;
height: 93rpx; height: 120rpx;
background: inherit; // background: inherit;
background-color: rgba(255, 255, 255, 0.898039215686275); // background-color: rgba(255, 255, 255, 0.898039215686275);
background-color: rgba(253, 250, 247, 1);
box-sizing: border-box; box-sizing: border-box;
border: 1.5rpx solid rgba(242, 242, 242, 1); border: 1.5rpx solid rgba(242, 242, 242, 1);
border-radius: 4.5rpx; border-radius: 4.5rpx 0 0 4.5rpx;
font-size: 25.5rpx; font-size: 25.5rpx;
color: #000000; color: #000000;
line-height: 36rpx; line-height: 36rpx;
padding: 10.5rpx 15rpx; padding: 10.5rpx 15rpx;
.left-text {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
}
.icon {
width: 90rpx;
height: 36rpx;
text-align: center;
line-height: 36rpx;
background-color: rgba(250, 107, 17, 1);
border-radius: 172.5rpx;
display: inline-block;
font-size: 21rpx;
color: #FFFFFF;
}
.text { .text {
display: -webkit-box; display: -webkit-box;
@ -1961,6 +1983,12 @@ navigator {
.right { .right {
flex-direction: column; flex-direction: column;
align-items: flex-end; align-items: flex-end;
background: linear-gradient(to right, #fccc9e, #f69d5c);
width: 225rpx;
height: 100%;
justify-content: center;
padding-right: 22rpx;
border-radius: 0 4.5rpx 4.5rpx 0;
.text { .text {
width: 145.5rpx; width: 145.5rpx;
@ -2008,4 +2036,59 @@ navigator {
} }
} }
} }
}
.quick-answer {
width: 564rpx;
height: 190.5rpx;
margin-top: 30rpx;
margin-bottom: 30rpx;
margin-left: 36rpx;
border-radius: 20rpx;
border-bottom: 1rpx dotted rgb(235, 235, 235);
}
.quick-answer-pop {
display: flex;
flex-direction: column;
background-color: rgba(0, 0, 0, 0.705882352941177);
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 1;
animation: slideUp 0.3s forwards;
@keyframes slideUp {
0% {
top: 100%;
}
100% {
top: 0;
}
}
.quick-answer-box {
.quick-answer-img {
width: 100vw;
height: 1096.5rpx;
position: absolute;
bottom: 0;
left: 0;
border-radius: 35rpx;
}
.quick-answer-icon {
width: 270rpx;
height: 270rpx;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 260rpx;
}
}
} }

View File

@ -38,12 +38,15 @@
</view> </view>
<view bind:tap="goPage" data-url="/pages/webview/webview?url={{ admissionofficerin[0]['url'] }}" class="about-start flexacenter" wx:if="{{ answerType == 2 }}"> <view bind:tap="goPage" data-url="/pages/webview/webview?url={{ admissionofficerin[0]['url'] }}" class="about-start flexacenter" wx:if="{{ answerType == 2 }}">
<image class="bj" src="https://app.gter.net/image/miniApp/offer/about-start-bj.svg" mode="heightFix"></image> <!-- <image class="bj" src="https://app.gter.net/image/miniApp/offer/about-start-bj.svg" mode="heightFix"></image> -->
<view class="left flexacenter"> <view class="left flexacenter flex1">
<view class="text">{{ admissionofficerin[0]['title'] }}</view> <view class="left-text flexacenter">
<view class="icon">宣讲会</view>
{{ admissionofficerin[0]['title'] }}
</view>
</view> </view>
<view class="right flexflex flex1"> <view class="right flexflex ">
<view class="text"> <view class="text">
<image class="icon icon2" src="https://app.gter.net/image/miniApp/offer/about-start-text-w.png" mode="widthFix"></image> <image class="icon icon2" src="https://app.gter.net/image/miniApp/offer/about-start-text-w.png" mode="widthFix"></image>
<image class="icon" src="https://app.gter.net/image/miniApp/offer/about-start-text.png" mode="widthFix"></image> <image class="icon" src="https://app.gter.net/image/miniApp/offer/about-start-text.png" mode="widthFix"></image>
@ -75,7 +78,10 @@
<view style="height: 100%" class="details-box flex1" scroll-y="{{ true }}" scroll-with-animation="{{ scrollAnimation }}"> <view style="height: 100%" class="details-box flex1" scroll-y="{{ true }}" scroll-with-animation="{{ scrollAnimation }}">
<!-- 招生官 --> <!-- 招生官 -->
<view class="side-item" data-type="pivotal"> <view class="side-item" data-type="pivotal">
<block wx:if="{{ urls.length != 0 && answerType == 0 }}"> <image wx:if="{{ urls.length != 0 && answerType == 0 }}" class="quick-answer" src="https://app.gter.net/image/miniApp/offer/quick-answer.png" mode="widthFix" bind:tap="cutQuickAnswer"></image>
<view class="borderTop"></view>
<!-- <block wx:if="{{ urls.length != 0 && answerType == 0 }}">
<view class="admission-box block" bind:tap="cutAdmission"> <view class="admission-box block" bind:tap="cutAdmission">
<view class="head flexcenter"> <view class="head flexcenter">
<image class="icon" src="https://app.gter.net/image/miniApp/offer/talk-live-icon.png" mode="widthFix"></image> <image class="icon" src="https://app.gter.net/image/miniApp/offer/talk-live-icon.png" mode="widthFix"></image>
@ -96,7 +102,7 @@
</view> </view>
</view> </view>
<view class="borderTop"></view> <view class="borderTop"></view>
</block> </block> -->
<view class="semester-box flexacenter "> <view class="semester-box flexacenter ">
<view class="text gray {{ info.semesterState ? 'semester' : '' }}">{{ info.semester.text || '' }}</view> <view class="text gray {{ info.semesterState ? 'semester' : '' }}">{{ info.semester.text || '' }}</view>
@ -760,4 +766,11 @@
<perfect-information wx:if="{{ informationState }}" bindrevampInformationState="revampInformationState"></perfect-information> <perfect-information wx:if="{{ informationState }}" bindrevampInformationState="revampInformationState"></perfect-information>
<index-sidebar id="index-sidebar" class="index-sidebar" sidebarType="xg" isInitFinish="{{ isInitFinish }}" bind:openLogin="openLoginBtnState" islogin="{{ islogin }}"></index-sidebar> <index-sidebar id="index-sidebar" class="index-sidebar" sidebarType="xg" isInitFinish="{{ isInitFinish }}" bind:openLogin="openLoginBtnState" islogin="{{ islogin }}"></index-sidebar>
<view class="quick-answer-pop" wx:if="{{ quickAnswerState }}" catch:touchmove="return" bind:tap="cutQuickAnswer">
<view class="quick-answer-box" catch:tap="return">
<image class="quick-answer-img" src="https://app.gter.net/image/miniApp/offer/quick-answer-pop.png" mode="widthFix"></image>
<image class="quick-answer-icon" show-menu-by-longpress src="https://u.gter.net/assistantwxqrcode.png" mode="widthFix"></image>
</view>
</view>

View File

@ -1587,8 +1587,8 @@ navigator {
position: relative; position: relative;
z-index: 1; z-index: 1;
height: 120rpx; height: 120rpx;
padding: 0 12rpx;
margin-top: 37.5rpx; margin-top: 37.5rpx;
box-shadow: 0 0 4rpx rgba(0, 0, 0, 0.12941176);
} }
.about-start .bj { .about-start .bj {
position: absolute; position: absolute;
@ -1600,18 +1600,34 @@ navigator {
z-index: -1; z-index: -1;
} }
.about-start .left { .about-start .left {
width: 453rpx; height: 120rpx;
height: 93rpx; background-color: #fdfaf7;
background: inherit;
background-color: rgba(255, 255, 255, 0.89803922);
box-sizing: border-box; box-sizing: border-box;
border: 1.5rpx solid #f2f2f2; border: 1.5rpx solid #f2f2f2;
border-radius: 4.5rpx; border-radius: 4.5rpx 0 0 4.5rpx;
font-size: 25.5rpx; font-size: 25.5rpx;
color: #000000; color: #000000;
line-height: 36rpx; line-height: 36rpx;
padding: 10.5rpx 15rpx; padding: 10.5rpx 15rpx;
} }
.about-start .left .left-text {
display: -webkit-box;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
}
.about-start .left .icon {
width: 90rpx;
height: 36rpx;
text-align: center;
line-height: 36rpx;
background-color: #fa6b11;
border-radius: 172.5rpx;
display: inline-block;
font-size: 21rpx;
color: #FFFFFF;
}
.about-start .left .text { .about-start .left .text {
display: -webkit-box; display: -webkit-box;
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
@ -1622,6 +1638,12 @@ navigator {
.about-start .right { .about-start .right {
flex-direction: column; flex-direction: column;
align-items: flex-end; align-items: flex-end;
background: linear-gradient(to right, #fccc9e, #f69d5c);
width: 225rpx;
height: 100%;
justify-content: center;
padding-right: 22rpx;
border-radius: 0 4.5rpx 4.5rpx 0;
} }
.about-start .right .text { .about-start .right .text {
width: 145.5rpx; width: 145.5rpx;
@ -1662,3 +1684,48 @@ navigator {
font-size: 19.5rpx; font-size: 19.5rpx;
color: #FFFFFF; color: #FFFFFF;
} }
.quick-answer {
width: 564rpx;
height: 190.5rpx;
margin-top: 30rpx;
margin-bottom: 30rpx;
margin-left: 36rpx;
border-radius: 20rpx;
border-bottom: 1rpx dotted #ebebeb;
}
.quick-answer-pop {
display: flex;
flex-direction: column;
background-color: rgba(0, 0, 0, 0.70588235);
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
z-index: 1;
animation: slideUp 0.3s forwards;
}
@keyframes slideUp {
0% {
top: 100%;
}
100% {
top: 0;
}
}
.quick-answer-pop .quick-answer-box .quick-answer-img {
width: 100vw;
height: 1096.5rpx;
position: absolute;
bottom: 0;
left: 0;
border-radius: 35rpx;
}
.quick-answer-pop .quick-answer-box .quick-answer-icon {
width: 270rpx;
height: 270rpx;
position: absolute;
left: 50%;
transform: translateX(-50%);
bottom: 260rpx;
}

View File

@ -229,23 +229,20 @@ view {
.fate { .fate {
margin: 0 22.5rpx 30rpx; margin: 0 22.5rpx 30rpx;
background-color: rgba(255, 255, 255, 1); padding-bottom: 25rpx;
border: 1rpx solid rgba(242, 242, 242, 1); background: linear-gradient(180deg, rgba(237, 244, 246, 1) 0%, rgba(207, 223, 229, 1) 100%);
border: 1rpx solid rgba(217, 228, 232, 1);
border-radius: 18rpx; border-radius: 18rpx;
box-shadow: 0 -7.5rpx rgba(249, 93, 93, 1);
padding-bottom: 42rpx;
.head { .head {
height: 84rpx; height: 89rpx;
justify-content: space-between; justify-content: space-between;
padding-left: 30rpx; padding-left: 30rpx;
border-bottom: 1rpx solid #ebebeb; margin-bottom: 4rpx;
.text { .text {
font-weight: 650; width: 219rpx;
font-size: 30rpx; height: 51rpx;
color: #000000;
} }
.refresh { .refresh {
@ -259,114 +256,121 @@ view {
} }
} }
.box {
.item {
padding-top: 31.5rpx;
padding-bottom: 31.5rpx;
margin-left: 60rpx;
margin-right: 30rpx;
&:not(:last-of-type) {
border-bottom: 1rpx dotted #ebebeb;
}
.left {
flex-direction: column;
position: relative;
&::after {
content: "";
position: absolute;
top: 10rpx;
left: -30rpx;
box-sizing: border-box;
width: 12rpx;
height: 12rpx;
background-color: rgba(246, 246, 189, 1);
border: 1rpx solid rgba(204, 208, 3, 1);
border-radius: 58.5rpx;
}
.title {
font-size: 27rpx;
color: #000000;
margin-bottom: 6rpx;
max-width: 450rpx;
}
.introduce {
color: #7F7F7F;
font-size: 21rpx;
.project {
max-width: 295.5rpx;
}
.line {
color: #D7D7D7;
margin: 0 20rpx;
}
}
}
}
}
.fate-box { .fate-box {
padding: 0 30rpx; padding: 0 12rpx;
.content { .fate-item {
// width: calc(100vw - 60rpx);
// background-color: rgb(255, 0, 0);
// border: 1rpx solid rgb(255, 0, 0);
background-color: rgba(246, 246, 246, 1);
border: 1rpx solid rgba(242, 242, 242, 1);
border-radius: 18rpx;
padding: 34.5rpx 16rpx;
margin-top: 30rpx;
justify-content: space-between; justify-content: space-between;
position: relative;
z-index: 1;
.project-list { .fate-content {
background-color: rgba(255, 255, 255, 1);
border: 1rpx solid rgba(215, 215, 215, 1);
border-radius: 34.5rpx 0 34.5rpx 0;
padding: 16rpx 16rpx 37.5rpx;
}
&::after {
content: "";
width: calc(100% - 10rpx);
height: 100%;
background-color: rgba(104, 132, 138, 1);
display: block;
position: absolute;
top: -8rpx;
left: 0;
z-index: -1;
border-radius: 34.5rpx 0 34.5rpx 0;
}
.project-item { &:not(:first-of-type) {
font-size: 24rpx; margin-top: 30rpx;
color: #333333; }
line-height: 33.75rpx;
&:not(:last-of-type) { .title {
margin-bottom: 19.5rpx; font-weight: 650;
} font-size: 27rpx;
color: #026277;
z-index: 1;
position: relative;
height: 54rpx;
padding: 0 15rpx;
margin: 0 auto 32rpx;
width: fit-content;
border: 1rpx solid rgb(205, 229, 229);
background: linear-gradient(to bottom, #e2f3fb, #edf8fa, #e9fffa);
.icon { .angle {
width: 24rpx; position: absolute;
height: 27rpx; top: -1rpx;
margin-right: 7.5rpx; right: -1rpx;
} width: 15rpx;
height: 15rpx;
}
.arrows {
.icon-box {
position: relative;
margin-right: 6rpx;
.icon-red {
width: 18rpx; width: 18rpx;
height: 18rpx; height: 30rpx;
margin: 0 13.5rpx; display: block;
margin-right: -9rpx;
z-index: 1;
} }
.text { .icon-thin {
width: 313.5rpx; display: block;
width: 18rpx;
height: 30rpx;
} }
} }
} }
.btn { .content {
width: 132rpx; .project-list {
height: 60rpx; .project-item {
background-color: rgba(207, 247, 255, 1); font-size: 24rpx;
border: 1rpx solid rgba(186, 222, 230, 1); color: #333333;
border-radius: 172.5rpx; line-height: 33.75rpx;
font-size: 24rpx;
color: #026277; &:not(:last-of-type) {
font-weight: 650; margin-bottom: 19.5rpx;
}
.icon {
width: 24rpx;
height: 27rpx;
margin-right: 7.5rpx;
}
.arrows {
width: 18rpx;
height: 18rpx;
margin: 0 13.5rpx;
}
.text {
width: 313.5rpx;
}
}
}
.btn {
width: 132rpx;
height: 60rpx;
font-weight: 650;
background-color: #f95d5d;
border-radius: 172.5rpx;
font-size: 24rpx;
color: #FFFFFF;
}
} }
} }
} }

View File

@ -64,48 +64,39 @@
<admission-box initFinish="{{ isInitFinish }}" isShow="{{ isShow }}"></admission-box> <admission-box initFinish="{{ isInitFinish }}" isShow="{{ isShow }}"></admission-box>
<view wx:if="{{ fateProject.length != 0 }}" class="fate"> <view wx:if="{{ fateProjectShow.length != 0 }}" class="fate">
<view class="head flexacenter"> <view class="head flexacenter">
<view class="text">今日缘分项目</view> <image class="text" src="https://app.gter.net/image/miniApp/offer/today-fate.png" mode="widthFix"></image>
<view class="refresh flexcenter" bind:tap="updateFate"> <view class="refresh flexcenter" bind:tap="updateFate">
<image class="icon" src="https://app.gter.net/image/miniApp/offer/refresh-icon.png"></image> <image class="icon" src="https://app.gter.net/image/miniApp/offer/refresh-icon.png"></image>
</view> </view>
</view> </view>
<view class="box" wx:if="{{ false }}">
<view class="item flexacenter" wx:for="{{ fateProject }}" wx:key="index" bind:tap="goDetails" data-uniqid="{{ item.uniqid }}"> <view class="fate-box">
<view class="left flexflex flex1"> <view class="fate-item" wx:for="{{ fateProjectShow }}" wx:key="index">
<view class="title one-line-display">{{ item.name_zh}}</view> <view class="fate-content">
<view class="introduce flexacenter"> <view class="title flexcenter">
<view class="project one-line-display">{{ item.name_en }}</view> <image class="angle" src="https://app.gter.net/image/miniApp/offer/fate-title-angle.png" mode="widthFix"></image>
<view class="line"> | </view> <view></view>
{{ item.schoolname }} <view class="icon-box flexacenter">
<image class="icon-red" src="https://app.gter.net/image/miniApp/offer/triangle-red-r.svg" mode="widthFix"></image>
<image class="icon-thin" src="https://app.gter.net/image/miniApp/offer/triangle-red-thin.svg" mode="widthFix"></image>
</view>
{{ item.name }}
</view>
<view class="content flexacenter">
<view class="project-list flex1">
<view class="project-item flexacenter" wx:for="{{ item.data }}" wx:key="index">
<image class="icon" src="{{ item.schoollogo }}"></image>
{{ item.schoolalias }}
<image class="arrows" src="https://app.gter.net/image/miniApp/offer/arrows-circle-blue.svg" mode="widthFix"></image>
<view class="text one-line-display">{{ item.name_zh }}</view>
</view>
</view>
<view class="btn flexcenter" bind:tap="goContrast" data-ids="{{ item.projectid }}">项目对比</view>
</view> </view>
</view> </view>
<view wx:if="{{ item.state }}" class="cancel flexflex" catch:tap="return" style="width: 106.5rpx;">
<view class="cross flexcenter">
<image class="icon" src="https://app.gter.net/image/miniApp/offer/tick-grey.svg"></image>
</view>
已加入
</view>
<view wx:else class="join flexflex" catch:tap="handleClick" data-random="{{ item.random }}" data-index="{{ index }}" data-id="{{ item.id }}" data-type="fate" style="width: 106.5rpx;">
<view class="add flexcenter" id="add{{ item.random }}">
<image class="icon" src="https://app.gter.net/image/miniApp/offer/plus-icon.svg"></image>
</view>
加入对比单
</view>
</view>
</view>
<view class="fate-box" wx:else>
<view class="content flexacenter" wx:for="{{ fateProjectShow }}" wx:key="index">
<view class="project-list">
<view class="project-item flexacenter" wx:for="{{ item.data }}" wx:key="index">
<image class="icon" src="{{ item.schoollogo }}"></image>
{{ item.schoolalias }}
<image class="arrows" src="https://app.gter.net/image/miniApp/offer/arrows-circle-yellow-green.svg" mode="widthFix"></image>
<view class="text one-line-display">{{ item.name_zh }}</view>
</view>
</view>
<view class="btn flexcenter" bind:tap="goContrast" data-ids="{{ item.projectid }}">项目对比</view>
</view> </view>
</view> </view>
</view> </view>

View File

@ -193,22 +193,20 @@ view {
} }
.fate { .fate {
margin: 0 22.5rpx 30rpx; margin: 0 22.5rpx 30rpx;
background-color: #ffffff; padding-bottom: 25rpx;
border: 1rpx solid #f2f2f2; background: linear-gradient(180deg, #edf4f6 0%, #cfdfe5 100%);
border: 1rpx solid #d9e4e8;
border-radius: 18rpx; border-radius: 18rpx;
box-shadow: 0 -7.5rpx #f95d5d;
padding-bottom: 42rpx;
} }
.fate .head { .fate .head {
height: 84rpx; height: 89rpx;
justify-content: space-between; justify-content: space-between;
padding-left: 30rpx; padding-left: 30rpx;
border-bottom: 1rpx solid #ebebeb; margin-bottom: 4rpx;
} }
.fate .head .text { .fate .head .text {
font-weight: 650; width: 219rpx;
font-size: 30rpx; height: 51rpx;
color: #000000;
} }
.fate .head .refresh { .fate .head .refresh {
padding: 0 30rpx; padding: 0 30rpx;
@ -218,89 +216,100 @@ view {
width: 30rpx; width: 30rpx;
height: 30rpx; height: 30rpx;
} }
.fate .box .item {
padding-top: 31.5rpx;
padding-bottom: 31.5rpx;
margin-left: 60rpx;
margin-right: 30rpx;
}
.fate .box .item:not(:last-of-type) {
border-bottom: 1rpx dotted #ebebeb;
}
.fate .box .item .left {
flex-direction: column;
position: relative;
}
.fate .box .item .left::after {
content: "";
position: absolute;
top: 10rpx;
left: -30rpx;
box-sizing: border-box;
width: 12rpx;
height: 12rpx;
background-color: #f6f6bd;
border: 1rpx solid #ccd003;
border-radius: 58.5rpx;
}
.fate .box .item .left .title {
font-size: 27rpx;
color: #000000;
margin-bottom: 6rpx;
max-width: 450rpx;
}
.fate .box .item .left .introduce {
color: #7F7F7F;
font-size: 21rpx;
}
.fate .box .item .left .introduce .project {
max-width: 295.5rpx;
}
.fate .box .item .left .introduce .line {
color: #D7D7D7;
margin: 0 20rpx;
}
.fate .fate-box { .fate .fate-box {
padding: 0 30rpx; padding: 0 12rpx;
} }
.fate .fate-box .content { .fate .fate-box .fate-item {
background-color: #f6f6f6;
border: 1rpx solid #f2f2f2;
border-radius: 18rpx;
padding: 34.5rpx 16rpx;
margin-top: 30rpx;
justify-content: space-between; justify-content: space-between;
position: relative;
z-index: 1;
} }
.fate .fate-box .content .project-list .project-item { .fate .fate-box .fate-item .fate-content {
background-color: #ffffff;
border: 1rpx solid #d7d7d7;
border-radius: 34.5rpx 0 34.5rpx 0;
padding: 16rpx 16rpx 37.5rpx;
}
.fate .fate-box .fate-item::after {
content: "";
width: calc(100% - 10rpx);
height: 100%;
background-color: #68848a;
display: block;
position: absolute;
top: -8rpx;
left: 0;
z-index: -1;
border-radius: 34.5rpx 0 34.5rpx 0;
}
.fate .fate-box .fate-item:not(:first-of-type) {
margin-top: 30rpx;
}
.fate .fate-box .fate-item .title {
font-weight: 650;
font-size: 27rpx;
color: #026277;
z-index: 1;
position: relative;
height: 54rpx;
padding: 0 15rpx;
margin: 0 auto 32rpx;
width: fit-content;
border: 1rpx solid #cde5e5;
background: linear-gradient(to bottom, #e2f3fb, #edf8fa, #e9fffa);
}
.fate .fate-box .fate-item .title .angle {
position: absolute;
top: -1rpx;
right: -1rpx;
width: 15rpx;
height: 15rpx;
}
.fate .fate-box .fate-item .title .icon-box {
position: relative;
margin-right: 6rpx;
}
.fate .fate-box .fate-item .title .icon-box .icon-red {
width: 18rpx;
height: 30rpx;
display: block;
margin-right: -9rpx;
z-index: 1;
}
.fate .fate-box .fate-item .title .icon-box .icon-thin {
display: block;
width: 18rpx;
height: 30rpx;
}
.fate .fate-box .fate-item .content .project-list .project-item {
font-size: 24rpx; font-size: 24rpx;
color: #333333; color: #333333;
line-height: 33.75rpx; line-height: 33.75rpx;
} }
.fate .fate-box .content .project-list .project-item:not(:last-of-type) { .fate .fate-box .fate-item .content .project-list .project-item:not(:last-of-type) {
margin-bottom: 19.5rpx; margin-bottom: 19.5rpx;
} }
.fate .fate-box .content .project-list .project-item .icon { .fate .fate-box .fate-item .content .project-list .project-item .icon {
width: 24rpx; width: 24rpx;
height: 27rpx; height: 27rpx;
margin-right: 7.5rpx; margin-right: 7.5rpx;
} }
.fate .fate-box .content .project-list .project-item .arrows { .fate .fate-box .fate-item .content .project-list .project-item .arrows {
width: 18rpx; width: 18rpx;
height: 18rpx; height: 18rpx;
margin: 0 13.5rpx; margin: 0 13.5rpx;
} }
.fate .fate-box .content .project-list .project-item .text { .fate .fate-box .fate-item .content .project-list .project-item .text {
width: 313.5rpx; width: 313.5rpx;
} }
.fate .fate-box .content .btn { .fate .fate-box .fate-item .content .btn {
width: 132rpx; width: 132rpx;
height: 60rpx; height: 60rpx;
background-color: #cff7ff; font-weight: 650;
border: 1rpx solid #badee6; background-color: #f95d5d;
border-radius: 172.5rpx; border-radius: 172.5rpx;
font-size: 24rpx; font-size: 24rpx;
color: #026277; color: #FFFFFF;
font-weight: 650;
} }
.admission { .admission {
margin: 0 22.5rpx 30rpx; margin: 0 22.5rpx 30rpx;

View File

@ -1,10 +1,6 @@
{ {
"compileType": "miniprogram", "compileType": "miniprogram",
"libVersion": "trial", "libVersion": "trial",
"packOptions": {
"ignore": [],
"include": []
},
"setting": { "setting": {
"coverView": true, "coverView": true,
"es6": true, "es6": true,
@ -17,12 +13,17 @@
"ignore": [], "ignore": [],
"disablePlugins": [], "disablePlugins": [],
"outputPath": "" "outputPath": ""
} },
"ignoreUploadUnusedFiles": true
}, },
"condition": {}, "condition": {},
"editorSetting": { "editorSetting": {
"tabIndent": "auto", "tabIndent": "auto",
"tabSize": 2 "tabSize": 2
}, },
"packOptions": {
"ignore": [],
"include": []
},
"appid": "wxd7ebf76a0a87057d" "appid": "wxd7ebf76a0a87057d"
} }

View File

@ -11,7 +11,14 @@
{ {
"name": "pages/projectDetails/projectDetails", "name": "pages/projectDetails/projectDetails",
"pathName": "pages/projectDetails/projectDetails", "pathName": "pages/projectDetails/projectDetails",
"query": "uniqid=GTvG5CqPjunL", "query": "uniqid=8W4HvTynTyHv",
"launchMode": "default",
"scene": null
},
{
"name": "pages/projectDetails/projectDetails",
"pathName": "pages/projectDetails/projectDetails",
"query": "uniqid=rD0Sj0auDPzX",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null
} }