提交 806123e3 编写于 作者: WOSHIMAHAIFENG's avatar WOSHIMAHAIFENG

Merge branch 'dev-share' into 'dev'

[share]添加分享示例

See merge request !48
<template> <template>
<view id="viewshot"> <!-- #ifdef APP -->
<button class="button" @click="shareText('https://uniapp.dcloud.io/uni-app-x','分享到')">分享文本</button> <scroll-view direction="vertical" style="flex:1; margin-bottom: 50px;">
<button class="button" @click="shareSnapShot">指定view截图并分享</button> <!-- #endif -->
</view> <view id="viewshot">
</template> <button class="button" @click="shareText()">分享文本</button>
<button class="button" @click="sharePrivateImg()">分享单个本地图片</button>
<script> <button class="button" @click="sharePrivateImgs()">分享多个本地图片</button>
import Intent from 'android.content.Intent'; <button class="button" @click="shareAll()">分享链接、文本、一张图片</button>
import File from 'java.io.File'; <button class="button" @click="sharePrivateVideo()">分享video文件(单个)</button>
<button class="button" @click="sharePrivateVideos()">分享video文件(多个)</button>
export default { <button class="button" @click="sharePrivateFile()">分享文件(单个)</button>
data() { <button class="button" @click="sharePrivateFiles()">分享文件(多个)</button>
return {
<button class="button" type="primary" @click="sharePrivateErrorImg()">分享单个本地图片(错误路径)</button>
} <button class="button" type="primary" @click="sharePrivateErrorImgs()">分享多个本地图片(含有错误路径)</button>
}, <button class="button" type="primary" @click="sharePrivateErrorMedias()">分享多媒体文件(错误路径)</button>
methods: { <button class="button" type="primary" @click="sharePrivateErrorFiles()">分享文件(错误路径)</button>
shareText(text : string, title : string) {
const context = UTSAndroid.getUniActivity()!; <button class="button" type="warn" @click="sharePubImg()">选择图片并分享</button>
const intent = new Intent(Intent.ACTION_SEND) <button class="button" type="warn" @click="sharePubMedias()">选择media并分享</button>
intent.setType("text/plain"); <button class="button" type="warn" @click="shareSnapShot()">指定view截图并分享</button>
intent.putExtra(Intent.EXTRA_TEXT, text); </view>
context.startActivity(Intent.createChooser(intent, title)); </scroll-view>
// 这里是简单的文本分享示例,如需分享文件图片,需要使用fileProvider </template>
},
shareSnapShot() { <script>
uni.getElementById("viewshot")?.takeSnapshot(
{ export default {
success: function (res) { data() {
// 打印截图文件临时路径 return {
console.log(res.tempFilePath) summary: '欢迎使用hello uniapp-x'
const context = UTSAndroid.getUniActivity()!; }
const intent = new Intent(Intent.ACTION_SEND) },
intent.setType("image/*"); methods: {
let file = new File(res.tempFilePath) sharePrivateErrorFiles() {
const uri = UTSAndroid.getFileProviderUri(file) //3.99支持 uni.hideToast()
intent.putExtra(Intent.EXTRA_STREAM, uri); const path1 : string = "/static/filemanager1/to.zip";
context.startActivity(Intent.createChooser(intent, "分享到")); const path2 : string = "/static/filemanager/11.txt.br";
},
fail: function (res) { uni.shareWithSystem({
console.log(res) filePathList: [path1, path2],
uni.showToast({ type:'file',
icon: 'error', success(res) {
title: '截图失败' console.log('Shared----------------------------success')
}) },
} fail(res) {
} console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
) uni.showToast({
}, icon: "error",
title: "errorCode=" + res.errCode
} })
} },
</script> complete(res) {
<style> }
.button { })
margin: 15px; },
} sharePrivateFile() {
uni.hideToast()
const path1 : string = "/static/filemanager/to.zip";
uni.shareWithSystem({
filePathList: [path1],
type:'file',
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePrivateFiles() {
uni.hideToast()
const path1 : string = "/static/filemanager/to.zip";
const path2 : string = "/static/filemanager/1.txt.br";
uni.shareWithSystem({
filePathList: [path1, path2],
type:'file',
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePrivateErrorMedias() {
uni.hideToast()
const path1 : string = "/static/test-video/10second-demo1.mp4";
const path2 : string = "/static/test-audio/ForElise.mp32";
uni.shareWithSystem({
mediaPathList: [path1, path2],
type:'video',
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePrivateVideo() {
uni.hideToast()
const path1 : string = "/static/test-video/10second-demo.mp4";
uni.shareWithSystem({
mediaPathList: [path1],
type:'video',
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePrivateVideos() {
uni.hideToast()
const path1 : string = "/static/test-video/10second-demo.mp4";
const path2 : string = "/static/test-video/10second-demo.mp4";
uni.shareWithSystem({
mediaPathList: [path1, path2],
type:'video',
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePubMedias() {
uni.hideToast()
uni.chooseVideo({
success(res) {
uni.shareWithSystem({
mediaPathList: [res.tempFilePath],
type:'video',
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
}
})
},
shareText() {
uni.hideToast()
uni.shareWithSystem({
summary: this.summary,
success(res) {
console.log('Shared----------------------------success')
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePrivateImg() {
uni.hideToast()
const imageSrc : string = "/static/test-image/logo.gif";
uni.shareWithSystem({
type:'image',
imageUrl: imageSrc,
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
// 分享失败
},
complete(res) {
}
})
},
sharePrivateErrorImg() {
uni.hideToast()
const imageSrc : string = "/static/test-image/logo.jpg11";
uni.shareWithSystem({
type:'image',
imageUrl: imageSrc,
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
// 分享失败
},
complete(res) {
}
})
},
sharePrivateImgs() {
uni.hideToast()
const errorImageSrc1 : string = "/static/test-image/logo.gif";
const errorImageSrc2 : string = "/static/test-image/logo.png";
const imageSrc : string = "/static/test-image/logo.jpg";
let imageUrlList : string[] = Array()
imageUrlList.push(errorImageSrc2)
imageUrlList.push(imageSrc)
imageUrlList.push(errorImageSrc1)
uni.shareWithSystem({
type:'image',
imageUrlList: imageUrlList,
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePrivateErrorImgs() {
uni.hideToast()
const errorImageSrc1 : string = "/static/test-image/logo.jpg1";
const errorImageSrc2 : string = "/static/test-image/logo.jpg3";
const imageSrc : string = "/static/test-image/logo.jpg";
let imageUrlList : string[] = Array()
imageUrlList.push(imageSrc)
imageUrlList.push(errorImageSrc1)
imageUrlList.push(errorImageSrc2)
uni.shareWithSystem({
type:'image',
imageUrlList: imageUrlList,
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
shareAll() {
uni.hideToast()
const imageSrc : string = "/static/test-video/fast-forward.png";
let imageUrlList : string[] = Array()
imageUrlList.push(imageSrc)
uni.shareWithSystem({
type:'image',
summary: this.summary,
href: 'https://uniapp.dcloud.io',
imageUrlList: imageUrlList,
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
sharePubImg() {
uni.hideToast()
uni.chooseImage({
count: 3,
sourceType: ['camera', 'album'],
success(e) {
console.log(e)
console.log(JSON.stringify(e))
uni.shareWithSystem({
// summary: "aa",
// href: 'https://uniapp.dcloud.io',
imageUrlList: e.tempFilePaths,
type:'image',
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
}
})
},
shareSnapShot() {
uni.hideToast()
uni.getElementById("viewshot")?.takeSnapshot(
{
success: function (res) {
uni.shareWithSystem({
imageUrl: res.tempFilePath,
type:'image',
success(res) {
console.log('Shared----------------------------success')
// 分享完成,请注意此时不一定是成功分享
},
fail(res) {
console.log('Share failed, ' + "res.errCode =" + res.errCode + '---res.errMsg= ' + res.errMsg)
uni.showToast({
icon: "error",
title: "errorCode=" + res.errCode
})
},
complete(res) {
}
})
},
fail: function (res) {
console.log(res)
uni.showToast({
icon: 'error',
title: '截图失败'
})
}
}
)
},
}
}
</script>
<style>
.button {
margin-left: 30px;
margin-right: 30px;
margin-bottom: 15px;
}
</style> </style>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册