180 lines
3.6 KiB
Vue
180 lines
3.6 KiB
Vue
|
<template>
|
|||
|
<view class="about">
|
|||
|
<view class="box">
|
|||
|
<image class="logoImg" :src="about.logo"></image>
|
|||
|
<text class="tip appName">{{about.appName}}</text>
|
|||
|
<text class="tip">{{about.slogan}}</text>
|
|||
|
<view @click="download" id="download">
|
|||
|
<image v-if="isIos" class="icon" src="@/static/h5/download-app/ios.png" mode="widthFix"></image>
|
|||
|
<image v-else class="icon" src="@/static/h5/download-app/android.png" mode="widthFix"></image>
|
|||
|
<text class="download-text">{{$t('invite.download')}}</text>
|
|||
|
</view>
|
|||
|
<text class="tip">version {{about.version}}</text>
|
|||
|
</view>
|
|||
|
<view class="copyright">
|
|||
|
<text class="hint">{{about.company}}</text>
|
|||
|
</view>
|
|||
|
<view class="mask" v-if="showMask">
|
|||
|
<image src="../../../static/h5/download-app/openImg.png" mode="widthFix"></image>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
<script>
|
|||
|
export default {
|
|||
|
computed: {
|
|||
|
uniStarterConfig() {
|
|||
|
return getApp().globalData.config
|
|||
|
}
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
about: {},
|
|||
|
code: "",
|
|||
|
isIos: "",
|
|||
|
showMask: false,
|
|||
|
downloadUrl: {
|
|||
|
"ios": "",
|
|||
|
"android": ""
|
|||
|
}
|
|||
|
};
|
|||
|
},
|
|||
|
created() {
|
|||
|
this.about = this.uniStarterConfig.about
|
|||
|
this.downloadUrl = this.uniStarterConfig.download
|
|||
|
this.year = (new Date).getFullYear()
|
|||
|
|
|||
|
//判断是否在微信中打开
|
|||
|
var userAgent = navigator.userAgent;
|
|||
|
var ua = userAgent.toLowerCase();
|
|||
|
this.isWeixin = ua.indexOf('micromessenger') != -1;
|
|||
|
//判断是否在ios或者安卓打开
|
|||
|
this.isIos = !!userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
|
|||
|
},
|
|||
|
onLoad({
|
|||
|
code
|
|||
|
}) {
|
|||
|
this.code = code
|
|||
|
document.getElementById("openApp").style.display = 'none'
|
|||
|
document.getElementsByTagName("body")[0].style = ""
|
|||
|
},
|
|||
|
methods: {
|
|||
|
download() {
|
|||
|
if (this.code) {
|
|||
|
uni.setClipboardData({
|
|||
|
data: this.code,
|
|||
|
complete: (e) => {
|
|||
|
console.log(e);
|
|||
|
uni.hideToast()
|
|||
|
/* 以下临时解决setClipboardData h5端样式和键盘弹出端错误解决方案,后续会直接内置*/
|
|||
|
document.getElementById("#clipboard").style.top = '-999px';
|
|||
|
uni.hideKeyboard()
|
|||
|
}
|
|||
|
})
|
|||
|
}
|
|||
|
|
|||
|
if (this.isIos) {
|
|||
|
window.location.href = this.downloadUrl.ios
|
|||
|
} else {
|
|||
|
if (this.isWeixin) {
|
|||
|
//显示浮层
|
|||
|
this.showMask = true
|
|||
|
} else {
|
|||
|
window.location.href = this.downloadUrl.android
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
<style lang="scss">
|
|||
|
/* #ifndef APP-NVUE */
|
|||
|
view {
|
|||
|
display: flex;
|
|||
|
box-sizing: border-box;
|
|||
|
flex-direction: column;
|
|||
|
}
|
|||
|
|
|||
|
/* #endif */
|
|||
|
.about {
|
|||
|
width: 750rpx;
|
|||
|
flex-direction: column;
|
|||
|
}
|
|||
|
|
|||
|
.box {
|
|||
|
margin-top: 100px;
|
|||
|
flex-direction: column;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
}
|
|||
|
|
|||
|
.logoImg {
|
|||
|
margin-bottom: 10upx;
|
|||
|
width: 160upx;
|
|||
|
height: 160upx;
|
|||
|
border-radius: 15px;
|
|||
|
}
|
|||
|
|
|||
|
.tip {
|
|||
|
font-size: 24rpx;
|
|||
|
margin-top: 10px;
|
|||
|
}
|
|||
|
|
|||
|
.appName {
|
|||
|
margin-top: 20px;
|
|||
|
font-size: 42rpx;
|
|||
|
font-weight: 500;
|
|||
|
}
|
|||
|
|
|||
|
.copyright {
|
|||
|
width: 750upx;
|
|||
|
font-size: 32rpx;
|
|||
|
flex-direction: column;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
bottom: 20px;
|
|||
|
left: 0;
|
|||
|
position: fixed;
|
|||
|
}
|
|||
|
|
|||
|
.hint {
|
|||
|
color: #999999;
|
|||
|
font-size: 26rpx;
|
|||
|
}
|
|||
|
|
|||
|
.icon {
|
|||
|
width: 34rpx;
|
|||
|
}
|
|||
|
|
|||
|
#download {
|
|||
|
background-color: #2A9839;
|
|||
|
color: #FFFFFF;
|
|||
|
margin: 55rpx;
|
|||
|
padding: 5px;
|
|||
|
height: 30px;
|
|||
|
width: 160rpx;
|
|||
|
border-radius: 100px;
|
|||
|
flex-direction: row;
|
|||
|
align-items: center;
|
|||
|
justify-content: center;
|
|||
|
}
|
|||
|
|
|||
|
.download-text {
|
|||
|
font-size: 32rpx;
|
|||
|
}
|
|||
|
|
|||
|
.mask {
|
|||
|
position: fixed;
|
|||
|
top: 0;
|
|||
|
left: 0;
|
|||
|
width: 750rpx;
|
|||
|
height: 100vh;
|
|||
|
flex-direction: row;
|
|||
|
justify-content: flex-end;
|
|||
|
background-color: rgba(0, 0, 0, 0.6);
|
|||
|
}
|
|||
|
|
|||
|
.mask image {
|
|||
|
width: 600rpx;
|
|||
|
}
|
|||
|
</style>
|