一種數(shù)據(jù)交互方法、系統(tǒng)、及一種客戶端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)交互方法、系統(tǒng)、及一種客戶端。
【背景技術(shù)】
[0002] 隨著移動互聯(lián)網(wǎng)的發(fā)展以及智能手機的普及,APP開始在各種業(yè)務(wù)場景中發(fā)揮著 越來越重要的作用。一般情況下,客戶端需要根據(jù)業(yè)務(wù)邏輯規(guī)則對用戶輸入的數(shù)據(jù)進行簡 單的校驗和處理,如注冊的用戶名長度必須大于或等于6,否則彈出提示框。如果用戶輸入 的數(shù)據(jù)滿足既定的規(guī)則,則將數(shù)據(jù)通過http請求傳輸給服務(wù)器,服務(wù)再將處理結(jié)果返回給 客戶端,比如注冊成功,則返回用戶信息。
[0003] 而隨著業(yè)務(wù)規(guī)則改變,客戶端與服務(wù)端數(shù)據(jù)交互與處理的方法也需要進行相應(yīng)的 調(diào)整。一般的處理方法是:
[0004] (1)修改客戶端(iOS)代碼,以滿足當前業(yè)務(wù)規(guī)則;
[0005] (2)提交APP store,等待審核,時間較長。
[0006] (3)審核失敗,重走(1)的流程;審核通過,新版APP上架。
[0007]蘋果APP store審核(包括上架審核和更新審核)有一套完整、嚴格的流程和制度, 所以審核時間較長,并且無法預估。(少則可能一個星期內(nèi),多則可能三四個星期甚至更 久。)更新審核通過之后,很可能此時業(yè)務(wù)規(guī)則又發(fā)生改變,新版本的代碼已經(jīng)不適應(yīng)當前 系統(tǒng)。
[0008] 當然如有緊急需求,也可以申請"加速APP審核"。審核時間比普通審核更快。但時 間仍不確定,并且需要說明原因。否則要求會被拒絕。
[0009] 所以,現(xiàn)在的更新機制存在很多問題:更新周期長,時間不確定,并且需要額外花 費很多精力去處理更新流程。如果遇到緊急情況或者業(yè)務(wù)頻繁變化,上述方法顯然無法滿 足需求。
【發(fā)明內(nèi)容】
[0010] 鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種數(shù)據(jù)交互方法、系統(tǒng)、 及一種客戶端,用于解決現(xiàn)有技術(shù)中客戶端與服務(wù)端數(shù)據(jù)交互效率低、操作繁雜的問題。
[0011] 為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種數(shù)據(jù)交互方法,應(yīng)用于包括客 戶端及與所述客戶端通信的服務(wù)端的系統(tǒng)中,包括如下步驟:所述客戶端根據(jù)一執(zhí)行命令, 通過UlWebView的方法從所述服務(wù)端中調(diào)取相應(yīng)的JavaScript代碼進行數(shù)據(jù)處理;所述服 務(wù)器根據(jù)UlWebView的代理方法,通過JavaScript向所述客戶端傳遞數(shù)據(jù)或請求本地操作。
[0012] 于本發(fā)明的一具體實施例中,所述數(shù)據(jù)處理包括數(shù)據(jù)校驗和/或數(shù)據(jù)計算。所述數(shù) 據(jù)校驗包括對輸入的用戶名長度、用戶名格式、或郵箱格式中的一種或多種的校驗。
[0013] 于本發(fā)明的一具體實施例中,所述服務(wù)器根據(jù)UlWebView的代理方法,通過 JavaScript向所述客戶端傳遞數(shù)據(jù)或請求本地操作的步驟包括:所述服務(wù)端與所述客戶端 預先約定相互交互的統(tǒng)一資源定位符的協(xié)議名、操作命令、以及參數(shù);所述客戶端根據(jù)通過 UlWebView方法加載的所述統(tǒng)一資源定位符進行解析,以獲得協(xié)議名,并執(zhí)行相關(guān)操作。
[0014] 于本發(fā)明的一具體實施例中,所述客戶端根據(jù)通過UlWebView方法加載的所述統(tǒng) 一資源定位符進行解析,以獲得協(xié)議名,并執(zhí)行相關(guān)操作的步驟包括:當所述客戶端判斷加 載的所述統(tǒng)一資源定位符的協(xié)議名為預先約定的協(xié)議名時,解析相應(yīng)的操作命令和參數(shù), 并根據(jù)解析后的所述操作命令的參數(shù),執(zhí)行相應(yīng)的操作。
[0015] 為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種數(shù)據(jù)交互系統(tǒng),應(yīng)用于包括 客戶端及與所述客戶端通信的服務(wù)端,其中,所述客戶端根據(jù)一執(zhí)行命令,通過UlWebView 的方法從所述服務(wù)端中調(diào)取相應(yīng)的JavaScript代碼進行數(shù)據(jù)處理;所述服務(wù)器用以根據(jù) UlWebView的代理方法,通過JavaScript向所述客戶端傳遞數(shù)據(jù)或請求本地操作。
[0016] 于本發(fā)明的一具體實施例中,所述數(shù)據(jù)處理包括數(shù)據(jù)校驗和/或數(shù)據(jù)計算;所述數(shù) 據(jù)校驗包括對輸入的用戶名長度、用戶名格式、或郵箱格式中的一種或多種的校驗。
[0017] 于本發(fā)明的一具體實施例中,所述服務(wù)器根據(jù)UlWebView的代理方法,通過 JavaScript向所述客戶端傳遞數(shù)據(jù)或請求本地操作的操作包括:所述服務(wù)端與所述客戶端 預先約定相互交互的統(tǒng)一資源定位符的協(xié)議名、操作命令、以及參數(shù);所述客戶端根據(jù)通過 UlWebView方法加載的所述統(tǒng)一資源定位符進行解析,以獲得協(xié)議名,并執(zhí)行相關(guān)操作。
[0018] 于本發(fā)明的一具體實施例中,所述客戶端根據(jù)通過UlWebView方法加載的所述統(tǒng) 一資源定位符進行解析,以獲得協(xié)議名,并執(zhí)行相關(guān)操作的操作包括:當所述客戶端判斷加 載的所述統(tǒng)一資源定位符的協(xié)議名為預先約定的協(xié)議名時,解析相應(yīng)的操作命令和參數(shù), 并根據(jù)解析后的所述操作命令的參數(shù),執(zhí)行相應(yīng)的操作。
[0019] 為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種客戶端,應(yīng)用于如上任一項 所述的數(shù)據(jù)交互系統(tǒng)中,所述客戶端與一服務(wù)端進行通信,其中,所述客戶端根據(jù)一執(zhí)行命 令,通過UlWebView的方法從所述服務(wù)端中調(diào)取相應(yīng)的JavaScript代碼進行數(shù)據(jù)處理。
[0020] 如上所述,本發(fā)明的一種數(shù)據(jù)交互方法、系統(tǒng)、及一種客戶端,令所述客戶端根據(jù) 一執(zhí)行命令,通過UlWebView的方法從所述服務(wù)端中調(diào)取相應(yīng)的JavaScript代碼進行數(shù)據(jù) 處理。且所述服務(wù)器還可以根據(jù)UlWebVi ew的代理方法,通過JavaScript向所述客戶端傳遞 數(shù)據(jù)或請求本地操作。即在交互的業(yè)務(wù)規(guī)則發(fā)生快速變化的情況下,不需要修改更新客戶 端代碼,只需要修改服務(wù)端的JavaScript代碼即可,從而避免了客戶長時間的更新周期,能 夠快速實現(xiàn)系統(tǒng)迭代。且服務(wù)器主動調(diào)取客戶端本地操作(接口)的方法,能夠處理復雜的 業(yè)務(wù)事件,實現(xiàn)客戶端和服務(wù)端的雙向交互,且數(shù)據(jù)交互靈活。
【附圖說明】
[0021] 圖1顯示為本發(fā)明的數(shù)據(jù)交互方法在一具體實施例中的流程示意圖。
[0022] 圖2顯示為本發(fā)明的數(shù)據(jù)交互系統(tǒng)在一具體實施例中的結(jié)構(gòu)示意圖。
[0023] 元件標號說明
[0024] 11 客戶端
[0025] 12 服務(wù)端
[0026] S11、S12 步驟
【具體實施方式】
[0027]以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書 所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實 施方式加以實施或應(yīng)用,本說明書中的各項細節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離 本發(fā)明的精神下進行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施 例中的特征可以相互組合。
[0028]需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu) 想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸 繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也 可能更為復雜。
[0029]請參閱圖1,顯示為本發(fā)明的數(shù)據(jù)交互方法在一具體實施例中的流程示意圖。請參 閱圖2,顯示為本發(fā)明的數(shù)據(jù)交互系統(tǒng)在一具體實施例中的模塊示意圖。
[0030] 圖1所示的數(shù)據(jù)交互方法,應(yīng)用于如圖2所示的數(shù)據(jù)交互系統(tǒng)中,包括客戶端11及 與所述客戶端11通信的服務(wù)端12的系統(tǒng)中,包括如下步驟:
[0031] S11:所述客戶端11根據(jù)一執(zhí)行命令,通過UlWebView的方法從所述服務(wù)端12中調(diào) 取相應(yīng)的JavaScript代碼進行數(shù)據(jù)處理。JavaScript是一種廣泛用于客戶端的輕量級的腳 本語言,功能強大,安全簡單。使用UlWebView加載服務(wù)端的JavaScript代碼,將一些數(shù)據(jù)放 在客戶端進行處理、驗證,能減少網(wǎng)絡(luò)傳輸。優(yōu)選的,其中,所述數(shù)據(jù)處理包括數(shù)據(jù)校驗和/ 或數(shù)據(jù)計算。于本發(fā)明的一具體實施例中,所述數(shù)據(jù)校驗包括對輸入的用戶名長度、用戶名 格式、或郵箱格式中的一種或多種的校驗。所述客戶端11例如為智能手機或平板電腦等具 有數(shù)據(jù)處理以及數(shù)據(jù)交互能力的電子設(shè)備。
[0032] 具體應(yīng)用例如為:
[0033]客戶端11進行數(shù)據(jù)校驗,如檢測用戶輸入的用戶名長度、用戶輸入的郵箱格式是 否正確。下面以檢測用戶輸入的用戶名長度為例:
[0034] 1)服務(wù)端12的JavaScript代碼示例,如果用戶輸入的的用戶名(userName)長度大 于或等于6,則返回"success",表示輸入合法;否則返回"fail" :
[0036] 客戶端11直接調(diào)用JAVASCRIPT,根據(jù)返回的結(jié)果(result)進行數(shù)據(jù)校驗:
[0037] NSString*result=[_webView stringByEvaluatingJavaScriptFromString:
[NSString stringWithFormat:@〃userNameLength(' );〃,userName]];
[0038] 如果業(yè)務(wù)規(guī)則調(diào)整,則修改JAVASCRIPT代碼中的userNameLength方法即可。
[0039] 2)客戶端進行數(shù)據(jù)計算,原理同上,也是通過UlWebView的 stringByEvaluatingJavaScriptFromString 方法調(diào)取服務(wù)端的 JAVASCRIPT代碼進行計算。
[0040] 即當系統(tǒng)業(yè)務(wù)規(guī)則發(fā)生改變時,無需修改客戶端11代碼,不用提交APP store進行 更新審核。只需在服務(wù)端12修改JS代碼,縮短了更新時間。
[0041 ]所述數(shù)據(jù)交互方法還包括以下步驟:
[0042] S12:所述服務(wù)器12根據(jù)UlWebView的代理方法,通過JavaScript向所述客戶端11 傳遞數(shù)據(jù)或請求本地操作。
[0043] 具體的,所述服務(wù)器根據(jù)UlWebView的代理方法,通過JavaScript向所述客戶端