# Conflicts:
#	src/workserver/routes/index.js
aihua
SjvavE 2 years ago
commit 6552af9cc1

@ -0,0 +1,104 @@
// 引用团队模版数据
const Team = require('../model/team');
const teamController = {
// showTeam 获取团队数据并返回到页面
showTeam: async function(req,res,next){
try{
let teamData;
if(req.body.id){
console.log(req.body.id)
teamData= await Team.getById('id',req.body.id)
}else{
teamData = await Team.all()
}
res.json({
code: 200,
message: "操作成功",
data: teamData
})
}catch(e){
res.json({ code: 0, message: "操作失败", data: e })
}
},
// 新增团队
addTeam: async function(req, res, next) {
try {
const teamData = req.body; // 从请求中获取团队数据
const result = await Team.insert(teamData);
res.json({
code: 200,
message: "团队添加成功",
data: result
});
} catch (e) {
res.json({
code: 0,
message: "团队添加失败",
data: e
});
}
},
// 修改团队
updateTeam: async function(req, res, next) {
try {
const teamId = req.body.id; // Assuming the team ID is passed as a parameter
const teamData = req.body; // Updated team data
console.log(teamId + " & " + JSON.stringify(teamData));
const result = await Team.update(teamId, teamData); // Use an appropriate function to update the team
if (result) {
res.json({
code: 200,
message: "团队修改成功",
data: result
});
} else {
res.json({
code: 404,
message: "团队不存在",
data: null
});
}
} catch (e) {
res.json({
code: 0,
message: "团队修改失败",
data: e
});
}
},
// 删除团队
deleteTeam: async function(req, res, next) {
try {
const teamId = req.body.id; // Assuming the team ID is passed as a parameter
const result = await Team.delete(teamId); // Use an appropriate function to delete the team
if (result) {
res.json({
code: 200,
message: "团队删除成功",
data: result
});
} else {
res.json({
code: 404,
message: "团队不存在",
data: null
});
}
} catch (e) {
res.json({
code: 0,
message: "团队删除失败",
data: e
});
}
}
}
module.exports = teamController;

@ -5,8 +5,13 @@ const userController = {
// showUser 获取用户数据并返回到页面
showUser: async function(req,res,next){
try{
let userData = await User.all()
console.log(userData);
let userData;
if(req.body.id){
console.log(req.body.id)
userData= await User.getById('id',req.body.id)
}else{
userData = await User.all()
}
res.json({
code: 200,
message: "操作成功",
@ -20,7 +25,7 @@ const userController = {
addUser: async function(req, res, next) {
try {
const userData = req.body; // 从请求中获取用户数据
console.log("ddddd");
const result = await User.insert(userData);
res.json({
code: 200,
@ -35,6 +40,108 @@ const userController = {
});
}
},
// 修改用户
updateUser: async function(req, res, next) {
try {
const userId = req.body.id; // Assuming the user ID is passed as a parameter
const userData = req.body; // Updated user data
console.log(userId + " & " + JSON.stringify(userData));
const result = await User.update(userId, userData); // Use an appropriate function to update the user
if (result) {
res.json({
code: 200,
message: "用户修改成功",
data: result
});
} else {
res.json({
code: 404,
message: "用户不存在",
data: null
});
}
} catch (e) {
res.json({
code: 0,
message: "用户修改失败",
data: e
});
}
},
// 删除用户
deleteUser: async function(req, res, next) {
try {
const userId = req.body.id; // Assuming the user ID is passed as a parameter
const result = await User.delete(userId); // Use an appropriate function to delete the user
if (result) {
res.json({
code: 200,
message: "用户删除成功",
data: result
});
} else {
res.json({
code: 404,
message: "用户不存在",
data: null
});
}
} catch (e) {
res.json({
code: 0,
message: "用户删除失败",
data: e
});
}
},
// 注册用户
register: async function(req, res, next) {
try {
const userData = req.body; // 从请求中获取用户数据
const newUser = await User.insert(userData); // 创建新用户,使用合适的方法
res.json({
code: 200,
message: "注册成功",
data: newUser
});
} catch (e) {
res.json({
code: 0,
message: "注册失败",
data: e
});
}
},
// 用户登录
login: async function(req, res, next) {
try {
const user = await User.getById('username',req.body.username); // 根据邮箱和密码查找用户,使用合适的方法
if (!req.body.password==user.password) {
res.json({
code: 401,
message: "登录失败,用户名或密码不正确",
data: null
});
} else {
// 在此处可以生成并返回一个 JSON Web Token (JWT) 作为用户的身份认证标识
const token = User.generateAuthToken();
res.json({
code: 200,
message: "登录成功",
data: { user, token }
});
}
} catch (e) {
res.json({
code: 0,
message: "登录失败",
data: e
});
}
}
}

@ -0,0 +1,104 @@
const Work = require('../model/work');
const workController = {
// showWork 获取工作数据并返回到页面
showWork: async function(req,res,next){
try{
let workData;
if(req.body.id){
console.log(req.body.id)
workData= await Work.getById('id',req.body.id)
}else{
workData = await Work.all()
}
res.json({
code: 200,
message: "操作成功",
data: workData
})
}catch(e){
res.json({ code: 0, message: "操作失败", data: e })
}
},
// 新增工作
addWork: async function(req, res, next) {
try {
const workData = req.body; // 从请求中获取工作数据
const result = await Work.insert(workData);
res.json({
code: 200,
message: "工作添加成功",
data: result
});
} catch (e) {
res.json({
code: 0,
message: "工作添加失败",
data: e
});
}
},
// 修改工作
updateWork: async function(req, res, next) {
try {
const workId = req.body.id; // Assuming the work ID is passed as a parameter
const workData = req.body; // Updated work data
console.log(workId + " & " + JSON.stringify(workData));
const result = await Work.update(workId, workData); // Use an appropriate function to update the work
if (result) {
res.json({
code: 200,
message: "工作修改成功",
data: result
});
} else {
res.json({
code: 404,
message: "工作不存在",
data: null
});
}
} catch (e) {
res.json({
code: 0,
message: "工作修改失败",
data: e
});
}
},
// 删除工作
deleteWork: async function(req, res, next) {
try {
const workId = req.body.id; // Assuming the work ID is passed as a parameter
const result = await Work.delete(workId); // Use an appropriate function to delete the work
if (result) {
res.json({
code: 200,
message: "工作删除成功",
data: result
});
} else {
res.json({
code: 404,
message: "工作不存在",
data: null
});
}
} catch (e) {
res.json({
code: 0,
message: "工作删除失败",
data: e
});
}
}
}
module.exports = workController;

@ -1,5 +1,5 @@
const knex = require('../model/kenx');
const jwt = require('jsonwebtoken');
class Base{
constructor(props){
this.table = props;
@ -24,6 +24,19 @@ class Base{
delete (id){
return knex(this.table).where('id', '=', id).del();
}
getById(field,id){
console.log(field+id);
return knex(this.table).select('*').where(field,'=',id);
}
generateAuthToken(){
// 这里你可以使用jsonwebtoken或其他合适的库来生成令牌
const token = jwt.sign({ /* 在令牌中包含的用户信息 */ }, 'ruanggong ', {
expiresIn: '1h' // 令牌的过期时间
});
return token;
}
selectOne(id){
return knex(this.table).where('id','=',id).select();

@ -0,0 +1,10 @@
const Base = require('./base');
class Team extends Base {
// 定义参数默认值为 team 表
constructor(props = 'teams'){
super(props);
}
}
module.exports = new Team();

@ -5,6 +5,8 @@ class User extends Base {
constructor(props = 'users'){
super(props);
}
}
module.exports = new User();

@ -0,0 +1,10 @@
const Base = require('./base');
class Work extends Base {
// 定义参数默认值为 team 表
constructor(props = 'works'){
super(props);
}
}
module.exports = new Work();

@ -133,6 +133,11 @@
"node": ">= 0.8"
}
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
},
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@ -358,6 +363,14 @@
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg=="
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@ -625,6 +638,32 @@
"jade": "bin/jade.js"
}
},
"node_modules/jsonwebtoken": {
"version": "9.0.2",
"resolved": "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz",
"integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==",
"dependencies": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^7.5.4"
},
"engines": {
"node": ">=12",
"npm": ">=6"
}
},
"node_modules/jsonwebtoken/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/jstransformer": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz",
@ -634,6 +673,25 @@
"promise": "^6.0.1"
}
},
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/jwa/-/jwa-1.4.1.tgz",
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
"dependencies": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/jws": {
"version": "3.2.2",
"resolved": "https://registry.npmmirror.com/jws/-/jws-3.2.2.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
"dependencies": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
@ -742,6 +800,41 @@
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
},
"node_modules/lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
"node_modules/logform": {
"version": "2.5.1",
"resolved": "https://registry.npmmirror.com/logform/-/logform-2.5.1.tgz",
@ -776,6 +869,17 @@
"node": ">=0.10.0"
}
},
"node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@ -1102,6 +1206,20 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/send": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
@ -1438,6 +1556,11 @@
"node": ">=0.4.0"
}
},
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/yargs": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",

@ -13,6 +13,7 @@
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"jsonwebtoken": "^9.0.2",
"knex": "^3.0.1",
"morgan": "~1.9.1",
"mysql": "^2.18.1",
@ -148,6 +149,11 @@
"node": ">= 0.8"
}
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
},
"node_modules/bytes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
@ -373,6 +379,14 @@
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg=="
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmmirror.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@ -640,6 +654,32 @@
"jade": "bin/jade.js"
}
},
"node_modules/jsonwebtoken": {
"version": "9.0.2",
"resolved": "https://registry.npmmirror.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz",
"integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==",
"dependencies": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^7.5.4"
},
"engines": {
"node": ">=12",
"npm": ">=6"
}
},
"node_modules/jsonwebtoken/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
},
"node_modules/jstransformer": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz",
@ -649,6 +689,25 @@
"promise": "^6.0.1"
}
},
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmmirror.com/jwa/-/jwa-1.4.1.tgz",
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
"dependencies": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/jws": {
"version": "3.2.2",
"resolved": "https://registry.npmmirror.com/jws/-/jws-3.2.2.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
"dependencies": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
@ -757,6 +816,41 @@
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w=="
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg=="
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmmirror.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA=="
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw=="
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmmirror.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmmirror.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw=="
},
"node_modules/lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmmirror.com/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg=="
},
"node_modules/logform": {
"version": "2.5.1",
"resolved": "https://registry.npmmirror.com/logform/-/logform-2.5.1.tgz",
@ -791,6 +885,17 @@
"node": ">=0.10.0"
}
},
"node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dependencies": {
"yallist": "^4.0.0"
},
"engines": {
"node": ">=10"
}
},
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@ -1117,6 +1222,20 @@
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/send": {
"version": "0.16.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
@ -1453,6 +1572,11 @@
"node": ">=0.4.0"
}
},
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/yargs": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",

@ -12,6 +12,7 @@
"express": "~4.16.1",
"http-errors": "~1.6.3",
"jade": "~1.11.0",
"jsonwebtoken": "^9.0.2",
"knex": "^3.0.1",
"morgan": "~1.9.1",
"mysql": "^2.18.1",

@ -1,13 +1,40 @@
var express = require('express');
var router = express.Router();
const userController = require('../controllers/user');
const teamController = require('../controllers/team');
const workController = require('../controllers/work');
// 获取用户信息
router.get('/get_user', userController.showUser);
router.post('/add_user', userController.addUser);
router.post('/update_user', userController.updateUser);
router.post('/delete_user', userController.deleteUser);
//团队
router.get('/get_team', teamController.showTeam);
router.post('/add_team', teamController.addTeam);
router.post('/update_team', teamController.updateTeam);
router.post('/delete_team', teamController.deleteTeam);
//工作
router.get('/get_work', workController.showWork);
router.post('/add_work', workController.addWork);
router.post('/update_work', workController.updateWork);
router.post('/delete_work', workController.deleteWork);
// 注册用户
router.post('/register', userController.register);
// 用户登录
router.post('/login', userController.login);
//引入和clocks相关的接口
require('./xah/course')(router);

Loading…
Cancel
Save