Web瀏覽器收到訂單通知則自動打印訂單 當打開多個窗口會出現重複打印web
1.只容許一個頁面獲取到打印數據,其餘頁面返回空。(後面出現問題,若是在多個電腦登錄,可能都收到web通知,其餘電腦瀏覽器也成功獲取到打印數據,而有打印機的電腦卻沒有獲取到數據)//不可取 2.只有鏈接打印機,纔去獲取打印數據(也出現了獲取打印數據失敗的問題,因而出現有些訂單漏掉,沒有打印出來。解決:若是獲取失敗,嘗試從新獲取,最多5次。後來又出現問題1,重複打印了-多個瀏覽器)//也不可取 3.思路:檢測打印機-嘗試修改打印狀態(加鎖)-改爲功能則打印,不然不打印//不知道打印機是否真的打印成功,流程上有漏洞//也pass掉 4.思路:打印機插件是否能返回打印成功或失敗?訂單增長打印狀態,此狀態修改加鎖。好比默認未打印,而後打印中,已打印,打印錯誤。各個瀏覽器均可以獲取打印狀態,可是隻有一個瀏覽器能改成打印中,加上隨機字符用來標記瀏覽器(放入緩存)。獲取到打印記錄,判斷狀態是否爲打印中,隨機字符串是否爲本身瀏覽器傳的,纔去打印,打印完成則更新狀態爲已打印,不然改成打印錯誤。其餘瀏覽器獲取到打印狀態爲打印中,則再次嘗試5次,直到在爲已打印。//方案不錯,從服務端進行狀態控制,好主意。瀏覽器
作需求要走心 打開思路,web端很差控制的時候,可從服務端入手。緩存
只打開一個窗口卻打印了兩次,發現AccessTOKEN不同,應該是兩個會話。js調用也不同,顯然有一個沒有更新代碼。後來發現媽的360急速瀏覽器關閉網頁後不知怎的有幾個進程還存在(殭屍進程),效果至關於開了一個瀏覽器窗口,並且js也是舊版本的。 優化方向:1.讓用戶儘可能使用谷歌瀏覽器 2.不能讓用戶多個瀏覽器登陸,AccessToken只能有一個能夠生效,不然容易出問題。優化