支付宝分享 发表于 2018-10-15 | 更新于 2023-01-11 支付宝分享工具方法(开始分享、默认分享、默认吱口令配置)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677import { ready, isAliPay } from './utils'// 直接吊起分享async function startShare({ title = '', url = window.location.href, content = '', imageUrl, iconUrl = ''}) { if (!isAliPay) return await ready() return new Promise(resolve => { AlipayJSBridge.call( 'startShare', { // 当用户选择该数组内指定的分享渠道时,仅返回渠道名,而不是真正开始自动分享 onlySelectChannel: [ 'Weixin', 'WeixinTimeLine', 'ALPContact', 'ALPTimeLine', 'ALPCommunity' ] }, data => { // 通过onlySelectChannel屏蔽掉自动分享功能后,自行调用shareToChannel接口进行单独分享 AlipayJSBridge.call( 'shareToChannel', { name: data.channelName, param: { contentType: 'url', // 选填,目前支持支持"auto",text","image","url"格式(android分享组件不支持auto) title, content, iconUrl, imageUrl, url, captureScreen: false, // 是否分享当前页面的截图 otherParams: { preContent: `#${title} ,全选拷贝本段文案后,打开支付宝#`, bizType: 'COMMON_CONFIG', // 吱口令独有参数 btn2: '去看看', // 吱口令独有参数 btn2A: url // 吱口令独有参数 } } }, result => { resolve(result) } ) } ) })}// 默认分享,监听右上角点击事件export async function settingShare(shareData, title) { if (!isAliPay) return // 不是支付宝返回 ready(() => { AlipayJSBridge.call('setOptionMenu', { title, redDot: '-1', // -1表示不显示,0表示显示红点,1-99表示在红点上显示的数字 color: '#ffff6600' // 必须以#开始ARGB颜色值 }) document.addEventListener( 'optionMenu', function() { startShare(shareData) }, false ) })}// 支付宝分享export default startShare 12345678910111213141516171819// ready export function ready(callback) { return new Promise(resolve => { if (window.AlipayJSBridge) { resolve() if (callback) callback() callback() } else { document.addEventListener( 'AlipayJSBridgeReady', () => { resolve() if (callback) callback() }, false ) } })}