專利名稱:即時通訊工具中好友的添加系統(tǒng)及添加方法
即時通訊工具中好友的添加系統(tǒng)及添加方法
技術(shù)領(lǐng)域:
本發(fā)明涉及即時通訊技術(shù)領(lǐng)域,特別是涉及一種即時通訊工具中好友的添加系統(tǒng)及添加方法。
背景技術(shù):
網(wǎng)絡(luò)即時通訊工具發(fā)展到今天,已經(jīng)成為用戶必不可少的軟件工具,不但在平時的休閑娛樂中,而且在用戶的工作中得到廣泛的使用。日益增加的用戶群數(shù)量和層出不窮的用戶需求,對IM軟件的可復(fù)用性、可維護性和可擴展性等方面提出了更高的要求。傳統(tǒng)的網(wǎng)絡(luò)即時通訊工具中添加好友的組件是將被添加方個人資料的展示、被添加方設(shè)置的各種驗證方式的界面交互和邏輯處理、以及其他一些雜項信息,都耦合在一個 C++類中實現(xiàn)。這種實現(xiàn)方案破環(huán)了軟件設(shè)計的單一職責(zé)原則,降低了組件的可維護性和可擴展性,增加了系統(tǒng)的維護成本。
發(fā)明內(nèi)容為了解決傳統(tǒng)的網(wǎng)絡(luò)即時通訊工具中添加好友的組件可維護性和可擴展性差,維護成本高的問題,有必要提供一種可維護性和可擴展性高,維護成本低的即時通訊工具中好友的添加系統(tǒng)。一種即時通訊工具中好友的添加系統(tǒng),包括備選驗證模塊和公用組件;所述公用組件從服務(wù)器獲取驗證方式,并根據(jù)所述驗證方式調(diào)用備選驗證模塊中對應(yīng)的驗證單元, 組成驗證組件;所述驗證組件根據(jù)所述驗證方式獲取對應(yīng)的驗證信息并向所述服務(wù)器發(fā)送添加請求,還用于生成提示信息并傳送給所述公用組件;所述公用組件還用于輸出好友添加界面,所述好友添加界面包括所述提示信息。優(yōu)選的,所述驗證組件包括驗證信息交互單元、請求單元和提示信息單元;所述驗證信息交互單元根據(jù)所述驗證方式輸出驗證信息交互界面,并獲取驗證信息;所述請求單元接收所述驗證信息,并根據(jù)所述驗證信息向所述服務(wù)器發(fā)送添加請求;所述提示信息單元用于生成提示信息并傳送給所述公用組件,還用于接收所述服務(wù)器返回的請求結(jié)果,并發(fā)送給所述公用組件,所述提示信息包括所述請求結(jié)果。優(yōu)選的,所述驗證方式包括身份認證方式、回答單問題方式以及回答多問題方式, 所述驗證組件還包括問題獲取單元;所述問題獲取單元在驗證方式為回答單問題方式或回答多問題方式時,用于獲取驗證問題。優(yōu)選的,所述問題獲取單元在驗證方式為回答單問題方式時,還用于獲取驗證問題的答案,所述問題獲取單元在驗證方式為回答多問題方式,還用于獲取驗證問題的答案和驗證問題的數(shù)量;所述驗證組件還包括數(shù)據(jù)檢查單元,所述數(shù)據(jù)檢查單元用于根據(jù)所述驗證問題的答案判斷所述驗證信息是否正確,若所述驗證信息正確,則所述請求單元向所述服務(wù)器發(fā)送添加請求。優(yōu)選的,所述驗證組件還包括關(guān)閉單元,當(dāng)所述關(guān)閉單元檢測到請求單元向服務(wù)器發(fā)送添加請求時,所述公用組件關(guān)閉所述好友添加界面。優(yōu)選的,所述驗證組件還包括驗證方式切換單元;所述問題獲取單元獲取驗證問題失敗時,所述驗證方式切換單元將驗證方式切換為身份認證方式,并通知所述驗證信息交互單元。優(yōu)選的,所述公用組件還用于獲取被添加方信息,所述好友添加界面包括所述被添加方信息。還有必要提供一種可維護性和可擴展性高,維護成本低的即時通訊工具中好友的添加方法。一種即時通訊工具中好友的添加方法,包括下列步驟獲取驗證方式;根據(jù)所述驗證方式調(diào)用對應(yīng)的驗證單元;通過所述驗證單元獲取驗證信息;根據(jù)所述驗證信息向服務(wù)器發(fā)送添加請求。優(yōu)選的,所述方法還包括顯示提示信息的步驟,所述提示信息包括所述服務(wù)器返回的請求結(jié)果。優(yōu)選的,所述驗證方式包括身份認證方式、回答單問題方式以及回答多問題方式, 若所述驗證方式是回答單問題方式或回答多問題方式,則所述方法還包括獲取驗證問題的步驟。優(yōu)選的,所述方法還包括獲取驗證問題的答案的步驟,以及根據(jù)所述驗證問題的答案判斷所述驗證信息是否正確的步驟。優(yōu)選的,所述獲取驗證問題的步驟中,若獲取驗證問題失敗,則所述驗證組件將驗證方式切換為身份認證方式。優(yōu)選的,所述方法還包括獲取被添加方信息的步驟,以及顯示所述被添加方信息的步驟。上述即時通訊工具中好友的添加系統(tǒng),將不隨驗證方式變化的單元分離出來作為公用組件,將隨驗證方式變化的單元作為單元備選驗證單元,系統(tǒng)工作時根據(jù)驗證方式調(diào)用與該方式對應(yīng)的單元組成驗證組件,執(zhí)行驗證流程。因此在要增加新的驗證方式或?qū)ΜF(xiàn)有的驗證方式做修改時,僅需要添加相應(yīng)的備選單元,或?qū)ΜF(xiàn)有的備選單元做修改,而不用對整個系統(tǒng)做修改,增強了系統(tǒng)的可擴展性和可維護性,且降低了維護成本;并且由于需要改動的部分較少,因此能夠快速響應(yīng)用戶對新的驗證方式的需求,增加了用戶的滿意度和粘性。
圖1為本發(fā)明的即時通訊工具中好友的添加系統(tǒng)的結(jié)構(gòu)示意圖;圖2是驗證方式為身份認證方式的實施例中驗證組件的結(jié)構(gòu)示意圖;圖3是驗證方式為回答單/多問題方式的實施例中驗證組件的結(jié)構(gòu)示意圖;圖4是另一個實施例中驗證組件的結(jié)構(gòu)示意圖;圖5是本發(fā)明的即時通訊工具中好友的添加方法的流程圖;圖6是一個實施例中即時通訊工具中好友的添加方法的流程圖;圖7是另一個實施例中即時通訊工具中好友的添加方法的流程圖。
具體實施方式本發(fā)明的即時通訊工具中好友的添加系統(tǒng)一方面通過分離變化點,提高其他部分的穩(wěn)定性和可維護性,縮小變化點的影響范圍;另一方面,通過抽取公用的流程和邏輯,減小新增一種驗證方式的實現(xiàn)成本和開銷,增加系統(tǒng)的可擴展性。具體是將各種驗證方式公用的添加好友的處理邏輯提取到一個基類中,并將隨驗證方式變化的處理邏輯分離出來, 不同驗證方式特有的處理邏輯獨立成為不同的子類。圖1是本發(fā)明的即時通訊工具中好友的添加系統(tǒng)的結(jié)構(gòu)示意圖,包括備選驗證模塊10和公用組件20。公用組件20從服務(wù)器獲取驗證方式,并根據(jù)驗證方式調(diào)用備選驗證模塊10中對應(yīng)的驗證單元,組成驗證組件。驗證組件用于根據(jù)驗證方式獲取對應(yīng)的驗證信息并向服務(wù)器發(fā)送添加請求,以申請將被添加方加為好友,還用于生成提示信息并傳送給公用組件20。公用組件20還用于輸出好友添加界面,好友添加界面包括提示信息。在其他實施例中,公用組件20還用于獲取被添加方信息,包括用戶標(biāo)識號、頭像、昵稱等一種或幾種信息。公用組件20輸出的好友添加界面亦包括被添加方信息。在添加好友的流程中輸出并顯示被添加方信息,顯得更加直觀,改善了系統(tǒng)的易用性。備選驗證模塊10包括了對應(yīng)各種不同驗證方式的驗證單元(即子類),并事先在公用組件20 (即基類)中設(shè)定好了在不同驗證方式下需要調(diào)用的驗證單元,系統(tǒng)在工作時, 公用組件20就會根據(jù)獲取的驗證方式調(diào)用備選驗證模塊10中相應(yīng)的驗證單元,組成此驗證方式下的驗證組件,執(zhí)行驗證流程。因此,在需要增加新的驗證方式或?qū)ΜF(xiàn)有的驗證方式做修改時,僅需要在備選驗證模塊10中添加相應(yīng)的驗證單元,或?qū)σ延械尿炞C單元做修改,而不用對整個系統(tǒng)做修改,增強了系統(tǒng)的可擴展性和可維護性,且降低了維護成本;并且由于需要改動的部分較少,因此能夠快速響應(yīng)用戶對新的驗證方式的需求,增加了用戶的滿意度和粘性。驗證方式包括身份認證方式、回答單問題方式、回答多問題方式等。下面以驗證方式是身份認證方式時為例,對驗證組件的構(gòu)成做一個說明。圖2是驗證方式為身份認證方式的實施例中驗證組件的結(jié)構(gòu)示意圖,此時驗證組件11包括驗證信息交互單元120、請求單元130和提示信息單元140。驗證信息交互單元120根據(jù)驗證方式輸出驗證信息交互界面,提示用戶輸入驗證信息,從而獲取驗證信息。請求單元130與驗證信息交互單元120相連,接收驗證信息并根據(jù)驗證信息向服務(wù)器發(fā)送添加請求。在該驗證方式下,上述驗證信息是身份認證信息,請求單元130會直接將身份認證信息發(fā)送給服務(wù)器,由服務(wù)器將該身份認證信息轉(zhuǎn)發(fā)給被添加方。提示信息單元140用于生成提示信息并傳送給公用組件20,還用于接收服務(wù)器返回的請求結(jié)果,并發(fā)送給所述公用組件20,由公用組件20輸出。提示信息包括請求結(jié)果,還可以包括錯誤提示、開通會員提示等。圖3是驗證方式為回答單問題方式或回答多問題方式的實施例中驗證組件的結(jié)構(gòu)示意圖,在驗證方式為回答單/多問題方式時,驗證組件12包括驗證信息交互單元120、 請求單元130、提示信息單元140、問題獲取單元150以及數(shù)據(jù)檢查單元160。請求單元130以及提示信息單元140的功能與圖2所示實施例相同。問題獲取單元150與驗證信息交互單元120相連,若驗證方式為回答單問題方式,單元150用于從服務(wù)器獲取驗證問題和驗證問題的答案;若為回答多問題方式, 則除了驗證問題和答案外還可以獲取驗證問題的數(shù)量。驗證信息交互單元120的功能亦與圖2所示實施例相同,但此時的驗證信息交互界面顯示的是驗證問題,因此獲取的驗證信息是用戶根據(jù)驗證問題輸入的答案。數(shù)據(jù)檢查單元160根據(jù)驗證問題的答案判斷驗證信息(即用戶輸入的答案)是否正確;若驗證信息正確,則通知請求單元130向服務(wù)器發(fā)送添加請求。另外,此實施例為驗證問題的判斷在客戶端完成的情況,在其他實施例中,若對用戶輸入的答案的判斷是在服務(wù)器完成的,則問題獲取單元150僅獲取驗證問題(為回答多問題方式時還可以獲取驗證問題的數(shù)量),而不需要獲取驗證問題的答案,且此時驗證組件不含數(shù)據(jù)檢查單元160。但是,把判斷交給服務(wù)器會加重服務(wù)器的負擔(dān)。圖4是另一個實施例中驗證組件的結(jié)構(gòu)示意圖,該優(yōu)選的實施例與圖3所示實施例的主要區(qū)別在于,驗證組件13增加了關(guān)閉單元170和驗證方式切換單元180。關(guān)閉單元170與請求單元130連接,當(dāng)檢測到請求單元130向服務(wù)器發(fā)送添加請求時,向公用組件20發(fā)送關(guān)閉指令,令公用組件20關(guān)閉好友添加界面。在其他實施例中, 關(guān)閉單元170也可以因其他條件而觸發(fā)關(guān)閉指令。驗證方式切換單元180與問題獲取單元150相連,若問題獲取單元150從服務(wù)器獲取驗證問題或者驗證問題的答案失敗,則向驗證方式切換單元180發(fā)送失敗信息,令驗證方式切換單元180將驗證方式切換為身份認證方式,并通知驗證信息交互單元120。上述驗證信息交互單元120、請求單元130、提示信息單元140、問題獲取單元150、 數(shù)據(jù)檢查單元160、關(guān)閉單元170以及驗證方式切換單元180均是備選驗證模塊10的中的單元。在其他實施例中,備選驗證模塊10還可以包括按鈕無效單元,用于允許或禁止好友添加界面中的按鈕(例如確定、取消按鈕)被點擊。在優(yōu)選的實施例中,驗證組件可以用控件的方式實現(xiàn)。本發(fā)明還提供一種即時通訊工具中好友的添加方法。其技術(shù)方案是將好友添加流程中不隨驗證方式改變的處理邏輯剝離出來,封裝到一個獨立的驗證組件中。該組件可以采用控件的方式實現(xiàn),不同的驗證方式對應(yīng)驗證組件中不同的驗證單元(或函數(shù)),根據(jù)被添加方的驗證方式,調(diào)用相對應(yīng)的驗證單元(或函數(shù))。圖5是本發(fā)明的即時通訊工具中好友的添加方法的流程圖,包括下列步驟S310,獲取驗證方式。從服務(wù)器獲取添加好友時被添加方的驗證方式。S330,根據(jù)驗證方式調(diào)用對應(yīng)的驗證單元。執(zhí)行好友添加流程之前就設(shè)置有對應(yīng)各種不同驗證方式的驗證單元,在執(zhí)行S330時,根據(jù)獲取的驗證方式調(diào)用各種驗證單元中與當(dāng)前驗證方式相對應(yīng)的驗證單元,組成此驗證方式下的驗證組件,執(zhí)行驗證流程。因此, 當(dāng)驗證方式不同時,驗證組件的組成不同,好友的添加方法的步驟也會有所區(qū)別。S340,通過驗證單元獲取驗證信息。根據(jù)驗證方式獲取對應(yīng)的驗證信息。S350,根據(jù)驗證信息向服務(wù)器發(fā)送添加請求。驗證方式包括身份認證方式、回答單問題方式、回答多問題方式等。圖6是一個實施例中即時通訊工具中好友的添加方法的流程圖,該實施例為驗證方式是回答單/多問題方式時的情況,包括下列步驟S410,獲取被添加方信息和驗證方式。被添加方信息包括用戶標(biāo)識號、頭像、昵稱等信息的一種或幾種。S420,顯示被添加方信息。輸出并顯示被添加方信息,供用戶查看。在添加好友的流程中輸出并顯示被添加方信息,顯得更加直觀,改善了系統(tǒng)的易用性。S430,根據(jù)驗證方式調(diào)用對應(yīng)的驗證單元。S440,通過驗證單元獲取驗證問題和驗證問題的答案。通過驗證單元從服務(wù)器獲取驗證問題和驗證問題的答案。若是回答多問題方式,則還可以獲取驗證問題的數(shù)量。S450,通過驗證單元獲取驗證信息。本實施例中,獲取的驗證信息是用戶根據(jù)驗證問題輸入的答案。S460,通過驗證單元判斷驗證信息是否正確。驗證單元根據(jù)驗證問題的答案判斷用戶輸入的答案是否正確。S470,通過驗證單元向服務(wù)器發(fā)送添加請求。若驗證信息是正確的,則通過驗證單元向服務(wù)器發(fā)送好友的添加請求。S480,顯示提示信息。提示信息包括服務(wù)器返回的請求結(jié)果,還可以包括錯誤提示、開通會員提示等。圖7是另一個實施例中即時通訊工具中好友的添加方法的流程圖,其與圖6所示實施例的主要區(qū)別在于,增加了通過驗證單元判斷是否成功獲取驗證問題的步驟S442,若成功獲取驗證問題,則進入步驟S450 ;若獲取驗證問題失敗,則進入步驟S444,令驗證組件將驗證方式切換為身份認證方式。在其他實施例中,可以改變步驟S442的判斷條件,例如必須同時成功獲取驗證問題和驗證問題的答案才進入步驟S450,否則進入步驟S444。上述即時通訊工具中好友的添加方法,在需要增加新的驗證方式或?qū)ΜF(xiàn)有的驗證方式做修改時,僅需要對驗證單元做增改,而不用對整個系統(tǒng)做修改,增強了系統(tǒng)的可擴展性和可維護性,且降低了維護成本;并且由于需要改動的部分較少,因此能夠快速響應(yīng)用戶對新的驗證方式的需求,增加了用戶的滿意度和粘性。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種即時通訊工具中好友的添加系統(tǒng),其特征在于,包括備選驗證模塊和公用組件; 所述公用組件從服務(wù)器獲取驗證方式,并根據(jù)所述驗證方式調(diào)用備選驗證模塊中對應(yīng)的驗證單元,組成驗證組件;所述驗證組件根據(jù)所述驗證方式獲取對應(yīng)的驗證信息并向所述服務(wù)器發(fā)送添加請求,還用于生成提示信息并傳送給所述公用組件;所述公用組件還用于輸出好友添加界面,所述好友添加界面包括所述提示信息。
2.根據(jù)權(quán)利要求1所述的即時通訊工具中好友的添加系統(tǒng),其特征在于,所述驗證組件包括驗證信息交互單元、請求單元以及提示信息單元;所述驗證信息交互單元根據(jù)所述驗證方式輸出驗證信息交互界面,并獲取驗證信息;所述請求單元接收所述驗證信息,并根據(jù)所述驗證信息向所述服務(wù)器發(fā)送添加請求;所述提示信息單元用于生成提示信息并傳送給所述公用組件,還用于接收所述服務(wù)器返回的請求結(jié)果,并發(fā)送給所述公用組件,所述提示信息包括所述請求結(jié)果。
3.根據(jù)權(quán)利要求2所述的即時通訊工具中好友的添加系統(tǒng),其特征在于,所述驗證方式包括身份認證方式、回答單問題方式以及回答多問題方式,所述驗證組件還包括問題獲取單元;所述問題獲取單元在驗證方式為回答單問題方式或回答多問題方式時,用于獲取驗證問題。
4.根據(jù)權(quán)利要求3所述的即時通訊工具中好友的添加系統(tǒng),其特征在于,所述問題獲取單元在驗證方式為回答單問題方式時,還用于獲取驗證問題的答案,所述問題獲取單元在驗證方式為回答多問題方式,還用于獲取驗證問題的答案和驗證問題的數(shù)量;所述驗證組件還包括數(shù)據(jù)檢查單元,所述數(shù)據(jù)檢查單元用于根據(jù)所述驗證問題的答案判斷所述驗證信息是否正確,若所述驗證信息正確,則所述請求單元向所述服務(wù)器發(fā)送添加請求。
5.根據(jù)權(quán)利要求2所述的即時通訊工具中好友的添加系統(tǒng),其特征在于,所述驗證組件還包括關(guān)閉單元,當(dāng)所述關(guān)閉單元檢測到請求單元向服務(wù)器發(fā)送添加請求時,所述公用組件關(guān)閉所述好友添加界面。
6.根據(jù)權(quán)利要求3或4所述的即時通訊工具中好友的添加系統(tǒng),其特征在于,所述驗證組件還包括驗證方式切換單元;所述問題獲取單元獲取驗證問題失敗時,所述驗證方式切換單元將驗證方式切換為身份認證方式,并通知所述驗證信息交互單元。
7.根據(jù)權(quán)利要求1所述的即時通訊工具中好友的添加系統(tǒng),其特征在于,所述公用組件還用于獲取被添加方信息,所述好友添加界面包括所述被添加方信息。
8.—種即時通訊工具中好友的添加方法,包括下列步驟獲取驗證方式;根據(jù)所述驗證方式調(diào)用對應(yīng)的驗證單元;通過所述驗證單元獲取驗證信息;根據(jù)所述驗證信息向服務(wù)器發(fā)送添加請求。
9.根據(jù)權(quán)利要求8所述的即時通訊工具中好友的添加方法,其特征在于,所述方法還包括顯示提示信息的步驟,所述提示信息包括所述服務(wù)器返回的請求結(jié)果。
10.根據(jù)權(quán)利要求8所述的即時通訊工具中好友的添加方法,其特征在于,所述驗證方式包括身份認證方式、回答單問題方式以及回答多問題方式,若所述驗證方式是回答單問題方式或回答多問題方式,則所述方法還包括獲取驗證問題的步驟。
11.根據(jù)權(quán)利要求10所述的即時通訊工具中好友的添加方法,其特征在于,所述方法還包括獲取驗證問題的答案的步驟,以及根據(jù)所述驗證問題的答案判斷所述驗證信息是否正確的步驟。
12.根據(jù)權(quán)利要求10所述的即時通訊工具中好友的添加方法,其特征在于,所述獲取驗證問題的步驟中,若獲取驗證問題失敗,則所述驗證單元將驗證方式切換為身份認證方式。
13.根據(jù)權(quán)利要求8所述的即時通訊工具中好友的添加方法,其特征在于,所述方法還包括獲取被添加方信息的步驟,以及顯示所述被添加方信息的步驟。
全文摘要
本發(fā)明涉及一種即時通訊工具中好友的添加系統(tǒng),包括備選驗證模塊和公用組件;所述公用組件從服務(wù)器獲取被添加方信息和驗證方式,并根據(jù)所述驗證方式調(diào)用備選驗證模塊中對應(yīng)的驗證單元,組成驗證組件;所述驗證組件根據(jù)所述驗證方式獲取對應(yīng)的驗證信息并向所述服務(wù)器發(fā)送添加請求,還用于生成提示信息并傳送給所述公用組件;所述公用組件還用于輸出好友添加界面,所述好友添加界面包括所述被添加方信息和提示信息。本發(fā)明還涉及一種即時通訊工具中好友的添加方法。本發(fā)明增強了系統(tǒng)的可擴展性和可維護性,且降低了維護成本;并且由于需要改動的部分較少,因此能夠快速響應(yīng)用戶的需求,增加了用戶的滿意度和粘性。
文檔編號H04L12/58GK102340458SQ20101023699
公開日2012年2月1日 申請日期2010年7月26日 優(yōu)先權(quán)日2010年7月26日
發(fā)明者史雪 申請人:騰訊科技(深圳)有限公司