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

2019-10-21  本文已影响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);
      })
上一篇下一篇

猜你喜欢

热点阅读