- 点击应用跳转之前配置的h5页面,出现无法访问该网页
[图片]
2020-06-09 - 『腾讯云开发达人计划』开始啦~
[图片] [图片] 腾讯【云开发达人】计划,是面向大学生的移动开发技术实战项目。计划包括校园技术工坊、线下百人公开课和竞技赛三大部分,围绕小程序开发、H5开发等展开。通过活动,大家将掌握腾讯云【云开发CloudBase】的开发实战能力,通过云开发TCB完成小程序、H5等产品开发,提升未来求职就业竞争力。 【校园技术工坊】 系统云开发教学 助你从入门到熟练 【线下百人公开课】 极致云开发体验 带你从熟练到精通 【竞技赛】 体验云开发实战 等你从精通到大师 [图片] 腾讯云一线业务大咖讲解答疑 专业导师的课程和技术支持服务 参与以实战为目标的免费小程序课程 系统的云开发课程培训,专属的技术培训 赢取腾讯全球数字产业大会门票 有机会获得鹅厂实习/正式offer 优秀的开发者有机会参与云开发101开发者计划 ...... [图片][图片] 腾讯创新俱乐部联合腾讯云【云开发CloudBase】共同举办【校园技术工坊】,面向腾讯创新俱乐部所在的所有高校。我们将基于强大的腾讯云开发平台,输出系统、专业的培训课程【四次线上+线下培训课程】让你轻松get小程序开发新“姿势”,让你的奇思妙想不再无枝可依! 线上 3.19 | 从小程序到小程序与云开发 4.2 | 快速上手小程序云开发 4.16 | 从0到1开发AI智能名片识别小程序 4.30 | 私房书柜项目实战 线下 3月-5月 | 15所高校线下自主培训 5月上旬 | 15所高校同步主题工坊 线下工坊 (排名不分先后) 北京大学 大连理工大学 电子科技大学 哈尔滨工业大学 华南理工大学 华中科技大学 南京大学 南开大学 青海大学 上海交通大学 深圳大学 西安电子科技大学 西北工业大学 中国传媒大学 中山大学 线上培训课程报名方式: 请留意公众号【云开发x】推送消息。 15所高校同步主题工坊报名方式: 关注公众号【云开发x】,回复【校园技术工坊】即可获取报名链接。 [图片][图片] 【线下百人公开课】是腾讯云【云开发CloudBase】官方与开发者们的沟通平台。本次公开课带你走进小程序和云开发,零基础一天开发属于自己的树洞小程序,为更多陌生人创造温暖的相遇。 地点:上海交通大学 主题:温暖的相遇 基础 | 快速入门小程序 深入了解小程序 实战 | 云开发基础实战 云开发项目实战 报名方式:敬请期待...... [图片][图片] 【竞技赛】主题以校园场景为基础,发现校园场景下的问题或实际需求,包括但不限于:选课、饭卡充值、分数查询、班级管理等,围绕微信小程序设计创新解决方案,并通过云开发完成Demo的搭建,实现程序的主要功能。 作品提交 | 小程序Demo+作品简介 流程安排 5月初中 | 项目开发期 6月初中 | 作品提交 6月中旬 | 评审结果公布 6月底 析 | 奖品证书发放,优秀作品推荐 报名方式:敬请期待......
2019-04-08 - 微信PC 3.3.1.10中播放视频号视频出现问题?
在手机端视频可以完整播放,在PC端就只能播放一分半左右就会重新从头播放
2021-07-06 - OpenSDK支持FileProvider方式分享文件到微信
各位开发者: 最新版本(7.0.13)的微信 SDK 已经适配使用FileProvider的方式来进行消息分享。 如果分享的消息中涉及文件路径(如图片类型消息),建议开发者针对Android 7.0版本及以上设备,判断微信版本支持(判断方法见后文【微信版本支持】一节)的情况下,更新为FileProvider的方式进行分享。以下是具体的适配说明。 使用FileProvider1. 配置在项目的[代码]AndroidManifest.xml[代码]添加相关配置,示例如下: <provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_provider_paths" /> </provider> // ${applicationId}为你的应用包名 在[代码]res/xml[代码]目录(如果没有[代码]xml[代码]目录,则新建一个)下,添加文件[代码]file_provider_paths.xml[代码],内容如下: <?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-files-path name="sharedata" path="shareData/"/> </paths> [代码]external-files-path[代码]表示通过 [代码]Context.getExternalFilesDir(null)[代码] 接口获取到的目录下的文件才可被共享,其他未配置的路径均不可被分享。同样的节点可以配置多个,以支持多个不同的子目录,如下所示: <?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-files-path name="sharedata" path="shareData/"/> <external-files-path name="sharedata2" path="shareData2/"/> </paths> [代码]paths[代码]内部还支持节点配置其他的路径,比如: [代码]files-path[代码],对应于 [代码]Context.getFilesDir()[代码] 获取到的目录[代码]cache-path[代码],对应于 [代码]Context.getCacheDir()[代码] 获取到的目录 ...还有一些其他可配置的路径,开发者可自行了解使用。 2. 使用FileProvider接口将路径通过FileProvider的接口转换成[代码]content://URI[代码]形式,示例如下: public void shareToWechat(Context context) { // ... String filePath = context.getExternalFilesDir(null) + "/shareData/test.png"; // 该filePath对应于xml/file_provider_paths里的第一行配置:,因此才可被共享 File file = new File(filePath); String contentPath = getFileUri(context, file); // 使用contentPath作为文件路径进行分享 // ... } public String getFileUri(Context context, File file) { if (file == null || !file.exists()) { return null; } Uri contentUri = FileProvider.getUriForFile(context, "com.example.app.fileprovider", // 要与`AndroidManifest.xml`里配置的`authorities`一致,假设你的应用包名为com.example.app file); // 授权给微信访问路径 context.grantUriPermission("com.tencent.mm", // 这里填微信包名 contentUri, Intent.FLAG_GRANT_READ_URI_PERMISSION); return contentUri.toString(); // contentUri.toString() 即是以"content://"开头的用于共享的路径 } 微信版本支持OpenSDK版本:必须大于或等于 5.4.3 版本,建议开发者升级至最新版本 5.5.8微信版本:当且仅当通过 IWXAPI.getWXAppSupportAPI() 接口获取到的值 >= 0x27000D00,才能支持FileProvider的方式进行分享。示例代码如下:private IWXAPI api; // api的初始化这里省略 public void shareToWechat(Context context) { // ... if (checkVersionValid(context) && checkAndroidNotBelowN()) { String filePath = context.getExternalFilesDir(null) + "/shareData/test.png"; File file = new File(filePath); String contentPath = WXOpenSDKFileProviderHelper.getFileUri(context, file); // 使用contentPath作为文件路径进行分享 // ... } else { // 使用原有方式传递文件路径进行分享 // ... } } // 判断微信版本是否为7.0.13及以上 public boolean checkVersionValid(Context context) { return api.getWXAppSupportAPI() >= 0x27000D00; } // 判断Android版本是否7.0及以上 public boolean checkAndroidNotBelowN() { return android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N; } 详细参考 OpenSDK 消息分享文档:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Share_and_Favorites/Android.html 微信团队 2020年03月31日
2020-03-31 - 517我要吃开播须知
来咯,来咯!各位视频号创作者,517全民吃货节,它来咯!在吃货最爱的节日里,视频号即将在5月15日至5月17日推出【我要吃】特别活动,不管你是休闲小零食,还是街边烧烤,不管你是美酒佳肴,还是家乡特产,只要是好吃的,就赶紧带上你的美食,开始直播吧! 一、活动主题:517我要吃 二、活动时间预热期:2021年5月10日至14日,通过短视频、公众号等渠道预热宣传; 正式期:2021年5月15日至5月17日 11点至24点,自由选择开播时间,建议单场时间不低于2个小时。 三、活动玩法 1、预热宣传:从5月10日至5月17日,每日发布不少于1条短视频,带上话题 #517我要吃并@微信时刻 @微信创作者 发布的内容必须跟美食相关; 2、传播蓄能:将拍好的短视频通过微信群、朋友圈、公众号、小程序等渠道进行宣传推广,提前抢占用户心智,让用户预约5月15至5月17日期间的直播; 3、直播准备:准备好15至17日的直播主题、脚本、道具,提前进行直播彩排,好的内容需要好的呈现; 4、正式直播:5月15日至5月17日期间,把准备好的内容按照计划进行直播;直播内容必须跟美食相关;优质的直播内容将会获得正式期活动专属tab【我要吃】曝光机会;👇 [图片] 四、注意事项1、直播内容方向 直播带货、家常菜、地方特产、美食烹饪、探店打卡、街边烧烤、户外海鲜等优质内容; 2、开播分类选择: 参与活动的主播请选择【购物-我要吃】分类进行直播,选择这个分类开播的主播将有机会在【我要吃】tab曝光; 3、开播封面和标题: 好的开播封面和标题将会影响用户的点击,一定要写个好的开播标题和设计个漂亮的直播封面;封面比例:9:16; 4、开播位置: 建议选择自己的门店地址,让更多的用户了解你。 5、创建直播预告: 在发起短视频的时候创建15日-17日的直播预告,预约的用户越多,直播的效果越好哟; 6、节约粮食人人有责,请勿为了短视频或直播的效果浪费粮食,否则将会受到平台的处罚; 7、直播玩法: 建议开播时候可以使用平台抽奖、红包等玩法,可上架类似5.17、51.7等特惠限量商品抢购; 8、直播时长: 建议单场直播时长不低于2个小时; 9、开播指南: 更多直播攻略指南,请查看:直播介绍。 [图片] 五、Q&AQ1:只卖厨具,不直播美食内容能不能入选我要吃tab? A:不行的,我要吃活动需要直播美食类的内容,不能是纯厨具内容展示。 Q2:活动需要提前报名吗? A:本次活动不需要报名,5月10号在微信视频号搜索:微信时刻 即可参与预热期活动,5月15-17号视频号直播选择【购物-我要吃】即可参与本次活动,优质内容将有机会展现在【我要吃】活动tab上。 Q3:活动哪些人可以参与? A:品牌、达人、门店都可以参与。 Q4:活动期间有流量支持嘛? A:符合主题的优质内容有机会进入【我要吃】独立tab曝光展示。 [图片] 扫码进入官方互动群了解更多活动信息
2021-05-11 - 「笔记」服务商快速创建小程序开通云开发踩坑(更新)
「笔记」服务商快速创建小程序开通云开发踩坑 在上一篇文中提到通过服务商快速创建的小程序无法给5个以上同主体小程序开通云开发环境的问题,如今通过官方最新版开发者工具已经成功解除限制。 首先我们看一下最新的官方公告内容如下: [图片] 开通流程: [图片] [图片] [图片] [图片] 总结: 这个改动对于使用云开发的服务商来说是在是太给力了,但是近期云开发也默默调整了新开通的云开发的免费配额,对于有多少人还愿意开通云开发目前可能需要考虑一下。 附: 旧的免费配额: [图片] 新的免费配额: [图片]
2021-02-25 - 关于红包封面审核,可信时间戳认证是否能作为著作权证明?
[图片] 虽然没有直接的作品登记证书,但是可信时间戳认证也足以证明著作权的归属问题,但是在红包封面审核时,为什么提供了可信时间戳认证,却还是不通过,难道非要提供作品登记证书才行吗?那证明材料的说明上面为何要写的那么模糊,审核执行起来却又直接了断?
2021-04-30 - 为什么我只能注册一个公众号?
我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限我之前注册了一个微信公众号最近被封禁了,等我重新注册的时候一直提示当前身份证关联的公众号已达个数上限
2021-01-02 - 小商店带货能力
该课程为手机端个人店后台—小商店“带货”能力的操作指引。 将会为你解答,如何添加带货商品?如何进行带货商品管理?如何查看带货佣金及订单管理?如何提现带货佣金及管理银行卡? 更多带货能力信息请查看带货教程专区。 [图片][图片] 更多资讯,欢迎到【交流专区】微信小商店主页发帖和寻找答案。
2021-01-25 - 【微信支付新人必读】智慧的提问,快速的解答
写在开头 在技术社区里,你技术提问的解答情况,很大程度上取决于你提问的方式与解决此问题的难度。 智慧的提问就是好的提问习惯和好的提问规范的结合,它能让你事半功倍。至少在微信支付社区,它是真实成立的 如果您没有时间读完全文,请务必读完微信支付社区提问智慧 首先来看一下,微信支付社区的智慧提问法则: 微信支付社区提问智慧 好的提问习惯 如果你有以下几个提问习惯,能直接解决大部分你想问的问题~ [代码]1. 尝试在搜索框中搜索答案; 2. 尝试阅读相关官方文档以找到答案; 3. 尝试阅读FAQ以找到答案; 4. 尝试自己检查或试验以找到答案; [代码] 好的提问规范 好的提问规范,能在最快的解决让你得到最优效的解答~ [代码]请用陈述句准确描述问题 1. 标题定位到微信支付具体业务,比如:支付分、代金券、普通支付、合单支付等; 2. 50+字详细准确描述问题的症状: 3. 包含必要的错误信息、期待的结果; 4. 包含必要的截图或代码等细节; 5. 请描述已经尝试过的方法。 [代码] 如果期望得到微信支付技术支持,请参考以下模板:(有敏感信息可私信提供) [代码]1. 请求的具体API接口(提供文档地址和请求的URL): 2. 问题发生时间【必填】 3. 商户号【必填】: 4. 商户订单号【必填】: 5. 相关报错信息文案: 6. 完整的请求和返回参数以及单号: 7. 问题截图或视频: 8. 已经尝试过的方法: [代码] 如果你已做了上述事情,我们会非常乐意回答比较规范的优质提问,也会在最快的时间推送到支持组进行针对性的回答。 当然为了维持社区的内容质量,无效提问(空泛、偏离技术讨论、软文传播、推广引流等内容),我们也有有权进行删除处理。 下面跟着大家看一下通用的技术社区提问智慧,仅供参考~ 通用技术社区提问智慧 量不在多,精炼则灵 简单的将一大堆代码或数据罗列在求助信息中达不到目的。如果你有一个很大且复杂的测试样例让程序崩溃,尝试将其裁剪得越小越好。 描述问题而不是猜测 提问中描述是什么导致了问题是没用的(如果你的诊断理论是对的,或许你就不会来这儿咨询求助了?)。所以,确保只要描述问题的原始症状,而不是你的解释和理论,让社区名人或官方支持来解释和诊断。如果你认为陈述自己的猜测很重要,应清楚地说明这只是你的猜测并描述为什么它们不起作用。 错误的示范: 我在XX时遇到了YY错误,怀疑是ZZ原因,这个问题怎么解决? 智慧的提问: 我组装的电脑(电脑信息)最近在开机20分钟左右,做内核编译时频繁地报SLG11错,但在开头20分钟内从不出问题,重启动不会复位时钟,但整夜关机会。更换所有内存未解决问题,相关的典型编译会话日志附后。 按时间先后罗列问题症状 刚出问题之前发生的事情通常包含有解决问题最有效的线索。所以,问题描述中尽可能的描述在问题出现之前都做了什么。在命令行处理的情况下,有会话日志(如运行脚本工具生成的)并引用相关的若干(如 20)行记录会非常有帮助。 提问应明确 漫无边际的问题通常也被视为没有明确限制的时间无底洞。最有可能给你有用答案的人通常也是最忙的人(假如只是因为他们承担了太多工作的话),这些人对于没有止境的时间无底洞极其敏感,所以他们也倾向于不太喜欢那些漫无边际的问题。 如果你明确了想让回复者做的事(如指点方向、发送代码、检查补丁或其它),你更有可能得到有用的回复。(因为)这样可以让他们集中精力并间接地设定了他们为帮助你需要花费的时间和精力上限。 结语 提问的智慧就是一个敲门砖,它会让你了解到一个事实,为什么那些看起来很牛的人几乎从不提问,似乎他们一进入这个行业就是牛人了。不是的,他们也有问题,但是通常在提问之前就自己解决了;不是因为他们本来就懂得怎么解决,而是解决问题的经历让他们成为牛人;最终,你只会看到网络上多了一篇文章:关于解决 某某 问题的方案。 最后,祝你在微信支付开发的路上,早日晋升为大神~希望未来有一天,您也能将在社区得到的帮助回馈给更多需要帮助的“微信支付新人”。
2020-11-12 - 手把手教你注册小程序-个体户篇
手把手教你注册小程序-个体户篇 今天有机会注册了一个个体户的小程序,主要参考了下面的文章 参考文章 1)(个体户)注册公众平台步骤? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/0004487e99c4b894c3799f88f51809 2)小程序主体上限? - 微信开放社区 https://developers.weixin.qq.com/community/develop/doc/000eae51efc8001deb2aac1e85b809 在刚开始注册的时候,主要纠结的地方在于,个体户是个人还是企业,通过参考上面文章很容易得到答案
2020-11-12 - 小程序代码前端混淆学习记录
群里有不少帖子提到小程序代码被扒,被复制上架的,当然作为我来讲是不必要有这种担心,因为我的小程序还没有到这种爆款的程度, 那么这个问题对我而言,也不能不防备,近期我在考虑这块,给手里的几个小程序加下前端的代码压缩和混淆 参考了不少资料,大部分方案都是推荐一下插件 https://gulpjs.com/ https://www.npmjs.com/package/gulp-uglify 有没有在这块有经验的, 我回头会截图几张前端压缩过的代码具体长什么样? [图片] 备注 我其实看过不少前端代码混淆的小程序项目,这种简单的混淆对于一个较真的开发同学而言是没有太多作用的,
2020-11-11 - 0代码量让你的小程序出错时发微信消息通知你
昨晚一位给我微信留言碰到类似的问题,我感觉可以用这个方法。 直接入主题: 说的是利用小程序后台的开发->运维中心里面的监控报警功能实现当小程序脚本发生错误时自动发送报警信息到你的微信上的功能 在社区经常看到各位抱怨体验版正常,开发者工具正常,线上版本却没有数据之类的话题,其实这里可能的原因之一就是小程序内部脚本出错了。如果你的小程序编码没有做容错处理(这个要详细说可以说一整天),那就会导致出错后的代码无法正常运行,这样反映在界面上就可能是白屏,没有数据,或者数据不全导致界面错位等等一系列想象不到的问题。 使用本方法生效后小程序运行出错报警到微信的效果截图: [图片] 所以,监控小程序运行过程中运行出错很利于小程序的运维工作。官方早就为我们想好了,提供了一个用来监控错误并报警的平台。只是很多人没有好好利用起来。小编从去年开始接触小程序用了将近1年时间了,老实说为我解决了不少问题。使用教程,如图登陆小程序后台后按1,2,3,4,5,6步就好了: [图片] [图片] 这里有个小技巧,人工制造错误代码来监控后端接口异常报警: 比如有个场景要求后端接口出错时能快速通知到微信上,那就可以在小程序里调用该接口的地方,接口返回数据异常时,故意调用一个不存在的JS函数,比如,下单失败接口出错了,在接口返回fail的情况下写上 throw_NewOrderError();实际上throw_NewOrderError并不存在的,这个时候会让小程序故意产生脚本错误并通知到你的微信。 还有一个业务和性能监控报警也是很有用的,比如监控后端接口性能,数据渲染时间,这个对整个小程序产品的品控很有用,比如要求高频后端接口必须在300ms以下的性能要求,当达不到这个性能的时候就会发送报警。 [图片] 这个大家也可以深挖下功能,除了报警还能提供详细的统计数据。当你的小程序产品日活超过5万时你会发现这个对你整个产品链的性能提升和业务监控是很有用的。这里点到为止。 社区的markDown编辑模式下图片无法上传,所以没用markDown来编辑,各位将就看吧。 PS:鉴于写的文章虽然看的人多但是无法入一些大佬的法眼,认为都是「水文,刷赞」等等一些恶毒字眼(最近多了个职业回复的「雅称」),各种帽子戴得,做一个开发爱好者积极分享和解决各种问题太难了,姑且不论咱写一篇文章需要截图多少,单单排版就得废掉俺多少时间哈,很受伤,所以本人决定在微信开放者社区封笔。你看到是俺最后一篇发表在微信开放社区的文章。如果你想继续查看俺的一些文章可以私聊我。我会在其他平台保持继续创作。bye-bye~
2020-09-04 - 避免分包加载引起的页面重复打开问题
你有经历过在小程序里进行页面跳转时页面被重复打开的情况吗? 如果有的话您可以继续往下看。 随着我们业务的拓展,功能的增加小程序包体变大,我们不得不使用小程序分包来解决首屏加载问题。 在解决问题的时候,必将会引起另一些问题,比如: 小程序启动之后,用户通过按钮打开未访问过的分包路由页面,跳转时由于分包加载数据会耗时,界面上的元素仍然可以响应用户的操作,如果用户不小心或由于焦急重复点击按钮后,按钮的事件处理函数就会随着点击重复执行,页面会被重复打开好几次。 但一旦页面被加载过,跳转是非常快的,就很难出现重复点击的情况。 例如在下面路由配置中 { "subPackages": [ { "root": "pages/index/", "pages": [ "index" ] }, { "root": "pages/post/", "pages": [ "details", "list", ] } ] } 我们给首页的Page里添加一个点击事件来跳转到我们的文章页面 handleArticleTap(e){ const pid = e.currentTarget.dataset.pid; consturl =`pages/post/details?pid=${pid}; wx.navigateTo({url}); } 我们打开页面 pages/index/index 来访问小程序的首页,首页上存在一些推荐文章的链接按钮,用户可通过这些按钮来查看我们的文章。 在实际情况中,我们偶尔会观察到诡异的现象:我们的文章页面被重复打开了。 用户首次通过点击跳转按钮来跳转到pages/post/details?pid=1 时,pages/post/details 页面未被小程序框架加载,页面会处于假死状态,在Android上可以明显的看到系统显示【模块加载中】 这样的提示。 重复打开页面会给用户带来不必要的麻烦。 解决这个问题,那就是上锁 wx.navigateTo 给我们提供了一个success接口,我们的处理函数可以稍作修改就解决这个问题? handleArticleTap(e){ if (this.handleArticleTapLock){ return; } this.handleArticleTapLock=true; const pid = e.currentTarget.dataset.pid; const url =`pages/post/details?pid=${pid}; wx.navigateTo({ url, success()=>{ this.handleArticleTapLock=false; } }); } 文档上并没有描述success的触发时机,然后我就亲手试了一下,发现果然不行哦。 页面还没被打开navigateTo就success了!! 那我们就试试通过Page的onShow生命周期上锁: onShow(){ this.handleArticleTapLock=false; }, handleArticleTap(e){ if (this.handleArticleTapLock){ return; } this.handleArticleTapLock=true; const pid = e.currentTarget.dataset.pid; const url =`pages/post/details?pid=${pid}`; wx.navigateTo({ url }); } 这下只能点一下了,除非页面退回来,点再多下都不管用。
2020-01-07 - 获取用户信息方案介绍
背景 小程序一个比较重要的能力就是获取用户信息,也就是使用 [代码]wx.getUserInfo[代码] 接口。我们发现几乎所有的小程序都会调用这个接口。虽然我们在设计文档上有提出最好的设计是在真正要用户信息的情况下才去获取用户信息,不过很多开发者并没有按照我们的期望去做,导致用户在使用的时候有很多困扰。 归结起来有几点: 开发者在首页直接调用 [代码]wx.getUserInfo[代码] 进行授权,弹框有会使得一部分用户放弃小程序的使用。 开发者没有处理用户拒绝弹框的情况,有部分小程序强制要求用户授权头像昵称等信息才能继续使用小程序。 用户没有很好的方式重新授权,虽然在前几个版本我们增加了[代码]设置[代码]页面可以让用户选择重新授权,但是操作还是不够便捷。 开发者希望进到首页就获取到用户的[代码]unionId[代码],以便和之前已经关注了公众号的用户画像关联起来。 开发者默认将 [代码]wx.login[代码] 和 [代码]wx.getUserInfo[代码] 绑定使用,这个是由于我们一开始的设计缺陷和实例代码导致: [代码]getUserInfo[代码]必须通过[代码]wx.login[代码] 在后台生成[代码]session_key[代码] 后才能调用。 为了解决以上几点,我们更新了三个能力: 使用组件来获取用户信息,用户拒绝授权后也可以重新弹窗再次授权 若用户满足一定条件(下文有详细介绍),则可以用[代码]wx.login[代码] 获取到的code直接换到[代码]unionId[代码] [代码]wx.getUserInfo[代码] 不依赖 [代码]wx.login[代码] 就能调用得到数据。 获取用户信息组件介绍[代码][代码] 组件变化: [代码]open-type[代码] 属性增加 [代码]getUserInfo[代码] :用户点击时候会触发 [代码]bindgetuserinfo[代码] 事件。 新增事件 [代码]bindgetuserinfo[代码] :当 [代码]open-type[代码] 为 [代码]getUserInfo[代码] 时,用户点击会触发。可以从事件返回参数的[代码]detail[代码]字段中获取到和[代码]wx.getUserInfo[代码] 返回参数相同的数据。 示例: [代码]<[代码][代码]button[代码] [代码]open-type[代码][代码]=[代码][代码]"getUserInfo"[代码] [代码]bindgetuserinfo[代码][代码]=[代码][代码]"userInfoHandler"[代码][代码]> Click me </[代码][代码]button[代码][代码]>[代码]和 [代码]wx.getUserInfo[代码] 不同之处在于: API [代码]wx.getUserInfo[代码] 只会弹一次框,用户拒绝授权之后,再次调用将不会弹框 组件 [代码][代码][代码][代码] 由于是用户主动触发,不受弹框次数限制,只要用户没有授权,都会再次弹框 直接获取unionId考虑很多场景下,业务方申请userinfo授权主要为了获取unionid。我们鼓励开发者在不骚扰用户的情况下合理获得unionid,而仅在必要时才向用户弹窗申请使用昵称头像。为此,凡使用“获取用户信息组件”获取用户昵称头像的小程序,在满足以下全部条件时,将可以静默获得unionid。 在微信开放平台下存在同主体的App、公众号、小程序。 用户关注了某个相同主体公众号,或曾经在某个相同主体App、公众号上进行过微信登录授权。 getUserInfo 和 login很多开发者会把login和getUserInfo捆绑调用当成登录使用,其实login已经可以完成登录,可以建立账号体系了,getUserInfo只是获取额外的用户信息。 在login获取到code,然后发送到开发者后端,开发者后端再通过接口去微信后端换取到openid和sessionKey(并且现在会将unionid也一并返回)之后,然后把3rd_session返回给前端,就已经完成登录行为。而login行为是静默,不必授权的,不会对用户造成骚扰。 getUserInfo只是为了提供更优质的服务而存在,比如展示头像昵称,判断性别,通过unionId和其他公众号上已有的用户画像结合起来提供历史数据。所以不必在刚刚进入小程序的时候就强制要求授权。 推荐使用方法调用[代码]wx.login[代码] 获取[代码]code[代码],然后从微信后端换取到[代码]sessionKey[代码],用于解密[代码]getUserInfo[代码]返回的敏感数据。 使用[代码]wx.getSetting[代码] 获取用户的授权情况 如果用户已经授权,直接调用 API [代码]wx.getUserInfo[代码] 获取用户最新的信息 用户未授权,在界面中显示一个按钮提示用户登入,当用户点击并授权后就获取到用户的最新信息。 获取到用户数据后可以进行展示或者发送给自己的后端。 文档中的quickStart已经更新 特别注意为了给用户提供更好的小程序环境,我们约定在一段时间后(具体时间会做通知),若还出现以下情况(包括但不限于),将无法通过审核 初次打开小程序就弹框授权用户信息 未处理用户拒绝授权的情况 强制要求用户授权 已经上线的小程序不会受到影响。 FAQ Q: 除了 UserInfo 呢,比如说位置信息 --- ’风の诺言 . A: 其他授权信息不像用户信息那么高频繁,也基本是在使用时候才申请授权,所以没有同 UserInfo 一起给出。我们会先看看 UserInfo 的使用情况再结合具体场景我们会给出相应的方案 Q: 后台要维护用户信息 --- Azleal 我们的小程序业务是功能都需要授权才能使用的(也就是必须拿到unionid获取用户信息) --- elemeNT 我在小程序与服务号的数据需要互通,通过unionId来确定用户的唯一性,如果在用户进入小程序后不强制他授权,单凭一个openid来存储他的用户数据,在用户下次从服务号进入时。不就会产生重复数据吗?就没做到数据互通了 --- ﺭ并向你吐了趴口水ﺭ五年. 另外看到官方提到 要强制推行,我想说我们目前所有用户是通过unionid注册的。那么这些用户就不得不使用 openid重新登录 、注册一遍。更重要的是,之前他们的相关数据都会对应不上(因为你们也不允许强制用户登录授权) --- 羊毛 现在这种方案,不能满足我们的需求,我们的小程序,必须一进入就要获取他的信息,然后加载他的数据; --- 韩文 A: 调用`wx.login`已经可以获取到用户的登录态,已经可以做用户账号的管理。 UserInfo 中带的 UnionId 是额外的信息,没有它完全可以完成登录 对于需要和开发平台绑定的业务进行数据互通的情况,一个新用户进来没有互通数据的情况下也是可以体验到所有业务,那么对于没有授权unionId的用户,可以将其当成是新用户,当真正授权unionId之后再做绑定完全是可以的 Q: 我需要确保用户的唯一性,这样就必须取unionID,否则用户删除了小程序,或者换了设备, 下次再进来这个小程序,该用什么来区分是上次来过的用户呢?? --- WEI+ A: 如果你本身没有其他公众号、App、小程序,那么也就没必要拿到unionid,因为unionid是打通你在开放平台下所有应用的标识 如果只有一个小程序,用 openid 足以, openid 是一个用户对于一个小程序的标识,永远不变 Q: wx.getUserInfo 是网络请求,如果使用了 open-type = "getUserInfo",是否每次点击都会调接口? --- SouthernBox A: 是的,open-type="getUserInfo" 的作用以及内部实现基本和 wx.getUserInfo 一样 区别是一个开发者主动(拒绝一次不再弹窗),一个是用户主动(拒绝任意次都可以重新弹窗) Q: 比如有一个创建按钮,用户点击一次授权了,我已经获取到用户信息,再次点击就没必要再调用 getUserInfo 去网络请求了。 --- SouthernBox A: 可以参考文中 quickStart 的做法,如果已经授权了,那就可以把按钮隐藏,之后的授权直接用API wx.getUserInfo 调用(因为已经授权,所以也不会弹窗),用户也不会再点了 Q: 小程序是不是必须要用微信自带的授权才可以登录 ,能否不使用授权方式登录,用自己系统的api接口数据实现?这个会不会涉及到审核不过的问题??麻烦解答一下 谢谢了。 --- WEI+ A: 自己做登录不会涉及到审核问题。 不过不建议在没有原有账号体系的情况下让用户在小程序内注册,过重的行为会损失用户。 Q: 在小程序中有一个"我的"页面,这是属于会员页,如果用户要进入这个页面就必须授权。交互方式就是在用户未授权情况下整个页面只显示一个授权获取用户信息的button 按钮,这个需要用户自己去触发,算不算强制授权? --- ﺭ并向你吐了趴口水ﺭ五年. A: 强制授权是说如果用户如果不授权基本信息,连最基础的浏览功能都不提供(当然这个也是要分具体的业务场景,不会限制得太死板) 可以有更好的交互,参考下主流App,在未登录的时候点击【我的】页面,也不会直接要求登录,而是展示了一定的页面结构,同时给一个登录按钮(例如【携程】【京东】等),之后再在这个页面做操作的话可以弹一个登录页面或按钮提示用户登录是完全可以的。 上述所说的登录只是用户感知上的登录,从业务逻辑上用户其实在 wx.login 的时候已经完成登录了。 Q: 看了很多评论,有些人还是不知道为什么官方要这样做,我作为一个商家角度来说下。 --- Mr.J 1. 比如我们要做一些户外推广的二唯码,用户只看到了你的图片宣传单,扫描二唯码一打开就提示“需要获取你的个人信息,您是否允许”,你不要当自己是开发者当自己是一个正常人,看到这个提示我相信很多人的第一反应就是拒绝。如果第一步已经把你拒之门外,谈何营销? 2. 没有小程序之前,我们在公众号有很多用户,都绑定了unionid,有小程序之后我们考虑怎么让用户接受小程序,可以静默登录我觉得非常好,从公众号过来的用户可以直接就登录了,没有任何提示,完美的对接,这是一个很好的体验。 A: 说得很好,我们的这些改造不仅是为了开发者,同时也是为了这个生态下的用户考虑。希望开发者们也能站在用户的角度去思考怎么做一个产品。 Q: 我不明白为什么login 给多个unionid 为什么不行? unionid也不能算是个人信息吧,给多个unionid可以更方便开发者,而且很多情况下就不用调用getUserInfo了 --- candyTong 我们提个建议,能否直接开放unionid呢?这样也许会有许多小程序不需要再弹窗了。既一定程度保障了用户体验,也照顾到了我们开发者的体验。 --- 羊毛 A: 如果直接开放了unionid,就会出现这种情况:当你作为一个用户进入一个小程序,这个小程序并没要求你授权就直接把你的头像昵称显示出来(它之前把unionId对应的头像昵称都存了下来),但是这个小程序主体(open平台主体和公众平台主体并不相同)相关的任何一个应用你从来没用过,你会不会觉得很奇怪并且很不舒服,觉得自己在微信内的用户信息没有丝毫的保障? Q: 那有推荐的比较好的例子么?对于必须使用用户头像、昵称这些信息的小程序而言 --- 亚里士朱德 A: 首先,没有什么逻辑是一定要使用用户的头像、昵称才能work的。对于这个case,完全可以先用默认头像、匿名昵称先做替代,用户点击默认头像后就可以弹出授权信息,非常的水到渠成。 Q: 之前看了这个帖子一直在思考,如果是一进去需要回去用户的地理位置信息显示到地图上的呢?这样算不算是一进去就弹窗授权获取用户信息? --- 吴俊绩🤔 A: 地图的情况和获取用户信息不同,我们目前还没对地图的授权请求有所调整。当前不受上述策略的影响 Q: 对于开发者而言,小程序与公众号是同级的,只是不同的入口 但是这样的设计,公众号与小程序成了主从关系咯 --- log琥珀① A: 并无什么主从关系,只是多一个渠道让开发者可以更方便的获取到已经是该主体下用户的unionId
2017-08-07 - 插件引用wx.requestSubscribeMessage is not a function ?
在插件中引用语wx.requestSubscribeMessage时报如下的错误,请尽快解决。 thirdScriptError wx.requestSubscribeMessage is not a function;at api request success callback function TypeError: wx.requestSubscribeMessage is not a function [图片]
2019-10-23 - 社区每周 | 云开发新增自定义数据库读写权限及告警能力、上周社区问题反馈(11.18-11.22)
各位微信开发者: 以下是上周小程序相关能力更新及我们在社区收到的问题反馈、需求的处理进度,希望同大家一同打造小程序生态。 小程序·云开发新增自定义数据库读写权限的能力小程序·云开发新增自定义前端数据库读写权限的能力。通过自定义规则,开发者可以精细化的控制集合中所有记录的读、写权限,系统会自动拒绝不符合安全规则的前端数据库请求,保障数据安全。基于该能力,开发者可以: 1.灵活自定义集合记录的读写权限:获得比基础的四种基础权限设置更灵活、强大的读写权限控制,让读写权限控制不再强制依赖于 _openid 字段和用户 openid 2.防止越权访问和越权更新:用户只能获取通过安全规则限制的用户所能获取的内容,越权获取数据将被拒绝 3.限制新建数据的内容:让新建数据必须符合规则,如可以要求权限标记字段必须为用户 openid 开发者可通过下载最新 Nightly 版开发者工具体验功能。详细功能介绍请参考文档 《数据库安全规则》。 [图片] 小程序·云开发新增自定义告警能力为了方便开发者及时发现小程序运行过程中发生的异常,小程序·云开发新增自定义告警能力。开发者可以通过告警指标、统计周期、比较条件、持续周期和告警频率等参数的自由组合灵活地配置所需的告警规则。 开发者可通过下载最新 Nightly 版开发者工具体验功能。详细功能介绍请参考文档 《告警设置》。 [图片] 上周问题反馈和处理进度(11.18-11.22)已修复的问题腾讯提醒服务的问题 查看详情 为什么之前云开发可以用,突然就不能用了 查看详情 管理后台小程序插件配置服务器域名,无法添加多个域名的问题 查看详情 微信小店商品无法正常上下架的问题 查看详情 下个基础库修复scroll-view 滚动过程中无法点击 scroll-view 以外的区域的问题 查看详情 canvas 多次调用clip,iOS 端渲染结果有误的问题 查看详情 canvas 的 restore 会改动之前创建的路径位置的问题 查看详情 canvas 的变形操作在安卓和 iOS 表现不一致的问题 查看详情 修复中的问题picker 限制问题 查看详情 wx.onPageNotFound or App.OnPageNotFound 无法触发的问题 查看详情 华为 p10 中用微信打开 H5 页面,点击 select 下拉框,弹出的软键盘导致 H5 页面有空白的问题 查看详情 安卓机websocket 断网重连失败,报exception onOpen fail code:2 的问题 查看详情 小米多种input输入框 切换焦点时,键盘弹出有问题 查看详情 扫码进入小程序后退出再进入后不执行 lottie-miniprogram 的问题 查看详情 小游戏提审代码时服务器 -202报错的问题 查看详情 部分安卓机型调用同声传译插件疑似失效,报30008和30011错误的问题 查看详情 微信后台报错信息 undefined 如何定位具体位置的问题 查看详情 请问 iOS 小游戏闪退的问题 查看详情 小游戏发布在 iOS 上发现 drawcall 数据特别高,RenderBatch 不高的问题 查看详情 wx.sendSocketMessage 发送数据丢失空字符\x00 的问题 查看详情 安卓端可以显示图片,苹果端则时有时无的问题 查看详情 主包进独立分包,在独立分包分享后的再次 app onShow 中的参数里scene值为 null 的问题 查看详情 关于video组件是否自带黑边的问题 查看详情 告警群后台只报出 undefined undefined 的问题 查看详情 问一下分享图有时候会出现模糊的问题 查看详情 视频播放控件和测滑返回会冲突的问题 查看详情 微信小程序在安卓微信7.0.8下连 websocket 报错的问题 查看详情 获取图文群发总数据(getarticletotal) 的问题 查看详情 安卓微信7.0.9内测版,调用 wx.getImageInfo 加载同一图片多次会失败的问题 查看详情 使用推荐组件,竖屏游戏跳转横屏概率卡死的问题 查看详情 微信同声传译,语音转文字,打开调试可以使用关闭调试就不能使用的问题 查看详情 Mac开发工具相关的问题 查看详情 每次销毁视频广告都报错的问题 查看详情 需求反馈跟进迭代中安卓蓝牙提供改变 MTU 大小的接口的需求 查看详情 需求评估中普通 api 支持Promise风格的需求 查看详情 onShareAppMessage 支持 base64 的需求 查看详情 小程序样式切换动态主题皮肤的需求 查看详情 开放平台提交审核接口建议增加测试账号字段的需求 查看详情 强烈建议小程序添加重启功能的需求 查看详情 开发者工具的调试窗口如何设置停靠在窗口的左边或右边的需求 查看详情 小程序支持 svg 标签的需求 查看详情 wx.chooseVideo 开放在小游戏中的需求 查看详情 订阅消息弹窗相关的需求 查看详情 增加一个审核通过后定时发布的功能的需求 查看详情 关于开放社区需要优化的几点建议 查看详情 微信小程序支持录制短视频的同时在上面叠加烟花特效的需求 查看详情 希望官方能够重视小程序文档的建设,补全小程序开发文档的需求 查看详情 每日公众号图文数据能获取在看数的需求 查看详情 关于小程序开发能力的需求 查看详情 建议增加全局配置 HomeButton 选项的需求 查看详情 微信团队 2019.11.29
2019-11-29 - 原生组件的层级(我知道目前来说,原生组件层级是最高的)
想问下前几个月微信公开课中提到的,说小程序的原生组件将实行同步加载,可以解决层级最高的问题。 这个解决方案什么时候能出来呀,做地图方面的应用时,是真的很操蛋很操蛋。 另外,社区的版面经常更新,啥时候编辑器能支持下markdown语法呢,书写排版不都更美观了嘛。。 现在的代码块没有缩进乱七八糟的没有可读性,看着都累。
2018-10-25 - 微信创业者案例征集活动
8月19日,微信和10家媒体合作伙伴、6家腾讯大网一起,在全国范围内“寻找微信创业者”。 也许你听说过他们的故事。 在北京,盲人按摩师李鑫阳在小程序上开始了一天的工作;>>点击阅读 在上海,小程序开发者Terry还在和“垃圾分类”作斗争;>>点击阅读 在广州,公众号创始人Blake依旧保持着随时随地打开电脑开始写稿的习惯;>>点击阅读 在新疆,阔什塔格村第一个微信收款的摊主麦麦提艾力又卖出去几个新鲜的玉米馕;>>点击阅读 也许你就是他们。 在公众号上持续生产内容的人,使用小程序创造服务的人,在微信支付背后打造智慧生活的人,不断为微信生态赋予价值的人……你们都是微信里的创业者。 新中国成立70周年,微信创业者的脚印始终踩在国家发展的大脚印中。他们把自己的故事和时代的故事,用微信连接在一起。 现在我们想记录更多奋斗故事。 [图片] 你可以讲讲别人的故事。你的身边的微信创业者因何机缘,和微信生态产生了什么样的联系,创造着什么样的价值?你可以讲讲自己的故事。你和微信从何时结缘,你的人生在这里发生了什么样的变化?欢迎自荐或推荐。 我们将对被选中线索的故事进行官方采访和记录,并为线索提供者发放精美微信纪念品一份。 征集案例要求 1. 创业内容需符合国家法规; 2. 创业内容与微信生态有关联,创业者身份包括但不限于小程序开发者和运营者、微信公众号运营者、微信支付商户、微信生态服务商、微信表情设计师、微信社群运营者等; 3. 创业故事具备社会正能量,能够为人们精神财富和积极力量,或对地区经济发展、科技创新形成带动作用; 4. 创业阶段和创业规模不限。 征集时间 8月19日——8月25日 征集入口 请为我们讲一个关于微信创业者的故事(点击进入) 征集邮箱 weixinchuangyezhe@qq.com 邮箱提交示例 王AA,21岁,电话135XXXX2222,微信号XXXX身份特征:微信公众号XXX创始人与运营者故事简介:300字以内 媒体合作伙伴 [图片]
2019-08-21