- 微信小程序的 5 种分享方式,你知道几种?
前言在微信生态中,微信小程序的裂变传播效果尤为显著,而实现裂变的关键在于分享方式,需要在不同的场景选择合适的分享方式。微信小程序内提供很多分享方式,我将为大家详细介绍微信小程序的 5 种分享方式。 方法转发卡片场景:私聊/微信群 操作:点击卡片可以直达具体页面 好处:最常用的方式,简单,直接 [图片] 触发形式: 用户主动通过分享按钮触发用户通过点击小程序右上角菜单的「转发给朋友」触发[图片] [图片] 技术实现: 在页面加入 button 组件设置 open-type 属性为 share自定义分享卡片内容需要重写Page的onShareAppMessage 方法[图片] 相关文档: https://developers.weixin.qq.com/miniprogram/dev/component/button.htmlhttps://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareAppMessage-Object-object转发朋友圈场景:朋友圈分享 操作:需要用户点击然后再点击下方「前往小程序」才能达到目标页 好处:朋友圈展示形式较友好,类似公众号文章分享,具备更高的打开率 触发:用户通过点击小程序右上角菜单的「转发到朋友圈」触发 [图片] [图片] [图片] [图片] 技术实现: 自定义分享卡片内容需要重写Page的onShareTimeline方法[图片] 相关文档: https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onShareTimeline小程序码场景:私聊/微信群/朋友圈/线下操作:长按/扫码即可达到目标页好处:适用性非常广泛,覆盖了线下场景[图片] 技术实现: 生成小程序二维码API[图片] 相关文档: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/qr-code/getQRCode.html 生成链接场景:私聊/微信群/朋友圈/外部浏览器操作:需要两步到达目标页,打开链接再打开小程序好处:外部浏览器支持打开会自动拉起微信进入小程序触发:通过 API 生成获取[图片] [图片] 技术实现: 生成小程序链接 API [图片] 相关文档: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/short-link/generateShortLink.html 生成短链场景:私聊/微信群/朋友圈好处:微信内一步可打开目标页[图片] 注意:目前只开放给电商类目(具体包含以下一级类目:电商平台、商家自营、跨境电商)类目调用接口生成。触发: 通过 API 生成获取用户通过点击小程序右上角菜单的「复制链接」获取[图片] [图片] 技术实现: 生成小程序短链API[图片] 相关文档: https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/qrcode-link/short-link/generateShortLink.html最后欢迎大家补充更多分享方式
2024-12-30 - progress 父级使用display:flex失效,为啥不显示?
wxml文件 <view class="progress-box"> <progress percent="40" active stroke-width="3" /> <icon class="progress-cancel" type="cancel"></icon> </view> wxss文件 .progress-box{ display: flex; height:25px ; margin: 15px; } 样式追加了display: flex,进度条消失不显示了,为啥
2023-09-23 - web-view组件使用了page-container组件阻止返回,ios手势滑动不能阻止吗?
如果不用web-view组件都是正常的,会阻止返回并弹出。用了web-view组件ios手势滑动只是阻止了没有弹窗,ios点击导航栏返回是可以阻止并弹窗、安卓手机收拾导航导航栏都可以,有解决办法吗? [图片]
2024-08-06 - 开发者工具真机调试报错?wxfile://usr/miniprogramLog/log2
真机调试2.0的控制台出现以下错误: VM75:398 error occurs:no such file or directory, access 'wxfile://usr/miniprogramLog/log2' 切回到真机调试1.0有时候没有这个错,但是调试很慢很卡。 这个问题好像出现很久了很多人也都遇到了,希望微信小程序官网能够在开发工具中尽快修复,谢谢~
2024-05-08 - wx.openEmbeddedMiniProgram无法打开半屏小程序的体验版?
使用wx.openEmbeddedMiniProgram,配置envVersion为trial,但是没有打开体验版的半屏小程序,打开的一直是正式版的小程序
2023-12-20 - 小程序半屏切换成全屏后,如何识别 已经切换到了全屏?
[图片]因为配置了被半屏打开的小程序可以全屏展示,点击这个全屏切换的按钮后,怎么知道目前小程序已经被切换到全屏打开了? wx.getEnterOptionsSync().apiCategory == 'embedded' || wx.getEnterOptionsSync().apiCategory == 'nativeFunctionalized' 这个如果为true,就认为小程序被半屏打开了,但是,当我点击切换按钮,切换到到全屏打开小程序后,在当前页面内,识别到这个wx.getEnterOptionsSync().apiCategory == 'embedded' || wx.getEnterOptionsSync().apiCategory == 'nativeFunctionalized' 参数的返回结果还是true,此时是不是应该为false?因为我小程序已经切换到全屏了,但是为啥返回的结果是true?如果不可以用wx.getEnterOptionsSync().apiCategory == 'embedded' || wx.getEnterOptionsSync().apiCategory == 'nativeFunctionalized' 这个参数来判断全屏还是半屏,那有别的api可以来判断吗?
2023-11-06 - 小程序有没有类似wx.exitMiniProgram的方法,直接退出微信的?
希望可以小程序关闭微信的接口,不知道有没有方法可以直接让微信关闭的。
2023-08-02 - 小程序富文本里面的电话号码,能否实现点击直接拨打呢?
请问大佬,在小程序富文本里面的电话号码,能否实现点击后通过手机直接拨打呢?
2022-08-31 - 真机调试 输入框及相关点击事件失效?
真机调试 手机上输入框及相关点击事件失效 开发工具 1.06.230306 原来真机调试可以用1.0版的,可以用 现在1.0和2.0都不能用了
2023-03-14 - 小程序用户头像昵称获取规则调整公告
更新时间:2022年11月9日由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问题,对于来自低于2.27.1版本的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称。 更新时间:2022年9月28日考虑到近期开发者对小程序用户头像昵称获取规则调整的相关反馈,平台将接口回收的截止时间由2022年10月25日延期至2022年11月8日24时。 调整背景在小程序内,开发者可以通过 wx.login 接口直接获取用户的 openId 与 unionId 信息,实现微信身份登录,支持开发者在多个小程序或其它应用间匿名关联同一用户。 同时,为了满足部分小程序业务中需要创建用户的昵称与头像的诉求,平台提供了 wx.getUserProfile 接口,支持在用户授权的前提下,快速使用自己的微信昵称头像。 但实践中发现有部分小程序,在用户刚打开小程序时就要求收集用户的微信昵称头像,或者在支付前等不合理路径上要求授权。如果用户拒绝授权,则无法使用小程序或相关功能。在已经获取用户的 openId 与 unionId 信息情况下,用户的微信昵称与头像并不是用户使用小程序的必要条件。为减少此类不合理的强迫授权情况,作出如下调整。 调整说明自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整: 自生效期起,小程序 wx.getUserProfile 接口将被收回:生效期后发布的小程序新版本,通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。自生效期起,插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回:生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。「头像昵称填写能力」支持获取用户头像昵称:如业务需获取用户头像昵称,可以使用「头像昵称填写能力」(基础库 2.21.2 版本开始支持,覆盖iOS与安卓微信 8.0.16 以上版本),具体实践可见下方《最佳实践》。小程序 wx.getUserProfile 与插件 wx.getUserInfo 接口兼容基础库 2.27.1 以下版本的头像昵称获取需求:对于来自低版本的基础库与微信客户端的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称,开发者可继续使用以上能力做向下兼容。对于上述 3,wx.getUserProfile 接口、wx.getUserInfo 接口、头像昵称填写能力的基础库版本支持能力详细对比见下表: [图片] *针对低版本基础库,兼容处理可参考 兼容文档 请已使用 wx.getUserProfile 接口的小程序开发者和已使用 wx.getUserInfo 接口的插件开发者尽快适配。小游戏不受本次调整影响。 最佳实践小程序可在个人中心或设置等页面使用头像昵称填写能力让用户完善个人资料: [图片] 微信团队 2022年5月9日
2023-09-26 - 如何解决进行真机调试时报错,部分api(如获取用户信息)无法正常使用的问题?
开发工具版本:Stable 1.06.2301040 操作系统:Win10 问题:使用的是官方基础的JavaScript模板,使用的是测试号,不使用云服务,代码没有作任何改动,直接进行真机调试,终端报错,且手机上无法获取用户的信息,但日志功能正常。 终端报错内容如下: error occurs:no such file or directory, access 'wxfile://usr/miniprogramLog/log2' [wxapplib]] [LogManagerwxe5345f299d98aeb4]] accessSync fail accessSync:fail no such file or directory, access 'wxfile://usr/miniprogramLog/log2' Error: accessSync:fail no such file or directory, access 'wxfile://usr/miniprogramLog/log2' [图片] 手机上调试的截图(可以看到无法显示用户信息,实际上都没有弹出获取用户信息的弹窗): [图片] 与此对比的开发工具中,模拟器中正常的运行结果: [图片] 代码使用是创建小程序界面中的“JavaScript-基础模板”,没有做任何改动。 目前已经尝试过的操作: 1、重启电脑和开发者工具;使用二维码真机调试。这两种操作都没有改变以上结果。 2、选择真机调试1.0。进行该操作之后终端没有上述报错信息了,但是仍然无法获取用户信息。 代码片段连接:https://developers.weixin.qq.com/s/7gQM1Nm97LFR
2023-02-05 - wx.requirePrivacyAuthorize无法触发wx.onNeedPrivacyAuth
https://developers.weixin.qq.com/s/cV2yjtmF7vKF wx.getPrivacySetting查询出来res.needAuthorization === false,但是调用wx.requirePrivacyAuthorize无法触发wx.onNeedPrivacyAuth。是我对这个接口理解有差别吗?有兄弟已经跑通吗?
2023-08-14 - 小程序获取位置隐私保护已设置,仍提示无未声明fail-api作用域?
小程序获取位置隐私保护已设置,并通过审核,但是调用API时仍提示"errMsg":"getLocation:fail api scope is not declared in the privacy agreement","errno":112。 更新:提示变成{"errMsg":"getLocation:fail privacy permission is not authorized","errno":104}了。 [图片]
2023-08-16 - openBluetoothAdapter失败,这是哪里需要加privacy agreement?
之前调试了2周都没这个问题,今天突然有这个问题。。permission也已经加了,哪里还需要加隐私协议????? [图片] {errMsg: "openBluetoothAdapter:fail api scope is not declared in the privacy agreement", errno: 112}[图片]
2023-08-16 - 关于小程序隐私保护指引设置的公告
为规范开发者的用户个人信息处理行为,保障用户的合法权益,自2023年9月15日起,对于涉及处理用户个人信息的小程序开发者,微信要求,仅当开发者主动向平台同步用户已阅读并同意了小程序的隐私保护指引等信息处理规则后,方可调用微信提供的隐私接口。 开发者首先需确定小程序是否涉及处理用户个人信息,如涉及,则需配置用户隐私授权弹窗,且仅有在平台《小程序用户隐私保护指引》中声明了所处理的用户个人信息,才可以调用平台提供的对应接口或组件。(隐私相关接口) 隐私协议设置整体流程参考下方指引: 一、设置《小程序用户隐私保护指引》 开发者需在「小程序管理后台」设置《小程序用户隐私保护指引》 [图片] [图片] 二、填写《小程序用户隐私保护指引》 [图片] 只有在指引中声明所处理的用户个人信息,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将无法调用成功。隐私接口与对应的处理的用户个人信息关系可见:小程序用户隐私保护指引内容介绍 三、配置用户隐私授权弹窗 微信提供了wx.onNeedPrivacyAuthorization(function callback) 接口,意为用户触发了一个微信侧未记录过同意的隐私接口调用,开发者可通过响应该事件选择提示用户的时机。此外,微信还提供了 wx.requirePrivacyAuthorize(Object object) 接口,可用于模拟触发 onNeedPrivacyAuthorization 事件。 小程序开发者可自行设计提示方式与触发时机,详细文档可查看隐私协议开发指南。 仅有在指引中声明所处理的用户个人信息,才可以调用平台提供的对应接口或组件。若未声明,对应接口或组件将直接禁用。 [图片] (参考样例) 四、如要进行代码提审,开发者需先自行声明是否有采集用户隐私,如有,则需在提审页面-「用户隐私保护设置」选择“采集用户隐私” [图片]
2023-09-18 - wx.getStorageSync()获取缓存失败?
基础库版本号2.15.0, 获取缓存的值是空字符串,实际存储的值应该是0和1。
2022-09-28 - 我用了web-view 组件,但是只显示了web-view组件内容,其他小程序view的内容被覆盖?
[图片]我用了web-view 组件,但是只显示了web-view组件内容,其他小程序view的内容被覆盖?这个怎么办呢?只显示了web-view 内容,其他的view内容根本不显示
2022-09-21 - 微信开发工具预览功能的码有效时间太短了?
微信开发工具预览功能的码有效时间太短了,希望能延长一点时间 或者有什么设置可以控制失效时间
2023-01-18 - 小程序没有线上版本无法生成scheme吗
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/url-scheme/urlscheme.generate.html 小程序没有上线前的开发、调试,无法正常调用生成,与文档描述的开发或者预览版适用不符,不知道调试时是怎么个用法,还是说只能上线后再调试? 正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。体验版和开发版仅在[代码]iOS[代码]上支持 【请求参数】:{"jump_wxa":{"path":"/pages/publishHomework/publishHomework","query":"uuid=1","env_version":"trial"},"is_expire":true,"expire_time":1649603774047} 【错误信息】:错误代码:85079, 错误信息:小程序没有线上版本,不能进行灰度,微信原始报文:{"errcode":85079,"errmsg":"miniprogram has no online release rid: 6252f482-3bfb3547-127b0eba"}
2022-04-10 - 选择地理位置接口调整公告
各位开发者: 为确保选择地理位置接口的合理使用,自 2022 年 6 月 13 日起,wx.choosePoi 和 wx.chooseLocation 接口规则进行以下调整: wx.choosePoi 和 wx.chooseLocation 接口的使用将不再需要用户授权 scope.userLocation,满足使用条件的开发者可直接调用,详情可访问 授权;若开发者调用 wx.choosePoi 和 wx.chooseLocation 接口,需在小程序用户隐私保护指引中,声明收集用户选择的位置信息的目的,详情可访问 用户隐私保护指引填写说明;wx.choosePoi 接口的回调信息中,latitude 和 longitude 字段将不返回真实的经纬度信息,全部返回 ( 0 , 0 ),详情可访问 接口文档。 以上调整将对所有小程序、小游戏和插件生效。 微信团队 2022年5月13日
2022-05-13 - 微信网页授权能力调整公告
微信网页授权 能力是为了优化用户在微信内登录网站应用的体验而设计的。为进一步规范能力使用,保障用户合法权益,平台将对能力进行调整。 当开发者在网页中在不规范使用发起 snsapi_userinfo 网页授权时,微信将默认打开网页快照页模式进行基础浏览。能力调整将于 2022 年 7 月 12 日 24 时生效。 网页快照页模式介绍快照页将会默认对用户屏蔽网页授权弹窗,用户在快照页中仅可进行滑动浏览操作,其他交互将被限制,并提示用户 “该网页需获取个人信息才可使用完整服务,当前仅可浏览部分内容”。用户如需要使用完整网页服务,可轻触右下角 “使用完整服务” 按钮触发授权弹窗,用户确认后进入原网页。 开发者在快照页内所获取的头像、昵称、openId、unionId 均为虚拟账号数据;快照页与正常页面不共用缓存,快照页的缓存会在用户离开快照页时被清理;快照页内也无法使用微信其它 JS-SDK 的能力。 [图片] 微信网页授权规范授权流程需引导清晰、准确:在申请获取用户信息的弹窗出现前,应该清晰、准确地告知用户获取信息的范围及获取信息的目的;必要场景申请:在必须获取用户信息时才申请,而不是用户尚未了解服务前就强制弹窗。如使用医院挂号时才需要获取用户信息;不强制登录:提供游客模式,供用户了解网页提供的基础服务,不强制用户允许网页获取用户信息后才能使用网页服务。 常见的微信网页授权不规范使用案例强制登录:在用户打开网页时立即要求用户授权,用户拒绝后无法使用网页提供的服务;违规收集个人信息:未在网页提前告知使用个人信息的目的、方式和范围;非必要收集:非必要获取用户信息的网页,如文章、视频等,要求用户在浏览内容前登录;差别对待微信用户:同样的网页在浏览器内可以无需登录直接访问,在微信内却要求用户先登录才可访问。 微信团队 2022年5月9日
2022-05-10 - 小程序性能优化指南
开发者可通过开发者工具中的性能扫描工具提前发现代码中的可优化项: 1. 代码包不包含插件大小超过 1.5 M 【建议】小程序代码包单个包大小限制为2M。因此我们建议开发者在开发时,如果遇到单包体积大于1.5M的情况,可以采取分包的方式,把部分代码拆分到分包去,降低单个包的体积,提升小程序的加载速度。具体可以查看文档《使用分包》。 2. 引用插件大小超过 200 K 【知会】小程序插件的大小是会算进小程序代码包2M体积限制中的。因此当我们发现开发者引用的插件体积大于200K时,会对开发者予以提示,避免出现上传阶段提示代码包体积超限,但是不知道为何超限的问题。 3. 图片和音频资源大小超过 200 K 【建议】小程序代码包里可以存放一些必要的静态资源(如tabbar的icon等);但其他非必要的静态资源体积过大会影响小程序代码包加载速度。因此我们建议图片、音频等静态资源体积大小超过200K时,将它们上传到CDN,用URL引入会是个更好的选择。 4. 主包存在仅被其他分包依赖的JS 【建议】当主包里存在一些JS文件只会被分包使用(而主包自己不使用)时,我们建议把这些JS文件从主包中拆分出去,放到对应的分包里,从而优化主包的加载速度。 5. 主包存在仅被其他分包依赖的组件 【建议】当主包里存在一些组件只会被分包使用(而主包自己不使用)时,我们建议把这些组件从主包拆分出去,并且可以使用 分包异步化 这个特性加载这些组件,从而优化主包的加载速度。 6. 存在无使用的插件 【必须】如果有无使用的插件,请将其从 app.json 中去除。不然它会占用代码包体积,也会延迟代码包加载的时间。 7. 存在无使用的组件 【必须】如果在对应页面JSON的 `usingComponents` 里声明的组件但是没有使用,请将其从 `usingComponents` 里去除。 8. 未开启JS压缩 【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩脚本文件」的设置 [图片] 9. 未开启WXML压缩 【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩wxml文件」的设置 [图片] 10. 未开启WXSS压缩 【必须】在工具「详情」-「本地设置」中开启「上传代码时自动压缩样式文件」的设置 [图片] 11. 存在无依赖文件 【必须】在「代码质量」面板,点击「建议去除」后,可以打开代码依赖分析面板的「无依赖文件」页面,这里可以看到代码包里没有被用到的文件。请在代码包中去除这部分文件,减小体积并优化加载速度。 在本地开发的过程中,会自动过滤无依赖的文件,如果出现误过滤的情况,可以在 project.config.json 的 setting 字段中添加 ignoreDevUnusedFiles 为 false,也可以在 packOptions 的 include 字段中手动将被忽略的文件引入,同时欢迎发帖反馈误报的情况提交代码片段帮助我们完善此功能 注意:页面若为配置在 app.json 中,将被识别为无依赖文件 [图片] 12. 未开启组件懒注入(按需注入) 【必须】在 app.json 中加入 `"lazyCodeLoading": "requiredComponents"` 可以开启小程序组件按需注入特性。 其他优化内容,请点击学习《小程序性能优化实践》课程 [图片]
2023-02-17 - 微信8.0.16版本无法安装线上内核?
升级到最新版本的微信之后,打开tbs调试页面,清除本地安装标记,再执行安装线上内核,报错!下载失败:115 -> 115
2022-01-20 - 微信升级8.0.19后,xweb内核下如何打开vConsole进行网页调试?
如题
2022-01-25