{"_id":"1811a-zsgc","_rev":"3-da6faba53889620630faa792ef6badc8","name":"1811a-zsgc","dist-tags":{"latest":"3.0.0"},"versions":{"1.0.0":{"name":"1811a-zsgc","version":"1.0.0","description":"","main":"app.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.21.1","express":"^4.17.1","mockjs":"^1.1.0"},"_id":"1811a-zsgc@1.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qOsCp9P64K61TSfCVcnV/0NjacTHjkNRFIFU5FMWWyE0lyAG9yNxA5JmTyeJVIeJrONRfyymQf5+bGDTAtyAAw==","shasum":"cc16232adbc81f8077af205f83ed3ccbd3a9654a","tarball":"https://registry.npmjs.org/1811a-zsgc/-/1811a-zsgc-1.0.0.tgz","fileCount":8,"unpackedSize":113547,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEReECRA9TVsSAnZWagAAnOAP+QGq6gERMcXQ4+pK8o6l\nh1p9U33/Ti21e2VKeR/9wcZceDmEP6Q+GN3mv7t/5UdR/FAxcmdSYTjYFy3l\n97laQiFPaSNhCwqjwaAgFsU3SXhqG5kBBxShaAGAEXg3Gm8jjLSCnqx4hGR6\n5Mqr4L3mpYoYWcn+3I3GeOt5wGywnfJslqtBLm3iAZACXr2KeNk7paz7vtGC\nizXT9SkOUCKJqIT1Of6cCjHN+RQuEYGgyCsjgQQSVtTGoHzvl6canHiLf20n\n5ify+f6FraD88B0OEGe9kQ8tfyjCYJS0zJYjJrq624EiFLQwo7OlgN4CHAJZ\n+qC4hm53M5cF4RL4zZzEnzALQiNCOBuHu7lrcxGznywBoX3WCaOq1Yx77hAF\nv2PH3fs83rezyX6CiTraGDU+uoLWQ2wamZF4PUPbRWvJxJ1RSRylUmCzsd3C\n8uaNvqa6Ky+lavwDv11u3aV5xx7sjuTraAoNf8sqFInVQ90/0Nyn3K/GcTPQ\n/tyaF8bH0EvCiLVVNID2Py+B09BqP40xpqDiJCLEsrwL/3FrhiBX5vHcpRHz\nzjT4cAbgdMBcsESjpdzK8kIXhbaCgZCXa2BG7gYnZ+p85+9vRAPmc7K/jW0p\nK76++I8rQK/t0P/upuH2bGy3kG8LxVyAemZ4EzpVSTRfTOxDplO+I4kFJTKl\nkfWI\r\n=JznO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDD0keWRzxYc+L/aNyO6OOm4baP1vYge+ZunXvbiQUTPQIhAPKUAdYwu9bY2vY1pcrHOa0L0m03aZrcSj7VErmCGBqW"}]},"_npmUser":{"name":"ts183718869","email":"183718869@qq.com"},"directories":{},"maintainers":[{"name":"ts183718869","email":"183718869@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/1811a-zsgc_1.0.0_1611732867676_0.5911951367952943"},"_hasShrinkwrap":false},"2.0.0":{"name":"1811a-zsgc","version":"2.0.0","description":"","main":"app.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.21.1","express":"^4.17.1","mockjs":"^1.1.0"},"_id":"1811a-zsgc@2.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-E+J6MLwLBbQxEApzpALcSEAo4EZZYLiDPUiQZ5WKFka4ScFuMV1zuqWtPrm8IwVcorVEG6X0mV8Fxm2vuvKWHw==","shasum":"c982c29357a6861855128ca90c1305f37aa81910","tarball":"https://registry.npmjs.org/1811a-zsgc/-/1811a-zsgc-2.0.0.tgz","fileCount":9,"unpackedSize":116953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgERj3CRA9TVsSAnZWagAALzQQAKGFQlaFayt8tgetg58C\no9x0dZ9FXHNkkg8b2lM4qDa01wf9lwXNbaot26CzHHyfN3frpkk49ftVh1wT\n93XM2DKjatEmZq01bUZgdyUY0dFd+owf4FMmYZuwpyV8lRoA3Gs5QT9MmQht\nqkZvcR/I+bnjFGn9sZd/9QC+JRN8jczLsrArqJ0KbmXDpqbVlK6tQbGbNKbD\niCQMhfGNQfIuWXvG1iAiwNa3Wv5TH0wYJ07uUTUTwIUl9V01gaCIQXyn7Jgw\nFYKPNa3vCFzqKw4ZXL5Brw8NVENjgK6P8Es8Lloqj01cpMcWHyXgQaXgUtYI\nzF8cee4KBykVvhz4YSm1qNMaYd3ZNtaPRwDS9shwKXIyBWkombVcp3EcJXf9\nsX4jHTWb8qK8FyV05M5OfkdbcdYea9qH3EuLKl56Puzs1bDPmpNU5tqhFtk/\nrWobBkCEpD3ogWC5v60IgmgOq8Of3B1RRXboKg2U4L+MMFj8erLcQJovNhvl\n94aKm2taulpL76b2MHF7IICDYmqdwMQpZtQFNZmEwoJKSXkVL5QAstRgzDYO\nJAwdPVjHEIKn/qU/wJCYvdcEdcrLLYT/2DQZrZaVCCCiaxBU+tnuCKE47N0e\n0uc1P3TqXDlflPKY8FEaEu4GPV15BZao2Ew1g8h3lecznLn/4AYsH/ouX/D8\nhfoN\r\n=HCI+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEJi5G2LuMlF+WXdwihMyDFyNMuf7RT4GyPXnpNV2NYjAiEAi26YAPvcRn2gxC1VX5ksvS/G9DFh1QS32U5fs5xMk28="}]},"_npmUser":{"name":"ts183718869","email":"183718869@qq.com"},"directories":{},"maintainers":[{"name":"ts183718869","email":"183718869@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/1811a-zsgc_2.0.0_1611733239201_0.7043982251716487"},"_hasShrinkwrap":false},"3.0.0":{"name":"1811a-zsgc","version":"3.0.0","description":"```\r 后台\r const express=require('express');\r const app=express();\r const fs=require('fs');","main":"app.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":"","license":"ISC","dependencies":{"axios":"^0.21.1","express":"^4.17.1","mockjs":"^1.1.0"},"_id":"1811a-zsgc@3.0.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-E2JqW+t6r1J4nP14oNvFg2q48g2dLpzbpkZrlb9LxRLpxS9IXXTSt8AtGEDMzqbGDuoHTbi/5wLcEoQJBMvZqA==","shasum":"7096c5282f69498dc3eda30c5e3be6a545065c01","tarball":"https://registry.npmjs.org/1811a-zsgc/-/1811a-zsgc-3.0.0.tgz","fileCount":9,"unpackedSize":116953,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgER2/CRA9TVsSAnZWagAAjcIP/2tBEzwHDsDzsY5Jov0I\nNY8YcqDOLRH6+MhO0mtiZhDmHrlr7yOQZ70Qp0nKz/39Ze16I3joAQoh7wVv\nDrWXyHBkmmYUSzd/YwglC9X+1COB8FK0VdiOaeAcCw/LsRauZqlZnnyc1i5C\nvMywOQSB2N+f7xsU4Q2+uMoyBwxPx9CoqysxwnJWFmryCnl2yRoKjFLiba0k\nb0LhM/etFzF4P39Q5bkTLhg9EGrwpL3IvfgX3zs9xtHMlpn/oQy9nUYM66xi\n8hmNUWoKkeMmbzh1Kbr92bgsZ2tnPZJAp0qDLHxOqByGZSLq9iwBLxYQEB72\nJKzJd5U2MPnSCFdXaMMG4dRoDL4jT8fT5csIGEBc6N4V/OQ+JMF84xKIxAhL\nHQOSX9NZLb+jSG6p7MdImnJMejTrarHhYe0jOQH4epSPrqWnrkIT1w6wUTJf\nmHffoF0v7ste7qRZkPCNADzBSxK0sy9lz6RvfcQ8xT0flSmLoJQFEA75ySwK\nCC/CyX8CdF4UCyJjym2GzdhgqD4ngvpzh9XLjDMx+5F5ieDslxZ4ii2enbaK\nw7Q272HQqNCI6eD3e9YCbgDfpgNHTpIOrd3nwNb9doi6zGb2RwpCe+dBrPuA\nrIt0vEOPmI2MGa3lxKgC8yyvn6YxkcgvF6VK6bU99q3v8FXwwajfS2zQsnGc\n09hd\r\n=i1aQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFn58DMa4OwgtgzIV5XIl6mYK90HxXKdhizX/ZbeZzEAAiEA1e79zScJ1WgCoft4HvQaDFkTF6P48j3tivrkWDmE27c="}]},"_npmUser":{"name":"ts183718869","email":"183718869@qq.com"},"directories":{},"maintainers":[{"name":"ts183718869","email":"183718869@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/1811a-zsgc_3.0.0_1611734462825_0.9151483232470083"},"_hasShrinkwrap":false}},"time":{"created":"2021-01-27T07:34:27.675Z","1.0.0":"2021-01-27T07:34:27.906Z","modified":"2022-04-04T10:12:01.376Z","2.0.0":"2021-01-27T07:40:39.337Z","3.0.0":"2021-01-27T08:01:03.024Z"},"maintainers":[{"name":"ts183718869","email":"183718869@qq.com"}],"keywords":[],"license":"ISC","readme":"```\r\n后台\r\nconst express=require('express');\r\nconst app=express();\r\nconst fs=require('fs');\r\n\r\napp.use(express.static('public',{\r\n    index:'index.html'\r\n}));\r\napp.use(express.json());\r\n// 页面\r\napp.post('/api/list',(req,res)=>{\r\n    let data=JSON.parse(fs.readFileSync('mock/list.json'));\r\n    res.send(data)\r\n});\r\n// 编辑\r\napp.post('/api/compile',(req,res)=>{\r\n    let {name,city,title,id}=req.body\r\n    let data=JSON.parse(fs.readFileSync('mock/list.json'));\r\n    let o=data.find(item=>item.id===req.body.id);\r\n    // console.log(o,req.body);\r\n    Object.assign(o,req.body);\r\n    fs.writeFileSync('mock/list.json',JSON.stringify(data))\r\n    res.send({code:1})\r\n})\r\napp.listen(8080,()=>console.log('8080启动了！'));\r\n\r\n// 删除\r\napp.post('/api/del',(req,res)=>{\r\n    let { id }=req.body;\r\n    let data=JSON.parse(fs.readFileSync('mock/list.json'));\r\n    data=data.filter(item=>item.id!==id);\r\n    fs.writeFileSync('mock/list.json',JSON.stringify(data));\r\n    res.send({code:1})\r\n})\r\n\r\n\r\n前台\r\nlet wrap=document.querySelector('.wrap'),\r\n    ullist=document.querySelector('.ullist'),\r\n    mask=document.querySelector('.mask'),\r\n    city=document.querySelector('.city'),\r\n    name=document.querySelector('.name'),\r\n    title=document.querySelector('.title'),\r\n    ID,\r\n    ollist=document.querySelector('.ollist');\r\n// 列表\r\nrander()\r\nfunction rander(){\r\n    axios.post('/api/list').then(result=>{\r\n        console.log(result.data);\r\n        ollist.innerHTML=result.data.map(item=>{\r\n            return`<li my-id='${item.id}'>\r\n                        <span>></span>\r\n                        <span>${item.name}</span>\r\n                        <span>${item.city}</span>\r\n                        <span>${item.title}</span>\r\n                        <span>\r\n                            <button class=\"compile\" my-id='${item.id}'>编辑</button>\r\n                            <button class=\"add\" my-id='${item.id}'>添加食品</button>\r\n                            <button class=\"del\" my-id='${item.id}'>删除</button>\r\n                        </span>\r\n                    </li>`\r\n        }).join('')\r\n    })\r\n}\r\n// 编辑\r\nollist.addEventListener('click',e=>{\r\n    let tar=e.target;\r\n    if(tar.className==='compile'){\r\n        mask.style.display='block';\r\n        ID=tar.getAttribute('my-id');\r\n    }\r\n})\r\nmask.addEventListener('click',e=>{\r\n    let tar=e.target;\r\n    if(tar.className==='no'){\r\n        mask.style.display='none'\r\n    }\r\n    if(tar.className==='ok'){\r\n        mask.style.display='none';\r\n        // let id=tar.getAttribute('my-id')\r\n        console.log(ID);\r\n        axios.post('/api/compile',{\r\n            name:name.value,\r\n            city:city.value,\r\n            title:title.value,\r\n            id:ID\r\n        }).then(result=>{\r\n           result.data.code&&rander()\r\n        })\r\n    }\r\n})\r\n\r\n\r\n// 删除\r\nollist.addEventListener('click',e=>{\r\n    let tar=e.target;\r\n    if(tar.className==='del'){\r\n        ID=tar.getAttribute('my-id')\r\n        console.log(ID);\r\n        axios.post('/api/del',{id:ID}).then(result=>{\r\n            result.data.code&&rander()\r\n        })\r\n    }\r\n})\r\n\r\n// 增加\r\nollist.addEventListener('click',e=>{\r\n    let tar=e.target;\r\n    if(tar.className==='add'){\r\n        ID=tar.getAttribute('my-id')\r\n        console.log(ID);\r\n        axios.post('/api/del',{id:ID}).then(result=>{\r\n            result.data.code&&rander()\r\n        })\r\n    }\r\n})\r\n```","readmeFilename":"README.md","description":"```\r 后台\r const express=require('express');\r const app=express();\r const fs=require('fs');"}