zoukankan      html  css  js  c++  java
  • Node.js 获取微信JS-SDK CONFIG

    背景

    前端在调用微信提供的分享、拍照、扫一扫等功能时需要到后台获取配置,主要是签名(signature)。Node 开发可以用朴灵大佬的SDK——co-wechat-api

    配置

    到微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。前提是该域名的项目目录下有微信提供的校验文件。如果需要本地调试或者测试环境调试,可以把IP白名单也顺便配置一下。

    开发

    实例化 WechatAPI 对象

    const WECHAT_API = new WechatAPI(
      appid,
      secret,
      get_access_token,  // function
      save_access_token,  // function 缓存 access_token
    );
    
    WECHAT_API.registerTicketHandle(
      get_js_api_ticket,  // function
      save_js_api_ticket,  // function 缓存 jsapi_ticket
    );
    

    注意jsapi_ticket 是公众号用于调用微信JS接口的临时票据。正常情况下,jsapi_ticket 的有效期为7200秒,通过 access_token 来获取。由于获取 jsapi_ticket 的api调用次数非常有限,频繁刷新 jsapi_ticket 会导致api调用受限,影响自身业务,开发者必须在自己的服务全局缓存 jsapi_ticket。同样的,access_token 有效期也是7200秒,同样需要全局缓存。

    缓存的函数就是简单的 JSON.stringify 后存入 redis 或其他数据库。

    调用

    const params = {
          debug: false,
          jsApiList: [],  // 需要获取的能力,由前端传入
          url: '',        // 申请能力并且在后台配置过的域名
    };
    ctx.body = await WECHAT_API.getJsConfig(params);
    

    接入多个微信公众号

    待我重构归来。。。。。。

    博客首发地址:https://www.jianshu.com/u/13cd86311525

  • 相关阅读:
    (转)linux书籍推荐
    (转)X Windows与GNOME,KDE的关系
    (转)学习Linux编程开发必读书籍
    (转)详解C中volatile关键字
    博客开张了
    VMware虚拟产品简介
    c++ eof()
    旋转矩阵
    VMware文件辨别
    Microsoft HTTPAPI/2.0 use Port 80 – 无法启动WAMP Apache
  • 原文地址:https://www.cnblogs.com/chaohangz/p/9924666.html
Copyright © 2011-2022 走看看