Merge branch 'develop' into develop

This commit is contained in:
秋澪Akimio 2024-03-05 20:24:47 +08:00 committed by GitHub
commit 022e42f8bb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 98 additions and 85 deletions

View File

@ -360,6 +360,31 @@ export function parseHeaders(headers: string) {
return parsed;
}
function parseString(input: string): Record<string, string> {
const regex = /(\w+):\s*((?:(?!\n\w+:).)*)/g;
const matches: Record<string, string> = {};
let match;
while ((match = regex.exec(input)) !== null) {
const [, key, value] = match;
const _key = key.trim();
if (!_key || matches[_key]) {
continue;
}
const _value = value.trim();
try {
const jsonValue = JSON.parse(_value);
matches[_key] = jsonValue;
} catch (error) {
matches[_key] = _value;
}
}
return matches;
}
export function parseBody(
body: string,
contentType:
@ -372,28 +397,7 @@ export function parseBody(
return body;
}
const parsed: any = {};
let key;
let val;
let i;
body &&
body.split('\n').forEach(function parser(line) {
i = line.indexOf(':');
key = line.substring(0, i).trim();
val = line.substring(i + 1).trim();
if (!key || parsed[key]) {
return;
}
try {
const jsonValue = JSON.parse(val);
parsed[key] = jsonValue;
} catch (error) {
parsed[key] = val;
}
});
const parsed = parseString(body);
switch (contentType) {
case 'multipart/form-data':

View File

@ -53,7 +53,8 @@ RUN set -x \
&& rm -rf /root/.pnpm-store \
&& rm -rf /root/.local/share/pnpm/store \
&& rm -rf /root/.cache \
&& rm -rf /root/.npm
&& rm -rf /root/.npm \
&& ulimit -c 0
ARG SOURCE_COMMIT
RUN git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} \

View File

@ -57,7 +57,8 @@ RUN set -x \
&& rm -rf /root/.pnpm-store \
&& rm -rf /root/.local/share/pnpm/store \
&& rm -rf /root/.cache \
&& rm -rf /root/.npm
&& rm -rf /root/.npm \
&& ulimit -c 0
ARG SOURCE_COMMIT
RUN git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} \

View File

@ -816,7 +816,18 @@ function ChangeUserId(desp) {
}
}
function qywxamNotify(text, desp) {
async function qywxamNotify(text, desp) {
const MAX_LENGTH = 900;
if (desp.length > MAX_LENGTH) {
let d = desp.substr(0, MAX_LENGTH) + "\n==More==";
await do_qywxamNotify(text, d);
await qywxamNotify(text, desp.substr(MAX_LENGTH));
} else {
return await do_qywxamNotify(text,desp);
}
}
function do_qywxamNotify(text, desp) {
return new Promise((resolve) => {
if (QYWX_AM) {
const QYWX_AM_AY = QYWX_AM.split(',');
@ -1315,6 +1326,31 @@ function webhookNotify(text, desp) {
});
}
function parseString(input) {
const regex = /(\w+):\s*((?:(?!\n\w+:).)*)/g;
const matches = {};
let match;
while ((match = regex.exec(input)) !== null) {
const [, key, value] = match;
const _key = key.trim();
if (!_key || matches[_key]) {
continue;
}
const _value = value.trim();
try {
const jsonValue = JSON.parse(_value);
matches[_key] = jsonValue;
} catch (error) {
matches[_key] = _value;
}
}
return matches;
}
function parseHeaders(headers) {
if (!headers) return {};
@ -1344,28 +1380,7 @@ function parseBody(body, contentType) {
return body;
}
const parsed = {};
let key;
let val;
let i;
body &&
body.split('\n').forEach(function parser(line) {
i = line.indexOf(':');
key = line.substring(0, i).trim();
val = line.substring(i + 1).trim();
if (!key || parsed[key]) {
return;
}
try {
const jsonValue = JSON.parse(val);
parsed[key] = jsonValue;
} catch (error) {
parsed[key] = val;
}
});
const parsed = parseString(body);
switch (contentType) {
case 'multipart/form-data':

View File

@ -646,7 +646,9 @@ def aibotk(title: str, content: str, **kwargs) -> None:
and push_config.get("AIBOTK_NAME")
)
):
print("智能微秘书 的 AIBOTK_KEY 或者 AIBOTK_TYPE 或者 AIBOTK_NAME 未设置!!\n取消推送")
print(
"智能微秘书 的 AIBOTK_KEY 或者 AIBOTK_TYPE 或者 AIBOTK_NAME 未设置!!\n取消推送"
)
return
print("智能微秘书 服务启动")
if kwargs.get("AIBOTK_KEY") and kwargs.get("AIBOTK_TYPE") and kwargs.get("AIBOTK_NAME"):
@ -863,29 +865,25 @@ def parse_headers(headers):
return parsed
def parse_string(input_string):
matches = {}
pattern = r'(\w+):\s*((?:(?!\n\w+:).)*)'
regex = re.compile(pattern)
for match in regex.finditer(input_string):
key, value = match.group(1).strip(), match.group(2).strip()
try:
json_value = json.loads(value)
matches[key] = json_value
except:
matches[key] = value
return matches
def parse_body(body, content_type):
if not body or content_type == "text/plain":
return body
parsed = {}
lines = body.split("\n")
for line in lines:
i = line.find(":")
if i == -1:
continue
key = line[:i].strip()
val = line[i + 1 :].strip()
if not key or key in parsed:
continue
try:
json_value = json.loads(val)
parsed[key] = json_value
except:
parsed[key] = val
parsed = parse_string(input_string)
if content_type == "application/x-www-form-urlencoded":
data = urlencode(parsed, doseq=True)

View File

@ -68,13 +68,13 @@ const Log = () => {
};
const onSelect = (value: any, node: any) => {
setCurrentNode(node);
setSelect(value);
if (node.key === select || !value) {
return;
}
setCurrentNode(node);
setSelect(value);
if (node.type === 'directory') {
setValue(intl.get('请选择日志文件'));
return;

View File

@ -115,13 +115,13 @@ const Script = () => {
};
const onSelect = (value: any, node: any) => {
setSelect(node.key);
setCurrentNode(node);
if (node.key === select || !value) {
return;
}
setSelect(node.key);
setCurrentNode(node);
if (node.type === 'directory') {
setValue(intl.get('请选择脚本文件'));
return;

View File

@ -1,13 +1,7 @@
version: 2.17.1
changeLogLink: https://t.me/jiao_long/402
publishTime: 2024-02-07 23:00
version: 2.17.2
changeLogLink: https://t.me/jiao_long/403
publishTime: 2024-03-02 17:00
changeLog: |
1. 系统设置增加重启
2. 修复 debian 系统内更新源代码分支错误
3. 修复启动时依赖配置未初始化
4. 修复未开启一言时多余空行, 通知渠道改发送前检查,感谢 https://github.com/Cp0204
5. Dockerfile 添加发布端口和数据卷 https://github.com/Akimio521
6. 修复有反向代理时脚本管理获取文件可能失败
7. 脚本管理重命名增加默认值,增加新建(mod+o)、删除快捷键(mod+d)
8. 修复对比工具保存文件
9. 其他 bug 修复
1. 依赖管理支持队列中依赖取消安装,支持状态筛选
2. 修复 webhook 通知 body 拆分逻辑
3. 企业微信有长度限制,超长的进行分段提交 https://github.com/pharaoh2012