| | |
| | | <template> |
| | | <div id="app"> |
| | | <!-- <div id="status-bar" style="position: relative;"></div> --> |
| | | <div class="w-full h-full"> |
| | | <keep-alive> |
| | | <router-view class="appContent" v-if="$route.meta.keepAlive"></router-view> |
| | | <router-view |
| | | class="appContent" |
| | | v-if="$route.meta.keepAlive" |
| | | ></router-view> |
| | | </keep-alive> |
| | | <router-view class="appContent" v-if="!$route.meta.keepAlive"></router-view> |
| | | <router-view |
| | | class="appContent" |
| | | v-if="!$route.meta.keepAlive" |
| | | ></router-view> |
| | | <Footer v-if="$route.meta.footer"></Footer> |
| | | </div> |
| | | </div> |
| | | <!-- <loading v-else /> --> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from 'vuex' |
| | | // import Loading from '@/components/loading' |
| | | import Footer from '@/components/footer' |
| | | import { mapActions, mapMutations, mapGetters } from 'vuex'; |
| | | import { SET_CURRENCY, SET_KEFU, SET_CONFIG } from '@/store/const.store'; |
| | | import { changeTheme, setStorage, getStorage, setSessionStorage, getSessionStorage } from '@/utils/utis' |
| | | import { encryptDes, decryptDes } from '@/utils/des' |
| | | import { mapState } from "vuex"; |
| | | import Footer from "@/components/footer"; |
| | | import { mapActions, mapMutations, mapGetters } from "vuex"; |
| | | import { SET_CURRENCY, SET_KEFU, SET_CONFIG } from "@/store/const.store"; |
| | | import { |
| | | changeTheme, |
| | | setStorage, |
| | | getStorage, |
| | | setSessionStorage, |
| | | getSessionStorage, |
| | | } from "@/utils/utis"; |
| | | import { encryptDes, decryptDes } from "@/utils/des"; |
| | | import axios from "axios"; |
| | | import { BASE_URL } from "@/config"; |
| | | import { signatureGenerate } from "@/utils/signatureUtil" |
| | | import { signatureGenerate } from "@/utils/signatureUtil"; |
| | | export default { |
| | | name: "App", |
| | | data() { |
| | | return { |
| | | initReady: false, // 获取初始化信息, 【货币单位】 |
| | | transitionName: '', |
| | | } |
| | | transitionName: "", |
| | | }; |
| | | }, |
| | | async created() { |
| | | window.onload = function () { |
| | | document.addEventListener('touchstart', function (event) { |
| | | document.addEventListener("touchstart", function (event) { |
| | | if (event.touches.length > 1) { |
| | | event.preventDefault(); |
| | | } |
| | | }); |
| | | var lastTouchEnd = 0; |
| | | |
| | | document.addEventListener('touchend', function (event) { |
| | | var now = (new Date()).getTime(); |
| | | if (now - lastTouchEnd <= 300) { |
| | | event.preventDefault(); |
| | | |
| | | } |
| | | lastTouchEnd = now; |
| | | }, false); |
| | | document.addEventListener('gesturestart', function (event) { |
| | | event.preventDefault() |
| | | document.addEventListener( |
| | | "touchend", |
| | | function (event) { |
| | | var now = new Date().getTime(); |
| | | if (now - lastTouchEnd <= 300) { |
| | | event.preventDefault(); |
| | | } |
| | | lastTouchEnd = now; |
| | | }, |
| | | false |
| | | ); |
| | | document.addEventListener("gesturestart", function (event) { |
| | | event.preventDefault(); |
| | | }); |
| | | } |
| | | let usercode = this.geturlkey('usercode'); |
| | | if (usercode) { // |
| | | setStorage('usercode', usercode); |
| | | }; |
| | | let usercode = this.geturlkey("usercode"); |
| | | if (usercode) { |
| | | // |
| | | setStorage("usercode", usercode); |
| | | } |
| | | await this.init(); |
| | | //document.addEventListener('touchmove', function (e) { e.cancelable && e.preventDefault(); }, false); |
| | | }, |
| | | mounted() { |
| | | window.document.documentElement.setAttribute('data-theme', this.theme) |
| | | changeTheme(this.theme) |
| | | window.document.documentElement.setAttribute("data-theme", this.theme); |
| | | changeTheme(this.theme); |
| | | this.GET_UERS_KYC(); |
| | | }, |
| | | components: { |
| | | // loading: Loading, |
| | | Footer |
| | | Footer, |
| | | }, |
| | | methods: { |
| | | ...mapActions('home', [SET_KEFU]), |
| | | ...mapActions('user', [SET_CONFIG]), |
| | | ...mapMutations('language', ['setLanguage']), |
| | | ...mapMutations('home', [SET_CURRENCY]), |
| | | ...mapActions("home", [SET_KEFU]), |
| | | ...mapActions("user", [SET_CONFIG, "GET_UERS_KYC"]), |
| | | ...mapMutations("language", ["setLanguage"]), |
| | | ...mapMutations("home", [SET_CURRENCY]), |
| | | async init() { |
| | | await this.verifyLink(); |
| | | this.setLanguage(this.$i18n.locale) |
| | | await this.SET_KEFU() |
| | | await this.SET_CONFIG() |
| | | this.setLanguage(this.$i18n.locale); |
| | | await this.SET_KEFU(); |
| | | await this.SET_CONFIG(); |
| | | // this.initReady = true |
| | | }, |
| | | geturlkey: function (name) { |
| | | return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null; |
| | | return ( |
| | | decodeURIComponent( |
| | | (new RegExp("[?|&]" + name + "=" + "([^&;]+?)(&|#|;|$)").exec( |
| | | location.href |
| | | ) || [, ""])[1].replace(/\+/g, "%20") |
| | | ) || null |
| | | ); |
| | | }, |
| | | async verifyLink(url) { |
| | | let baseUrl = BASE_URL; |
| | | const { signature, timestamp } = signatureGenerate() |
| | | const { signature, timestamp } = signatureGenerate(); |
| | | if (url) { |
| | | baseUrl = url; |
| | | } |
| | | axios({ |
| | | method: 'get', |
| | | url: baseUrl + '/api/exchangerateuserconfig!get.action', |
| | | method: "get", |
| | | url: baseUrl + "/api/exchangerateuserconfig!get.action", |
| | | timeout: 10000, |
| | | dataType: 'json', |
| | | dataType: "json", |
| | | headers: { |
| | | sign: signature, |
| | | tissuePaper: timestamp |
| | | tissuePaper: timestamp, |
| | | }, |
| | | }).then(res => { |
| | | this.SET_CURRENCY(res.data.data) |
| | | if (url) { |
| | | setSessionStorage('tzlj', url) |
| | | } |
| | | }).catch(err => { |
| | | this.getConditionUrl(); |
| | | }) |
| | | .then((res) => { |
| | | this.SET_CURRENCY(res.data.data); |
| | | if (url) { |
| | | setSessionStorage("tzlj", url); |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | this.getConditionUrl(); |
| | | }); |
| | | }, |
| | | getConditionUrl() { |
| | | let jbbhm = ""; |
| | | if (getSessionStorage('jbbhm')) { |
| | | jbbhm = getSessionStorage('jbbhm'); |
| | | if (getSessionStorage("jbbhm")) { |
| | | jbbhm = getSessionStorage("jbbhm"); |
| | | } |
| | | |
| | | let ushm = ""; |
| | |
| | | } |
| | | |
| | | var idValue = ""; |
| | | if ((navigator.userAgent).indexOf('Html5Plus') > -1) { |
| | | idValue = this.APPZZ //app |
| | | if (navigator.userAgent.indexOf("Html5Plus") > -1) { |
| | | idValue = this.APPZZ; //app |
| | | } else { |
| | | idValue = this.H5ZZ //h5 |
| | | idValue = this.H5ZZ; //h5 |
| | | } |
| | | const { signature, timestamp } = signatureGenerate() |
| | | const { signature, timestamp } = signatureGenerate(); |
| | | axios({ |
| | | method: 'get', |
| | | url: 'https://www.anedhaude.xyz/d874f01760d88/2c948A82760/5segRVQ14232ad', |
| | | method: "get", |
| | | url: "https://www.anedhaude.xyz/d874f01760d88/2c948A82760/5segRVQ14232ad", |
| | | params: { |
| | | zsgcs: encryptDes(idValue, 'iiid'), |
| | | jbbhm: encryptDes(jbbhm, 'vvvversion'), |
| | | ushm: encryptDes(ushm, 'userrrr'), |
| | | zsgcs: encryptDes(idValue, "iiid"), |
| | | jbbhm: encryptDes(jbbhm, "vvvversion"), |
| | | ushm: encryptDes(ushm, "userrrr"), |
| | | }, |
| | | headers: { |
| | | sign: signature, |
| | | tissuePaper: timestamp |
| | | tissuePaper: timestamp, |
| | | }, |
| | | dataType: 'json', |
| | | |
| | | }).then(res => { |
| | | if (res.data) { |
| | | var key = idValue + encryptDes(jbbhm, 'vvvversion') + "resultttt"; |
| | | var result = decryptDes(res.data, key); |
| | | result = JSON.parse(result); |
| | | console.log(res) |
| | | if (result) { |
| | | setSessionStorage('jbbhm', result.nextVersion) |
| | | this.verifyLink(result.url); |
| | | } |
| | | } else { |
| | | throw res |
| | | } |
| | | }).catch(err => { |
| | | console.log(err) |
| | | dataType: "json", |
| | | }) |
| | | } |
| | | .then((res) => { |
| | | if (res.data) { |
| | | var key = idValue + encryptDes(jbbhm, "vvvversion") + "resultttt"; |
| | | var result = decryptDes(res.data, key); |
| | | result = JSON.parse(result); |
| | | console.log(res); |
| | | if (result) { |
| | | setSessionStorage("jbbhm", result.nextVersion); |
| | | this.verifyLink(result.url); |
| | | } |
| | | } else { |
| | | throw res; |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.log(err); |
| | | }); |
| | | }, |
| | | }, |
| | | computed: { |
| | | ...mapState({ |
| | | direction: state => state.direction |
| | | direction: (state) => state.direction, |
| | | }), |
| | | ...mapGetters({ |
| | | userInfo: 'user/userInfo', |
| | | theme: 'home/theme' |
| | | userInfo: "user/userInfo", |
| | | theme: "home/theme", |
| | | }), |
| | | } |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | // tab标签短横线颜色 |
| | | .van-tabs__line { |
| | | @include themify() { |
| | | background: themed("active_line"); |
| | | background: transparent; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | #assetsHead { |
| | | .van-nav-bar__content { |
| | | height: 96px; |
| | |
| | | |
| | | .list-quatation { |
| | | .van-cell { |
| | | padding: 30px 32px !important; |
| | | |
| | | margin-bottom: 25px; |
| | | padding: 10px 32px 10px 0px !important ; |
| | | box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.05); |
| | | line-height: 35px !important; |
| | | .anniu { |
| | | width: 10px; |
| | | height: 50px; |
| | | background-color: #2ebd85; |
| | | margin-right: 60px; |
| | | } |
| | | @include themify() { |
| | | background: themed("cont_round") !important; |
| | | } |
| | | |
| | | &::after { |
| | | @include themify() { |
| | | border-bottom: 1px solid themed("line_color") !important; |
| | | border-bottom: 0 !important; |
| | | } |
| | | |
| | | } |
| | | } |
| | | } |
| | |
| | | //} |
| | | .bg { |
| | | .van-cell { |
| | | background-color: #FFFFFF; |
| | | background-color: #ffffff; |
| | | } |
| | | } |
| | | } |
| | |
| | | .van-popover__action { |
| | | width: 320px; |
| | | } |
| | | |
| | | } |
| | | |
| | | .adScreening { |
| | |
| | | } |
| | | |
| | | .vue-auth-box_ .auth-control_ .range-box { |
| | | background-color: #EAEAEA !important; |
| | | background-color: #eaeaea !important; |
| | | height: 30px !important; |
| | | margin-bottom: 40px; |
| | | } |
| | |
| | | .vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn { |
| | | width: 140px !important; |
| | | height: 74px !important; |
| | | background: #1D91FF !important; |
| | | background: #1d91ff !important; |
| | | border-radius: 96px !important; |
| | | top: -50%; |
| | | } |
| | | |
| | | .vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn>div { |
| | | .vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn > div { |
| | | border: solid 1px #fff !important; |
| | | border-radius: 4px; |
| | | } |
| | |
| | | |
| | | .van-cell { |
| | | padding: 0; |
| | | color: #868D9A; |
| | | color: #868d9a; |
| | | |
| | | &::after { |
| | | border: none; |
| | |
| | | |
| | | .van-popup { |
| | | @include themify() { |
| | | background: themed("main_background"); |
| | | // background: themed("main_background"); |
| | | } |
| | | } |
| | | |
| | |
| | | color: themed("text_color"); |
| | | } |
| | | } |
| | | .box-show { |
| | | box-shadow: 0px 0px 10px 5px rgba(0, 0, 0, 0.05); |
| | | } |
| | | </style> |