@tnwx/wxcp
Version:
TNWX 微信系开发脚手架之极速开发企业微信/企业号
247 lines • 10.8 kB
JavaScript
"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 QyUserApi {
/**
* 创建成员
* @param jsonData 请求 JSON 数据
* @param accessToken AccessToken
*/
static create(jsonData, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.createUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonData);
});
}
/**
* 更新成员
* @param jsonData 请求 JSON 数据
* @param accessToken AccessToken
*/
static update(jsonData, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.updateUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonData);
});
}
/**
* 读取成员
* @param userId 成员 userId
* @param accessToken AccessToken
*/
static get(userId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.getUrl, accessToken.getAccessToken, userId);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 删除成员
* @param userId 成员 userId
* @param accessToken AccessToken
*/
static delete(userId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.deleteUrl, accessToken.getAccessToken, userId);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 批量删除成员
* @param userIdList 成员 userId 列表
* @param accessToken AccessToken
*/
static batchDelete(userIdList, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.batchDeleteUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
useridlist: userIdList
}));
});
}
/**
* 获取部门成员
* @param departmentId 获取的部门id
* @param fetchChild 是否递归获取子部门下面的成员:1-递归获取,0-只获取本部门
* @param accessToken AccessToken
*/
static getDepartmentUser(departmentId, fetchChild = 0, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.departmentUserUrl, accessToken.getAccessToken, departmentId, fetchChild);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 获取部门成员详情
* @param departmentId 获取的部门id
* @param fetchChild 是否递归获取子部门下面的成员:1-递归获取,0-只获取本部门
* @param accessToken AccessToken
*/
static departmentUserInfo(departmentId, fetchChild = 0, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.departmentUserInfoUrl, accessToken.getAccessToken, departmentId, fetchChild);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* userid 转 openid
* @param userId 获取的部门id
* @param accessToken AccessToken
*/
static toOpenId(userId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.userIdToOpenIdUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
userid: userId
}));
});
}
/**
* openid 转 userid
* @param openId 获取的部门id
* @param accessToken AccessToken
*/
static toUerId(openId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.openIdToUserIdUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
openid: openId
}));
});
}
/**
* 二次验证
* @param userId 成员 userId
* @param accessToken AccessToken
*/
static authSucc(userId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.authSuccUrl, accessToken.getAccessToken, userId);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 邀请成员
* @param users 成员ID列表, 最多支持1000个
* @param partys 部门ID列表,最多支持100个
* @param tags 标签ID列表,最多支持100个
* @param accessToken AccessToken
*/
static batchInvite(users, partys, tags, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.batchInviteUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
user: users,
party: partys,
tag: tags
}));
});
}
/**
* 获取加入企业二维码
* @param sizeType qrcode尺寸类型,1: 171 x 171; 2: 399 x 399; 3: 741 x 741; 4: 2052 x 2052
*/
static getJoinQrCode(sizeType) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
let url = util.format(this.getJoinQrCodeUrl, accessToken.getAccessToken, sizeType);
return kits_1.HttpKit.getHttpDelegate.httpGet(url);
});
}
/**
* 获取手机号随机串
* @param mobile 手机号
* @param state 企业自定义的state参数
*/
static getMobileHashCode(mobile, state) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
let url = util.format(this.getMobileHashCodeUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
mobile: mobile,
state: state
}));
});
}
/**
* 手机号获取userid
* @param mobile 手机号
* @param accessToken AccessToken
*/
static getUserId(mobile, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.QyAccessTokenApi.getAccessToken();
}
let url = util.format(this.getUserIdUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
mobile: mobile
}));
});
}
}
exports.QyUserApi = QyUserApi;
QyUserApi.createUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/create?access_token=%s';
QyUserApi.updateUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/update?access_token=%s';
QyUserApi.getUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/get?access_token=%s&userid=%s';
QyUserApi.deleteUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/delete?access_token=%s&userid=%s';
QyUserApi.batchDeleteUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/batchdelete?access_token=%s';
QyUserApi.departmentUserUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/simplelist?access_token=%s&department_id=%s&fetch_child=%s';
QyUserApi.departmentUserInfoUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token=%s&department_id=%s&fetch_child=%s';
QyUserApi.userIdToOpenIdUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_openid?access_token=%s';
QyUserApi.openIdToUserIdUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/convert_to_userid?access_token=%s';
QyUserApi.authSuccUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/authsucc?access_token=%s&userid=%s';
QyUserApi.batchInviteUrl = 'https://qyapi.weixin.qq.com/cgi-bin/batch/invite?access_token=%s';
QyUserApi.getJoinQrCodeUrl = 'https://qyapi.weixin.qq.com/cgi-bin/corp/get_join_qrcode?access_token=%s&size_type=%s';
QyUserApi.getMobileHashCodeUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/get_mobile_hashcode?access_token=%s';
QyUserApi.getUserIdUrl = 'https://qyapi.weixin.qq.com/cgi-bin/user/getuserid?access_token=%s';
//# sourceMappingURL=QyUserApi.js.map