feat(*): 代码仓库初始化
This commit is contained in:
2
Server/tests/test3/.gitignore
vendored
Normal file
2
Server/tests/test3/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
pnpm-lock.yaml
|
||||
16
Server/tests/test3/index.js
Normal file
16
Server/tests/test3/index.js
Normal file
@@ -0,0 +1,16 @@
|
||||
const express = require("express")
|
||||
const { router } = require("./routes/useRoute")
|
||||
|
||||
const app = express()
|
||||
|
||||
app.use(express.json())
|
||||
app.use(router)
|
||||
|
||||
|
||||
app.listen("3000", (err) => {
|
||||
if (err) {
|
||||
console.log(err);
|
||||
return
|
||||
}
|
||||
console.log("server listen :3000");
|
||||
})
|
||||
18
Server/tests/test3/package.json
Normal file
18
Server/tests/test3/package.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "test3",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"packageManager": "pnpm@10.14.0",
|
||||
"dependencies": {
|
||||
"express": "^5.1.0",
|
||||
"joi": "^18.0.1",
|
||||
"lodash": "^4.17.21"
|
||||
}
|
||||
}
|
||||
100
Server/tests/test3/routes/useRoute.js
Normal file
100
Server/tests/test3/routes/useRoute.js
Normal file
@@ -0,0 +1,100 @@
|
||||
const express = require("express")
|
||||
const { number } = require("joi")
|
||||
const joi = require("joi")
|
||||
const lodash = require("lodash")
|
||||
const router = express.Router()
|
||||
|
||||
router.get("/userId/:userId", (req, res) => {
|
||||
const userId = req.params.userId;
|
||||
const { err } = joi.number().validate(userId);
|
||||
if (err) {
|
||||
return res.status(400).send("Invaild UserID");
|
||||
}
|
||||
res.send(`user ID is ${userId}`);
|
||||
})
|
||||
|
||||
router.get("/userName", (req, res) => {
|
||||
const { name } = req.query;
|
||||
|
||||
const schema = joi.object({
|
||||
name: joi.string().min(2).max(20).required()
|
||||
})
|
||||
const { error } = schema.validate({ name })
|
||||
if (error) {
|
||||
return res.status(400).send("Invaild UserName");
|
||||
}
|
||||
res.send(`User name is ${name}`)
|
||||
})
|
||||
|
||||
router.get("/profile", (req, res) => {
|
||||
res.send("This is the user profile page.")
|
||||
})
|
||||
|
||||
router.get("/profile/setting", (req, res) => {
|
||||
res.send("This is the user profile setting page.")
|
||||
})
|
||||
|
||||
const data = [
|
||||
{ name: 'zs', course: 'app', score: 90 },
|
||||
{ name: 'zs', course: 'java', score: 80 },
|
||||
{ name: 'ls', course: 'app', score: 89 },
|
||||
{ name: 'ls', course: 'java', score: 99 },
|
||||
{ name: 'ww', course: 'app', score: 78 },
|
||||
{ name: 'ww', course: 'java', score: 88 },
|
||||
]
|
||||
|
||||
router.get("/myScoure", (req, res) => {
|
||||
const { name } = req.query;
|
||||
const schema = joi.object({
|
||||
name: joi.string().min(2).max(20).required()
|
||||
})
|
||||
const { error } = schema.validate({ name });
|
||||
if (error) {
|
||||
return res.status(400).send("Invaild Name.");
|
||||
}
|
||||
|
||||
const dataGroup = lodash(data).groupBy("name").get(name)
|
||||
res.send(dataGroup)
|
||||
})
|
||||
|
||||
router.get("/showScoure", (req, res) => {
|
||||
const dataOrder = lodash.orderBy(data, ["score"], orders = "desc");
|
||||
// console.log(dataOrder);
|
||||
const dataGroup = lodash(data).groupBy("name").map((a) => {
|
||||
return {
|
||||
name: a[0].name,
|
||||
avg: lodash.mean(a.map(e => e.score)),
|
||||
}
|
||||
})
|
||||
|
||||
res.send(dataGroup);
|
||||
})
|
||||
|
||||
router.get("/mny", (_req, res) => {
|
||||
const mnyData = [
|
||||
{ name: '张三', mny: '9k' },
|
||||
{ name: '随便', mny: 6666 },
|
||||
{ name: '王五', mny: '1w' },
|
||||
{ name: '李四', mny: 15000 },
|
||||
]
|
||||
const fixData = mnyData.map((d) =>
|
||||
typeof d.mny === "string"
|
||||
? {
|
||||
name: d.name,
|
||||
mny: parseInt(d.mny = d.mny.replace("w", "0000").replace("k", "000"))
|
||||
}
|
||||
: {
|
||||
name: d.name,
|
||||
mny: parseInt(d.mny)
|
||||
}
|
||||
)
|
||||
|
||||
const finalData = fixData.filter(d => lodash.gte(d.mny, 9000));
|
||||
|
||||
res.send(finalData)
|
||||
})
|
||||
|
||||
module.exports = {
|
||||
router
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user