From 0d725e0859b66c80b5c5981a774d0b530e75464f Mon Sep 17 00:00:00 2001 From: GaoLiHai <1019933576@qq.com> Date: Sun, 11 Apr 2021 14:41:29 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20core=20=E6=96=87=E4=BB=B6=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=20getGroupFileList.js=20to=20#31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/node/core/getGroupFileInfo.js | 69 ++++++++++++++++++++++++++++ dist/node/core/getGroupFileList.js | 69 ++++++++++++++++++++++++++++ dist/node/core/groupFileRename.js | 72 ++++++++++++++++++++++++++++++ src/core/getGroupFileList.js | 40 +++++++++++++++++ 4 files changed, 250 insertions(+) create mode 100644 dist/node/core/getGroupFileInfo.js create mode 100644 dist/node/core/getGroupFileList.js create mode 100644 dist/node/core/groupFileRename.js create mode 100644 src/core/getGroupFileList.js diff --git a/dist/node/core/getGroupFileInfo.js b/dist/node/core/getGroupFileInfo.js new file mode 100644 index 0000000..0917158 --- /dev/null +++ b/dist/node/core/getGroupFileInfo.js @@ -0,0 +1,69 @@ +"use strict"; + +const { + errCodeMap +} = require('../util/errCode'); + +const axios = require('axios').default; + +let URL; + +if (!process.browser) { + ({ + URL + } = require('url')); +} else { + URL = window.URL; +} + +const errorHandler = require('../util/errorHandler'); +/** + * @description 获取群列表 + * @param {string} baseUrl mirai-api-http server 的地址 + * @param {string} sessionKey 会话标识 + * @param {string} group 群号 + * @param {string} dir 可选,查询目录,默认为根目录 + * @returns {Object[]} 结构 array[...{ id, name, path, isFile }] + */ + + +module.exports = async ({ + baseUrl, + sessionKey, + target, + dir +}) => { + try { + // 拼接 url + const url = new URL('/groupFileList', baseUrl).toString(); // 请求 + + const responseData = await axios.get(url, { + params: { + sessionKey, + target, + dir + } + }); + + try { + var { + data, + data: { + msg: message, + code + } + } = responseData; + } catch (error) { + throw new Error('core.getGroupFileList 请求返回格式出错,请检查 mirai-console'); + } // 抛出 mirai 的异常,到 catch 中处理后再抛出 + + + if (code in errCodeMap) { + throw new Error(message); + } + + return data; + } catch (error) { + errorHandler(error); + } +}; \ No newline at end of file diff --git a/dist/node/core/getGroupFileList.js b/dist/node/core/getGroupFileList.js new file mode 100644 index 0000000..473f830 --- /dev/null +++ b/dist/node/core/getGroupFileList.js @@ -0,0 +1,69 @@ +"use strict"; + +const { + errCodeMap +} = require('../util/errCode'); + +const axios = require('axios').default; + +let URL; + +if (!process.browser) { + ({ + URL + } = require('url')); +} else { + URL = window.URL; +} + +const errorHandler = require('../util/errorHandler'); +/** + * @description 获取群文件列表 + * @param {string} baseUrl mirai-api-http server 的地址 + * @param {string} sessionKey 会话标识 + * @param {number} target 群号 + * @param {string} dir 可选,查询目录,默认为根目录 + * @returns {Object[]} 结构 array[...{ id, name, path, isFile }] + */ + + +module.exports = async ({ + baseUrl, + sessionKey, + target, + dir +}) => { + try { + // 拼接 url + const url = new URL('/groupFileList', baseUrl).toString(); // 请求 + + const responseData = await axios.get(url, { + params: { + sessionKey, + target, + dir + } + }); + + try { + var { + data, + data: { + msg: message, + code + } + } = responseData; + } catch (error) { + throw new Error('core.getGroupFileList 请求返回格式出错,请检查 mirai-console'); + } // 抛出 mirai 的异常,到 catch 中处理后再抛出 + + + if (code in errCodeMap) { + throw new Error(message); + } + + return data; + } catch (error) { + errorHandler(error); + } +}; \ No newline at end of file diff --git a/dist/node/core/groupFileRename.js b/dist/node/core/groupFileRename.js new file mode 100644 index 0000000..773f441 --- /dev/null +++ b/dist/node/core/groupFileRename.js @@ -0,0 +1,72 @@ +"use strict"; + +const { + errCodeMap +} = require('../util/errCode'); + +const axios = require('axios'); + +let URL; + +if (!process.browser) { + ({ + URL + } = require('url')); +} else { + URL = window.URL; +} + +const errorHandler = require('../util/errorHandler'); +/** + * @description 设置群成员信息 + * @param {string} baseUrl mirai-api-http server 的地址 + * @param {string} sessionKey 会话标识 + * @param {number} target 群号 + * @param {number} id 文件 id + * @param {string} rename 重命名 + * @returns {Object} 结构 { message, code } + */ + + +module.exports = async ({ + baseUrl, + sessionKey, + target, + id, + rename +}) => { + try { + // 拼接 url + const url = new URL('/groupFileRename', baseUrl).toString(); // 请求 + + const responseData = await axios.post(url, { + sessionKey, + target, + id, + rename + }); + + try { + var { + data: { + msg: message, + code + } + } = responseData; + } catch (error) { + throw new Error('core.groupFileRename 请求返回格式出错,请检查 mirai-console'); + } // 抛出 mirai 的异常,到 catch 中处理后再抛出 + + + if (code in errCodeMap) { + throw new Error(message); + } + + return { + message, + code + }; + } catch (error) { + errorHandler(error); + } +}; \ No newline at end of file diff --git a/src/core/getGroupFileList.js b/src/core/getGroupFileList.js new file mode 100644 index 0000000..39dd6c7 --- /dev/null +++ b/src/core/getGroupFileList.js @@ -0,0 +1,40 @@ +const { errCodeMap } = require('../util/errCode'); +const axios = require('axios').default; +let URL; +if (!process.browser) { + ({ URL } = require('url')); +} else { + URL = window.URL; +} +const errorHandler = require('../util/errorHandler'); + +/** + * @description 获取群文件列表 + * @param {string} baseUrl mirai-api-http server 的地址 + * @param {string} sessionKey 会话标识 + * @param {number} target 群号 + * @param {string} dir 可选,查询目录,默认为根目录 + * @returns {Object[]} 结构 array[...{ id, name, path, isFile }] + */ +module.exports = async ({ baseUrl, sessionKey, target, dir }) => { + try { + // 拼接 url + const url = new URL('/groupFileList', baseUrl).toString(); + + // 请求 + const responseData = await axios.get(url, { params: { sessionKey, target, dir } }); + try { + var { data, data: { msg: message, code } } = responseData; + } catch (error) { + throw new Error('core.getGroupFileList 请求返回格式出错,请检查 mirai-console'); + } + + // 抛出 mirai 的异常,到 catch 中处理后再抛出 + if (code in errCodeMap) { + throw new Error(message); + } + return data; + } catch (error) { + errorHandler(error); + } +}; \ No newline at end of file