Skip to content

第三方集成

微信集成

init_wx_config

初始化微信 JSSDK。

语法:

js
init_wx_config(configKey, jsApiList, options, callBack)

参数:

参数名类型必填说明
configKeystring配置微信获取信息的 key,在 tokenmanage 服务器的数据库进行配置
jsApiListArrayAPI 列表(详细请参照微信文档)
optionsObject扩展参数
callBackFunction回调

options 参数说明:

参数名类型必填说明
is_agentboolean是否初始化企业微信
debugboolean打开调试模式

callBack 回调说明:

参数名类型说明
successFunction成功回调
errorFunction失败回调

说明:

初始化之后就可以用 window.top.wx 调用微信 API。

示例:

js
// 初始化微信 JSSDK
init_wx_config(
  "wechat_config_key",
  ['chooseImage', 'uploadImage'],
  {
    is_agent: true,
    debug: false
  },
  {
    getData: () => console.log("微信 JSSDK 初始化成功"),
    error: () => console.log("微信 JSSDK 初始化失败"),
    complete: () => console.log("微信 JSSDK 初始化完成")
  }
);

// 初始化成功后调用微信 API
window.top.wx.chooseImage({
  count: 1,
  success: (res) => console.log("选择图片成功", res)
});

check_oauth

用户虚拟用户页面(免登录页面)获取当前用户的唯一标识,例如:openid 或企业微信的 userid。

语法:

js
check_oauth(configKey, options)

参数:

参数名类型必填说明
configKeystring配置微信获取信息的 key,在 tokenmanage 服务器的数据库进行配置
optionsObject扩展参数

options 参数说明:

参数名类型必填说明
urlstring自定义鉴权后跳转回来的 url(默认当前页)
reloadboolean强制重新获取用户信息(清除缓存重新获取)
onlycheckboolean只检查(如果开启,不会跳转鉴权,之后从缓存里面读取)
scopestring授权方式,默认:先静默后全部,可选:snsapi_base(静默授权,只获取 OPENID)、snsapi_userinfo(获取其他信息)
cachemodestring用户信息缓存模式,local,session(默认)
timesnumber缓存过期时间(秒,local 模式使用)

返回值说明:

  • 普通微信返回数据,可以获取到 openid、用户昵称、头像等
  • 企业微信可以获取到用户的唯一标识 userid

说明:

如果需要获取用户的其他详细信息,可以拿 userid 和 user_ticket 到 get_qywx_user_info 方法获取(scope 为 snsapi_userinfo 才有 ticket)。

get_qywx_user_info

获取企业微信详细信息。

语法:

js
get_qywx_user_info(configKey, userId, userTicket, callBack)

参数:

参数名类型必填说明
configKeystring配置微信获取信息的 key,在 tokenmanage 服务器的数据库进行配置
userIdstring企业微信的 user_id
userTicketstring企业微信的 user_ticket
callBackFunction获取完回调

示例:

js
// 获取企业微信详细信息
get_qywx_user_info(
  "wechat_config_key",
  "user_id",
  "user_ticket",
  (res) => console.log("企业微信详细信息:", res)
);

qyapi_message_send

推送企业微信消息。

语法:

js
qyapi_message_send(config_key, wx_msg_body)

参数:

参数名类型必填说明
config_keystringtoken-manager 项目中相关应用的 config_key
wx_msg_bodyObject消息内容报文,参考企业微信官方文档

说明:

  • 消息内容报文可参考企业微信官方文档
  • agentid 无需传递,系统会自动传入。
  • 其他参数根据企业微信文档填写。

返回值:

返回参数与企业微信官方文档一致:

参数名说明
errcode返回码
errmsg对返回码的文本描述内容
invaliduser不合法的 userid,不区分大小写,统一转为小写
invalidparty不合法的 partyid
invalidtag不合法的标签 id
unlicenseduser没有基础接口许可(包含已过期)的 userid
msgid消息 id,用于撤回应用消息
response_code仅消息类型为"按钮交互型""投票选择型"和"多项选择型"的模板卡片消息返回,应用可使用 response_code 调用更新模板卡片消息接口,24 小时内有效,且只能使用一次

示例:

js
function qywx_push_msg() {
  var config_key = "SaleReport";
  var wx_msg_body = {
    "touser": "YouWeiBin|SuEnZe",
    "msgtype": "textcard",
    "textcard": {
      "title": "领奖通知",
      "description": "<div class=\"gray\">2016年9月26日</div> <div class=\"normal\">恭喜你抽中iPhone 7一台,领奖码:xxxx</div><div class=\"highlight\">请于2016年10月10日前联系行政同事领取</div>",
      "url": "URL",
      "btntxt": "更多"
    },
    "enable_id_trans": 0,
    "enable_duplicate_check": 0,
    "duplicate_check_interval": 1800
  };

  var data = qyapi_message_send(config_key, wx_msg_body);
  console.log(data);
}

基于 MIT 许可发布