我有一条路线,它定义了我的正方形(一个大区域(的大小,在这个正方形内,我有无数其他1x1比例的小正方形也就是说,如果我的计算匹配,如果我最大的正方形是一个50x50,我在它们里面有2500个小正方形,它们都是应该有以下信息的对象:
{
"data": {
"x": 1,
"y": 2,
"painted": false
},
"error": false
}
那就是它们在我的大广场上的坐标,以及它们是否被画出来当我提交这样的请求时,我应该有这个返回信息:
GET / squares /: x /: y
其中x和y是我选择的小正方形的坐标
问题是如何为我最大的广场我的意思是,我的方块路线中的物体数量将取决于我定义的较大方块的大小。。。我如何以一种";动态的";并根据其他事物的价值来创建对象?
这是我的代码:
这在我的bancoDeDados.js中
function salvarTerritorie(territorie,area) { //Define o Id seguinte para o territorie ou utiliza um ID definido caso tenha
if (!territorie.id) territorie.id = sequence.id
territories[territorie.id] = territorie
var MATRIZ2 = [];
for (var i = 0; i < area; i++) {
MATRIZ2[i] = [];
for (var j = 0; j < area; j++) {
MATRIZ2[i][j] = ''
}
}
for (var L = 0; L < area; L++) {
for (var C = 0; C < area; C++) {
MATRIZ2[L][C] = C+1
}
}
return territorie
}
这在我的servidor.js中
function getSquares(x,y) {
return territories.MATRIZ2[0][0]
}
//-
app.get('/squares/:x/:y',(req, res, next) => {
// console.log(req.params.x, req.params.y)
const {x, y} = req.params
res.send(bancoDeDados.getSquares(x, y))
})
编辑现在我需要使用以下路线更新我绘制的属性:
PATCH /squares/:x/:y/paint
这应该会让我回来:
{
"data": {
"x": 1,
"y": 2,
"painted": true
},
"error": false
}
直到现在,我都像一样
function patchSquare(x, y) {
const stringQuadrado = JSON.stringify(territories.matriz)
const dadosQuadrado = JSON.parse(stringQuadrado)
dadosQuadrado[x][y].data.painted = true
return dadosQuadrado[x][y]
}
它会正确地回报我但它没有更新,因为在我的路线
GET /squares/:x/:y
不停地把我画回来:假的我需要patchSquare来实际更新,这样即使是这个get路由也可以获得更新的属性
如果使用express
(这只是一个假设(,则:
app.get('/squares/:x/:y', function (req, res) {
// console.log(req.params.x, req.params.y)
const {x, y} = req.params
res.send(yourBigSquare[x][y])
})