Skip to content

Commit

Permalink
ck管理增加排序,禁用,实时状态变成手动获取
Browse files Browse the repository at this point in the history
  • Loading branch information
whyour committed Apr 9, 2021
1 parent ef24fc8 commit fb98bc4
Show file tree
Hide file tree
Showing 17 changed files with 601 additions and 502 deletions.
140 changes: 97 additions & 43 deletions back/api/cookie.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,36 @@ import { Router, Request, Response, NextFunction } from 'express';
import { Container } from 'typedi';
import CookieService from '../services/cookie';
import { Logger } from 'winston';
import { celebrate, Joi } from 'celebrate';
const route = Router();

export default (app: Router) => {
app.use('/', route);
route.get(
'/qrcode',
'/cookies',
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
if (req) {
const cookieService = Container.get(CookieService);
const { qrurl } = await cookieService.getQrUrl();
return res.send({ code: 200, qrcode: qrurl });
} else {
return res.send({ code: 1, msg: 'loginFaild' });
}
const cookieService = Container.get(CookieService);
const data = await cookieService.cookies();
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);

route.get(
route.post(
'/cookies',
celebrate({
body: Joi.array().items(Joi.string().required()).min(1),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.getCookies();
const data = await cookieService.create(req.body);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -40,15 +40,19 @@ export default (app: Router) => {
},
);

route.get(
'/cookie',
route.put(
'/cookies',
celebrate({
body: Joi.object({
value: Joi.string().required(),
_id: Joi.string().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.addQrCookie(
req.query.cookie as string,
);
const data = await cookieService.update(req.body);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -57,18 +61,19 @@ export default (app: Router) => {
},
);

route.post(
'/cookie',
route.delete(
'/cookies/:id',
celebrate({
params: Joi.object({
id: Joi.string().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.addCookie(req.body.cookies);
if (data) {
return res.send({ code: 400, data });
} else {
return res.send({ code: 200, data: '新建成功' });
}
const data = await cookieService.remove(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
Expand All @@ -77,52 +82,101 @@ export default (app: Router) => {
);

route.put(
'/cookie',
'/cookies/:id/move',
celebrate({
params: Joi.object({
id: Joi.string().required(),
}),
body: Joi.object({
fromIndex: Joi.number().required(),
toIndex: Joi.number().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.updateCookie(req.body);
if (data) {
return res.send({ code: 400, data });
} else {
return res.send({ code: 200, data: '新建成功' });
}
const data = await cookieService.move(req.params.id, req.body);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);

route.delete(
'/cookie',
route.get(
'/cookies/:id/refresh',
celebrate({
params: Joi.object({
id: Joi.string().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.deleteCookie(
req.body.cookie as string,
);
if (data) {
return res.send({ code: 400, data });
} else {
return res.send({ code: 200, data: '新建成功' });
}
const data = await cookieService.refreshCookie(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);

route.post(
'/cookie/refresh',
route.get(
'/cookies/:id/disable',
celebrate({
params: Joi.object({
id: Joi.string().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.disabled(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);

route.get(
'/cookies/:id/enable',
celebrate({
params: Joi.object({
id: Joi.string().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.enabled(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);

route.get(
'/cookies/:id',
celebrate({
params: Joi.object({
id: Joi.string().required(),
}),
}),
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CookieService);
const data = await cookieService.refreshCookie(req.body);
const data = await cookieService.get(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand Down
40 changes: 20 additions & 20 deletions back/api/cron.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.crontabs(
const cronService = Container.get(CronService);
const data = await cronService.crontabs(
req.query.searchValue as string,
);
return res.send({ code: 200, data });
Expand All @@ -38,8 +38,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.create(req.body);
const cronService = Container.get(CronService);
const data = await cronService.create(req.body);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -58,8 +58,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.run(req.params.id);
const cronService = Container.get(CronService);
const data = await cronService.run(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -78,8 +78,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.disabled(req.params.id);
const cronService = Container.get(CronService);
const data = await cronService.disabled(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -98,8 +98,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.enabled(req.params.id);
const cronService = Container.get(CronService);
const data = await cronService.enabled(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -118,8 +118,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.log(req.params.id);
const cronService = Container.get(CronService);
const data = await cronService.log(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -141,8 +141,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.update(req.body);
const cronService = Container.get(CronService);
const data = await cronService.update(req.body);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -161,8 +161,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.remove(req.params.id);
const cronService = Container.get(CronService);
const data = await cronService.remove(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -176,8 +176,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.import_crontab();
const cronService = Container.get(CronService);
const data = await cronService.import_crontab();
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand All @@ -196,8 +196,8 @@ export default (app: Router) => {
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const cookieService = Container.get(CronService);
const data = await cookieService.get(req.params.id);
const cronService = Container.get(CronService);
const data = await cronService.get(req.params.id);
return res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
Expand Down
2 changes: 2 additions & 0 deletions back/config/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ const configString = 'config sample crontab shareCode diy';
const dbPath = path.join(rootPath, 'db/');
const manualLogPath = path.join(rootPath, 'manual_log/');
const cronDbFile = path.join(rootPath, 'db/crontab.db');
const cookieDbFile = path.join(rootPath, 'db/cookie.db');

if (envFound.error) {
throw new Error("⚠️ Couldn't find .env file ⚠️");
Expand Down Expand Up @@ -53,5 +54,6 @@ export default {
},
dbPath,
cronDbFile,
cookieDbFile,
manualLogPath,
};
27 changes: 27 additions & 0 deletions back/data/cookie.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
export class Cookie {
value?: string;
timestamp?: string;
created?: number;
_id?: string;
status?: CookieStatus;
position?: number;

constructor(options: Cookie) {
this.value = options.value;
this._id = options._id;
this.created = options.created || new Date().valueOf();
this.status = options.status || CookieStatus.noacquired;
this.timestamp = new Date().toString();
this.position = options.position;
}
}

export enum CookieStatus {
'noacquired',
'normal',
'disabled',
'invalid',
'abnormal',
}

export const initCookiePosition = 9999999999;

0 comments on commit fb98bc4

Please sign in to comment.