From 931aa577d329f44308c4e9800ab4062a695fd129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E4=B8=9C=E9=98=B3?= <15147476661@163.com> Date: Mon, 5 May 2025 19:27:16 +0800 Subject: [PATCH] v1.1 --- server/Untitled-.json | 1 + server/makeexcel.js | 124 ++++++++++++++++++++++++++++++ server/ndserver.js | 59 ++++++++++++++ server/package.json | 33 ++++++++ server/panduan.js | 140 ++++++++++++++++++++++++++++++++++ server/parseexcel.js | 165 ++++++++++++++++++++++++++++++++++++++++ server/sckb.js | 109 ++++++++++++++++++++++++++ server/shezhikecheng.js | 64 ++++++++++++++++ server/test.html | 123 ++++++++++++++++++++++++++++++ server/wj.json | 1 + server/wj2.json | 1 + server/wj3.json | 1 + 12 files changed, 821 insertions(+) create mode 100644 server/Untitled-.json create mode 100644 server/makeexcel.js create mode 100644 server/ndserver.js create mode 100644 server/package.json create mode 100644 server/panduan.js create mode 100644 server/parseexcel.js create mode 100644 server/sckb.js create mode 100644 server/shezhikecheng.js create mode 100644 server/test.html create mode 100644 server/wj.json create mode 100644 server/wj2.json create mode 100644 server/wj3.json diff --git a/server/Untitled-.json b/server/Untitled-.json new file mode 100644 index 0000000..b3c4378 --- /dev/null +++ b/server/Untitled-.json @@ -0,0 +1 @@ +[{"lx":"单选题","uuid":"e6d957c8-7d7b-4df1-999f-7959e776317a","xuexiang":[{"lx":"wb","wb":"选项A 正确","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d"},{"lx":"wb","wb":"选项B","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d"}],"tm":{"lx":"pic","pic":"http://localhost:89/e6d957c8-7d7b-4df1-999f-7959e776317a/askforteakcb.png","wb":"test"},"daan":"A"},{"lx":"多选题","uuid":"9bc5fe7b-9d41-42ff-8e3d-a37154e2fad1","xuexiang":[{"lx":"wb","wb":"选项A 正确","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d"},{"lx":"wb","wb":"选项B 正确","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d"},{"lx":"wb","wb":"选项C","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d"}],"tm":{"lx":"pic","pic":"http://localhost:89/9bc5fe7b-9d41-42ff-8e3d-a37154e2fad1/askforteakcb.png","wb":""},"daan":["A","B"]},{"lx":"填空题","uuid":"1b100b1b-ebaa-469c-bd2d-3227760cb32f","xuexiang":[],"tm":{"lx":"wb","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d","wb":"填空题 答案为TEST"},"sr":"TEST"},{"lx":"填空题","uuid":"91e4ffa9-21e2-47f0-9480-6c0d6ffc41dc","xuexiang":[],"tm":{"lx":"wb","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d","wb":"填空题 由老师判"},"sr":"pick up me 满分"},{"lx":"简答题","uuid":"8f577885-a8a4-43cf-94d4-b3a50828275a","xuexiang":[],"tm":{"lx":"wb","pic":"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Fddd83bc0-4c41-482a-8888-083d09096ae9%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1739691239&t=f2f6f3c92693182304a737e6faf0e97d","wb":"简答题 老师判"},"filelist":[{"url":"8f577885-a8a4-43cf-94d4-b3a50828275a202413501062/0ab5b8c5-1cdb-4531-b178-cc6ba74737e1.png","file":"a8.png"}]}] \ No newline at end of file diff --git a/server/makeexcel.js b/server/makeexcel.js new file mode 100644 index 0000000..a0542e0 --- /dev/null +++ b/server/makeexcel.js @@ -0,0 +1,124 @@ +const fs = require('fs'); +const path = require('path'); +const uuidv4 = require('uuid'); +var q = require('qiao-zip'); +const os = require("os"); + /* + name:biao[j][nameid], + xuehao:biao[j][xuehaoid], + sex:biao[j][sex], + classid:biao[j][classid], + xueyuan:biao[j][xueyaunid], + idcard:biao[j][idcardid], + ruxuetime:ruxue, + iphone:biao[j][iphone], + parentphone:biao[j][parentphone], + parentname:biao[j][parentname], + */ +function nametop(){ + +} +async function makeExcel(exceljson) { + + let wblist=[]//excel文本列表 + wblist.push("姓名"); + wblist.push("学号") + wblist.push("性别") + wblist.push("专业"); + wblist.push("学院") + wblist.push("身份证号") + wblist.push("入学时间") + wblist.push("手机号") + wblist.push("默认密码") + let listexcel="" + //console.log(exceljson); + exceljson.map((value,index) => { + let nameindex = wblist.indexOf(value.name); + + if (nameindex == -1) { + wblist.push(value.name); + nameindex = wblist.indexOf(value.name); + } + let namexml = `${nameindex} `; + let xuehaoindex + = wblist.indexOf(value.xuehao); + if (xuehaoindex === -1) { + wblist.push(value.xuehao); + xuehaoindex = wblist.indexOf(value.xuehao); + } + let xuehaoxml = `${xuehaoindex} ` + let sexindex = wblist.indexOf(value.sex); + if (sexindex === -1) { + wblist.push(value.sex) + sexindex = wblist.indexOf(value.sex) + } + let sexxml = `${sexindex}` + let classindex = wblist.indexOf(value.classid); + if (classindex === -1) { + wblist.push(value.classid); + classindex = wblist.indexOf(value.classid); + } + let classxml = `${classindex}` + let xueyuanindex = wblist.indexOf(value.xueyuan); + if (xueyuanindex === -1) { + wblist.push(value.xueyuan); + xueyuanindex = wblist.indexOf(value.xueyuan); + } + let xueyuanxml = `${xueyuanindex}` + let idcardindex = wblist.indexOf(value.idcard); + if (idcardindex === -1) { + wblist.push(value.idcard); + idcardindex = wblist.indexOf(value.idcard); + } + let idcardxml = `${idcardindex}` + let ruxuetimeindex = wblist.indexOf(value.ruxuetime); + if (ruxuetimeindex === -1) { + wblist.push(value.ruxuetime); + ruxuetimeindex = wblist.indexOf(value.ruxuetime); + } + let ruxuetimexml = `${ruxuetimeindex}` + let iphoneindex = wblist.indexOf(value.iphone); + if (iphoneindex === -1) { + wblist.push(value.iphone); + iphoneindex = wblist.indexOf(value.iphone); + } + let iphonexml = `${iphoneindex}` + let passwordindex = wblist.indexOf(value.password); + console.log(value.password) + if (passwordindex === -1) { + wblist.push(value.password); + passwordindex = wblist.indexOf(value.password); + } + let passwordxml = `${passwordindex}` + const xmlall=namexml+xuehaoxml+sexxml+classxml+xueyuanxml+idcardxml+ruxuetimexml+iphonexml+passwordxml; + const row=`${xmlall} ` + listexcel+=row; + }) + let moban=fs.readFileSync("sheet2.xml","utf8") + let shuzu= moban.split("shuliang"); + moban=shuzu[0]+`I${exceljson.length+1}`+shuzu[1]; + shuzu=moban.split("charuwengjian"); + moban=shuzu[0]+listexcel+shuzu[1]; + let stringlist=""; + wblist.map((value,index)=>{ + const wbxml=`${value}` + stringlist+=wbxml; + }) + let wbxml=fs.readFileSync("sharedStrings.xml","utf8") + let wbshuzu=wbxml.split("wblist"); + wbxml=wbshuzu[0]+stringlist+wbshuzu[1]; + const cacheDir = path.join(os.homedir(), '.cache'); + const filedir=cacheDir+'\\learn\\'+uuidv4.v4(); + console.log(filedir) + fs.mkdirSync(filedir); + await q.unzip("scexcelstu.zip", filedir) + fs.writeFileSync(`${filedir}\\xl\\sharedStrings.xml`,wbxml) + fs.writeFileSync(`${filedir}\\xl\\worksheets\\sheet1.xml`,moban) + const uuidv41=uuidv4.v4(); + const dir=`C:\\Users\\l\\WebstormProjects\\examp\\serve\\nginx\\html\\stuexcel\\${uuidv41}.zip`; + + await q.zip(filedir, dir,false) + fs.copyFileSync(dir,`C:\\Users\\l\\WebstormProjects\\examp\\serve\\nginx\\html\\stuexcel\\${uuidv41}.xlsx`) + return(`http://localhost:89/stuexcel/${uuidv41}.xlsx`); +} +exports.makeExcel=makeExcel; diff --git a/server/ndserver.js b/server/ndserver.js new file mode 100644 index 0000000..72843e5 --- /dev/null +++ b/server/ndserver.js @@ -0,0 +1,59 @@ +const uuidv4 = require('uuid'); +const express = require('express'); +const multer = require('multer'); +const cors = require('cors'); +const app = express(); +const fs = require('fs'); +const zlib = require('zlib'); +const tar = require('tar'); +const axios = require('axios'); +const { promisify } = require('util'); +const {exec} = require('child_process'); +const moment=require('moment'); +var mysql = require('mysql'); +var q = require('qiao-zip'); + +const { basename, join, extname} = require("node:path"); +const {c, r} = require("tar"); +const {response} = require("express"); +const {homedir} = require("node:os"); +const readline = require("node:readline"); + +const crypto = require('crypto'); +const makeexcel=require('./makeexcel') +const speakeasy = require('speakeasy'); +const server=require('http').Server(app); +const io=require('socket.io')(server,{ + pingInterval: 10000, + pingTimeout: 5000, + + allowEIO3: true, // 如果你使用的是 Socket.io 3.x 或更高版本 + cors: { + origin: "http://localhost:3000", + methods: ["GET", "POST"] + }, + serveClient: false, + maxHttpBufferSize: 1e9, // 10 MB + perMessageDeflate: { + threshold: 1024 + } +}); +var connection = mysql.createConnection({ + host : 'localhost', + user : 'root', + password : '416416', + database : 'neigongda' +}); + +connection.connect(); +app.use(cors({ + origin: ['http://localhost:3000','http://localhost:89'], +})); + +app.use(express.urlencoded({extended: false})); // 现在就方便多了,express的两个方法一执行就行啦 +app.use(express.json({limit: '100mb', extended: true})); +const port = process.env.PORT || 3400; +app.get('/api/test',(req,res)=>{ + res.send("test"); +}) +server.listen(3500); diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..aa53018 --- /dev/null +++ b/server/package.json @@ -0,0 +1,33 @@ +{ + "name": "serve", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "private": true, + "dependencies": { + "@napi-rs/canvas": "^0.1.70", + "archiver": "^7.0.1", + "axios": "^1.7.9", + "cors": "^2.8.5", + "express": "^4.21.1", + "http": "^0.0.1-security", + "lz-string": "^1.5.0", + "moment": "^2.30.1", + "multer": "^1.4.5-lts.1", + "mysql": "^2.18.1", + "node-xlsx": "^0.24.0", + "nodemon": "^3.1.9", + "pdfjs-dist": "^3.10.111", + "qiao-zip": "^4.7.4", + "qrcode": "^1.5.4", + "socket.io": "^4.8.1", + "speakeasy": "^2.0.0", + "tar": "^7.4.3", + "uuid": "^11.0.3", + "xlsx": "^0.18.5", + "xml2js": "^0.6.2" + } +} diff --git a/server/panduan.js b/server/panduan.js new file mode 100644 index 0000000..c4ff662 --- /dev/null +++ b/server/panduan.js @@ -0,0 +1,140 @@ +async function panduanyuejuan(){ + const sqlstd="SELECT * FROM kaoshipaper WHERE uuid=?"; + const resultstd=await new Promise((resolve, reject) => { + connection.query(sqlstd,[req.query.ksh],(error, results, fields) => { + if(error)throw error; + resolve(results[0]); + }) + }) + if(JSON.parse(resultstd.xx).pan_jue_finsih===false) { + const sql = "SELECT * FROM kaoshiend WHERE ks=?"; + const resultksdaan = await new Promise((resolve, reject) => { + connection.query(sql, [parseInt(req.query.ksh)], (error, results, fields) => { + if (error) throw error; + resolve(results); + }) + }) + + let finish = true; + for (let i = 0; i < resultksdaan.length; i++) { + const ksdaan = JSON.parse(resultksdaan[i].ksdaan); + + ksdaan.map((value, index) => { + if (value.lx === "填空题") { + console.log(resultstd) + const stddaan = JSON.parse(resultstd.std); + if (stddaan[i].panjaun === "teacher") { + if (value.teacherid === undefined) { + finish = false + } + } + } + if (value.lx === "简答题") { + if (value.teacherid === undefined) { + finish = false + } + } + }) + + } + if(finish===true){ + let jsonxx=JSON.parse(resultstd.xx); + jsonxx.pan_jue_finsih=true + const sqlupdate = 'UPDATE kaoshipaper SET xx=? WHERE `uuid`=?'; + const up = await new Promise((resolve, reject) => { + connection.query(sqlupdate, [JSON.stringify(jsonxx, null, 4), req.query.ksh], (error, results, fields) => { + if (error) throw error; + resolve(results); + }) + }) + } + let infor=[] + let allprint=[] + if(finish===true){ + + for (let i = 0; i < resultksdaan.length; i++) { + const ksdaan = JSON.parse(resultksdaan[i].ksdaan); + let num=0; + let ksdaantemp=[...ksdaan] + ksdaan.map((value, index) => { + if (value.lx === "填空题") { + console.log(resultstd) + const stddaan = JSON.parse(resultstd.std); + if (stddaan[index].panjaun === "teacher") { + num=num+value.teacherprint + ksdaantemp[index].way="teacher" + ksdaantemp[index].printstu=value.teacherprint + }else{ + if(value.sr.trimStart()===stddaan[index].std.trimStart()){ + num=num+stddaan[index].print + ksdaantemp[index].way="computer" + ksdaantemp[index].printstu=stddaan[index].print + } + } + } + else if (value.lx === "简答题") { + const stddaan = JSON.parse(resultstd.std); + num=num+value.teacherprint + //ksdaantemp[index].way="teacher" + ksdaantemp[index].printstu=value.teacherprint + }else if(value.lx==="多选题"){ + let zq=true + const stddaan = JSON.parse(resultstd.std); + value.daan.map((item,xuaho)=>{ + if(!stddaan[index].std.includes(item)){} + zq=false + }) + if(value.daan.length!==stddaan[index].std.length){ + zq=false + } + if(zq){ + num=num+stddaan[index].print + //ksdaantemp[index].way="teacher" + ksdaantemp[index].printstu=stddaan[index].print + }else{ + ksdaantemp[index].printstu=0 + } + + + }else if(value.lx==="单选题"){ + const stddaan = JSON.parse(resultstd.std); + if(value.daan===stddaan[index].std){ + num=num+stddaan[index].print + //ksdaantemp[index].way="teacher" + ksdaantemp[index].printstu=stddaan[index].print + }else{ + ksdaantemp[index].printstu=0 + num=num+0 + } + }else if(value.lx==="判断题"){ + const stddaan = JSON.parse(resultstd.std); + if(value.daan===stddaan[index].std){ + num=num+stddaan[index].print + //ksdaantemp[index].way="teacher" + ksdaantemp[index].printstu=stddaan[index].print + }else{ + ksdaantemp[index].printstu=0 + } + } + + }) + const sqlupdate = 'UPDATE kaoshiend SET ksdaan=?,allprint=? WHERE id=?'; + //resultksdaan[i]. + await new Promise((resolve, reject) => { + connection.query(sqlupdate,[JSON.stringify(ksdaantemp,null,4),num,resultksdaan[i].id],(error, results) => { + if (error) throw error; + resolve(results); + + }) + }) + allprint.push(num) + infor.push({infor:ksdaantemp,num:num}) + } + } + + res.send({finish: finishr}) + }else{ + res.send({finish: true}) + } + +} diff --git a/server/parseexcel.js b/server/parseexcel.js new file mode 100644 index 0000000..3bd31ea --- /dev/null +++ b/server/parseexcel.js @@ -0,0 +1,165 @@ +const xml2js = require('xml2js'); +const parser = new xml2js.Parser(); +const fs = require('fs'); +const moment = require('moment'); +const os = require('os'); +const path = require('path'); +var q = require('qiao-zip'); +const uuidv4 = require('uuid'); + +const sheetlist=async(xlsx)=>{ + const cacheDir = path.join(os.homedir(), '.cache'); + const filedir=cacheDir+'\\learn\\'+uuidv4.v4(); + fs.mkdirSync(filedir); + await q.unzip(xlsx, filedir) + const xmlwb=fs.readFileSync(filedir+"/[Content_Types].xml",'utf8'); + const wbresult=await new Promise((resolve,reject)=>{ + parser.parseString(xmlwb, (err, result) => { + if (err) { + console.error(err); + throw err; + } + resolve(result); + }); + }) + //console.log(wbresult); + let slist=[]; + let wblist=await wblsit(filedir+"/xl/sharedStrings.xml") + + wbresult.Types.Override.map((value,index)=>{ + //console.log(value); + if(value['$'].ContentType==="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml"){ + slist.push(value['$'].PartName); + } + + }) + let chengji=[]; + //console.log(slist); + let chengname=[]; + for(let i=0;i{ + const xmlwb=fs.readFileSync(file,'utf8'); + // console.log(xmlwb); + const wbresult=await new Promise((resolve,reject)=>{ + parser.parseString(xmlwb, (err, result) => { + if (err) { + console.error(err); + throw err; + } + resolve(result); + }); + }) + let wbone=[]; + wbresult.sst.si.map((value)=>{ + //console.log(value); + wbone.push(value.t[0]); + }) + //console.log(wbone); + return wbone; +} +const wjb=async(file,list)=>{ + const xmlwb=fs.readFileSync(file,'utf8'); + const wbresult=await new Promise((resolve,reject)=>{ + parser.parseString(xmlwb, (err, result) => { + if (err) { + console.error(err); + throw err; + } + resolve(result); + }); + }) + const excerow=wbresult.worksheet.sheetData[0].row; + let allexcel=[] + + wbresult.worksheet.sheetData[0].row.map((value,index)=>{ + let hangexcel=[]; + value.c.map((value,index)=>{ + //console.log(value); + const t=value['$'].t; + const v=value.v[0]; + let zhi=""; + // if (parseInt(v)<40000&&parseInt(v)>80000) { + if (t === undefined) { + zhi = v; + } else if (t === 's') { + zhi = list[parseInt(v)]; + } else { + zhi = v; + } + // }else{ + // zhi =moment("1900-01-01").add(parseInt(v),'days').format('YYYY-MM-DD'); + //} + + hangexcel.push(zhi); + + }) + allexcel.push(hangexcel); + }); + // console.log(allexcel); + return allexcel; +} +//wblsit("C:/Users/l/Desktop/a1/xl/sharedStrings.xml").then(t=>{ + // wjb("C:/Users/l/Desktop/a1/xl/worksheets/sheet1.xml",t) +//}) +//sheetlist("C:\\Users\\l\\Desktop\\12\\a141.xlsx") +const cacheDir = path.join(os.homedir(), '.cache'); +console.log(cacheDir); +exports.sheetlist=sheetlist; diff --git a/server/sckb.js b/server/sckb.js new file mode 100644 index 0000000..4432227 --- /dev/null +++ b/server/sckb.js @@ -0,0 +1,109 @@ +//生成课表 + +const fs = require('fs'); +const LkbString = require('lz-string'); +const kb=[]; +function compressText(text) { + return LkbString.compressToEncodedURIComponent(text); +} + +for (let i = 0; i < 11; i++) { + + kb[i*28+0]={ke:1,time:"n"+i.toString()+"z1A1"}; + kb[i*28+1]={ke:2,time:"n"+i.toString()+"z1A2"}; + kb[i*28+2]={ke:0,time:"n"+i.toString()+"z1A3"}; + kb[i*28+3]={ke:0,time:"n"+i.toString()+"z1A4"}; + kb[i*28+4]={ke:0,time:"n"+i.toString()+"z2A1"}; + kb[i*28+5]={ke:2,time:"n"+i.toString()+"z2A2"}; + kb[i*28+6]={ke:3,time:"n"+i.toString()+"z2A3"}; + kb[i*28+7]={ke:0,time:"n"+i.toString()+"z2A4"}; + kb[i*28+8]={ke:1,time:"n"+i.toString()+"z3A1"}; + kb[i*28+9]={ke:4,time:"n"+i.toString()+"z3A2"}; + kb[i*28+10]={ke:0,time:"n"+i.toString()+"z3A3"}; + kb[i*28+11]={ke:0,time:"n"+i.toString()+"z3A4"}; + kb[i*28+12]={ke:1,time:"n"+i.toString()+"z4A1"}; + kb[i*28+13]={ke:2,time:"n"+i.toString()+"z4A2"}; + kb[i*28+14]={ke:3,time:"n"+i.toString()+"z4A3"}; + kb[i*28+15]={ke:0,time:"n"+i.toString()+"z4A4"}; + kb[i*28+16]={ke:3,time:"n"+i.toString()+"z5A1"}; + kb[i*28+17]={ke:4,time:"n"+i.toString()+"z5A2"}; + kb[i*28+18]={ke:5,time:"n"+i.toString()+"z5A3"}; + kb[i*28+19]={ke:0,time:"n"+i.toString()+"z5A4"}; + kb[i*28+20]={ke:0,time:"n"+i.toString()+"z6A1"}; + kb[i*28+21]={ke:0,time:"n"+i.toString()+"z6A2"}; + kb[i*28+22]={ke:0,time:"n"+i.toString()+"z6A3"}; + kb[i*28+23]={ke:0,time:"n"+i.toString()+"z6A4"}; + kb[i*28+24]={ke:0,time:"n"+i.toString()+"z7A1"}; + kb[i*28+25]={ke:0,time:"n"+i.toString()+"z7A2"}; + kb[i*28+26]={ke:0,time:"n"+i.toString()+"z7A3"}; + kb[i*28+27]={ke:0,time:"n"+i.toString()+"z7A4"}; +} +for (let i = 11; i < 15; i++) { + + kb[i*28+0]={ke:1,time:"n"+i.toString()+"z1A1"}; + kb[i*28+1]={ke:2,time:"n"+i.toString()+"z1A2"}; + kb[i*28+2]={ke:0,time:"n"+i.toString()+"z1A3"}; + kb[i*28+3]={ke:6,time:"n"+i.toString()+"z1A4"}; + kb[i*28+4]={ke:0,time:"n"+i.toString()+"z2A1"}; + kb[i*28+5]={ke:2,time:"n"+i.toString()+"z2A2"}; + kb[i*28+6]={ke:3,time:"n"+i.toString()+"z2A3"}; + kb[i*28+7]={ke:0,time:"n"+i.toString()+"z2A4"}; + kb[i*28+8]={ke:1,time:"n"+i.toString()+"z3A1"}; + kb[i*28+9]={ke:4,time:"n"+i.toString()+"z3A2"}; + kb[i*28+10]={ke:0,time:"n"+i.toString()+"z3A3"}; + kb[i*28+11]={ke:0,time:"n"+i.toString()+"z3A4"}; + kb[i*28+12]={ke:1,time:"n"+i.toString()+"z4A1"}; + kb[i*28+13]={ke:2,time:"n"+i.toString()+"z4A2"}; + kb[i*28+14]={ke:3,time:"n"+i.toString()+"z4A3"}; + kb[i*28+15]={ke:0,time:"n"+i.toString()+"z4A4"}; + kb[i*28+16]={ke:3,time:"n"+i.toString()+"z5A1"}; + kb[i*28+17]={ke:4,time:"n"+i.toString()+"z5A2"}; + kb[i*28+18]={ke:5,time:"n"+i.toString()+"z5A3"}; + kb[i*28+19]={ke:0,time:"n"+i.toString()+"z5A4"}; + kb[i*28+20]={ke:0,time:"n"+i.toString()+"z6A1"}; + kb[i*28+21]={ke:0,time:"n"+i.toString()+"z6A2"}; + kb[i*28+22]={ke:0,time:"n"+i.toString()+"z6A3"}; + kb[i*28+23]={ke:0,time:"n"+i.toString()+"z6A4"}; + kb[i*28+24]={ke:0,time:"n"+i.toString()+"z7A1"}; + kb[i*28+25]={ke:0,time:"n"+i.toString()+"z7A2"}; + kb[i*28+26]={ke:0,time:"n"+i.toString()+"z7A3"}; + kb[i*28+27]={ke:0,time:"n"+i.toString()+"z7A4"}; + +} +for (let i = 15; i < 20; i++) { + + kb[i*28+0]={ke:1,time:"n"+i.toString()+"z1A1"}; + kb[i*28+1]={ke:0,time:"n"+i.toString()+"z1A2"}; + kb[i*28+2]={ke:0,time:"n"+i.toString()+"z1A3"}; + kb[i*28+3]={ke:0,time:"n"+i.toString()+"z1A4"}; + kb[i*28+4]={ke:0,time:"n"+i.toString()+"z2A1"}; + kb[i*28+5]={ke:0,time:"n"+i.toString()+"z2A2"}; + kb[i*28+6]={ke:3,time:"n"+i.toString()+"z2A3"}; + kb[i*28+7]={ke:0,time:"n"+i.toString()+"z2A4"}; + kb[i*28+8]={ke:1,time:"n"+i.toString()+"z3A1"}; + kb[i*28+9]={ke:0,time:"n"+i.toString()+"z3A2"}; + kb[i*28+10]={ke:0,time:"n"+i.toString()+"z3A3"}; + kb[i*28+11]={ke:0,time:"n"+i.toString()+"z3A4"}; + kb[i*28+12]={ke:1,time:"n"+i.toString()+"z4A1"}; + kb[i*28+13]={ke:0,time:"n"+i.toString()+"z4A2"}; + kb[i*28+14]={ke:3,time:"n"+i.toString()+"z4A3"}; + kb[i*28+15]={ke:0,time:"n"+i.toString()+"z4A4"}; + kb[i*28+16]={ke:3,time:"n"+i.toString()+"z5A1"}; + kb[i*28+17]={ke:0,time:"n"+i.toString()+"z5A2"}; + kb[i*28+18]={ke:5,time:"n"+i.toString()+"z5A3"}; + kb[i*28+19]={ke:0,time:"n"+i.toString()+"z5A4"}; + kb[i*28+20]={ke:0,time:"n"+i.toString()+"z6A1"}; + kb[i*28+21]={ke:0,time:"n"+i.toString()+"z6A2"}; + kb[i*28+22]={ke:0,time:"n"+i.toString()+"z6A3"}; + kb[i*28+23]={ke:0,time:"n"+i.toString()+"z6A4"}; + kb[i*28+24]={ke:0,time:"n"+i.toString()+"z7A1"}; + kb[i*28+25]={ke:0,time:"n"+i.toString()+"z7A2"}; + kb[i*28+26]={ke:0,time:"n"+i.toString()+"z7A3"}; + kb[i*28+27]={ke:0,time:"n"+i.toString()+"z7A4"}; + //kb.push(JSON.stringify(kb)); +} +const compressedText = JSON.stringify(kb); +fs.appendFile('wj3.json',compressedText, (err) => { + if (err) throw err; + console.log('数据已成功写入文件'); +}); diff --git a/server/shezhikecheng.js b/server/shezhikecheng.js new file mode 100644 index 0000000..2e67528 --- /dev/null +++ b/server/shezhikecheng.js @@ -0,0 +1,64 @@ +const fs=require('fs'); +const moment=require('moment'); +var mysql = require('mysql'); +const LZString = require('lz-string'); +const e = require("express"); +var connection = mysql.createConnection({ + host : 'localhost', + user : 'root', + password : '416416', + database : 'neigongda' +}); +function decompressText(compressedText) { + return LZString.decompressFromEncodedURIComponent(compressedText); +} +connection.connect(); + +function qjkebiao(xuehao,start,end) { + const startxueiq=moment("2024-09-02T00:00:27+08:00"); + const daystart=moment(start).diff(startxueiq,"days"); + const dayend=moment(end).diff(startxueiq,"days"); + console.log(daystart); + const minutestart=moment(start).minutes()+moment(start).hours()*60; + const minutesend=moment(end).minutes()+moment(end).hours()*60; + let kestart=0; + if(minutestart<500){ + kestart=1; + }else if(minutestart<620){ + kestart=2; + }else if(minutestart<840){ + kestart=3; + }else if(minutestart<960){ + kestart=4; + }else { + kestart=5; + } + let keend=0; + if(minutesend>1060){ + keend=4; + }else if(minutesend<940){ + keend=3; + }else if(minutesend<720){ + keend=2; + }else if(minutesend<600){ + keend=1; + }else { + keend=0; + } + const kaishi=daystart+kestart*4; + const jieshu=dayend+keend*4; + const sql = 'SELECT xunhuan(?,?,?)'; + + + connection.query(sql, [kaishi,jieshu,xuehao], (error, results, fields) => { + if (error) throw error; + + // 处理查询结果 + console.log(results); + }); + console.log(dayend); + return 0; +} + +exports.qjkebiao = qjkebiao; + diff --git a/server/test.html b/server/test.html new file mode 100644 index 0000000..64c3345 --- /dev/null +++ b/server/test.html @@ -0,0 +1,123 @@ + + + + + + + 403 Forbidden + + + + +
+

Forbidden (403)

+

CSRF verification failed. Request aborted.

+ + +

You are seeing this message because this site requires a CSRF cookie when submitting forms. This cookie is + required for security reasons, to ensure that your browser is not being hijacked by third parties.

+

If you have configured your browser to disable cookies, please re-enable them, at least for this site, or for + “same-origin” requests.

+ +
+ +
+

Help

+ +

Reason given for failure:

+
+    CSRF cookie not set.
+    
+ + +

In general, this can occur when there is a genuine Cross Site Request Forgery, or when + Django’s + CSRF mechanism has not been used correctly. For POST forms, you need to + ensure:

+ + + +

You’re seeing the help section of this page because you have DEBUG = + True in your Django settings file. Change that to False, + and only the initial error message will be displayed.

+ +

You can customize this page using the CSRF_FAILURE_VIEW setting.

+
+ + + + diff --git a/server/wj.json b/server/wj.json new file mode 100644 index 0000000..e09a707 --- /dev/null +++ b/server/wj.json @@ -0,0 +1 @@ +[{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":6,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":6,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":6,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":2,"z1A3":0,"z1A4":6,"z2A1":0,"z2A2":2,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":4,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":2,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":4,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":0,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":0,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":0,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":0,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":0,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":0,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":0,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":0,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":0,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":0,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":0,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":0,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":0,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":0,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":0,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":0,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":0,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":0,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":0,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":0,"z5A3":5,"z5A4":0},{"z1A1":1,"z1A2":0,"z1A3":0,"z1A4":0,"z2A1":0,"z2A2":0,"z2A3":3,"z2A4":0,"z3A1":1,"z3A2":0,"z3A3":0,"z3A4":0,"z4A1":1,"z4A2":0,"z4A3":3,"z4A4":0,"z5A1":3,"z5A2":0,"z5A3":5,"z5A4":0}] \ No newline at end of file diff --git a/server/wj2.json b/server/wj2.json new file mode 100644 index 0000000..8769251 --- /dev/null +++ b/server/wj2.json @@ -0,0 +1 @@ +N4IgJgDARgjAgjEAuGAac14CZlfZWOAZmQn0zgBZTyosEaM64ck8n6Skjb7qkyTIgxS1hrSmOKMCw-oIKURaJktbtF07rSXzaAVhE8mhiQa37ze8DEKJRNwuvy34XBa6ozb9ex+bOjpzIxmA+XgIuUML2KmHRLMiSjsLuUXLeUEqxUWq4uVqhtrqZhvZFUKZJUYZclo6G1mBYdshxLdj54B1aCj1NLb4yg4ls+CNcoSMDCTndCWbzqcMJM9lt41mjGi1Kk5slkfNlIZtVSMnNlRZnEQpErQ5gD51j4C+9+B9ND0NHzwEugDgtp3swfrMNmDxNVoZ84RD1k8Hnk3gC9qcwYd7tdyl9rosAbVkPUiXd8JRHnFKa8NDT4WB6U1KX8FCzthTmPtwOzmZCnpSYRdOct-oLyTytnNGVtAjKMaD5RKZSdFZTzpd1TdJY0ZPoqfh9bTDYQ0uAjcr9ayTfQ5VbCjbLfy4vqhZdXQyPU19UiXbKgT6Heatt7cZiwPqNSbiUhSZHlQA2A3gJPGlOmmSpxPMPz4JO2oH5oNgItNJMxKElhawquihTl7O+vP+tFJhWhNvZ1Udgk1pMx0n95UAdmTYFHafHGf+E5HOZko4LaMXxZXTVHFaeG9Gl23ZqnGRnUsro9RGlPq5DC7DitHUfAd+1U91-wAHGP35PPwzv0139bwH-DlAK5cMgL-Z18HfN0oISfdoOVd8mxAs9YPbNDEJvUJ33vMAcKffCmgATjHEjJzIhkKOI+d-hIpcNDo4tGOozc4hImDwHYyjVhkEjkLAPjgIErZuWE7F8BI7sJN7YVOOuOppJfDwKGlGAKDlNTp2Uwgmk0gCwmgeiXEM4s9OVTTWOM6tZIMuDvGgQ9tP4zTUJsaB0Lcq9-k0qTPNwnynwC3TPFUzwNM8fcYE8fgExccJcxscJwtAxUovBbxbEsxLrMuNK6zinjvOKZQCtcsJitEtLxOy3zypk3LbAHAqlJcHpVJ6DSeki-pkFimwRgSsIRk6lKimmbwWiyoactauzvMm8zdhK-qWw0GAlsqpbdJaWr1vq2ampWlqbA+VSPg0j5Iu+XqXF+EQPDui7Rtu9LvIeKaYHencXvyk7Coe48nk+1aXo8sIUXMh5dqh76-sO8Hrl0+lVPpDT6UipkbpsdlBpgdk0ee7HXo8cUUZmonfrCcUkcBuI8ZBomwfp6qqawlwtUJen4a58yLVUi1WA8C1IotXT7Vx+1BZce1KvtMXIJsD0pcVuahf+6XaY11E1aZwN5d2+NlbCeMFJV46wizVSsyNmAs0irNdKLXGixtotKtLbwGyt6yPAbe31ZsTtve1lxO3drzfbZwOZMj7mh102dVNnG3Z0i2cE5ojwVxTwmwjXbxtyTn2XD3AuA7zzWbAvHOmYvDPdsfHPucfXTv1U78be-SLf28IDcaAzvc5gcDe4VsIEMHynh-L6fnKQ0YPHnyr59bqPx5jlx8NN9fzZgCjVIom2KMiqjvEY3HGKPofmLPse9+LmwuJPmfBIPlsPEEyrBN0ySjBcX+r7c1-vIAAvkAA \ No newline at end of file diff --git a/server/wj3.json b/server/wj3.json new file mode 100644 index 0000000..812a873 --- /dev/null +++ b/server/wj3.json @@ -0,0 +1 @@ +{"ti":[{"name":"test题目集","id":1,"timu":"{\"all\": {\"t0\": 100, \"limit\": \"time\", \"seconds\": -1, \"allprint\": 100}, \"pta\": [1], \"allti\": [1, 2, 3, 4, 5], \"danxueti\": [2], \"duoxueti\": [4], \"panduanti\": [5], \"tiankongti\": [3]}","all":"{\"kemu\": \"大创\", \"class\": \"软件24-2\", \"danwei\": \"内蒙古工业大学\", \"teacher\": \"刘乃维老师\"}","start":"2024-12-29T14:29:40.000Z","end":"2025-01-03T14:29:54.000Z"}],"daan":[{"leixing":1,"pj":"UEsDBAoAAAAAAMt4llnNaFniJAAAACQAAAAMAAAAdGVzdDEucmVzdWx05oKo5YGc6L2mOeWwj+aXtu+8jOmcgOimgeaUr+S7mDUw5YWDUEsDBAoAAAAAAAp/llkNvtUaAQAAAAEAAAALAAAAdGVzdDIuaW5wdXQyUEsDBAoAAAAAAMt4llnNaFniJAAAACQAAAAMAAAAdGVzdDIucmVzdWx05oKo5YGc6L2mOeWwj+aXtu+8jOmcgOimgeaUr+S7mDUw5YWDUEsDBAoAAAAAACR/llnqUHcjAwAAAAMAAAALAAAAdGVzdDMuaW5wdXQxMDBQSwMECgAAAAAAiJqWWUejZ0wnAAAAJwAAAAwAAAB0ZXN0My5yZXN1bHTmgqjlgZzovaYxMDDlsI/ml7bvvIzpnIDopoHmlK/ku5gzMDDlhYNQSwMEFAAAAAgA+JaWWd/Md8dLAAAAnAAAAAcAAAB0bS5qc29ufcoxDgARFATQXuIOP7/WLFu5ymYLhUJBBJ24O190RDOZmbzKGQAW1PDNSiMYb1GPYnN5UKw7JhfIKdpNHLXctLxotel3aoqfs9YBUEsDBAoAAAAAAL19llnhJV2hAgAAAAIAAAALAAAAdGVzdDEuaW5wdXQxMFBLAQI/AAoAAAAAAMt4llnNaFniJAAAACQAAAAMACQAAAAAAAAAIAAAAAAAAAB0ZXN0MS5yZXN1bHQKACAAAAAAAAEAGAAfj2QBQFTbAQAAAAAAAAAAAAAAAAAAAABQSwECPwAKAAAAAAAKf5ZZDb7VGgEAAAABAAAACwAkAAAAAAAAACAAAABOAAAAdGVzdDIuaW5wdXQKACAAAAAAAAEAGACo/Lr7RlTbAQAAAAAAAAAAAAAAAAAAAABQSwECPwAKAAAAAADLeJZZzWhZ4iQAAAAkAAAADAAkAAAAAAAAACAAAAB4AAAAdGVzdDIucmVzdWx0CgAgAAAAAAABABgAH49kAUBU2wEAAAAAAAAAAAAAAAAAAAAAUEsBAj8ACgAAAAAAJH+WWepQdyMDAAAAAwAAAAsAJAAAAAAAAAAgAAAAxgAAAHRlc3QzLmlucHV0CgAgAAAAAAABABgAmUVUGEdU2wEAAAAAAAAAAAAAAAAAAAAAUEsBAj8ACgAAAAAAiJqWWUejZ0wnAAAAJwAAAAwAJAAAAAAAAAAgAAAA8gAAAHRlc3QzLnJlc3VsdAoAIAAAAAAAAQAYAJlbxHljVNsBAAAAAAAAAAAAAAAAAAAAAFBLAQI/ABQAAAAIAPiWllnfzHfHSwAAAJwAAAAHACQAAAAAAAAAIAAAAEMBAAB0bS5qc29uCgAgAAAAAAABABgA+C3LDWBU2wEAAAAAAAAAAAAAAAAAAAAAUEsBAj8ACgAAAAAAvX2WWeElXaECAAAAAgAAAAsAJAAAAAAAAAAgAAAAswEAAHRlc3QxLmlucHV0CgAgAAAAAAABABgA4kqSiUVU2wEAAAAAAAAAAAAAAAAAAAAAUEsFBgAAAAAHAAcAigIAAN4BAAAAAA==\r\n","tm":"{\r\n \"tmname\": \"在未来的智慧城市中,有一家名为“智停无忧”的智能停车场,它采用先进的技术来管理车辆进出,并根据停车时长自动计算费用。请你编写一个C语言程序,实现停车场收费计算,需要处理以下几种情况:如果停车时间为1小时以内(含1小时),免费; 如果停车时间1小时以上,8小时以内(含8小时),则按照每小时5元的价格收费; 如果停车时间为8小时以上,前8小时按照每小时5元的价格收费,超过8小时后,每增加1小时,按照每小时10元的价格收费。停车费用封顶为300元。\",\r\n \"srgs\": \"输入可能包括多行。每行代表一个字符串,除了空格外,标点符号和普通字母一样处理。你可以认为一行的字符总数不会超过50000个,单词数不会超过600,每个单词的长度也不会超过30。\",\r\n \"scgs\": \"输出包括多行,每行对应输入的一行,为翻转后的字符串。输出时去掉多余的空格。只在每个单词之前以1个空格间隔。输出的每行末尾没有空格。\",\r\n \"sryl\": [\"9\",\"10\"],\r\n \"scyl\": [\"您停车9小时,需要支付50元\",\"您停车9小时,需要支付50元test\"]\r\n}\r\n","id":1,"stdcode":"#include\r\nint main(){\r\n int tcsj;\r\n int prize;\r\n scanf(\"%d\",&tcsj);\r\n if(tcsj<=1){\r\n prize=0;\r\n }else if(tcsj<=8){\r\n prize=tcsj*5;\r\n }else{\r\n prize=tcsj*10-40;\r\n }\r\n if(prize>300){\r\n prize=300;\r\n }\r\n printf(\"您停车%d小1234556677879hjbbg要支付%d元\",tcsj,prize);\r\n return 0;\r\n}","fen":12},{"leixing":2,"pj":null,"tm":"{\r\n \"tm\": \"/t1/tx.jpg\",\r\n \"xuexiang\": [\"/t1/a1.png\",\"/t1/t2.png\",\"/t1/a1.png\",\"/t1/t2.png\"],\r\n \"daan\": \"A\"\r\n}\r\n","id":2,"stdcode":null,"fen":5},{"leixing":3,"pj":null,"tm":"{\r\n \"tm\": \"/t1/tx.jpg\",\r\n \"daan\": [\"1\",\"2\",\"3\"],\r\n \"tk\":{\"A1\":\"\",\"A2\":\"\",\"A3\":\"\"}\r\n}\r\n","id":3,"stdcode":null,"fen":3},{"leixing":4,"pj":null,"tm":"{\r\n \"tm\": \"/t1/tx.jpg\",\r\n \"xuexiang\": [\"/t1/a1.png\",\"/t1/t2.png\",\"/t1/a1.png\",\"/t1/t2.png\"],\r\n \"daan\": [\"A\",\"B\"]\r\n}\r\n","id":4,"stdcode":null,"fen":5},{"leixing":5,"pj":null,"tm":"{\r\n \"tm\": \"/t1/tx.jpg\",\r\n \"daan\": \"对\"\r\n}\r\n","id":5,"stdcode":null,"fen":5}],"stu":[{"xuehao":"202413501062","start":"2024-12-31 15:21:33","t":[{"ti":{"uuid":"ce072387-15c3-473d-bc6d-92a5570fbdaa","xuehao":"202413501062","th":"1","daan":"{\n \"by\": \"success\",\n \"t\": [\n {\n \"time\": \"61.623334884643555\",\n \"color\": \"red\",\n \"jg\": \"resultfail\",\n \"runsc\": \"5oKo5YGc6L2mMTDlsI/ml7bvvIzpnIDopoHmlK/ku5g2MOWFgw==\",\n \"fh\": \"\\u7b54\\u6848\\u9519\\u8bef\",\n \"print\": 0,\n \"memory\": \"416.0\"\n },\n {\n \"time\": \"41.05710983276367\",\n \"color\": \"red\",\n \"jg\": \"resultfail\",\n \"runsc\": \"5oKo5YGc6L2mMuWwj+aXtu+8jOmcgOimgeaUr+S7mDEw5YWD\",\n \"fh\": \"\\u7b54\\u6848\\u9519\\u8bef\",\n \"print\": 5,\n \"memory\": \"413.0\"\n },\n {\n \"time\": \"26.31521224975586\",\n \"color\": \"green\",\n \"jg\": \"resultsuccess\",\n \"runsc\": \"5oKo5YGc6L2mMTAw5bCP5pe277yM6ZyA6KaB5pSv5LuYMzAw5YWD\",\n \"fh\": \"\\u7b54\\u6848\\u6b63\\u786e\",\n \"print\": 0,\n \"memory\": \"406.5\"\n }\n ],\n \"printall\": 4,\n \"memory\": 406.5,\n \"time\": 26.31521224975586,\r\n \"tjsj\":\"2024-12-29 19:48:11\"\n}","class":"rj24-2","timuji":"test题目集","tmjth":"1","paixu":51,"code":"#include\r\nint main()\r\n{\r\n int i,n,num;\r\n \r\n printf(\"请输入几个月整数值:\");\r\n scanf(\"%d\",&n);\r\n if(n<=0) printf(\"\\nnum=0\");\r\n if(n>0)\r\n {\r\n int x[n];\r\n x[0]=1,x[1]=1,x[2]=2;\r\n for(i=3;i