236 lines
5.1 KiB
Vue
236 lines
5.1 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">Version {{version}}</text>
|
|||
|
<view class="qrcode">
|
|||
|
<!--uqrcode 组件来源,插件Sansnn-uQRCode 链接地址:https://ext.dcloud.net.cn/plugin?id=1287-->
|
|||
|
<uqrcode :size="100" canvas-id="qrcode" :value="about.download"></uqrcode>
|
|||
|
</view>
|
|||
|
|
|||
|
<text class="tip">{{$t('about.sacnQR')}} {{about.appName}} {{$t('about.client')}}</text>
|
|||
|
</view>
|
|||
|
<view class="copyright">
|
|||
|
<view class="agreement-box" v-for="(agreement,index) in agreements" :key="index">
|
|||
|
<text class="agreement" @click="navigateTo(agreement)">《{{agreement.title}}》</text>
|
|||
|
<text class="hint" v-if="agreements.length-1>index">{{$t('about.and')}}</text>
|
|||
|
</view>
|
|||
|
<text class="hint">Copyright © {{year}}</text>
|
|||
|
<text class="hint">{{about.company}}</text>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
<script>
|
|||
|
// #ifdef APP
|
|||
|
import UniShare from '@/uni_modules/uni-share/js_sdk/uni-share.js';
|
|||
|
const uniShare = new UniShare()
|
|||
|
// #endif
|
|||
|
import uniIdPagesConfig from '@/uni_modules/uni-id-pages/config.js';
|
|||
|
import uqrcode from "@/pagesPackage/ucenter/Sansnn-uQRCode/components/uqrcode/uqrcode"
|
|||
|
export default {
|
|||
|
components:{
|
|||
|
uqrcode
|
|||
|
},
|
|||
|
// #ifdef APP
|
|||
|
onBackPress({from}) {
|
|||
|
if(from=='backbutton'){
|
|||
|
this.$nextTick(function(){
|
|||
|
uniShare.hide()
|
|||
|
})
|
|||
|
return uniShare.isShow;
|
|||
|
}
|
|||
|
},
|
|||
|
// #endif
|
|||
|
onLoad() {
|
|||
|
// #ifdef APP-PLUS
|
|||
|
this.version = plus.runtime.version
|
|||
|
// #endif
|
|||
|
},
|
|||
|
computed: {
|
|||
|
uniStarterConfig() {
|
|||
|
return getApp().globalData.config
|
|||
|
},
|
|||
|
agreements() {
|
|||
|
if(!uniIdPagesConfig.agreements){
|
|||
|
return []
|
|||
|
}
|
|||
|
let {serviceUrl,privacyUrl} = uniIdPagesConfig.agreements
|
|||
|
return [
|
|||
|
{
|
|||
|
url:serviceUrl,
|
|||
|
title:"用户服务协议"
|
|||
|
},
|
|||
|
{
|
|||
|
url:privacyUrl,
|
|||
|
title:"隐私政策条款"
|
|||
|
}
|
|||
|
]
|
|||
|
}
|
|||
|
},
|
|||
|
data() {
|
|||
|
return {
|
|||
|
version: "V1.0.0",
|
|||
|
year: "2020",
|
|||
|
about: {}
|
|||
|
};
|
|||
|
},
|
|||
|
created() {
|
|||
|
this.about = this.uniStarterConfig.about
|
|||
|
uni.setNavigationBarTitle({
|
|||
|
title: this.$t('about.about')+ " " + this.about.appName
|
|||
|
})
|
|||
|
this.year = (new Date).getFullYear()
|
|||
|
},
|
|||
|
onNavigationBarButtonTap() {
|
|||
|
let {
|
|||
|
download,
|
|||
|
appName,
|
|||
|
slogan,
|
|||
|
logo
|
|||
|
} = this.about
|
|||
|
uniShare.show({
|
|||
|
content: { //公共的分享类型(type)、链接(herf)、标题(title)、summary(描述)、imageUrl(缩略图)
|
|||
|
type: 0,
|
|||
|
href: download,
|
|||
|
title: appName,
|
|||
|
summary: slogan,
|
|||
|
imageUrl: logo + '?x-oss-process=image/resize,m_fill,h_100,w_100' //压缩图片解决,在ios端分享图过大导致的图片失效问题
|
|||
|
},
|
|||
|
menus: [{
|
|||
|
"img": "/static/app-plus/sharemenu/wechatfriend.png",
|
|||
|
"text": this.$t('common.wechatFriends'),
|
|||
|
"share": {
|
|||
|
"provider": "weixin",
|
|||
|
"scene": "WXSceneSession"
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"img": "/static/app-plus/sharemenu/wechatmoments.png",
|
|||
|
"text": this.$t('common.wechatBbs'),
|
|||
|
"share": {
|
|||
|
"provider": "weixin",
|
|||
|
"scene": "WXSceneTimeline"
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"img": "/static/app-plus/sharemenu/weibo.png",
|
|||
|
"text": this.$t('common.weibo'),
|
|||
|
"share": {
|
|||
|
"provider": "sinaweibo"
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"img": "/static/app-plus/sharemenu/qq.png",
|
|||
|
"text": "QQ",
|
|||
|
"share": {
|
|||
|
"provider": "qq"
|
|||
|
}
|
|||
|
},
|
|||
|
{
|
|||
|
"img": "/static/app-plus/sharemenu/copyurl.png",
|
|||
|
"text": this.$t('common.copy'),
|
|||
|
"share": "copyurl"
|
|||
|
},
|
|||
|
{
|
|||
|
"img": "/static/app-plus/sharemenu/more.png",
|
|||
|
"text": this.$t('common.more'),
|
|||
|
"share": "shareSystem"
|
|||
|
}
|
|||
|
],
|
|||
|
cancelText: this.$t('common.cancelShare'),
|
|||
|
}, e => { //callback
|
|||
|
console.log(e);
|
|||
|
})
|
|||
|
},
|
|||
|
methods: {
|
|||
|
navigateTo({
|
|||
|
url,
|
|||
|
title
|
|||
|
}) {
|
|||
|
uni.navigateTo({
|
|||
|
url: '/uni_modules/uni-id-pages/pages/common/webview/webview?url=' + url + '&title=' + title,
|
|||
|
success: res => {},
|
|||
|
fail: () => {},
|
|||
|
complete: () => {}
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
<style lang="scss" scoped>
|
|||
|
/* #ifndef APP-NVUE */
|
|||
|
view{
|
|||
|
display: flex;
|
|||
|
box-sizing: border-box;
|
|||
|
flex-direction: column;
|
|||
|
}
|
|||
|
/* #endif */
|
|||
|
.about {
|
|||
|
flex-direction: column;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
}
|
|||
|
|
|||
|
.box {
|
|||
|
margin-top: 60px;
|
|||
|
flex-direction: column;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
}
|
|||
|
|
|||
|
.logoImg {
|
|||
|
margin-bottom: 10rpx;
|
|||
|
width: 160rpx;
|
|||
|
height: 160rpx;
|
|||
|
border-radius: 15px;
|
|||
|
}
|
|||
|
|
|||
|
.tip {
|
|||
|
text-align: center;
|
|||
|
font-size: 24rpx;
|
|||
|
margin-top: 10px;
|
|||
|
padding: 10rpx;
|
|||
|
}
|
|||
|
|
|||
|
.appName {
|
|||
|
margin-top: 20px;
|
|||
|
font-size: 42rpx;
|
|||
|
font-weight: 500;
|
|||
|
}
|
|||
|
|
|||
|
.qrcode ,.qrcode .uqrcode{
|
|||
|
margin: 10px 0;
|
|||
|
width: 100px;
|
|||
|
height: 100px;
|
|||
|
/* #ifndef APP-NVUE */
|
|||
|
display: block;
|
|||
|
/* #endif */
|
|||
|
}
|
|||
|
|
|||
|
.copyright {
|
|||
|
font-size: 32rpx;
|
|||
|
flex-direction: column;
|
|||
|
justify-content: center;
|
|||
|
align-items: center;
|
|||
|
bottom: 20px;
|
|||
|
// left: 0;
|
|||
|
position: fixed;
|
|||
|
}
|
|||
|
|
|||
|
.agreement-box {
|
|||
|
justify-content: center;
|
|||
|
}
|
|||
|
|
|||
|
.agreement {
|
|||
|
color: #2285ff;
|
|||
|
font-size: 26rpx;
|
|||
|
}
|
|||
|
|
|||
|
.hint {
|
|||
|
text-align: center;
|
|||
|
color: #999999;
|
|||
|
font-size: 26rpx;
|
|||
|
}
|
|||
|
</style>
|