小程序云函数发起http请求
2019-10-24 本文已影响0人
忆枫_heartill
1、新建名为http的云函数并在http云函数目录下安装got。
npm install --save got
2、编辑index.js
cloudfunctions:http/index.js
// 云函数入口文件
const cloud = require('wx-server-sdk')
const got = require('got'); //引用 got
let appid = '';
let secret = '';
cloud.init()
// 云函数入口函数
exports.main = async(event, context) => {
let { js_code } = event; // 获取传过来的参数
let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + js_code + '&grant_type=authorization_code';
let postResponse = await got(url, {
method: 'GET', //post请求
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
})
})
return JSON.parse(postResponse.body)
}
3、调用云函数
// 调用云函数发起http请求
wx.cloud.callFunction({
name: 'http',
data: {
js_code: res.code
},
success: res => {
console.log(res)
wx.showToast({
title: '登录成功',
icon: 'none',
duration: 2000
})
},
fail: err => {
wx.showToast({
title: '登录失败',
icon: 'none',
duration: 2000
})
}
})
4、返回session_key、openid等信息