POS在Trello API中实际意味着什么

B-W*_*int 12 api trello trello.net

我正在使用dillenmeisters Trello.Net API Wrapper,并且每个Card都有一个POS属性.我认为这是在列表中的位置,但数字似乎是任意的,范围从4到5位数字.反正有没有理解这些足以"放置" Card列表中已存在的另外两个新的?

dil*_*ter 19

编辑:

提供Trello.NET版本0.5.9-beta1(在NuGet上):

// Ways to set the position of a card
trello.Cards.ChangePos(card, 1234)
trello.Cards.ChangePos(card, Position.Top)
trello.Cards.ChangePos(card, Position.Bottom)
Run Code Online (Sandbox Code Playgroud)

我没有深入研究pos的工作方式,但我认为这是一种排序.如果你想在另外两张牌之间移动牌,你可以获得这两张牌的位置并将他们的Pos加在一起并除以2.

例如,如果要在卡A和卡B之间插入卡C:

  1. 卡A - Pos 16
  2. 卡B - Pos 32
  3. 卡C - Pos 64

(16 + 32)/ 2 = 24.将卡C位置设为24.

  1. 卡A - Pos 16
  2. 卡C - Pos 24
  3. 卡B - Pos 32

我认为他们这样做是为了让他们只需要在移动卡时更新ONE Pos(而不是在它之后的所有卡的Pos,如果他们使用顺序Pos而没有间隙则是必要的).

  • 我只是尝试在两张牌之间放置超过16张牌.pos值开始进入小数..例如:77823.5,77823.25,77823.125等. (3认同)
  • 我只是自己研究这个,我注意到另一个怪癖。就像@GauravGupta 指出的那样,每张新卡都会增加 65535。因此,如果您继续在此卡之前插入卡,那么位置将不断减半,即 32767.5、16383.5、8191.5、4095.9375 等......但是,我发现是当我插入一张会导致位置小于 0.1 的卡时,服务器将返回 16384(实际上是 65535 / 4)的位置。这并没有真正的意义,因为从技术上讲,这张卡会被放置在卡之后,因为它具有更高的价值。 (3认同)
  • 还注意到,每次创建新卡片时,pos 都会精确地增加 65536 (2^16)。这是随机选择的还是在这里有任何意义? (2认同)
  • 另一个奇怪的是,当我刷新页面时,服务器之前设置(并接受)的位置发生了变化,就像服务器在发牌之前重新计算位置一样。因此,当 Trello 收到超过 0.1 的位置时,它似乎正在重新计算服务器端的位置 (2认同)
  • @CarlosMendes,我没有,但是,我的猜测是,这只是一个任意数字,如果您继续移动卡片,则可以为它们提供很多上方和下方的范围。FWIW,我们在我们的应用程序中采用了这种策略,并且效果很好,我们尚未达到产品的上限。 (2认同)
  • @dillenmeister 如果我将卡 C 插入卡 A - Pos。16,它将获得比卡A更大的位置,卡B将相同并平均。但是如果我将卡A插入卡C,它的位置小于卡C,它等于卡B并平均。Trello 这样做了,这是正确的方法吗? (2认同)