在调用接口页面的<script>部分增加如下配置。
import share from '@system.share'
或
var share = require("@system.share") 描述
分享数据到其他app
OBJECT参数
参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
type | string | 是 | 数据的MIME TYPE,要求字母全小写。 |
data | string | 是 | 分享的数据。
支持三种文件路径:
|
success | function | 否 | 成功回调。因为大部分原生app都没有正确的返回分享状态,所以即使分享成功了,也可能执行cancel回调,而不是success回调。 |
fail | function | 否 | 失败回调。 |
cancel | function | 否 | 取消回调。 |
complete | function | 否 | 执行结束后的回调。 |
示例代码
share.share({
type:"text/html",
data:"<b>bold</b>",
success:function(data){console.log("handling success");},
fail: function(data, code) {
console.log("handling fail, code=" + code);
}
}); <template>
<div class="container">
<div class="item-content">
<text class="txt">Share text:</text>
<input style="flex: 1; font-size: 30px;" value="{{input_key}}" placeholder="Please enter something to share" onchange="shareContent" />
</div>
<input type="button" class="btn" onclick="shareText" value="Click to share text" />
<input type="button" class="btn" onclick="sharelocal" value="Share In-app files" />
<input type="button" class="btn" onclick="media_pickImage" value="Select image to share" />
</div>
</template>
<style>
.container {
flex-direction: column;
justify-content: center;
align-items: center;
}
.item-content {
background-color: #ffffff;
padding: 30px;
margin-bottom: 100px;
align-items: center;
}
.txt {
width: 200px;
text-align: right;
font-weight: bold;
}
.btn {
height: 80px;
width: 300px;
text-align: center;
border-radius: 5px;
margin-right: 60px;
margin-left: 60px;
margin-bottom: 50px;
color: #ffffff;
font-size: 30px;
background-color: #0faeff;
}
</style>
<script>
import share from '@system.share'
import media from '@system.media'
import prompt from '@system.prompt'
export default {
data: {
componentName: 'share',
shareData: '',
},
onInit: function () {
this.$page.setTitleBar({ text: 'share' })
},
shareContent: function (e) {
this.shareData = e.text
},
shareText: function () {
share.share({
type: 'text/html',
data: this.shareData,
success: function () {
prompt.showToast({ message: 'share success' })
console.info('share success')
},
fail: function (erromsg, errocode) {
prompt.showToast({ message: 'share fail --- ' + errocode + ':' + erromsg })
console.info('share fail --- ' + errocode + ':' + erromsg)
},
cancel: function () {
prompt.showToast({ message: 'share cancel' })
console.info('share cancel ')
},
complete: function () {
prompt.showToast({ message: 'share complete ' })
console.info('share complete ')
}
})
},
sharelocal: function () {
share.share({
type: 'image/*',
data: '/Common/logo.png',
success: function () {
prompt.showToast({ message: 'share local success' })
console.info('share local success')
},
fail: function (erromsg, errocode) {
prompt.showToast({ message: 'share local fail --- ' + errocode + ':' + erromsg })
console.info('share local fail --- ' + errocode + ':' + erromsg)
},
cancel: function () {
prompt.showToast({ message: 'share local cancel' })
console.info('share cancel ')
},
complete: function () {
prompt.showToast({ message: 'share local complete' })
console.info('share complete ')
}
})
},
media_pickImage: function () {
media.pickImage({
success: function (ret) {
console.log('fetch--------callback ' + ret.uri)
share.share({
type: 'image/jpg',
data: ret.uri,
success: function () {
prompt.showToast({ message: 'share pickImage success' })
console.info('share pickImage success')
},
fail: function (erromsg, errocode) {
prompt.showToast({ message: 'share pickImage fail --- ' + errocode + ':' + erromsg })
console.info('share pickImage fail --- ' + errocode + ':' + erromsg)
},
cancel: function () {
prompt.showToast({ message: 'share pickImage cancel' })
console.info('share pickImage cancel ')
},
complete: function () {
prompt.showToast({ message: 'share pickImage complete ' })
console.info('share pickImage complete ')
}
})
},
cancel: function () {
},
fail: function () {
},
complete: function () {
}
})
}
}
</script> 效果图如下:
