关键词:
文章目录
一、前言
APP开发过程中,需要实现分享功能。
常用的分享实现方法包括:
- 系统分享组件;
- uniShare SDK调用;
二、系统分享组件
uni.shareWithSystem(OBJECT)
调用系统分享组件发送分享消息,不需要配置分享SDK。
注意事项⚠️
Android
端当msg
参数中设置图片(imageUrl
属性)时,分享类型自动变为为image
,在分享时可能只会发送图片(如微信);没有设置图片时分享类型则认为是文本text
。Android
端高版本无法分析私有路径的图片,只能分享来自相册的图片(使用uni.chooseImage
选择图像时请设置为原图)。iOS
端不同的分享程序对分享内容有要求,如微信分享时必须添加链接地址href
,否则微信分享失败。 注:iOS8.0
及以上系统触发成功回调则表示发送消息成功。
// iOS应用系统自带分享方式
uni.shareWithSystem(
type: "text",
summary: this.detailData.resourceName + summary,
href: href,
imageUrl: "../../../static/logo.png",
success()
console.log('分享成功');
// 分享完成,请注意此时不一定是成功分享
,
fail()
console.log('分享失败');
// 分享失败
,
complete()
console.log('分享完成');
);
三、uniShare SDK调用
uni-app
提供了uniShare
组件实现分享。其相对于系统分享组件来说,可设置参数更多。
// Android系统应用uniShare SDK调用方式
androidShare(href, summary, imageUrl)
uniShare.show(
content: //公共的分享参数配置 类型(type)、链接(herf)、标题(title)、summary(描述)、imageUrl(缩略图)
type: 0,
href,
title: this.detailData.resourceName,
summary,
imageUrl
,
menus: [
"img": "/static/wx.png",
"text": "微信好友",
"share": //当前项的分享参数配置。可覆盖公共的配置如下:分享到微信小程序,配置了type=5
"provider": "weixin",
"scene": "WXSceneSession"
,
"img": "/static/pyq.png",
"text": "朋友圈",
"share":
"provider": "weixin",
"scene": "WXSceneTimeline"
,
//
// "img": "/static/wb.png",
// "text": "微博",
// "share":
// "provider": "sinaweibo"
//
// ,
"img": "/static/hb.png",
"text": "分享海报",
"share": "sharePoster",
"detailData": ...this.detailData, messageFlag: this.messageFlag
,
"img": "/static/lj.png",
"text": "分享链接",
"share": "copyurl"
,
"img": "/static/more.png",
"text": "更多",
"share": "shareSystem"
],
cancelText: "取消"
, e => //callback
console.log(uniShare.isShow);
console.log(e);
)
,
实现效果如下:
四、拓展阅读
跨平台应用开发进阶(五十三):uni-app通过webview方式嵌套h5实现图片点击下载(代码片段)
文章目录一、前言二、实现方案三、拓展阅读一、前言在项目开发过程中,遇到uni-app通过webview嵌套H5项目,实现H5中图片点击下载的需求。二、实现方案实现思路:需要用到Bitmap,把base64转成bitmap文件对象,... 查看详情
跨平台应用开发进阶(二十五):uni-app实现ios云打包解决ios提交审核相册等隐私描述语导致审核失败问题(代码片段)
文章目录一、问题描述二、问题分析三、解决方案:IOS云打包修改权限提示语3.1IOS隐私信息3.2设置方法四、拓展阅读一、问题描述Guideline5.1.1-Legal-Privacy-DataCollectionandStorageWenoticedthatyourapprequeststheuser’sconsenttoaccessthecamera,butdoes... 查看详情
跨平台应用开发进阶(二十五):uni-app实现ios云打包解决ios提交审核相册等隐私描述语导致审核失败问题(代码片段)
文章目录一、问题描述二、问题分析三、解决方案:IOS云打包修改权限提示语3.1IOS隐私信息3.2设置方法四、拓展阅读一、问题描述Guideline5.1.1-Legal-Privacy-DataCollectionandStorageWenoticedthatyourapprequeststheuser’sconsenttoaccessthecamera,butdoes... 查看详情
跨平台应用开发进阶(四十五)uni-app集成企微客服实战(代码片段)
文章目录一、前言二、功能实现2.1环境准备2.2代码层面2.3拓展工具三、拓展阅读一、前言应用运营过程中,考虑接入企业微信客服功能,大致看了下官方接入文档,并不困难,引入代码量也不大。按照手册来操作... 查看详情
跨平台应用开发进阶(四十五)uni-app集成企微客服实战(代码片段)
文章目录一、前言二、功能实现2.1环境准备2.2代码层面2.3拓展工具三、拓展阅读一、前言应用运营过程中,考虑接入企业微信客服功能,大致看了下官方接入文档,并不困难,引入代码量也不大。按照手册来操作... 查看详情
跨平台应用开发进阶(五十七):uni-app通过overrideurlloading实现拦截webview窗口的url跳转请求(代码片段)
文章目录一、前言二、overrideUrlLoading二、码上解决三、拓展阅读一、前言项目需求:通过uni-app的webview嵌入H5页面,且webview的src为互联网页面访问地址,页面中涉及很多可点击链接,若不加限制,则可以在webvie... 查看详情
跨平台应用开发进阶(四十五)uni-app自定义组包app:checkreleaseduplicateclasses问题分析及解决(代码片段)
文章目录一、问题描述二、问题分析三、解决方案四、拓展阅读一、问题描述应用uni-app进行android自定义基座打包时,发生打包失败,错误提示信息截图如下:二、问题分析项目集成极光时引入的依赖包中的gson-2.6.2.ja... 查看详情
跨平台应用开发进阶(四十五)uni-app自定义组包app:checkreleaseduplicateclasses问题分析及解决(代码片段)
文章目录一、问题描述二、问题分析三、解决方案四、拓展阅读一、问题描述应用uni-app进行android自定义基座打包时,发生打包失败,错误提示信息截图如下:二、问题分析项目集成极光时引入的依赖包中的gson-2.6.2.ja... 查看详情
跨平台应用开发进阶(三十五):android权限列表permission说明(代码片段)
文章目录一、前言二、权限信息汇总一、前言uni-app开发完APP后,上架到应用市场,审核时会对APP内部设置的权限进行核准,并给出相应的理由。如项目中有以下权限设置:"android":"permissions":["<uses... 查看详情
跨平台应用开发进阶(三十五):android权限列表permission说明(代码片段)
文章目录一、前言二、权限信息汇总一、前言uni-app开发完APP后,上架到应用市场,审核时会对APP内部设置的权限进行核准,并给出相应的理由。如项目中有以下权限设置:"android":"permissions":["<uses... 查看详情
跨平台应用开发进阶(二十四):uni-app实现文件下载并保存(代码片段)
...开四、图片保存到本机相册五、拓展阅读一、资源下载APP应用开发过程中,资源下载是一种常见应用场景。uni-app中应用uni.downloadFile实现文件下载功能。示例代码如下:downLoadFile()constdownloadTask=uni.downloadFile(url:'http://... 查看详情
跨平台应用开发进阶(三十):uni-app实现集成火山视频直播服务(代码片段)
文章目录一、前言二、技术实现2.1web-view组件在app中的窗体关系和plus.webview操作方式三、双向通信3.1uni-app与内嵌网页通信3.2内嵌网页向uni-app发消息四、实现案例五、直播5.1拉流直播5.2推流直播六、拓展阅读一、前言项目开发进... 查看详情
跨平台应用开发进阶(三十四):uni-app应用universallink实现ios微信分享(代码片段)
文章目录一、前言二、UniversalLink2.1UniversalLink(通用链接)概览2.2如何理解UniversalLink(通用链接)2.3UniversalLink(通用链接)应用场景2.4使用UniversalLink(通用链接)跳转的好处三、UniversalLinks实现iOS微信分享3.1传统方式3.2uniCloud前端网页托管... 查看详情
跨平台应用开发进阶(三十一):uni-app实现覆盖原生控件导航栏和tabbar全屏弹窗(代码片段)
文章目录一、前言二、实现方案三、拓展阅读一、前言应用uni-app跨平台框架进行项目开发过程中,需要实现版本更新时全页面弹窗,底部导航栏无法点击的效果。但是,在uni-app中popup弹窗及对话框的遮罩层是覆盖不... 查看详情
跨平台应用开发进阶(二十九):uni-app实现android原生app-云打包集成神策详细教程(代码片段)
...置公共属性3.6设置用户属性三、拓展阅读一、前言uni-app应用开发过程中 查看详情
跨平台应用开发进阶(二十九):uni-app实现android原生app-云打包集成神策详细教程(代码片段)
文章目录一、前言二、集成2.1集成uni-app插件2.2云端集成原生插件2.3离线集成2.3.1获取插件包2.3.2在HBuilderX中集成原生插件2.4集成结果验证三、使用uni-app进行埋点3.1APP.vue文件配置+globalData全局埋点3.2代码埋点(代码侵入性强... 查看详情
跨平台应用开发进阶(五十)uni-appiosweb-view嵌套h5项目白屏问题分析及解决(代码片段)
文章目录一、前言二、问题分析三、解决方案3.1nvue页面替代vue页面3.2白屏检测刷新3.2.1自动刷新3.2.2手动刷新3.3总结四、拓展阅读一、前言应用uni-app框架开发好APP上架使用过程中,发现应用经过长时间由后台切换至前台时... 查看详情
跨平台应用开发进阶(五十)uni-appiosweb-view嵌套h5项目白屏问题分析及解决(代码片段)
文章目录一、前言二、问题分析三、解决方案3.1nvue页面替代vue页面3.2白屏检测刷新3.2.1自动刷新3.2.2手动刷新3.3总结四、拓展阅读一、前言应用uni-app框架开发好APP上架使用过程中,发现应用经过长时间由后台切换至前台时... 查看详情