t-comm
Version:
专业、稳定、纯粹的工具库
71 lines (68 loc) • 2.32 kB
JavaScript
import axios from 'axios';
import { getAuthOfTai } from '../auth/auth.mjs';
import '../../nodejs/crypto.mjs';
/**
* 创建 iWiki 文档
* 支持创建 Markdown、新文档、文件夹等类型,需要提供 PaaS 认证信息
* @param {object} config 配置信息
* @param {string} config.prefix API 前缀地址
* @param {string} [config.spacekey] 空间 key(与 spaceId 二选一)
* @param {string} [config.spaceId] 空间 ID(与 spacekey 二选一)
* @param {string} [config.contenttype='MD'] 内容类型,DOC:新文档,MD:Markdown,FOLDER:文件夹
* @param {string} [config.title] 文档标题
* @param {string} [config.body] 文档内容
* @param {string|number} [config.parentid] 父目录 ID
* @param {object} [config.otherData] 其他额外参数
* @param {string} config.paasId PaaS 认证 ID
* @param {string} config.paasToken PaaS 认证 Token
* @returns {Promise<{code: string, msg: string, data: {id: string, docid: string}, request_id: string}>} 创建结果
* @example
* ```ts
* const result = await createIwikiDoc({
* prefix: 'https://iwiki.woa.com/api',
* spacekey: 'my-space',
* title: '新文档',
* body: '# Hello\n内容',
* paasId: 'xxx',
* paasToken: 'xxx',
* });
* ```
*/
function createIwikiDoc(_ref) {
var prefix = _ref.prefix,
spacekey = _ref.spacekey,
spaceId = _ref.spaceId,
_ref$contenttype = _ref.contenttype,
contenttype = _ref$contenttype === void 0 ? 'MD' : _ref$contenttype,
title = _ref.title,
body = _ref.body,
parentid = _ref.parentid,
_ref$otherData = _ref.otherData,
otherData = _ref$otherData === void 0 ? {} : _ref$otherData,
paasId = _ref.paasId,
paasToken = _ref.paasToken;
var headers = getAuthOfTai({
paasId: paasId,
paasToken: paasToken
});
return new Promise(function (resolve, reject) {
axios({
headers: headers,
method: 'POST',
url: "".concat(prefix, "/v2/doc/create"),
data: Object.assign({
spaceId: spaceId,
spacekey: spacekey,
parentid: parentid,
contenttype: contenttype,
title: title,
body: body
}, otherData || {})
}).then(function (res) {
resolve(res.data);
})["catch"](function (err) {
reject(err);
});
});
}
export { createIwikiDoc };