关于node.js:nodejs与微信小程序后台数据库的交互1获取accesstoken

51次阅读

共计 1835 个字符,预计需要花费 5 分钟才能阅读完成。

微信小程序提供了后盾数据库 API 接口,怎么实现用网页读取和编辑后盾数据呢?之前看的 vue-element-admin 太简单了改起来很麻烦,尝试看下用 node.js 是不是简略些,因为是零根底,所以很多问题都要从头钻研。

1、node.js 装置
https://www.runoob.com/nodejs…
留神设置零碎 path 门路

2、最简略的 node.js 程序运行
https://www.runoob.com/nodejs…
是挺有意思的,能够间接创立一个 server

3、写一个获取微信后盾 accesstoken 的服务页面

// token.js
const http = require('http');
const request = require('request');
var urltool = require('url');  
var querystring = require('querystring');

const hostIp = '127.0.0.1';
const apiPort = 6060;
const data={
 appid:"wx4$%#%#%#",// 你的微信小程序的 appid
 secret:"@##¥¥……¥##R¥",// 你的微信小程序的 appsecret
 grant_type:"client_credential",
 env:"^%$#^@^" // 你的微信小程序的环境参数
};
// 创立 API 代理服务
const apiServer = http.createServer((req, res) => {console.log("***************************************")
  console.log('[ 申请] 来自 ='+req.url);
  if(req.url=="/"){getAccessToken(res)
  }
});
// 监听 API 端口
apiServer.listen(apiPort, hostIp, () => {console.log('代理接口,运行于 http://' + hostIp + ':' + apiPort + '/');
});
function getAccessToken(res){
  const url='https://api.weixin.qq.com/cgi-bin/token?appid='+data.appid+'&secret='+data.secret+'&grant_type='+data.grant_type;
  request({
    url: url,// 申请门路
    method: "GET",// 申请形式,默认为 get
    headers: {// 设置申请头
        "content-type": "application/json",
    },
    body: JSON.stringify(data)//post 参数字符串
}, function(error, response, body) {if (!error && response.statusCode === 200) {
      // 编码类型
      res.setHeader('Content-Type', 'text/plain;charset=UTF-8');
      // 容许跨域
      res.setHeader('Access-Control-Allow-Origin', '*');
      // 返回代理内容
      console.log("返回数据:"+body)
      res.end(body);
    }
 });
}

所有的第三方程序拜访微信后盾数据都须要这个 token。
appid 和 appsecret 可在微信小程序公众服务平台里查看,env 在微信开发者工具里查看。

const request = require('request');

这句后盾报错的话,阐明 request 没有装置,能够应用命令行

cnpm install request

在 node.js 服务页面目录下进行装置,装置目录是 node_modules。

在命令行下运行

node token.js

关上浏览器拜访 127.0.0.1:6060,如果返回相似上面的数据阐明 OK 啦
{“access_token”:”41_dFK6kealVld7JJ7J_UKFCecesrsws3-4OIOe8aGIOpPe43ycCAv0IE2ZWIwa9T833FRlkLz31IjKLa8bExWtWQfbpWR9d1zdjnf7Ek1_Wy_KXT2oSpoi_SDKnIQmoRkowg7syV57aEeZOb_OHUMhAGAXKC”,”expires_in”:7200}

正文完
 0