加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

关于openSetting通过tap的调用

发布时间:2020-12-14 19:51:15 所属栏目:资源 来源:网络整理
导读:div class="table_wrp" table class="table" cellspacing="0" thead class="thead"tr th class="table_cell"问题模块 th class="table_cell"框架类型 th class="table_cell"问题类型 th class="table_cell"API/组件名称 th class="table_cell"终端类型 th cl

</table>

-?当前 Bug 的表现(可附上截图)

官方说明了openSetting的调用是支持通过tap去触发showModal,再在showModal中调起的,但实际操作后,与说明的有出入。

由于实际开发中,为了方便授权,会将getSetting,showModal,openSetting封装于一个函数,方便检测权限并授权,但也应该是满足了以上说的在tap中触发的要求,但测试后,却还是显示如下提示

VM255:1 openSetting:fail can only be invoked by user TAP gesture.

-?预期表现

支持通过tap去触发showModal,再在showModal中调起openSetting

-?复现路径

导入代码片段(需填写appid,因为需要用到授权),如下操作:

1、点击授权,此时点击“取消”拒绝授权

2、再次点击授权,此时由于判断用户已经拒绝过授权,所以会去调用showModal显示确认授权框,此时点击”确定“,回去调用openSetting。这个时候见控制台,就会有如下提示

openSetting:fail can only be invoked by user TAP gesture.

-?提供一个最简复现 Demo

代码片段:wechatide://minicode/PrIPLomJ7222

- 结论及解决方案

经官方开发解答,由于封装的过程中使用了promise的方式去处理回调才导致的问题,改成直接普通的回调方式即可解决问题;

因此也就是原来的判断方式和流程不变,只需要修改一下回调方式即可。

解决后的代码片段:wechatide://minicode/wyAMUrmb7X2L

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

<div class="table_wrp">
<table class="table" cellspacing="0">
<thead class="thead"><tr>
<th class="table_cell">问题模块
<th class="table_cell">框架类型
<th class="table_cell">问题类型
<th class="table_cell">API/组件名称
<th class="table_cell">终端类型
<th class="table_cell">微信版本
<th class="table_cell">基础库版本
</tr>
<tbody class="tbody"><tr>
<td class="table_cell">API和组件</td>
<td class="table_cell">小程序</td>
<td class="table_cell">Bug</td>
<td class="table_cell">openSetting</td>
<td class="table_cell">工具</td>
<td class="table_cell">6.7.2</td>
<td class="table_cell">2.3.0</td>
</tr>

    推荐文章
      热点阅读