# 分享到朋友圈

从基础库 [2.11.3](/miniprogram/dev/framework/compatibility) 开始支持

支持平台：Android、iOS：微信8.0.24及以上版本

可将小程序页面分享到朋友圈。适用于内容型页面的分享，不适用于有较多交互的页面分享。

## 设置分享状态
小程序页面默认不可被分享到朋友圈，开发者需主动设置“分享到朋友圈”。页面允许被分享到朋友圈，需满足两个条件：

1. 首先，页面需设置允许“发送给朋友”。具体参考 [`Page.onShareAppMessage`](/miniprogram/dev/reference/api/Page.md#onShareAppMessage-Object-object) 接口文档
2. 满足条件 1 后，页面需设置允许“分享到朋友圈”，同时可自定义标题、分享图等。具体参考 [`Page.onShareTimeline`](/miniprogram/dev/reference/api/Page.md#onShareTimeline) 接口文档

满足上述两个条件的页面，可被分享到朋友圈。

## 单页模式

用户在朋友圈打开分享的小程序页面，并不会真正打开小程序，而是进入一个“小程序单页模式”的页面，“单页模式”有以下特点：

1. “单页模式”下，页面顶部固定有导航栏，标题显示为当前页面 JSON 配置的标题。底部固定有操作栏，点击操作栏的“前往小程序”可打开小程序的当前页面。顶部导航栏与底部操作栏均不支持自定义样式。
2. “单页模式”默认运行的是小程序页面内容，但由于页面固定有顶部导航栏与底部操作栏，很可能会影响小程序页面的布局。因此，请开发者特别注意适配“单页模式”的页面交互，以实现流畅完整的交互体验。
3. “单页模式”下，一些组件或接口存在一定限制，详情见下文单页模式下的限制章节

![avatar](https://res8.wxqcloud.qq.com.cn/wxdoc/64314b62-bd1c-4489-9e34-50daae3adf70.png)

## 页面适配

可通过判断[场景值](/minigame/dev/reference/scene-list.md)等于 1154 的方法来进行页面适配。另外，在单页模式下，可设置顶部导航栏与页面的相交状态，具体参考 [navigationBarFit](/miniprogram/dev/reference/configuration/app.md#singlePage) 配置。

还需留意的是，在单页模式下，[wx.getSystemInfo](/miniprogram/dev/api/base/system/wx.getSystemInfo.md) 接口返回的 safeArea 为整个屏幕空间。

## 单页模式下的限制
小程序“单页模式”适用于纯内容展示场景，可实现的交互与接口能力有限，因此存在如下限制：

1. 页面无登录态，与登录相关的接口，如 `wx.login` 均不可用；云开发资源需开启未登录访问方可在单页模式下使用，详见[未登录模式](/miniprogram/dev/wxcloudservice/wxcloud/basis/identityless.md)。
2. 不允许跳转到其它页面，包括任何跳小程序页面、跳其它小程序、跳微信原生页面
3. 不允许横屏使用
4. 若页面包含 tabBar，tabBar 不会渲染，包括自定义 tabBar
5. 本地存储与小程序普通模式不共用

对于一些会产生交互的组件或接口，在点击后调用时，会弹 toast 提示“请前往小程序使用完整服务”。为达到良好的用户体验，请注意适配单页模式的接口能力，请勿大量使用被禁用的接口或组件。

禁用能力列表：

| 分类     | 功能点 |
| -------- | ---- |
| 组件     | [button open-type](/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.md) 、 [camera](/miniprogram/dev/api/media/voip/wx.joinVoIPChat.md) 、 [editor](/miniprogram/dev/api/wxml/NodesRef.context.md) 、 [form](/miniprogram/dev/api/ai/visionkit/VKFrame.getDisplayTransform.md) 、 [functional-page-navigator](/miniprogram/dev/component/functional-page-navigator.md) 、 [live-pusher](/miniprogram/dev/component/live-pusher.md) 、 [navigator](/miniprogram/dev/component/navigator.md)  、 [navigation-bar](/miniprogram/dev/component/navigation-bar.md)  、 [official-account](/miniprogram/dev/component/official-account.md)  、 [open-data](/miniprogram/dev/component/open-data.md)  、 [web-view](/miniprogram/dev/component/web-view.md) |
| 路由     | [wx.redirectTo](/miniprogram/dev/api/route/wx.redirectTo.md)  、 [wx.reLaunch](/miniprogram/dev/api/route/wx.reLaunch.md)  、 [wx.navigateTo](/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.md)  、 [wx.switchTab](/miniprogram/dev/api/route/wx.switchTab.md)  、 [wx.navigateBack](/miniprogram/dev/api/navigate/wx.navigateBackMiniProgram.md) |
| 界面     | [导航栏](/miniprogram/dev/api/ui/navigation-bar/wx.showNavigationBarLoading.md) 、 [Tab Bar](/miniprogram/dev/api/ui/tab-bar/wx.showTabBarRedDot.md) |
| 网络     | [mDNS](/miniprogram/dev/api/network/mdns/wx.startLocalServiceDiscovery.md) 、 [UDP 通信](/miniprogram/dev/api/network/udp/wx.createUDPSocket.md) |
| 数据缓存 | [周期性更新](/miniprogram/dev/api/storage/background-fetch/wx.getBackgroundFetchData.md) |
| 媒体     | [VoIP](/miniprogram/dev/api/media/voip/wx.joinVoIPChat.md) 、 [wx.chooseMedia](/miniprogram/dev/api/media/video/wx.chooseMedia.md) 、 [wx.chooseImage](/miniprogram/dev/api/media/image/wx.chooseImage.md) 、 [wx.saveImageToPhotosAlbum](/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.md) 、 [wx.chooseVideo](/miniprogram/dev/api/media/video/wx.chooseVideo.md) 、 [wx.saveVideoToPhotosAlbum](/miniprogram/dev/api/media/video/wx.saveVideoToPhotosAlbum.md) 、 [wx.getVideoInfo](/miniprogram/dev/api/media/video/wx.getVideoInfo.md) 、 [wx.compressVideo](/miniprogram/dev/api/media/video/wx.compressVideo.md) |
| 位置     | [wx.openLocation](/miniprogram/dev/api/media/map/MapContext.getCenterLocation.md) 、 [wx.chooseLocation](/miniprogram/dev/api/location/wx.chooseLocation.md) 、 [wx.startLocationUpdateBackground](/miniprogram/dev/api/location/wx.getLocation.md) 、 [wx.startLocationUpdate](/miniprogram/dev/api/location/wx.getLocation.md) |
| 转发     | [wx.getShareInfo](/miniprogram/dev/api/share/wx.getShareInfo.md) 、 [wx.showShareMenu](/miniprogram/dev/api/share/wx.showShareMenu.md) 、 [wx.hideShareMenu](/miniprogram/dev/api/share/wx.hideShareMenu.md) 、 [wx.updateShareMenu](/miniprogram/dev/api/share/wx.updateShareMenu.md) |
| 文件     | [wx.openDocument](/miniprogram/dev/api/file/wx.openDocument.md) |
| 开放接口 | [登录](/miniprogram/dev/api/open-api/login/wx.login.md) 、 [小程序跳转](/miniprogram/dev/api/navigate/wx.navigateToMiniProgram.md) 、 [用户信息](/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.md) 、 [支付](/miniprogram/dev/api/payment/wx.requestOrderPayment.md) 、 [授权](/miniprogram/dev/api/open-api/authorize/wx.authorizeForMiniProgram.md) 、 [设置](/miniprogram/dev/api/open-api/setting/wx.openSetting.md) 、 [收货地址](/miniprogram/dev/api/open-api/address/wx.chooseAddress.md) 、 [卡券](/miniprogram/dev/api/open-api/card/wx.openCard.md) 、 [发票](/miniprogram/dev/api/open-api/invoice/wx.chooseInvoiceTitle.md) 、 [生物认证](/miniprogram/dev/api/open-api/soter/wx.startSoterAuthentication.md) 、 [微信运动](/miniprogram/dev/api/open-api/werun/wx.getWeRunData.md) 、 [微信红包](/miniprogram/dev/api/open-api/redpackage/wx.showRedPackage.md) |
| 设备     | [蓝牙](/miniprogram/dev/api/device/bluetooth/wx.startBluetoothDevicesDiscovery.md) 、 [iBeacon](/miniprogram/dev/api/device/ibeacon/wx.startBeaconDiscovery.md) 、 [Wi-Fi](/miniprogram/dev/api/device/wifi/wx.startWifi.md) 、 [NFC](/miniprogram/dev/api/device/nfc-hce/wx.startHCE.md) 、 [联系人](/miniprogram/dev/api/device/contact/wx.addPhoneContact.md) 、 [剪贴板](/miniprogram/dev/api/device/clipboard/wx.setClipboardData.md) 、 [电话](/miniprogram/dev/api/device/phone/wx.makePhoneCall.md) 、 [扫码](/miniprogram/dev/api/device/scan/wx.scanCode.md) |
| 广告     | [ad](/miniprogram/dev/api/ai/visionkit/VKSession.addMarker.md) 、 [wx.createRewardedVideoAd](/miniprogram/dev/api/ad/wx.createRewardedVideoAd.md) 、 [wx.createInterstitialAd](/miniprogram/dev/api/ad/wx.createInterstitialAd.md) |

## 运营须知
分享朋友圈能力是为了满足纯内容场景的分享诉求，滥用于营销、诱导等行为将会被打击。
1. 小程序提供的服务中，不得存在滥用分享违规行为。如强制用户分享行为；分享立即获得利益的诱导行为；以及通过明示或暗示的样式来达到诱导分享目的的行为等。详见[《微信小程序平台运营规范》](/miniprogram/product/#_5-1-%E6%BB%A5%E7%94%A8%E5%88%86%E4%BA%AB%E8%A1%8C%E4%B8%BA )
2. 在“单页模式”下，不得诱导或强制用户点击“打开小程序”，应在“单页模式”中尽可能呈现完整的内容

## 注意事项

1. 低版本微信客户端打开时，会进入一个升级提示页面
2. 不支持在小程序页面内直接发起分享
3. 自定义分享内容时不支持自定义页面路径
4. 存在 web-view 组件的页面不支持发起分享
5. 支持打开开发版、体验版，无权限人员进入时页面会提示无权限
