@tnwx/wxcp
Version:
TNWX 微信系开发脚手架之极速开发企业微信/企业号
125 lines • 4.96 kB
JavaScript
;
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