那些小程序的坑

最近在看小程序,顺便自己也做了一下啊,发觉小程序坑真的蛮多的。

一、关于授权登录wx.login()

我想要一个手机授权登录的登录方式,但是因为是个人认证,appid没有这种权限。wx.login()针对非个人认证的小程序开发,当创建小程序项目时,用的是个人认证的appid时,则可以利用wx.login()获得一个有效的code,但是在用户确认授权登录时使用getPhotoNumber时会提示该appid没有权限。无法获取相应的信息——iv和encryptedData。

而如果我们创建项目时使用的是小程序的测试号时,利用wx.login()和getPhotoNumber时能获取以上信息,但是当我们把code传给后台时,后台无法使用code获取openid等信息。原因是,我们用测试号是获取的code不能用我们自己的appid和appSecret向微信进行访问,此时会提示code无效。

二、关于.JS文件中的对象数组。

/**
*.js文件
*/
Page({
  data: {
    list: [
      {
        name : "Lilith",
        sex : "girl",
        age : "20"
      },
      {
        name : "Tony",
        sex : "boy",
        age : "30"
      }
    ]
  },
  onLoad: function(){
      console.log(this.data.list[0].name);
      let name = "list[" + 0 + "].name";
      this.setData({
        [name]: "Json"
      }),
        console.log(this.data.list[0].name);
  }
})

控制台显示的结果是:

如果只是访问对象数组中对象的属性值,可以直接用“this.data.数组名[数组下标].属性名”,而要修改它的值,则要先进行赋值:let name = "数组名[" + 数组下标 + "].属性名",然后再用[name]进行赋值。

三、关于.JS文件中的对象

/**
*.js文件
*/
Page({
  data: {
    people: {
        name : "Lilith",
        sex : "girl",
        age : "20"
      }
  },
  onLoad: function(){
      console.log(this.data.people.name);
      let name = "people.name";
      this.setData({
        [name]: "Json"
      }),
      console.log(this.data.people.name);
  }
})

控制台显示的结果:

小程序在访问data里面的对象时,可以直接用“this.data.对象.属性名”,而修改值,则需要先进行赋值:let name = "对象.属性名",然后再对[name]进行赋值。

四、关于顶部导航栏

当顶部导航栏需要滑动时,会有一个灰色的滚动条,有时候我们并不需要,这是我们可以使用下面的代码把它去掉。

<!--.wxss-->
::-webkit-scrollbar{
  width: 0;
  height: 0;
}

五、关于前后台交互

关于数据传输,前后台传输数据都以json字符串进行传输,前台接收后台传输的数据时,需要把数据转化为json对象,可以利用JSON.parse()把json字符串转化为json对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值