218 lines
4.5 KiB
Vue
218 lines
4.5 KiB
Vue
<template>
|
||
<view class="about">
|
||
<view class="content">
|
||
<view class="qrcode">
|
||
<image src="https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/app_download.png" @longtap="save"></image>
|
||
<text class="tip">扫码体验uni-app</text>
|
||
</view>
|
||
<view class="desc">
|
||
<text class="code">uni-app</text>
|
||
是一个使用 <text class="code">Vue.js</text> 开发跨平台应用的前端框架。
|
||
</view>
|
||
<view class="source">
|
||
<view class="title">本示例源码获取方式:</view>
|
||
<view class="source-list">
|
||
<view class="source-cell">
|
||
<text space="nbsp">1. </text>
|
||
<text>下载 HBuilderX,新建 uni-app 项目时选择 <text class="code">Hello uni-app</text> 模板。</text>
|
||
</view>
|
||
<view class="source-cell">
|
||
<text space="nbsp">2. </text>
|
||
<u-link class="link" :href="'https://github.com/dcloudio/hello-uniapp'" :text="'https://github.com/dcloudio/hello-uniapp'"></u-link>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- #ifdef APP-PLUS -->
|
||
<button type="primary" @click="share">分享</button>
|
||
<!-- #endif -->
|
||
</view>
|
||
<!-- #ifdef APP-PLUS -->
|
||
<view class="version">
|
||
当前版本:{{version}}
|
||
</view>
|
||
<!-- #endif -->
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
providerList: [],
|
||
version: ''
|
||
}
|
||
},
|
||
onLoad() {
|
||
// #ifdef APP-PLUS
|
||
this.version = plus.runtime.version;
|
||
uni.getProvider({
|
||
service: 'share',
|
||
success: (result) => {
|
||
const data = [];
|
||
for (let i = 0; i < result.provider.length; i++) {
|
||
switch (result.provider[i]) {
|
||
case 'weixin':
|
||
data.push({
|
||
name: '分享到微信好友',
|
||
id: 'weixin'
|
||
});
|
||
data.push({
|
||
name: '分享到微信朋友圈',
|
||
id: 'weixin',
|
||
type: 'WXSceneTimeline'
|
||
});
|
||
break;
|
||
case 'qq':
|
||
data.push({
|
||
name: '分享到QQ',
|
||
id: 'qq'
|
||
});
|
||
break;
|
||
default:
|
||
break;
|
||
}
|
||
}
|
||
this.providerList = data;
|
||
},
|
||
fail: (error) => {
|
||
console.log('获取分享通道失败' + JSON.stringify(error));
|
||
}
|
||
});
|
||
// #endif
|
||
},
|
||
methods: {
|
||
// #ifdef APP-PLUS
|
||
save() {
|
||
uni.showActionSheet({
|
||
itemList: ['保存图片到相册'],
|
||
success: () => {
|
||
plus.gallery.save('https://img.cdn.aliyun.dcloud.net.cn/guide/uniapp/app_download.png', function() {
|
||
uni.showToast({
|
||
title: '保存成功',
|
||
icon: 'none'
|
||
});
|
||
}, function() {
|
||
uni.showToast({
|
||
title: '保存失败,请重试!',
|
||
icon: 'none'
|
||
});
|
||
});
|
||
}
|
||
});
|
||
},
|
||
share(e) {
|
||
if (this.providerList.length === 0) {
|
||
uni.showModal({
|
||
title: '当前环境无分享渠道!',
|
||
showCancel: false
|
||
});
|
||
return;
|
||
}
|
||
let itemList = this.providerList.map(function(value) {
|
||
return value.name;
|
||
})
|
||
uni.showActionSheet({
|
||
itemList: itemList,
|
||
success: (res) => {
|
||
let provider = this.providerList[res.tapIndex].id;
|
||
uni.share({
|
||
provider: provider,
|
||
scene: this.providerList[res.tapIndex].type && this.providerList[res.tapIndex].type === 'WXSceneTimeline' ?
|
||
'WXSceneTimeline' : "WXSceneSession",
|
||
type: (provider === "qq") ? 1 : 0,
|
||
title: '欢迎体验uni-app',
|
||
summary: 'uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架',
|
||
imageUrl: 'https://web-assets.dcloud.net.cn/unidoc/zh/8.jpg',
|
||
href: "https://m3w.cn/uniapp",
|
||
success: (res) => {
|
||
console.log("success:" + JSON.stringify(res));
|
||
},
|
||
fail: (e) => {
|
||
uni.showModal({
|
||
content: e.errMsg,
|
||
showCancel: false
|
||
})
|
||
}
|
||
});
|
||
}
|
||
})
|
||
}
|
||
// #endif
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style>
|
||
page,
|
||
view {
|
||
display: flex;
|
||
}
|
||
|
||
page {
|
||
min-height: 100%;
|
||
background-color: #FFFFFF;
|
||
}
|
||
|
||
image {
|
||
width: 360rpx;
|
||
height: 360rpx;
|
||
}
|
||
|
||
.about {
|
||
flex-direction: column;
|
||
flex: 1;
|
||
}
|
||
|
||
.content {
|
||
flex: 1;
|
||
padding: 30rpx;
|
||
flex-direction: column;
|
||
justify-content: center;
|
||
}
|
||
|
||
.qrcode {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.qrcode .tip {
|
||
margin-top: 20rpx;
|
||
}
|
||
|
||
.desc {
|
||
margin-top: 30rpx;
|
||
display: block;
|
||
}
|
||
|
||
.code {
|
||
color: #e96900;
|
||
background-color: #f8f8f8;
|
||
}
|
||
|
||
button {
|
||
width: 100%;
|
||
margin-top: 40rpx;
|
||
}
|
||
|
||
.version {
|
||
height: 80rpx;
|
||
line-height: 80rpx;
|
||
justify-content: center;
|
||
color: #ccc;
|
||
}
|
||
|
||
.source {
|
||
margin-top: 30rpx;
|
||
flex-direction: column;
|
||
}
|
||
|
||
.source-list {
|
||
flex-direction: column;
|
||
}
|
||
|
||
.link {
|
||
color: #007AFF;
|
||
}
|
||
</style>
|