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

  • 相关阅读:
    UVALive 6909 Kevin's Problem 数学排列组合
    UVALive 6908 Electric Bike dp
    UVALive 6907 Body Building tarjan
    UVALive 6906 Cluster Analysis 并查集
    八月微博
    hdu 5784 How Many Triangles 计算几何,平面有多少个锐角三角形
    hdu 5792 World is Exploding 树状数组
    hdu 5791 Two dp
    hdu 5787 K-wolf Number 数位dp
    hdu 5783 Divide the Sequence 贪心
  • 原文地址:https://www.cnblogs.com/chaohangz/p/9924666.html
Copyright © 2011-2022 走看看