微信小程序之原生API(下)

微信小程序之原生API(下),第1张

第65篇

极客时间《9小时搞定微信小程序开发》第五课:原生API。

小程序API最后一部分,课程中没有详细去讲,因为当时开放的API还没有现在这么多,而且这部分API偏于后台控制,大多是后期逐步新增的。

wx.getUpdateManager 获取 全局唯一 的版本更新管理器,用于管理小程序更新

UpdateManager对象用来管理更新,有强制小程序重启并使用新版本、监听小程序版本更新事件等方法。

一些异步处理的任务,可以放置于 Worker 中运行,待运行结束后,再把结果返回到小程序主线程。Worker 运行于一个单独的全局上下文与线程中,不能直接调用主线程的方法。

Worker 最大并发数量限制为 1 个,创建下一个前需要结束当前 Worker;Worker 与主线程之间的数据传输,双方使用 Worker.postMessage()来发送数据,Worker.onMessage()来接收数据,传输的数据并不是直接共享,而是被复制的。

wx.reportMonitor,自定义业务数据监控上报接口,最多可以创建128个监控事件

监听或取消监听小程序切换前后台、错误事件

wx.canIUse:判断小程序的API,回调,参数,组件等是否在当前版本可用

绘图相关的API,主要是对CanvasContent对象的使用,实现各种颜色、线条、内容填充的控制

可以用以下几种方式来表示 canvas 中使用的颜色:

RGB 颜色: 如 'rgb(255, 0, 0)'

RGBA 颜色:如 'rgba(255, 0, 0, 0.3)'

16 进制颜色: 如 '#FF0000'

预定义的颜色: 如 'red'

其中预定义颜色有148个: 自定义颜色

调试开关和日志管理器的API,console可以向调试面板打印debug\error\info\log\warn共5类日志,logmanager最多保存5M的日志内容,超过5M后,旧的日志内容会被删除。

获取第三方平台的自定义的数据字段。小程序运营者可以一键授权给第三方平台,通过第三方平台完成业务。

第三方平台有单独的说明,参见: 第三方平台

创建 map 上下文 MapContext 对象,MapContext实现以下功能

对小程序框架中的路由控制进行扩充,实现关闭页面后返回或跳转到其他页面的 *** 作。

对小程序转发功能的控制,就是小程序右上角关闭按钮旁边3个小白点里的『转发』。

获取系统信息,主要包括以下信息:

设定或取消定时器,按照指定周期或在定时到期之后执行注册的回调函数

IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见

SelectorQuery,查询节点信息的对象

小程序开发框架提供的API变得越来越多,通过这些微信原生的API,可以快速方便的调用微信的能力,比如文件的控制、图片视频的控制、数据的缓存、微信支付等,从而实现更加复杂多样的业务。

微信小程序跳转的API

1、wx.navigateTo(obj)保留当前页面,跳转到应用内的某个页面

wx.navigateTo({ url: 'test?id=1' })

2、wx.redirectTo(OBJECT)关闭当前页面,跳转到应用内的某个页面。

wx.redirectTo({ url: 'test?id=1' })

3、wx.navigateBack(OBJECT)关闭当前页面,返回上一页面或多级页面

wx.navigateBack({ delta: 2 })

4、wx.switchTab(OBJECT)跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

wx.switchTab({ url: '/index' })

5、wx.reLaunch(OBJECT)关闭所有页面,打开到应用内的某个页面。

wx.reLaunch({ url: 'test?id=1' })

onShareAppMessage(Object object)

官网是这样说的

(一)在我们自己的项目内,对应的js文件中这样写,一般在生成小程序文件的时候默认会显示这样的语句:

那么,在我们小程序界面右上角菜单就会显示“转发”按钮:

(二)除了默认的方法外,我们还可以自定义转发的标题与内容,此事件处理函数需要 return 一个 Object,用于自定义转发内容:

实现:

(三)一般为了引导用户的转发,我们还会在界面上设置转发按钮,比如“分享给好友”

(按钮样式还是需要自己调整的)

这时候d出的内容则跟我们右上角菜单的“转发”行为一致。

官方Tips

1.不自定义转发图片的情况下,默认会取当前页面,从顶部开始,高度为 80% 屏幕宽度的图像作为转发图片。

2.转发的调试支持请查看 普通转发的调试支持 和 带 shareTicket 的转发

3.只有转发到群聊中打开才可以获取到 shareTickets 返回值,单聊没有 shareTickets

4. shareTicket 仅在当前小程序生命周期内有效

5.由于策略变动,小程序群相关能力进行调整,开发者可先使用 wx.getShareInfo 接口中的群 ID 进行功能开发。

6.微信7.0.12开始,支持群主转发小程序时同时把消息设为该群的群待办消息,群待办消息会以气泡形式出现在聊天窗口底部。默认每次转发一个群待办消息,都会生成一个待办消息气泡。通过 wx.updateShareMenu 接口修改 toDoActivityId 属性可以把多个待办消息聚合为同一个,即转发相同 toDoActivityId 的群待办消息,只会出现一个待办消息气泡。 toDoActivityId 需要在转发前通过 updatableMessage.createActivityId 接口创建。

(四)另外关于转发,官方还提供了其他几个API方法:

1)wx.updateShareMenu(Object object):更新转发属性

2)wx.showShareMenu(Object object):显示当前页面的转发按钮

3)wx.hideShareMenu(Object object):隐藏转发按钮

4)wx.getShareInfo(Object object):获取转发详细信息

最后这一个还没有理清楚,目前测试报错,后期理清了再来更新。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/11225940.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存