Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@wecom/cloudbase-framework-plugin

Package Overview
Dependencies
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@wecom/cloudbase-framework-plugin

云开发 CloudBase Framework 框架「企业微信第三方应用」插件:通过云开发 [CloudBase Framework](https://github.com/TencentCloudBase/cloudbase-framework) 框架将企业微信第三方应用一键部署到云开发环境。

  • 0.3.0-alpha.12
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

Tencent CloudBase Framework Wecom Service Plugin

云开发 CloudBase Framework 框架「企业微信第三方应用」插件:通过云开发 CloudBase Framework 框架将企业微信第三方应用一键部署到云开发环境。

开始使用

在云开发配置文件 cloudbaserc.json 中写入插件配置

{
  "envId": "{{envId}}",
  "framework": {
    "plugins": {
      "wecom": {
        "use": "@wecom/cloudbase-framework-plugin",
        "inputs": {
          "token": "{{env.WECOM_TOKEN}}",
          "encodingAESKey": "{{env.WECOM_ENCODING_AES_KEY}}",
          "suiteList": [
            {
              "suiteId": "{{env.WECOM_SUITE_ID}}",
              "suiteSecret": "{{env.WECOM_SUITE_SECRET}}"
            }
          ]
        }
      }
    }
  }
}

随后创建 .env 配置文件

# 第三方应用 ID
WECOM_SUITE_ID = xxx

# 第三方应用 Secret
WECOM_SUITE_SECRET = xxx

# 回调 Token
WECOM_TOKEN = xxx

# 回调 EncodingAESKey
WECOM_ENCODING_AES_KEY = xxx

配置完成后,通过 tcb deploy 把相关服务部署到云开发环境

tcb deploy wecom

插件会在环境上部署第三方应用相关的云函数和数据库,开发者可以通过 SDK 访问

const tcb = require('@cloudbase/node-sdk')
const wecom = require('@wecom/cloudbase-framework-plugin-node-sdk')

const app = wecom.init({
  cloudbase: tcb.init({ env: tcb.SYMBOL_CURRENT_ENV }),
})

exports.main = async event => {
  const suiteAccessToken = await app.getSuiteAccessToken({ suiteId })
  console.log(suiteAccessToken)
}

配置说明

providerId

服务商企业 ID,在调用 getProviderAccessToken 时必填,若不调用该接口可以忽略

providerSecret

服务商 ProviderSecret,在调用 getProviderAccessToken 时必填,若不调用该接口可以忽略

token

第三方应用 Token

encodingAESKey

第三方应用 EncodingAESKey

suiteList

第三方应用列表

callbackEntry

默认 /ww-callback

自定义回调路径

customCallbackFunction

自定义回调函数,在插件解密企业微信回调消息后会把消息明文传给指定云函数,没有可不填

debug

默认 false

开启 debug 模式,输出调用日志

云函数

ww-callback

企业微信回调入口,默认部署到 /ww-callback 路径,管理员需要把该 URL 配置成应用的指令回调 URL

ww-task-prune-session

清理数据库中过期的 cookie 登录态数据,需要配置为定时任务

ww-action

封装企业微信常用能力,开发者可以通过云函数方式调用

const { result } = await app.callFunction({
  name: 'ww-action',
  data: {
    name: 'getSuiteAccessToken',
    data: { suiteId }
  }
})
console.log(result.suiteAccessToken)

对 node.js 环境,也可以通过 node-sdk 方便调用

const tcb = require('@cloudbase/node-sdk')
const wecom = require('@wecom/cloudbase-framework-plugin-node-sdk')

const app = wecom.init({
  cloudbase: tcb.init({
    env: tcb.SYMBOL_CURRENT_ENV
  })
})

const suiteAccessToken = await app.getSuiteAccessToken({
  suiteId
})
console.log(suiteAccessToken)
getProviderAccessToken

获取服务商凭证

返回说明

参数类型说明
providerAccessTokenstring服务商凭证
getSuiteAccessToken

获取第三方应用凭证

参数说明

参数类型必填说明
suiteIdstring第三方应用 ID

返回说明

参数类型说明
suiteAccessTokenstring第三方应用凭证
getAuthInfo

获取企业授权信息

参数说明

参数类型必填说明
suiteIdstring第三方应用 ID
corpIdstring授权方企业 ID

返回说明

参数类型说明
permanentCodestring企业永久授权码
agentIdnumber授权方应用 ID
getCorpAccessToken

获取企业凭证

参数说明

参数类型必填说明
suiteIdstring第三方应用 ID
corpIdstring授权方企业 ID

返回说明

参数类型说明
corpAccessTokenstring企业凭证
getCorpJSAPITicket

获取企业的 jsapi_ticket

参数说明

参数类型必填说明
suiteIdstring第三方应用 ID
corpIdstring授权方企业 ID

返回说明

参数类型说明
corpJSAPITicketstring企业 jsapi_ticket
getAgentJSAPITicket

获取应用的 jsapi_ticket

参数说明

参数类型必填说明
suiteIdstring第三方应用 ID
corpIdstring授权方企业 ID

返回说明

参数类型说明
agentJSAPITicketstring应用 jsapi_ticket
createSession

消费 OAuth code 并记录成员和登录态,见 获取访问用户身份

参数说明

参数类型必填说明
suiteIdstring第三方应用 ID
codestringOAuth code

返回说明

参数类型说明
sidstringSession ID
userInfoObject用户信息,见 WWUserInfo
responseObjectOpen API 响应数据,见 获取访问用户身份
createTimestring创建时间戳
accessTimestring最后访问时间戳
createQRCodeSession

消费扫码登录 OAuth code 并记录成员和登录态,见 获取登录用户信息

参数说明

参数类型必填说明
codestringOAuth code

返回说明

参数类型说明
sidstringSession ID
userInfoObject用户信息,见 WWUserInfo
responseObjectOpen API 响应数据,见 获取登录用户信息
createTimestring创建时间戳
accessTimestring最后访问时间戳
addSession

记录新登录态

参数说明

参数类型必填说明
openUserIdstring对服务商全局唯一的用户 ID
corpIdstring用户所属企业 ID
userIdstring企业内的用户 ID

返回说明

参数类型说明
sidstringSession ID
timestampnumber创建时间戳
getSession

获取登录态

参数说明

参数类型必填说明
sidstringcreateSession 返回的 sid

返回说明

参数类型说明
sessionObject登录态信息

session 包含数据

参数类型说明
sidstringSession ID
userInfoObject用户信息,见 WWUserInfo
createTimestring创建时间戳
updateTimestring最后访问时间戳
deleteSession

删除登录态

参数说明

参数类型必填说明
sidstringcreateSession 返回的 sid
setUser

记录用户信息

参数说明

参数类型说明
openUserIdstring对服务商全局唯一的用户 ID
corpIdstring用户所属企业 ID
userIdstring企业内的用户 ID
getUser

获取用户信息

参数说明

参数类型必填说明
openUserIdstringcreateSession 返回的 openUserId

返回说明

参数类型说明
userInfoObject用户信息,见 WWUserInfo
deleteUser

删除用户

参数说明

参数类型必填说明
openUserIdstringcreateSession 返回的 openUserId
request

调用企业微信 Open API 接口

参数说明

参数类型必填说明
namestring需要请求的 API 名称
querystring请求 query 参数
bodystring请求 body 参数
methodstring请求方法,默认为 GET,有传入 body 时为 POST

Collections

ww-provider-access-token

服务商凭证

ww-suite-ticket

第三方应用 ticket

ww-suite-access-token

第三方应用凭证

ww-auth-info

企业授权信息

ww-corp-access-token

企业凭证

ww-corp-jsapi-ticket

企业 jsapi_ticket

ww-agent-jsapi-ticket

应用 jsapi_ticket

ww-user

用户信息

FAQs

Package last updated on 11 Dec 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc