mirror of
https://github.com/whyour/qinglong.git
synced 2025-07-27 14:46:06 +08:00

* 重构shell (#17) * 更新正则 * 更新update命令 * 移除测试代码 * 重构删除日志命令 * 更新entrypoint * 更新dockerfile * 完善shell调用 * 修复share shell引用 * 修复entrypoint * 修复share shell * 修复share.sh * 修改依赖重装逻辑 * 更新docker entrypoint * curl 使用静默模式 * 更新ql raw * 修复添加单个任务 * 修复shell语法 * 添加定时任务进程 * 更新默认定时任务 * 更新定时任务重启schedule * 更新青龙重启逻辑 * 修复定时任务列表创建 * 修复schedule进程 * 修复entrypoint * 更新task命令 * pm2 restart替换成reload * 修复task命令参数引入 * 完善ql repo命令 * 修复update.sh * 更新ql repo命令 * ql repo添加登录验证,修复package.json示例 * 修复定时任务命令补全 * 修改默认cron端口 * 修复cron日志弹框异常 * 修改cron新建label * 修复ql repo命令 * 修复cron格式验证 * 修改日志目录格式 * 修改青龙remote url * 修复添加定时cron匹配 * 添加定时任务超时时间设置 * 暂时移除timeout命令 * 恢复定时任务timeout * 修复cookie.sh引用 * 修复shell变量自加 * 修复ck更新状态同步 * 增加tg bot测试,修改增删任务通知 * 修复shell函数返回值 * 修改添加任务日志打印 * 修改entrypoint日志 * 修复api日志打印 * 修改api日志打印 * 定时任务支持批量启用禁用删除运行 * 修改cron管理操作按钮响应样式 * 更新bot启动脚本 * 更新bot启动脚本 * 增加timeout默认值,修改session管理逻辑 * 更新config示例和通知日志 * 更新bot.sh * 更新启动bot命令 * 更新启动bot命令 * 修复task运行参数合并 * 增加停止定时任务功能 * 修复停止定时任务api * 更新停止定时任务日志 * 更新停止任务日志 * 修复删除cron api * 更新删除cron通知文本 * 更新命令提示 * 更新bot启动脚本
104 lines
2.5 KiB
TypeScript
104 lines
2.5 KiB
TypeScript
import React, { useEffect, useState } from 'react';
|
||
import { Modal, notification, Input, Form } from 'antd';
|
||
import { request } from '@/utils/http';
|
||
import config from '@/utils/config';
|
||
|
||
const CookieModal = ({
|
||
cookie,
|
||
handleCancel,
|
||
visible,
|
||
}: {
|
||
cookie?: any;
|
||
visible: boolean;
|
||
handleCancel: (cks?: any[]) => void;
|
||
}) => {
|
||
const [form] = Form.useForm();
|
||
const [loading, setLoading] = useState(false);
|
||
|
||
const handleOk = async (values: any) => {
|
||
const cookies = values.value
|
||
.split('\n')
|
||
.map((x: any) => x.trim().replace(/\s/g, ''));
|
||
let flag = false;
|
||
for (const coo of cookies) {
|
||
if (!/pt_key=\S*;\s*pt_pin=\S*;\s*/.test(coo)) {
|
||
notification.error({ message: `${coo}格式有误` });
|
||
flag = true;
|
||
break;
|
||
}
|
||
}
|
||
if (flag) {
|
||
return;
|
||
}
|
||
setLoading(true);
|
||
const method = cookie ? 'put' : 'post';
|
||
const payload = cookie ? { value: cookies[0], _id: cookie._id } : cookies;
|
||
const { code, data } = await request[method](`${config.apiPrefix}cookies`, {
|
||
data: payload,
|
||
});
|
||
if (code === 200) {
|
||
notification.success({
|
||
message: cookie ? '更新Cookie成功' : '添加Cookie成功',
|
||
});
|
||
} else {
|
||
notification.error({
|
||
message: data,
|
||
});
|
||
}
|
||
setLoading(false);
|
||
handleCancel(cookie ? [data] : data);
|
||
};
|
||
|
||
useEffect(() => {
|
||
form.resetFields();
|
||
}, [cookie]);
|
||
|
||
return (
|
||
<Modal
|
||
title={cookie ? '编辑Cookie' : '新建Cookie'}
|
||
visible={visible}
|
||
forceRender
|
||
onOk={() => {
|
||
form
|
||
.validateFields()
|
||
.then((values) => {
|
||
handleOk(values);
|
||
})
|
||
.catch((info) => {
|
||
console.log('Validate Failed:', info);
|
||
});
|
||
}}
|
||
onCancel={() => handleCancel()}
|
||
confirmLoading={loading}
|
||
destroyOnClose
|
||
>
|
||
<Form
|
||
form={form}
|
||
layout="vertical"
|
||
name="form_in_modal"
|
||
preserve={false}
|
||
initialValues={cookie}
|
||
>
|
||
<Form.Item
|
||
name="value"
|
||
rules={[
|
||
{ required: true, message: '请输入Cookie' },
|
||
{
|
||
pattern: /pt_key=\S*;\s*pt_pin=\S*;\s*/,
|
||
message: 'Cookie格式错误,注意分号(pt_key=***;pt_pin=***;)',
|
||
},
|
||
]}
|
||
>
|
||
<Input.TextArea
|
||
rows={4}
|
||
autoSize={true}
|
||
placeholder="请输入cookie,可直接换行输入多个cookie"
|
||
/>
|
||
</Form.Item>
|
||
</Form>
|
||
</Modal>
|
||
);
|
||
};
|
||
|
||
export default CookieModal;
|