美文网首页
微信小程序关于贝壳物联用户API调用

微信小程序关于贝壳物联用户API调用

作者: 渺渺兮余木 | 来源:发表于2019-10-21 13:09 被阅读0次

    一、微信小程序添加request-promise

    1.打开github官网
    2.搜索request-promise

    安装、使用说明
    3.打开微信小程序开发程序
    4.新建一个云函数
    5.在终端打开
    6.输入命令:
    npm install --save request
    npm install --save request-promise
    7.编写云函数程序

    二、使用贝壳物联API

    贝壳物联用户API

    1. 在贝壳物联用户中心→个人信息→开发者出点击成为开发者



      2.使用云函数获取授权码

    //云函数
    const cloud = require('wx-server-sdk')
    cloud.init()
    var rp = require('request-promise');
    var options = {
        method: 'POST',
        uri: 'https://www.bigiot.net/oauth/token?client_id=***&client_secret=***&username=***&password=***&grant_type=password',//id、password等数据不加引号
        body: {
        },
        json: true 
    };
    // 云函数入口函数
    exports.main = async (event, context) => {
        
        return rp(options)
            .then(function (res) {
                console.log(res)
                return res
            })
            .catch(function (err) {
                console.log(err)
            });
    }
    
    //js
        //获取授权码
        onlick: function () {
            wx.cloud.callFunction({
                // 要调用的云函数名称
                name: 'ivm',
                // 传递给云函数的event参数
                data: {}
            }).then(res => {
                console.log(res)
                this.setData({
                    access_token: res.result.access_token
                })
            }).catch(err => {
                console.log(err)
            })
        },
    

    2.获取用户信息

    //  云函数
     //获取用户信息
      if (event.type == 'userinfo') {
        var optionsuserinfo = {
          method: 'GET',
          uri: 'https://www.bigiot.net/oauth/userinfo?access_token=' + event.access_token,
          body: {},
          json: true
        }
        return rp(optionsuserinfo)
          .then(function (res) {
            console.log(res)
            return res
          })
          .catch(function (err) {
            console.log(err)
          });
      }
    
    // 获取用户信息
          wx.cloud.callFunction({
            // 要调用的云函数名称
            name: 'ivm',
            // 传递给云函数的event参数
            data: {
              type: 'userinfo',
              access_token: access_token
            }
          }).then(res => {
            console.log('获取用户信息成功')
            //json对象转成json字符串(同普通js中相同)JSON.stringify()
            //以下为json字符串转为json对象方法
            var str1 = unescape(res.result.replace(/\\/g, '%'))//解决Unicode编码问题
            var user_obj = JSON.parse(str1.trim())//解决Unexpected token  in JSON at position 0问题
            console.log("用户信息数据对象",user_obj)
          }).catch(err => {
            console.log('获取用户信息失败');
            console.log(err);
          })
    

    相关文章

      网友评论

          本文标题:微信小程序关于贝壳物联用户API调用

          本文链接:https://www.haomeiwen.com/subject/cjpcrctx.html