記錄一次多開關多狀態情況下結果的設計

2021-09-16 13:52:40 字數 834 閱讀 2389

最近碰到乙個需求,有乙個頁面有三個認證,這三個認證會變更.就是說可能這期是認證a,認證b,就可以進行下一步.但是下期就變成b,認證c了.需求希望針對這三個開關做成這樣,開關a,開關b,開關c,都有三種狀態.1,2,3.1為必須做,2,為選做乙個.3為不做.如果三個開關配置成:[1,2,3],那就代表開關a,開關b都要做,開關c不用做.(ps: 選擇做乙個的是指,如果有兩個開關狀態都是2,則2選一,如果有3個開關狀態為2,則3選一.但是如果只有乙個開關狀態為2,則這個必須做).進入下乙個頁面的條件就是,這三個開關必須按照配置項做了.

目前設計的方案為:

其中,a,b,c代表三個開關,switch代表開關狀態,flag代表開關是否完成.

**實現:

checkfield: function () ,

b: ,

c: };//如果開關陣列中有乙個是可選,則可選標識choiceflag置為false.

switchset.foreach(function (elem)

});//遍歷obj,檢視obj中資料,進行判斷是否顯示下一步.

['a', 'b', 'c'].foreach(function (val)

} else if (obj[val].switch == 2)

}});return (flagswitch && choiceflag);

},

寫到這裡,**實現的核心就完了.

翥於2017.9.13簡記

記錄一次生產情況下出現mysql死鎖

在生產中有兩筆單子同時進行 乙個是新增乙個是修改操作,且這兩個操作都通過spring新增了事務,由於死鎖導致了新增的這筆單子新增失敗導致回滾。1 先使用 show engine innodb status 命令檢視了mysql的最近一次死鎖記錄 2 分析後得到結論由於兩個事務的執行語句順序相反,應該...

記錄一次繞過檔案防多開的思路

此文章僅記錄當時思路,不具備通用性。且本人所學甚淺,必有諸多不足,如若有誤或更好的思路,希望能不吝指教。目標程式有防多開限制,需求繞過防多開。通過行為監控 分析,發現目標程式有可疑檔案 某特殊檔案字尾 的建立和鎖檔案 lockfile 的操作。進一步分析,發現與鎖檔案的操作無關。關注並分析建立的可疑...

記錄一次大量CLOSE WAIT的情況

近期的專案中,有乙個特殊的需求,對於每個客戶端程式有若干個機構,對於每個機構有不同的客戶端證書,程式間隔一段時間向服務端進行請求,根據請求的成功與否更新各機構的狀態 如正常,證書未配置,證書過期等 實際投入測試環境進行使用的時候,執行了一段時間之後,客戶端程式出現了大量的close wait的情況,...