前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序那点事儿(必看&踩坑&实用&解决BUG)------持续更新(2)

微信小程序那点事儿(必看&踩坑&实用&解决BUG)------持续更新(2)

作者头像
我只会写Bug啊
发布2023-12-25 14:53:47
2760
发布2023-12-25 14:53:47
举报
文章被收录于专栏:Bug EngineerBug Engineer

wx.getSystemInfo(Object object) & Object wx.getSystemInfoSync()

我们可以根据上边两个API获取系统信息 e.g. pixelRatio(设备像素比) screenWidth(屏幕宽度) locationAuthorized(允许微信使用定位的开关) bluetoothEnabled(蓝牙的系统开关) locationEnabled(地理位置的系统开关) wifiEnabled(wifiEnabled) 但是这两个方法有个共同的问题是 在真机调试的情况下,不能实时更新返回的信息 e.g. 点击按钮 获取 手机地理位置的系统开关 来判断是否提示用户打开GPS 如果在真机调试的情况下 手动打开关闭手机中的位置开关 点击按钮得到的结果并不会根据手机的状态进行更新 则不能达到你想要的效果,此时可以直接预览 打开调试 进行测试即可

onShareAppMessage 分享

小程序中可以借用这个原生方法实现将内容分享到微信群或者个人的功能 该方法监听了用户点击页面内转发按钮(button 组件 open-type=“share”)或右上角菜单“转发”按钮的行为,并自定义转发内容

字段

说明

默认值

title

转发标题

当前小程序名称

path

转发路径

当前页面 path ,必须是以 / 开头的完整路径

imageUrl

自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4

使用默认截图

值得注意的是: 为了美观以及传播的效果 我们通常不会使用默认截图,有些会使用自定义图片,这时候添加自定义的url即可 但是很多时候我们希望达到更好的效果,需要动态生成该图片,图片上显示页面中的一些数据和内容, 这时候就需要我们在小程序里边拿到数据之后去动态生成图片 这时候就需要

wx.createCanvasContext 绘制Canvas

wx.canvasToTempFilePath 把当前画布指定区域的内容导出生成指定大小的图片。在 draw() 回调里调用该方法才能保证图片导出成功

获取图片信息。网络图片需先配置download域名才能生效

wx.getImageInfo(Object object)

需要此接口是因为CanvasContext.drawImage 也就是所要绘制的图片资源(假如是网络图片要通过 getImageInfo / downloadFile 先下载)

一定要注意!! onShareAppMessage是个同步方法,在异步回调里返回分享信息是获取不到的, 也就是说你需要在点击分享之前就把你需要的数据和图片 获取/生成 完毕 才能return出去~ 之后我会单独开一篇文章专门细讲一下小程序如何动态生成图片作为分享的封面图,敬请期待,现在有问题的小伙伴请在此评论哈~

setNavigationBarColor 不起作用?

这里应该是小程序文档不健全的问题 setNavigationBarColor 中backgroundColor参数的有效值为十六进制颜色 并且应该为小写!!!!!!

小程序中如何清除持久化数据

我们经常会用到wx.setStorageSync()或者wx.setStorage去处理持久化数据 需要清除数据的时候我们就要注意啦!! 小程序中清除持久化数据有两个API

wx.removeStorage(Object object) 从本地缓存中移除指定 key

wx.clearStorage(Object object) 清理本地数据缓存 我自己就是有一次误用了clearStorage 将本地所有的持久化数据都清除了 所以要注意咯!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • wx.getSystemInfo(Object object) & Object wx.getSystemInfoSync()
  • onShareAppMessage 分享
  • setNavigationBarColor 不起作用?
  • 小程序中如何清除持久化数据
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档