在移動(dòng)協(xié)同簽名認(rèn)證實(shí)現(xiàn)流程文章中我們通過(guò)html+php已經(jīng)將二維碼反饋到前臺(tái)頁(yè)面中等待用戶(hù)掃描,此次就將用戶(hù)掃碼后的流程實(shí)現(xiàn)一下,基本邏輯為當(dāng)開(kāi)啟二維碼后將當(dāng)前人員工號(hào)反饋給后臺(tái),后臺(tái)輪詢(xún)是否成功,未驗(yàn)證則繼續(xù)輪詢(xún),成功后停止循環(huán)記錄成功以及過(guò)期時(shí)間。
首先實(shí)現(xiàn)startPolling方法
創(chuàng)建定時(shí)器 循環(huán)請(qǐng)求checkSignResult接口,下一步實(shí)現(xiàn)該方法
用當(dāng)前工號(hào)請(qǐng)求后臺(tái)判斷是否完成
后臺(tái)收首先查詢(xún)庫(kù)中是否有存在已通過(guò)驗(yàn)證的數(shù)據(jù),將不足3小時(shí)過(guò)期的信息強(qiáng)制設(shè)為已過(guò)期。
未驗(yàn)證的信息通過(guò)上一步開(kāi)啟連續(xù)簽名獲取的任務(wù)id查詢(xún)是否簽名完成
判斷簽名是否成功,成功后記錄完成和強(qiáng)制過(guò)期時(shí)間返回給前臺(tái)
前臺(tái)收到后判斷狀態(tài)如果已通過(guò)則執(zhí)行callBack方法,已過(guò)期則重新請(qǐng)求簽名方法,未驗(yàn)證則等待下一次請(qǐng)求。
至此開(kāi)啟自動(dòng)簽實(shí)現(xiàn)完成,在有效期內(nèi)即可將pdf內(nèi)容傳至ca進(jìn)行認(rèn)證。