UNPKG

@tnwx/wxcp

Version:

TNWX 微信系开发脚手架之极速开发企业微信/企业号

125 lines 4.96 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const util = require("util"); const kits_1 = require("@tnwx/kits"); const accesstoken_1 = require("@tnwx/accesstoken"); /** * @author Javen * @copyright javendev@126.com * @description 成员管理,异步批量相关接口 */ class QySyncApi { /** * 增量更新成员 * @param mediaId 上传的csv文件的 mediaId * @param toInvite 是否邀请新建的成员使用企业微信 * @param callback 回调信息 * @param accessToken {AccessToken} */ static batchSyncUser(mediaId, toInvite = true, callback, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken(); } let url = util.format(this.batchSyncUserUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ media_id: mediaId, to_invite: toInvite, callback: callback })); }); } /** * 全量覆盖成员 * @param mediaId 上传的csv文件的 mediaId * @param toInvite 是否邀请新建的成员使用企业微信 * @param callback 回调信息 * @param accessToken {AccessToken} */ static replaceUser(mediaId, toInvite = true, callback, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken(); } let url = util.format(this.replaceUserUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ media_id: mediaId, to_invite: toInvite, callback: callback })); }); } /** * 全量覆盖部门 * @param mediaId 上传的csv文件的 mediaId * @param callback 回调信息 * @param accessToken {AccessToken} */ static replaceParty(mediaId, callback, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken(); } let url = util.format(this.replacePartyUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ media_id: mediaId, callback: callback })); }); } /** * 获取异步任务结果 * @param jobId 异步任务id,最大长度为64字节 * @param accessToken {AccessToken} */ static getResult(jobId, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken(); } let url = util.format(this.getResultUrl, accessToken.getAccessToken, jobId); return kits_1.HttpKit.getHttpDelegate.httpGet(url); }); } } exports.QySyncApi = QySyncApi; QySyncApi.batchSyncUserUrl = 'https://qyapi.weixin.qq.com/cgi-bin/batch/syncuser?access_token=%s'; QySyncApi.replaceUserUrl = 'https://qyapi.weixin.qq.com/cgi-bin/batch/replaceuser?access_token=%s'; QySyncApi.replacePartyUrl = 'https://qyapi.weixin.qq.com/cgi-bin/batch/replaceparty?access_token=%s'; QySyncApi.getResultUrl = 'https://qyapi.weixin.qq.com/cgi-bin/batch/getresult?access_token=%s&jobid=%s'; class QySyncCallback { constructor(url, token, encodingaeskey) { this.url = url; this.token = token; this.encodingaeskey = encodingaeskey; } get getToken() { return this.token; } set setToken(token) { this.token = token; } get getUrl() { return this.url; } set setUrl(url) { this.url = url; } get encodingAesKey() { return this.encodingaeskey; } set encodingAesKey(encodingaeskey) { this.encodingaeskey = encodingaeskey; } } exports.QySyncCallback = QySyncCallback; //# sourceMappingURL=QySyncApi.js.map