0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 小程序

快速知悉1.地理位置接口新增与相关流程调整公告

发表时间:2023-09-09 10:53:58

文章来源:炫佑科技

浏览次数:227

菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技

快速知悉1.地理位置接口新增与相关流程调整公告

快点知道

1.添加地理位置接口及相关流程调整

点击查看关于新增地理位置接口及相关流程调整的公告。

1.1 新增地理位置界面说明

由于精准地理位置接口只允许某些类别的小程序申请使用,为了让开发能够在更多场景下使用地理位置接口,从基础库2.25.0版本开始(预计6月发布) 2022 年 2 月 28 日),新收购模糊地理定位接口 (wx.)。 同时,为了保护用户的合法权益,调用该接口前需要申请接入激活。 该接口的访问规则与wx.

wx。 接口说明:

该接口返回模糊经纬度坐标;

该接口支持返回两种类型的坐标:wgs84或gcj02;

该接口需要用户授权范围。

1.2 app.json 配置指南

为了让开发能够正常使用模糊地理位置等接口快速知悉1.地理位置接口新增与相关流程调整公告,并优化以后的代码审核流程(参见“1.3地理定位接口使用流程”),从基础库2.25.0版本开始(预计2022年6月28日发布),开发在使用地理位置相关接口(共8个,见表1)时,需要提前在app.json中进行配置。

1.2.1 需要配置的接口列表

表格1

1.2.2 配置规则

1)开发需要在app.json的配置项中声明代码中用到的地理位置相关接口(共8个,见表1)。 代码格式如下:

2)表1中,模糊位置信息(序号1)和精确位置信息(序号2-5)是互斥的,即如果声明了模糊位置信息,则不能声明精确位置信息。 如果同时声明模糊位置信息和精确位置信息,编译代码时会出错;

3)注意:对于基础库2.25.0版本之后发布的小程序(预计2022年6月28日发布),如果app.json中没有声明表1中的相关接口,小程序将调用这些接口(表1)会出现错误,基础库版本2.25.0之前发布的小程序不受影响;

4)对于第三方开发来说,上传代码时需要通过参数在ext.json中声明需要调用的地理位置相关接口。 配置规则与普通小程序相同。

1.3 接口使用流程

预计从2022年6月28日开始,*新版本发布后,如果开发需要使用地理位置相关接口,除了完成接口权限激活外,还需要配置app.json(或ext.json) ), 如下:

1.3.1 接口权限激活

以下6个接口需要完成接入激活过程:wx.、wx.、wx.、wx.、wx.、wx.

1)普通开发:需要在“小程序管理后台-”开发”-”开发管理”-”接口设置”中完成权限申请;

2)第三方开发:可以通过ace接口完成权限申请。

1.3.2 app.json(或ext.json)配置

1)普通开发:需要在app.json中声明需要调用的地理位置相关接口。 具体配置过程参见《1.2 App.json配置指南》;

2)第三方开发:上传代码时,需要通过参数在ext.json中声明自己需要调用的地理位置相关接口(配置方式:通过接口配置)。

同时,为了提升开发体验,平台将在代码审查过程中协助开发检测地理位置接口。 如果检测到代码中包含未完成接入激活的地理定位接口,平台将再次提醒开发确认是否需要使用。 相关接口。

1)普通开发:如果不需要使用,开发可以在评审时确认不使用该接口,然后就可以正常进行代码评审。 小程序审核通过并发布新版本后,平台将关闭小程序确认未使用的接口的使用权限;

2)第三方开发:如果不需要使用,可以在时通过参数声明不使用该接口(声明方式:可以通过接口配置),然后就可以正常进行代码 。 审核通过后,将在网上发布,并宣告否。 使用的接口已关闭,无法使用。

上述调整仅对所有小程序生效。

2.页面容器页面-

如果小程序在页面中进行复杂的界面设计(比如在页面中弹出半屏弹窗、在页面中加载全屏子页面等),用户会直接离开执行返回操作时返回当前页面,不符合用户的期望。 期望是关闭当前弹出的组件。 为此目的提供了“假页面”容器组件。 效果类似于弹出层。 当页面存储在容器中时,当用户执行返回操作时,容器被关闭,而不关闭页面。 返回操作包括右滑手势、物理返回键和调用界面三种情况。

防范措施:

点击查看页面容器官方教程

3. 获取更新的性能统计数据

点击查看官方文档更新性能统计数据

如果您想了解导致接口更新的成本,可以使用更新性能统计接口。 它将返回每次更新中发生主要更新步骤的时间戳,可用于粗略估计自定义组件(或页面)更新性能。 例如:

Component({
  attached() { // 调用时机不能早于 attached
    this.setUpdatePerformanceListener({withDataPaths: true}, (res) => {
      console.log(res)
    })
  }
})

该方法接受对象和回调函数作为参数。

其中,该对象包含以下字段:

是否返回变化的数据字段信息

返回携带一个res对象,代表触发的一个更新过程。 根据调用时机的不同,更新过程大致可以分为三类:

每次成功的调用都会生成一个更新过程微信接口小程序开发,从而引发回调。 然而,很难确定触发哪种类型的更新过程,并且更新性能的好坏与具体类型的更新没有必然的关系,只是它们的返回值参数不同。

防范措施:

4. 画布

该组件提供了一个绘图接口,可以在该接口上进行任何绘图。

旧版本小程序界面不再维护。 旧版本可以参考旧版本迁移指南进行迁移。

基本用法

第 1 步:在 WXML 中添加组件


<canvas id="myCanvas" type="2d" style="border: 1px solid; width: 300px; height: 150px;" >canvas>

首先您需要在 WXML 中添加组件。

为后续获取对象指定唯一标识符。

指定类型用于定义画布类型。 此示例使用 type="2d"。

第2步:获取对象和渲染上下文

wx.createSelectorQuery()
    .select('#myCanvas') // 在 WXML 中填入的 id
    .fields({ node: true, size: true })
    .exec((res) => {
        // Canvas 对象
        const canvas = res[0].node
        // 渲染上下文
        const ctx = canvas.getContext('2d')
    })

通过选择上一步,您可以获得该对象。

然后通过.,我们就可以获得渲染上下文。

后续的画布操作和渲染操作都需要通过这两个对象来实现。

第三步:初始化

wx.createSelectorQuery()
    .select('#myCanvas') // 在 WXML 中填入的 id
    .fields({ node: true, size: true })
    .exec((res) => {
        // Canvas 对象
        const canvas = res[0].node
        // 渲染上下文
        const ctx = canvas.getContext('2d')
        // Canvas 画布的实际绘制宽高
        const width = res[0].width
        const height = res[0].height
        // 初始化画布大小
        const dpr = wx.getWindowInfo().pixelRatio
        canvas.width = width * dpr
        canvas.height = height * dpr
        ctx.scale(dpr, dpr)
    })

宽高分为渲染宽高和逻辑宽高:

在不同的设备上,存在物理像素和逻辑像素不相等的情况,所以一般我们需要使用wx. 要获取设备的像素比,请将其乘以渲染尺寸,并将其用作画布的逻辑尺寸。

第四步:画图

在开发工具中预览效果

// 省略上面初始化步骤,已经获取到 canvas 对象和 ctx 渲染上下文
// 清空画布
ctx.clearRect(0, 0, width, height)
// 绘制红色正方形
ctx.fillStyle = 'rgb(200, 0, 0)';
ctx.fillRect(10, 10, 50, 50);
// 绘制蓝色半透明正方形
ctx.fillStyle = 'rgba(0, 0, 200, 0.5)';
ctx.fillRect(30, 30, 50, 50);

通过渲染上下文上的绘图API,我们可以在画布上进行任意绘制。

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多