|
@@ -14,22 +14,100 @@
|
|
|
:inactive-icon="Sunny"
|
|
|
@update:modelValue="onThemeChange"
|
|
|
/>
|
|
|
- <!-- <div class="outerImg">
|
|
|
+ <article
|
|
|
+ class="desc"
|
|
|
+ :class="{
|
|
|
+ isDarkTheme,
|
|
|
+ notDarkTheme: !isDarkTheme,
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <h1 v-html="$gConfigInfo.objInfo[$route.query.m]" />
|
|
|
+ <div
|
|
|
+ v-show="isShowDescDetail"
|
|
|
+ class="splitter"
|
|
|
+ />
|
|
|
+ <div
|
|
|
+ v-show="isShowDescDetail"
|
|
|
+ class="detail"
|
|
|
+ v-html="$gConfigTxt.txtObj[$route.query.m]"
|
|
|
+ />
|
|
|
+ </article>
|
|
|
+ <!-- 假的阴影 -->
|
|
|
+ <!-- <img
|
|
|
+ class="relic-shadow"
|
|
|
+ src="@/assets/images/relic-shadow.png"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ > -->
|
|
|
+
|
|
|
+ <transition name="fade-out">
|
|
|
<img
|
|
|
- :src="`${$env.BASE_URL}user-config/images/${$route.query.m}.jpg`"
|
|
|
+ v-if="isShowLogo"
|
|
|
+ :src="require(`@/assets/images/logo-for-${isDarkTheme ? 'dark' : 'light'}-theme.png`)"
|
|
|
alt=""
|
|
|
+ class="logo"
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </transition>
|
|
|
+
|
|
|
+ <menu>
|
|
|
+ <button class="go-homepage">
|
|
|
+ <img
|
|
|
+ :src="require(`@/assets/images/btn-home-${isDarkTheme ? 'dark' : 'light'}.png`)"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ class="show-detail"
|
|
|
+ @click="onClickShowDetail"
|
|
|
+ >
|
|
|
+ <img
|
|
|
+ :src="require(`@/assets/images/btn-desc-${isDarkTheme ? 'dark' : 'light'}${isShowDescDetail ? '-active' : ''}.png`)"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button
|
|
|
+ class="show-help"
|
|
|
+ @click="onClickShowHelp"
|
|
|
>
|
|
|
- </div> -->
|
|
|
+ <img
|
|
|
+ :src="require(`@/assets/images/btn-help-${isDarkTheme ? 'dark' : 'light'}${isShowHelp ? '-active' : ''}.png`)"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ <button class="share">
|
|
|
+ <img
|
|
|
+ :src="require(`@/assets/images/btn-share-${isDarkTheme ? 'dark' : 'light'}.png`)"
|
|
|
+ alt=""
|
|
|
+ draggable="false"
|
|
|
+ >
|
|
|
+ </button>
|
|
|
+ </menu>
|
|
|
+
|
|
|
+ <help-comp
|
|
|
+ v-show="isShowHelp"
|
|
|
+ @close="isShowHelp = false"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { Moon, Sunny } from '@element-plus/icons-vue'
|
|
|
import { mapMutations, mapState } from 'vuex'
|
|
|
+import HelpComp from "@/components/HelpComp.vue"
|
|
|
|
|
|
export default {
|
|
|
+ components: {
|
|
|
+ HelpComp,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
+ isShowDescDetail: false,
|
|
|
+ isShowLogo: true,
|
|
|
+ isShowHelp: false,
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -43,20 +121,15 @@ export default {
|
|
|
return Moon
|
|
|
},
|
|
|
},
|
|
|
- beforeCreate() {
|
|
|
- fdage.embed('user-config/4dage/' + 'cs01' + '.4dage', {
|
|
|
+ created() {
|
|
|
+ fdage.embed('user-config/4dage/' + this.$route.query.m + '.4dage', {
|
|
|
width: 800,
|
|
|
height: 600,
|
|
|
autoStart: true,
|
|
|
fullFrame: true,
|
|
|
pagePreset: false
|
|
|
})
|
|
|
- },
|
|
|
- created() {
|
|
|
- if (this.$route.query && this.$route.query['dark-theme'] && this.$route.query['dark-theme'] === '1' ) {
|
|
|
- console.log('sdfsdf', this.$route.query['dark-theme'])
|
|
|
- this.setIsDarkTheme(true)
|
|
|
- }
|
|
|
+ document.addEventListener('model-loaded', this.onModelLoad)
|
|
|
},
|
|
|
beforeUnmount() {
|
|
|
const fdageUIElem = document.querySelector('#fdageUI')
|
|
@@ -70,6 +143,15 @@ export default {
|
|
|
]),
|
|
|
onThemeChange(v) {
|
|
|
this.setIsDarkTheme(v)
|
|
|
+ },
|
|
|
+ onModelLoad() {
|
|
|
+ this.isShowLogo = false
|
|
|
+ },
|
|
|
+ onClickShowDetail() {
|
|
|
+ this.isShowDescDetail = !this.isShowDescDetail
|
|
|
+ },
|
|
|
+ onClickShowHelp() {
|
|
|
+ this.isShowHelp = !this.isShowHelp
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -97,22 +179,77 @@ export default {
|
|
|
right: 10px;
|
|
|
z-index: 1;
|
|
|
}
|
|
|
- > .outerImg {
|
|
|
- transition: all 1s;
|
|
|
- opacity: 1;
|
|
|
+ > article.desc {
|
|
|
position: absolute;
|
|
|
- z-index: 998;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- background-color: #1a1b20;
|
|
|
- > img {
|
|
|
- position: absolute;
|
|
|
+ top: 127px;
|
|
|
+ left: 110px;
|
|
|
+ width: 503px;
|
|
|
+ z-index: 1;
|
|
|
+ pointer-events: none;
|
|
|
+ &.isDarkTheme {
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ &.notDarkTheme {
|
|
|
+ color: #585858;
|
|
|
+ }
|
|
|
+ > h1 {
|
|
|
+ font-size: 32px;
|
|
|
+ font-family: Source Han Serif CN-Heavy, Source Han Serif CN;
|
|
|
+ font-weight: 800;
|
|
|
+ line-height: 64px;
|
|
|
+ }
|
|
|
+ > .splitter {
|
|
|
width: 100%;
|
|
|
- height: 100%;
|
|
|
- object-fit: cover;
|
|
|
+ border-top: 1px dashed rgba(255,255,255,0.32);
|
|
|
+ margin-top: 33px;
|
|
|
+ margin-bottom: 29px;
|
|
|
+ }
|
|
|
+ > .detail {
|
|
|
+ max-height: 500px;
|
|
|
+ overflow: auto;
|
|
|
+ padding-right: 10px;
|
|
|
+ font-size: 20px;
|
|
|
+ line-height: 40px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ > .relic-shadow {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 104px;
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ width: 824px;
|
|
|
+ height: 55.82px;
|
|
|
+ }
|
|
|
+ > img.logo {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 59px;
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ width: 229.57px;
|
|
|
+ pointer-events: none;
|
|
|
+ z-index: 1;
|
|
|
+ }
|
|
|
+ > menu {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 67px;
|
|
|
+ right: 79px;
|
|
|
+ z-index: 1;
|
|
|
+ > button {
|
|
|
+ width: 32px;
|
|
|
+ height: 32px;
|
|
|
+ margin-left: 16px;
|
|
|
+ > img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ ::-webkit-scrollbar { width: 6px; height: 6px; }
|
|
|
+ ::-webkit-scrollbar-thumb { background: #fff; }
|
|
|
+ ::-webkit-scrollbar-button { display: none; }
|
|
|
+ ::-webkit-scrollbar-track { background: #000; }
|
|
|
+ // 横竖滚动条轨道交汇处
|
|
|
+ ::-webkit-scrollbar-corner { background: transparent; }
|
|
|
+ ::-webkit-scrollbar-resizer { background: transparent; }
|
|
|
}
|
|
|
</style>
|