This commit is contained in:
2025-03-12 10:55:40 +08:00
parent ef66c81ca7
commit b8a44a2716
14 changed files with 5483 additions and 4698 deletions

View File

@@ -1,220 +1,236 @@
<template><page-meta
<template>
<page-meta
:page-font-size="$baseFontSize() + 'px'"
:root-font-size="$baseFontSize() + 'px'"
></page-meta>
<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>
<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
}
}
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,
view {
display: flex;
}
page {
min-height: 100%;
background-color: #FFFFFF;
}
page {
min-height: 100%;
background-color: #ffffff;
}
image {
width: 360rpx;
height: 360rpx;
}
image {
width: 360rpx;
height: 360rpx;
}
.about {
flex-direction: column;
flex: 1;
}
.about {
flex-direction: column;
flex: 1;
}
.content {
flex: 1;
padding: 30rpx;
flex-direction: column;
justify-content: center;
}
.content {
flex: 1;
padding: 30rpx;
flex-direction: column;
justify-content: center;
}
.qrcode {
display: flex;
align-items: center;
flex-direction: column;
}
.qrcode {
display: flex;
align-items: center;
flex-direction: column;
}
.qrcode .tip {
margin-top: 20rpx;
}
.qrcode .tip {
margin-top: 20rpx;
}
.desc {
margin-top: 30rpx;
display: block;
}
.desc {
margin-top: 30rpx;
display: block;
}
.code {
color: #e96900;
background-color: #f8f8f8;
}
.code {
color: #e96900;
background-color: #f8f8f8;
}
button {
width: 100%;
margin-top: 40rpx;
}
button {
width: 100%;
margin-top: 40rpx;
}
.version {
height: 80rpx;
line-height: 80rpx;
justify-content: center;
color: #ccc;
}
.version {
height: 80rpx;
line-height: 80rpx;
justify-content: center;
color: #ccc;
}
.source {
margin-top: 30rpx;
flex-direction: column;
}
.source {
margin-top: 30rpx;
flex-direction: column;
}
.source-list {
flex-direction: column;
}
.source-list {
flex-direction: column;
}
.link {
color: #007AFF;
}
.link {
color: #007aff;
}
</style>