蓝色星雪
蓝色星雪
  • 发布:2019-08-11 13:22
  • 更新:2019-09-05 23:14
  • 阅读:6520

使用API uni.checkSession编译失败,提示checkSession不存在

分类:uni-app

TS2339:Property 'checkSession' does not exist on type 'Uni'.
[HBuilder] 13:11:53.104 8:8 Property 'checkSession' does not exist on type 'Uni'.
[HBuilder] 13:11:53.105 6 | onLaunch() {
[HBuilder] 13:11:53.121 7 | console.log('App Launch')
[HBuilder] 13:11:53.141 > 8 | uni.checkSession({
[HBuilder] 13:11:53.143 | ^
[HBuilder] 13:11:53.158 9 | success() {
[HBuilder] 13:11:53.159 10 | console.log('用户登陆状态未过期')
[HBuilder] 13:11:53.173 11 | },
[HBuilder] 13:11:53.175 ERROR Build failed with errors.

在uniapp代码里使用uni.checkSession发布到微信小程序时,编译窗口提示Property 'checkSession' does not exist on type 'Uni',看官方文档不是说1.6以上版本就支持吗?虽然我不清楚我的项目依赖的uniapp版本号是多少,但我的项目已经用yarn upgrade更新过了,为什么还会编译失败提示没有checkSession?

2019-08-11 13:22 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

已经修复,更新@dcloudio/types即可

  • 蓝色星雪 (作者)

    效率真高,那正好我再提一个,还是typescript的问题

    API接口uni.createMapContext应该是带参数的,types里面这个函数定义的是没有参数的

    2019-08-16 22:26

  • 蓝色星雪 (作者)

    另外还有AppInstance,这里是不是应该定义一个全局变量globalData的声明(https://uniapp.dcloud.io/use-weex?id=vue-%E5%92%8C-nvue-%E5%85%B1%E4%BA%AB%E7%9A%84%E5%8F%98%E9%87%8F%E5%92%8C%E6%95%B0%E6%8D%AE)

    还是说typescript下使用globalData有其他方式?

    2019-08-16 22:29

  • DCloud_UNI_GSQ

    回复 蓝色星雪: 已经修复,更新@dcloudio/types即可

    2019-08-17 12:38

  • 蓝色星雪 (作者)

    回复 DCloud_UNI_GSQ: OK,谢了

    2019-08-17 14:45

  • 2***@qq.com

    回复 蓝色星雪: 怎么更新@dcloudio/types呢?

    2020-12-07 11:13

  • 2***@qq.com

    回复 DCloud_UNI_GSQ: 怎么更新@dcloudio/types呢?

    2020-12-07 11:14

DCloud_UNI_FXY

DCloud_UNI_FXY

测试未发现该问题,可以上传一个简单示例

  • 蓝色星雪 (作者)

    问题的原因我幸运的找到了,我的代码使用TS编写,代码在src的APP.vue中,代码如下:

    import Vue from 'vue';

    export default Vue.extend({

    mpType: 'app',


        onLaunch() {  
    console.log('App Launch')
    uni.checkSession({
    success(){
    console.log('checkSession success')
    console.log(arguments)
    },
    fail(){
    console.log('checkSession failed')
    console.log(arguments)
    }
    })
    }
    });

    经测试,原因出自@dcloudio/types包,包中的uni-app/uni.d.ts文件中少了checkSession的声明,自己手工添加后编译就通过了


    这个算BUG吧,我应该去哪里提交一下?

    2019-08-16 20:02

y***@163.com

y***@163.com - uni小白

大哥 ,文档怎么不更新啊 ,不看到这个,还以为不存在呢 !!

  • DCloud_UNI_GSQ

    是说这个吗?https://uniapp.dcloud.io/api/plugins/login?id=unichecksession

    2019-09-10 16:47

该问题目前已经被锁定, 无法添加新回复