New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.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.1.11
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
25
increased by316.67%
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}}"
        }
      }
    }
  },
  "hooks": {
    "postDeploy": {
      "type": "callFunction",
      "functions": [
        {
          "functionName": "ww-action",
          "params": {
            "name": "setSuiteSecret",
            "data": {
              "suite_id": "{{env.WECOM_SUITE_ID}}",
              "suite_secret": "{{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

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

const tcb = require('@cloudbase/node-sdk')
const app = tcb.init({ env: tcb.SYMBOL_CURRENT_ENV })

exports.main = async event => {
  const { result } = await app.callFunction({
    name: 'ww-action',
    data: {
      name: 'getSuiteAccessToken',
      data: { suite_id: process.env.MY_SUITE_ID }
    }
  })
  console.log(result.suite_access_token)
}

配置说明

providerID

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

providerSecret

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

token

第三方应用 Token

encodingAESKey

第三方应用 EncodingAESKey

callbackEntry

默认 /ww-callback

自定义回调路径

customCallbackFunction

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

sessionExpirationTime

默认 7200000

cookie 登录态的过期时间(毫秒)

云函数

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: { suite_id: process.env.MY_SUITE_ID }
  }
})
getProviderAccessToken

获取服务商凭证

返回说明

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

获取第三方应用凭证

参数说明

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

返回说明

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

获取企业授权信息

参数说明

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

返回说明

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

获取企业凭证

参数说明

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

返回说明

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

获取企业的 jsapi_ticket

参数说明

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

返回说明

参数类型说明
corp_jsapi_ticketstring企业 jsapi_ticket
getAgentJSAPITicket

获取应用的 jsapi_ticket

参数说明

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

返回说明

参数类型说明
agent_jsapi_ticketstring应用 jsapi_ticket
createSession

消费 OAuth code,记录登录态信息

参数说明

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

返回说明

参数类型说明
sidstringSession ID
suite_idstring第三方应用 ID
device_idstring手机设备号
user_infoObject用户信息
create_timestring创建时间戳
access_timestring最后访问时间戳
ticket_infoObject成员票据信息,scope 为 snsapi_userinfo 或 snsapi_privateinfo,且用户在应用可见范围之内时返回

user_info 包含数据

参数类型说明
corp_idstring用户所属企业 ID
user_idstring用户在企业内的用户 ID
open_useridstring对服务商全局唯一的用户 ID

ticket_info 包含数据

参数类型说明
user_ticketstring成员票据
expires_innumberuser_ticket 的有效时间(秒)
getSession

获取登录态信息

参数说明

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

返回说明

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

session 包含数据

参数类型说明
sidstringSession ID
suite_idstring第三方应用 ID
device_idstring手机设备号
user_infoObject用户信息
create_timestring创建时间戳
access_timestring最后访问时间戳

user_info 包含数据

参数类型说明
corp_idstring用户所属企业 ID
user_idstring用户在企业内的用户 ID
open_useridstring对服务商全局唯一的用户 ID
deleteSession

删除登录态信息

参数说明

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

获取用户信息,在 createSession 中记录

参数说明

参数类型必填说明
open_useridstringcreateSession 返回的 open_userid

返回说明

参数类型说明
user_infoObject用户信息

user_info 包含数据

参数类型说明
corp_idstring用户所属企业 ID
user_idstring用户在企业内的用户 ID
open_useridstring对服务商全局唯一的用户 ID
deleteUser

删除用户信息

参数说明

参数类型必填说明
open_useridstringcreateSession 返回的 open_userid
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-session

用户登录态

ww-user

用户信息

FAQs

Package last updated on 05 Nov 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