一種應(yīng)用于pos終端的瀏覽器的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種應(yīng)用于P0S終端的瀏覽器。
【背景技術(shù)】
[0002] POS(pointofsale,銷售點(diǎn))終端是一種多功能終端,把它安裝在信用卡的特約 商戶和受理網(wǎng)點(diǎn)中與計(jì)算機(jī)聯(lián)成網(wǎng)絡(luò),就能實(shí)現(xiàn)電子資金自動(dòng)轉(zhuǎn)帳,它具有支持消費(fèi)、預(yù)授 權(quán)、余額查詢和轉(zhuǎn)帳等功能,使用起來(lái)安全、快捷、可靠。
[0003]P0S應(yīng)用開發(fā),目前國(guó)內(nèi)外都沿襲傳統(tǒng)的C/C++,JAVA這些傳統(tǒng)開發(fā)語(yǔ)言。在界面 開發(fā)上,基本是采用字符型界面開發(fā)方式,即使是彩屏普及后,也是如此。只有少數(shù)廠商使 用⑶I(GraphicalUserInterface,圖形用戶界面)工具。這些老的方式,沒(méi)辦法在彩屏上 實(shí)現(xiàn)良好的顯示效果。
[0004] 傳統(tǒng)開發(fā)方式,界面邏輯與業(yè)務(wù)邏輯耦合程度高,不利于應(yīng)用的移植,也不利于協(xié) 同開發(fā)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供了一種應(yīng)用于P0S終端的瀏覽器,能夠簡(jiǎn)化界面邏輯,利于應(yīng) 用的開發(fā)。
[0006]本發(fā)明第一方面提供了一種應(yīng)用于P0S終端的瀏覽器,包括:
[0007] 擴(kuò)展模塊,用于解析自定義的擴(kuò)展屬性;
[0008] 界面渲染模塊,用于接收渲染請(qǐng)求,解析超文本標(biāo)記語(yǔ)言HTML5文檔,并繪制渲染 樹;
[0009] 磁卡控件模塊,用于獲取磁卡信息,以及對(duì)所述磁卡信息對(duì)應(yīng)的明文磁道數(shù)據(jù)進(jìn) 行加密,并將加密后的數(shù)據(jù)發(fā)送給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;
[0010] 卡號(hào)輸入控件模塊,用于對(duì)輸入的卡號(hào)數(shù)據(jù)進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送給 交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;
[0011] 密碼輸入控件模塊,用于對(duì)輸入的密碼數(shù)據(jù)進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送給 交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;
[0012] 腳本模塊,用于解析腳本代碼得到腳本函數(shù),并執(zhí)行與所述腳本函數(shù)對(duì)應(yīng)的腳本 動(dòng)作;
[0013] 變量引擎模塊,用于與界面元素進(jìn)行綁定,以實(shí)現(xiàn)變量與界面的同步更新;
[0014] 事件分發(fā)模塊,用于連接瀏覽器與底層模塊,并將瀏覽器界面的事件打包后發(fā)送 給所述底層模塊。
[0015] 結(jié)合本發(fā)明的第一方面,在本發(fā)明第一方面的第一種實(shí)現(xiàn)方式中,所述界面渲染 模塊具體包括:
[0016] 第一接收子模塊,用于接收渲染請(qǐng)求;
[0017] 第一解析子模塊,用于解析超文本標(biāo)記語(yǔ)言HTML文檔,并構(gòu)建文檔對(duì)象模型D0M 節(jié)點(diǎn);
[0018] 第二解析子模塊,用于解析所述文檔對(duì)象模型DOM節(jié)點(diǎn)的屬性和布局,并構(gòu)建渲 染樹;
[0019] 繪制模塊,用于遍歷所述渲染樹,并在用戶界面后端繪制所述渲染樹。
[0020] 結(jié)合本發(fā)明的第一方面、或第一方面的第一種實(shí)現(xiàn)方式,在本發(fā)明第一方面的第 二種實(shí)現(xiàn)方式中,所述腳本模塊具體包括:
[0021] 第二接收子模塊,用于接收腳本執(zhí)行請(qǐng)求;
[0022] 第三解析子模塊,用于將腳本代碼解析到抽象語(yǔ)法樹AST;
[0023] 第四解析子模塊,用于對(duì)所述抽象語(yǔ)法樹AST進(jìn)行詞法解析,得到腳本函數(shù);
[0024] 執(zhí)行子模塊,用于根據(jù)所述腳本函數(shù)執(zhí)行與所述腳本函數(shù)對(duì)應(yīng)的腳本動(dòng)作。
[0025] 結(jié)合本發(fā)明第一方面的第二種實(shí)現(xiàn)方式,在本發(fā)明第一方面的第三種實(shí)現(xiàn)方式 中,所述腳本動(dòng)作包括如下七個(gè)中至少一個(gè):播放提示音、重啟、發(fā)起事件、播放音頻、復(fù)制 變量、設(shè)置變量、延時(shí)。
[0026] 從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):擴(kuò)展模塊用于解析自定 義的擴(kuò)展屬性;界面渲染模塊用于接收渲染請(qǐng)求,解析超文本標(biāo)記語(yǔ)言HTML5文檔,并繪制 渲染樹;磁卡控件模塊用于獲取磁卡信息,以及對(duì)所述磁卡信息對(duì)應(yīng)的明文磁道數(shù)據(jù)進(jìn)行 加密,并將加密后的數(shù)據(jù)發(fā)送給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;卡號(hào)輸入控件模塊用于對(duì)輸入的 卡號(hào)數(shù)據(jù)進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;密碼輸入控件模塊 用于對(duì)輸入的密碼數(shù)據(jù)進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;腳本 模塊用于解析腳本代碼得到腳本函數(shù),并執(zhí)行與所述腳本函數(shù)對(duì)應(yīng)的腳本動(dòng)作;變量引擎 模塊用于與界面元素進(jìn)行綁定,以實(shí)現(xiàn)變量與界面的同步更新;事件分發(fā)模塊用于連接瀏 覽器與底層模塊,并將瀏覽器界面的事件打包后發(fā)送給所述底層模塊。本發(fā)明實(shí)施例提供 的瀏覽器方案,界面邏輯與業(yè)務(wù)邏輯相分離,利于應(yīng)用的開發(fā);且利用HTML5的擴(kuò)展屬性, 在HTML5增加支付應(yīng)用元素,構(gòu)建元素豐富的界面,能夠更好地發(fā)揮彩屏的優(yōu)勢(shì),實(shí)現(xiàn)開發(fā) 的所見即所得。
【附圖說(shuō)明】
[0027] 圖1為本發(fā)明所提供的瀏覽器的一個(gè)實(shí)施例結(jié)構(gòu)示意圖;
[0028] 圖2為本發(fā)明所提供的瀏覽器的另一實(shí)施例結(jié)構(gòu)示意圖;
[0029] 圖3為本發(fā)明所提供的瀏覽器的另一實(shí)施例結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0030] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0031] 應(yīng)當(dāng)理解,盡管在本發(fā)明實(shí)施例中可能采用術(shù)語(yǔ)第一、第二等來(lái)描述各個(gè)用戶或 終端,但用戶或終端不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將用戶或終端彼此區(qū)分開。例如, 在不脫離本發(fā)明實(shí)施例范圍的情況下,第一用戶也可以被稱為第二用戶,類似地,第二用戶 也可以被稱為第一用戶;同樣的,第二用戶也可以被稱為第三用戶等等,本發(fā)明實(shí)施例對(duì)此 不做限制。
[0032] 請(qǐng)參閱圖1,本發(fā)明所提供的瀏覽器的一個(gè)實(shí)施例包括:
[0033] 擴(kuò)展模塊101,用于解析自定義的擴(kuò)展屬性;
[0034] 界面渲染模塊102,用于接收渲染請(qǐng)求,解析超文本標(biāo)記語(yǔ)言HTML5文檔,并繪制 渲染樹;
[0035] 磁卡控件模塊103,用于獲取磁卡信息,以及對(duì)所述磁卡信息對(duì)應(yīng)的明文磁道數(shù)據(jù) 進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;
[0036] 卡號(hào)輸入控件模塊104,用于對(duì)輸入的卡號(hào)數(shù)據(jù)進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送 給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;
[0037] 密碼輸入控件模塊105,用于對(duì)輸入的密碼數(shù)據(jù)進(jìn)行加密,并將加密后的數(shù)據(jù)發(fā)送 給交易后臺(tái)進(jìn)行業(yè)務(wù)邏輯;
[0038] 腳本模塊106,用于解析腳本代碼得到腳本函數(shù),并執(zhí)行與所述腳本函數(shù)對(duì)應(yīng)的腳 本動(dòng)作;
[0039] 變量引擎模塊107,用于與界面元素進(jìn)行綁定,以實(shí)現(xiàn)變量與界面的同步更新;
[0040] 事件分發(fā)模塊108,用于連接瀏覽器與底層模塊,并將瀏覽器界面的事件打包后發(fā) 送給所述底層模塊。
[0041] 需要說(shuō)明的是,HTML(HypertextMarkupLanguage,超文本標(biāo)記語(yǔ)言)5是萬(wàn)維網(wǎng) 的核心語(yǔ)言、標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言下的一個(gè)應(yīng)用HTML的第五次重大修改;其中,擴(kuò)展屬性用 data-作為前綴,本發(fā)明實(shí)施例提供的瀏覽器能夠解析自定義的擴(kuò)展屬性。由于目前HTML5 功能已經(jīng)完善,同時(shí),HTML5支持data-這種前綴的擴(kuò)展屬性,很適合于POS方案中,增加擴(kuò) 展功能。
[0042] 其中,磁卡控件模塊103是符合安全讀取與數(shù)據(jù)交換要求的磁頭控件,它是一個(gè) 擴(kuò)展的HTML5控件,用于支付行業(yè)的讀磁條卡卡號(hào)。磁卡控件模塊103在取得明文卡號(hào)后, 根據(jù)卡號(hào)在白名單中的配置,選用指定的P2PE(peer-to-peerencryption,點(diǎn)對(duì)點(diǎn)加密) 加密方式,將明文磁道數(shù)據(jù)變成加密磁道數(shù)據(jù)。用戶代碼直接將加密磁道數(shù)據(jù)發(fā)給交易后 臺(tái)。用戶代碼無(wú)法接觸到明文磁道數(shù)據(jù)。
[0043] 該卡號(hào)輸入控件模塊