import { createHash } from 'crypto';
import nextConnect from 'next-connect';
import { NextApiRequest, NextApiResponse, PageConfig } from 'next';
import anylogger from 'anylogger';
import '@mmstudio/an000042';
import an49 from '@mmstudio/an000049';
const logger = anylogger('pages/api/regdit');
export type Result = boolean;
export type regtype = '1' | '2' | '3';
export type Message = {
user: string;
name: string;
psw: string;
phone: string;
area: string;
email: string;
type: regtype;
}
const handler = nextConnect<NextApiRequest, NextApiResponse<Result>>();
handler.put(async (req, res) => {
logger.debug('msg body:', req.body);
const { area, phone, psw, user, name, email, type } = req.body as Message;
const db = an49();
const tb1 = db<ITbuser>('user');
const e = await tb1.first('userid').where({
userid: user
});
if (e) {
const msg = encodeURIComponent('用户已存在');
res.statusMessage = msg;
res.status(500).json(false);
} else {
const tb2 = db<ITbuser>('user');
const val = md5(psw);
await tb2.insert({
userid: user,
name,
phone,
psw: val,
email,
role: 'team'
});
const tb4 = db<ITbtype>('type');
const data = await tb4.first('type').where({
type_no: type
});
const tb3 = db<ITbteam>('team');
await tb3.insert({
userid: user,
area,
project_type_no: type,
project_type: data.type,
phone
});
res.status(200).json(true);
}
});
export const config = {} as PageConfig;
export default handler;
function md5(value: string) {
return createHash('md5').update(value).digest('hex');
}