更新于 

小程序开发

uniapp中使用echarts

在uniapp中使用echarts可以参考这一篇:
uniapp中使用threejs

uniapp中echarts.tooltip功能失效问题

问题描述

在uniapp中使用echarts时,
发现通过pc端通过click触发的tooltip在移动端不生效。

解决方法
  1. echarts 引入的时候,会优先判断当前的环境。
  2. 由于uni app 中有一个 ‘wx’ 全局变量污染了echarts中的 wx 变量,导致这里的判断直接走第一个,echarts 部分功能无法生效。

因此需要再main.js中,将全局变量重新赋值:

1
window.wx = {}

当然这会导致uni-app中的wx全局变量无效,
不过如果开发的不是wx环境下的程序, 应该不用担心这一点

uni-app 路由跳转

跳转到绝对路径

问题描述

uniapp中进行页面跳转时,使用如下方式跳转:

1
2
3
4
// 当前的路由为pages/manager/index
uni.navigatorTo({
url:'pages/error/AuthError'
})

跳转报错,错误信息提示路由跳转到了 pages/manager/index/pages/error/AuthError

解决方法

需要在uni路由跳转接口的url参数中用 / 斜杠开头:

1
2
3
uni.navigatorTo({
url:'/pages/error/AuthError'
})

斜杠开头后跳转成功。

钉钉小程序开发

钉钉免登报错

问题描述

开发钉钉H5微应用,
调用钉钉免登api报错,
调用的api是这个:

runtime.permission.requestOperateAuthCode

报错信息如下:

1
2
3
4
5
6
7
8
{
"method":"runtime.permission.requestOperateAuthCode",
"err":{
"errorMessage":"1002, 跳转的URL不是安全URL",
"errorCode":3
},
"success":false
}

沾点边的帖子:

解决方法

最后问题解决了,
不清楚怎么解决的,
最先我还以为是ip权限的问题,
最后后台告诉我他把key刷新了一下,就不报错了

最终免登用的是另外一个接口,获取小程序免登授权码用的:

钉钉免登报错(后续)

问题描述

钉钉免登成功之后,过了大概一个多月的一天,
测试突然反馈免登失效了,
报错信息如下:

1
dd error:["message"."权限校验失败 Code:52011-Message;jsapi ticket 读取失败""errorCode":3}
问题解决

官网有关jsapi ticket读取失败的原因解释:

根据官网的说法,经过排查后,发现原因是由于
放在后端的jsticket缓存时间过长导致过期

uv-ui

uv-tab实现横向滚动功能

问题描述

uv-tab横向滚动选项卡必须要通过切换tab页的方式,
不能通过拖拽直接滚动tab选项卡

将包裹tab-item的容器的scroll-y打开,
然后将滚动条隐藏即可

1
2
3
4
5
6
7
8
:deep .uv-tabs__wrapper__nav{
overflow-y: scroll;
&::-webkit-scrollbar {
width: 0;
height: 0;
background-color: transparent;
}
}