uniapp微信小程序发送和分享

本文探讨了一种JavaScript库在创建分享功能时,在iOS设备上遇到的问题,重点在于苹果手机不支持部分分享功能,以及如何解决跨平台兼容问题和针对不同设备调整参数的方法。

创建了一个js,如下

export default{
    data(){
        return {
                       //设置默认的分享参数
            share:{
                title:'',
                path:'/pages/home/home',
                imageUrl:'',
                desc:'',
                content:''
            }
        }
    },
	//分享给朋友
    onShareAppMessage(res) {
        return {
            title:this.share.title,
            path:this.share.path,
            imageUrl:this.share.imageUrl,
            desc:this.share.desc,
            content:this.share.content,
            success(res){
                uni.showToast({
                    title:'分享成功'
                })
            },
            fail(res){
                uni.showToast({
                    title:'分享失败',
                    icon:'none'
                })
            }
        }
    },
	onShareTimeline(res) {
		let that = this
		  let data = {
			title:that.share.title,
			imageUrl:that.share.imageUrl,
			path:that.share.path,
			success: res => {
			  // 分享成功
			  if (res.errMsg == 'shareAppMessage:ok') {}
			},
			fail: res => {
			  // 用户取消
			  if (res.errMsg == 'shareAppMessage:fail cancel') {}
			  // 分享失败
			  if (res.errMsg == 'shareAppMessage:fail') {}
			},
			complete: res => {}
		  }
		  return data
	},

}

页面引用

import share from '@/store/share.js'

export default {
        mixins: [share],
        data() {}
}

基本这样就能发送和分享了。

最坑的是,开发者工具一切正常,然后换到手机上,只有发送,没有分享了,百度了好久,才发现苹果手机不支持这个功能

在其他页面

that.share={
                        title:res.propertyname,
                        path:'/pages/buildDetail/buildDetail?id='+that._id,
                        imageUrl:(res.img.length>0?res.img[0].image:0),
                        desc:res.propertyname,
                        content:res.propertyname
                    }

修改成对应的参数,分享和发送的时候会自动带上

title:res.propertyname,
path:'/pages/buildDetail/buildDetail?id='+that._id,
imageUrl:(res.img.length>0?res.img[0].image:0),
desc:res.propertyname,

 

参数不要传错,否则一个类型不对,都会导致设置的数据不生效

### Uniapp 微信小程序实现指定内容分享到好友功能 在Uniapp中,可以通过`onShareAppMessage`方法来实现微信小程序的指定内容分享至好友的功能。该方法允许开发者自定义转发的内容,包括标题、路径以及封面图片等信息。 以下是具体的实现方式: #### 自定义分享内容的核心逻辑 在微信小程序中,当用户点击右上角菜单并选择“转发”时,会触发`onShareAppMessage`事件[^2]。此事件可以返回一个对象,其中包含多个属性用于定义分享卡片的行为外观。 ```javascript // 在页面的 script 部分编写 onShareAppMessage 方法 export default { data() { return {}; }, methods: {}, onShareAppMessage(res) { if (res.from === 'button') { // 来源于页面内的按钮触发 console.log('来自页面内转发按钮'); } return { title: '这是分享的标题', // 设置分享标题 path: '/pages/index/index?id=123', // 设置分享路径,可带参数 imageUrl: 'https://example.com/image.png' // 设置分享封面图 }; } }; ``` 上述代码展示了如何通过`onShareAppMessage`方法设置分享内容。需要注意的是,`path`字段支持携带查询字符串形式的参数,这使得接收方能够根据传递过来的数据加载特定内容。 #### 页面模板部分 为了使用户能更便捷地发起分享操作,在页面布局中还可以加入带有`open-type="share"`属性的按钮组件。这样即使不依赖顶部默认菜单栏也能让用户快速触达分享入口。 ```html <view> <!-- 添加一个显式的分享按钮 --> <button open-type="share">分享给朋友</button> </view> ``` 以上就是利用Uniapp框架完成微信小程序向好友发送定制化消息的主要流程说明及其对应的关键技术点。 ### 注意事项 - `onShareAppMessage`仅能在真机环境下生效;模拟器测试可能无法正常显示效果。 - 如果希望不同场景下有不同的分享文案,则需结合业务需求调整返回值中的数据结构。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值