FlandreDaisuki / Patchouli

An image searching and browsing tool on pixiv
MIT License
80 stars 6 forks source link

收藏頁面排序問題 #31

Closed bestpika closed 5 years ago

bestpika commented 6 years ago

Describe the bug

A clear and concise description for what the bug happens on which page. 盡可能描述在哪個頁面執行什麼動作發生的 bug。

Steps to reproduce

  1. 進入上述頁面
  2. 更改排序

Screenshots

If applicable, add screenshots to help explain your problem. 如果有截圖也可以貼上來。

Environment

Debug messages

You can install dist/patchouli.dev.user.js, open the console, and paste as more debug messages as you can see when the bug happens to help us find the error faster. 你可以安裝 dist/patchouli.dev.user.js,打開主控台並貼上出現 bug 時的錯誤訊息或除錯訊息,越多線索可以讓我越快找到問題並修復之。

``` Paste here. 貼在這裡。 ```
FlandreDaisuki commented 6 years ago

這個有點難解,每個人的使用習慣不同 像我會希望我改過一次 "以人氣排序" 之後就繼承到所有頁面

而且其實我有 "以書籤加入排序" 的選項,只是不會自動選 所以我目前的邏輯是: https://github.com/FlandreDaisuki/Patchouli/blob/f8c45c5238f0e04dd9c8c848ac7a67d7bbc6a658/src/store/index.js#L193-L196

上一次如果是如果有用書籤頁並開啟 "以書籤加入排序" 的話,會繼承;否則會 fallback 回 "以日期排序"

也是可以遇到書籤頁就先改回 "以書籤加入排序"

bestpika commented 6 years ago

我的意思是他這個按鈕按下去,如果那個頁面本身就有功能的話就直接改網址而不是變成一種類似 sub order (我整體排序 A 的狀況下再排 B) 的感覺

FlandreDaisuki commented 6 years ago

v4.2.0-alpha.18 修正此問題

@bestpika 如果我沒誤會應該就這這個行為了,你試試看吧

bestpika commented 6 years ago

所以你現在是改成先檢查目前頁面的排序狀況,然後設定那個排序對吧?

FlandreDaisuki commented 6 years ago

只對 bookmark page 做處理: 如果在 initial 的時候 url 有資訊就直接設定成 search parameter 上的 initial 好之後就交給手動,所以在 bookmark page 就會特別不一樣

其他還是跨 page type 繼承設定

bestpika commented 6 years ago

可是這樣還是會出現先排序了 A 然後排序 B 的狀況吧? 因為這個 script 看起來是針對「頁面上有的物件」排序

就是我頁面是收藏順,然後 script 設定成投稿順排序 那就會對頁面上已經照收藏順的物件使用投稿順排序

我是比較希望在 bookmark 頁面的排序情況是根據 pixiv 功能的排序啦…

bestpika commented 6 years ago

當然這樣做最簡單的方法就是在這個頁面排序選項只有「無」跟「人氣順」就解決了

FlandreDaisuki commented 6 years ago

不會阿 因為頁面上的排序邏輯 script 內都有,所以只是單純的在 initial 的時候去設定此排序邏輯而已 https://github.com/FlandreDaisuki/Patchouli/blob/8a4014ab4010efaa67492c1dfc16767d16b7ce78/src/store/modules/pixiv.js#L103-L117

所以事實上只要支援的頁面,都是我的排序

bestpika commented 6 years ago

額,我不是這個意思

收藏頁面有兩種排序

這樣按下去會是所有收藏排序 但是假設我現在是收藏順,按下 script 的投稿順 頁面的排序會變成「所有書籤照收藏順排序之後頁面的內容照投稿順排序」

bestpika commented 6 years ago

嚴格來說應該是四種排序才對就是 收藏順有正逆,投稿順也是正逆

FlandreDaisuki commented 6 years ago

是這樣沒錯。這樣有什麼問題?

畢竟我也不是後端,我也只能管到「在我爬到的範圍內,用我想看的方式看」而已 script 的排序也是建立在這句條件上的

就跟我如果要非 R-18,理論上也只能叫 pixiv 先吐所有非 R-18 給我,而不是全部給我再去 filter 掉 R-18

FlandreDaisuki commented 6 years ago

爬的順序是應該真的無解,即使我用新 API 一次拿好幾百個 meta 當我書籤有幾千個的時候,還是會有順序問題 我也不想等幾千個全爬完再照最正確的排序,排完才 mount

所以從一開始,爬的順序就不是我能解的問題了 你的這句「所有書籤照收藏順排序之後頁面的內容照投稿順排序」 前者就是爬的順序,後者順序是顯示的順序

bestpika commented 6 years ago

這樣有問題啊,我並不想要讓他再被排序一次。 我希望我不管是走「頁面的連結」或「script 的選項」都得到同樣的效果, 但是我如果想要讓他所有的排序,那就只能點「頁面上的連結」不能點「script 的選項」了

bestpika commented 6 years ago

所以我的需求有兩種實現方法

  1. 點 script 的選項是直接動網址讓他走 pixiv 內建的排序
  2. 進去 script 預設有一個無排序
FlandreDaisuki commented 6 years ago

第二點跟現在我實做的 v4.2.0-alpha.18 (4.1.x 沒 patch 喔) 進入頁面的時候不要去動排序選項有什麼不一樣?

bestpika commented 6 years ago

有差啊,因為你的排序功能只有降冪一種 這在使用上會造成誤解

FlandreDaisuki commented 6 years ago

但是你不是想要讓一進去的頁面要符合 pixiv 本身的排序嘛? 我這邊直接進這四種順序的頁面,順序是沒有被改變的:

https://www.pixiv.net/bookmark.php https://www.pixiv.net/bookmark.php?rest=show&order=asc https://www.pixiv.net/bookmark.php?rest=show&order=date_d https://www.pixiv.net/bookmark.php?rest=show&order=date

bestpika commented 6 years ago

額,我的意思是 先不管頁面本身的功能,你的投稿順跟收藏順的排序只有「降冪」這沒錯吧? 那我進去收藏順使用「升冪」的時候卻看到你的選項選著收藏順 這樣使用者心裡會想說我收藏順被「降冪」了 (即使他沒有變動,而且你剛講沒變動之前我確實是這樣認為的) 這就是為什麼我會提出要有一個「無」的選項 因為我沒想要建議你實作四種排序

FlandreDaisuki commented 6 years ago

如果你進去收藏順使用「升冪」的時候,你看到的還是「升冪」阿... 你關掉 script,pixiv 給你的書籤頁的順序,跟打開 script 進書籤頁我給的順序,是一致的

https://github.com/FlandreDaisuki/Patchouli/issues/31#issuecomment-417840589 我有判斷並反序

bestpika commented 6 years ago

所以我前面就說了「會造成誤解」…

  1. 「那個功能本身」是降冪
  2. 「使用者看到選了那個功能」會認為是降冪(即使他沒有任何變動)
bestpika commented 6 years ago

還是我換個說法

  1. 我頁面功能是收藏順「升冪」
  2. 點了 script 投稿順(降冪)
  3. 那我這時候再去點 script 的收藏順他應該要升冪還是降冪?
  4. 照原本的功能來看他應該要「降冪」,但是你說不會變動所以這時候卻是「升冪」
FlandreDaisuki commented 6 years ago

我是覺得我並沒有在選項中提到是升冪還是降冪 只特別寫 "以XXX排序" 而已

投稿順在之前有人提到,在 search 頁有個 "古い順",所以我也有做 只有人氣順只有降冪沒錯


  1. 頁面是收藏順「升冪/降冪」
  2. 點了 script 非收藏順的其他排序
  3. 結果會是 非收藏順的其他排序 的降冪(預設)
  4. 點回 script 收藏順則符合頁面功能的排序
  5. 頁面是日期順「升冪/降冪」
  6. 點了 script 非日期順的其他排序
  7. 結果會是 非日期順的其他排序 的降冪(預設)
  8. 點回 script 日期順則符合頁面功能的排序
bestpika commented 6 years ago

可是平常操作的時候他是降冪啊 忽然到了收藏頁行為就跟平常不一樣了這樣用起來其實很微妙 當然啦如果你真的覺得這樣沒差就算了我又不可能壓著你要你改 我只是提出我使用上覺得有問題的地方而已 XD

啊順道一提我剛剛進搜尋頁他預設去選了收藏順… image

FlandreDaisuki commented 6 years ago

這個我剛剛也發現了,在下一個 commit 已經改了,還沒 push 上去 XD

那我應該有解答到你的問題了,畢竟對我來說這樣使用是蠻直覺,所以應該是不會改w