郵局訂閱管理系統(tǒng)_第1頁
郵局訂閱管理系統(tǒng)_第2頁
郵局訂閱管理系統(tǒng)_第3頁
郵局訂閱管理系統(tǒng)_第4頁
郵局訂閱管理系統(tǒng)_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 課程設(shè)計說明書課程設(shè)計名稱: 嵌入式課程設(shè)計 課程設(shè)計題目: 郵局訂閱管理系統(tǒng) 學 院 名 稱: 信息工程學院 專業(yè):計算機科學與技術(shù) 班級: 學號: 姓名: 評分: 教師:時招軍、葉水生 2014 年 6 月 25 日目 錄1 問題定義31.1課題背景31.2 課題的目的及意義32 可行性研究42.1 經(jīng)濟可行性42.2 技術(shù)可行性42.3 操作可行性43 需求分析53.1系統(tǒng)功能模塊概述和分析53.2 數(shù)據(jù)流程圖53.3 UML用例圖53.4系統(tǒng)開發(fā)技術(shù)簡介63.4.1 Qt63.4.2 SQLite74 系統(tǒng)設(shè)計94.1 系統(tǒng)功能結(jié)構(gòu)圖94.2 功能模塊分工94.2.1 組員分工94.

2、2.2 我的模塊94.3 數(shù)據(jù)庫設(shè)計104.3.1 郵局訂閱管理系統(tǒng)E-R圖104.3.2 數(shù)據(jù)表的結(jié)構(gòu)125 系統(tǒng)實現(xiàn)145.1 系統(tǒng)構(gòu)成145.2 個人核心代碼146 系統(tǒng)測試206.1 測試用例206.2 測試結(jié)果207 總結(jié)228 參考文獻231 問題定義 1.1課題背景隨著internet的普及和電子商務(wù)的興起,郵局訂閱管理系統(tǒng)是Internet電子商務(wù)在報刊銷售行業(yè)發(fā)展的必然結(jié)果,這種新型的報刊銷售形式,與傳統(tǒng)利用書店進行銷售的方式相比擁有許多優(yōu)勢:一是降低了銷售成本;二是利用網(wǎng)絡(luò)作為交易平臺,改變傳統(tǒng)的交易方式,使得交易活動不受空間和時間的限制;三是信息的傳遞更迅速靈活,新報刊信

3、息上傳后,客戶可以立即看到,交易馬上可以從網(wǎng)上進行,從而大大提高了交易的效率。正是由于這些優(yōu)勢,郵局訂閱管理系統(tǒng)才能得以迅速地發(fā)展。郵局訂閱管理系統(tǒng)的主要功能是利用網(wǎng)站作為交易平臺,將報刊的一些基本信息以網(wǎng)站的形式發(fā)布到Internet中,客戶可以通過Internet登錄郵局訂閱管理系統(tǒng)來查看報刊信息并提交訂單訂購,實現(xiàn)在線交易。 1.2 課題的目的及意義在客戶進行報刊訂閱過程中,經(jīng)常會遇到期刊信息受到限制,客戶只能通過上門咨詢、電話溝通等方式進行各種信息的獲取,受一定的時間與物理空間的局限并且成本較高。而本系統(tǒng)可以幫助人們認識到網(wǎng)絡(luò)在現(xiàn)代社會生活中的重要作用,以少量的時間和資金建立郵政門戶網(wǎng)

4、站來方便客戶的訂閱,以此來是客戶的經(jīng)濟活動變得更靈活、更主動也更便捷。郵局訂閱管理系統(tǒng)不僅可以大量減少人力、物力,降低了成本,而且突破了時間和空間的限制,使得報刊交易活動可以在任何時間、任何地點進行,實現(xiàn)24小時營業(yè),不需要營業(yè)員,可以被設(shè)置成一個自動售貨機。鑒于互聯(lián)網(wǎng)的優(yōu)勢以及對國內(nèi)外相關(guān)郵局訂閱管理系統(tǒng)現(xiàn)狀的研究分析,本次課程設(shè)計以QT/E,Sqlite為開發(fā)平臺,通過對郵局的報刊訂閱業(yè)務(wù)進行分析,調(diào)查,設(shè)計該郵局的報刊訂閱管理系統(tǒng)。2 可行性研究 2.1 經(jīng)濟可行性本系統(tǒng)使用軟件開發(fā)工具QT/E。數(shù)據(jù)庫用的是Sqlite這些都是免費的而且該系統(tǒng)能穩(wěn)定的運行在WINDOWS操作系統(tǒng)上, 這

5、樣整個系統(tǒng)的軟件成本得到很大程度的節(jié)約,只需要投入人力成本,在系統(tǒng)運行環(huán)境中,軟硬件都無需做巨大投資,只利用現(xiàn)有計算機設(shè)備即可。因此在經(jīng)濟上可行的。 2.2 技術(shù)可行性本系統(tǒng)采用的是QT/E開發(fā),Windows 7操作系統(tǒng),用C+語言進行前臺網(wǎng)頁界面設(shè)計以及后臺控制,完成數(shù)據(jù)的添加、修改、刪除、查詢等功能。由于QT/E功能強大,而Sqlite靈活易維護在開發(fā)方面具有方便快捷、使用靈活的特點,以及目前的廣泛實際應(yīng)用,因此使用QT/E是開發(fā)輕平臺的極佳選擇從而說明本系統(tǒng)在技術(shù)方面可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能

6、滿足此系統(tǒng)的需要。 2.3 操作可行性 目前,大多數(shù)計算機都能運行該系統(tǒng),該系統(tǒng)的安裝、調(diào)試、運行不會改變原計算機系統(tǒng)的設(shè)置和布局,并且系統(tǒng)界面簡單,提示信息完整,由相關(guān)人員指導便能夠方便的操作此軟件。3 需求分析 3.1系統(tǒng)功能模塊概述和分析 近年來我國信息產(chǎn)業(yè)發(fā)展迅速,手工管理方式在報紙訂閱管理等需要大量事務(wù)處理的應(yīng)用中已顯得不相適應(yīng),采用IT技術(shù)提高服務(wù)質(zhì)量和管理水平勢在必行。面對各種媒體的強勢競爭,因此,郵局必須提高其工作效率,改善其工作環(huán)境。這樣,管理信息化勢在必行。 郵局訂閱管理系統(tǒng)主要功能如下: 數(shù)據(jù)顯示:顯示所有報刊的基本信息(報刊代號,報刊名稱,報刊分類,出版社,報刊半年價,

7、報刊全年價等基本信息); 用戶管理:登錄、退出、查詢、修改個人信息; 訂閱管理:添加、刪除、修改、查詢訂閱訂單; 注冊管理:注冊用戶,完善用戶信息。 3.2 數(shù)據(jù)流程圖操作信息郵局訂閱管理系統(tǒng)用戶操作結(jié)果信息 圖 3-1 數(shù)據(jù)流程圖3.3 UML用例圖本系統(tǒng)的UML用例圖如圖3-2所示:圖3-4 UML用例圖3.4系統(tǒng)開發(fā)技術(shù)簡介3.4.1 QtQt是一個跨平臺的C+應(yīng)用程序開發(fā)框架。廣泛用于開發(fā)GUI程序,這種情況下又被稱為部件工具箱。也可用于開發(fā)非GUI程序,比如控制臺工具和服務(wù)器。Qt使用標準的C+和特殊的代碼生成擴展(稱為元對象編譯器(Meta Object Compiler, moc

8、))以及一些宏。通過語言綁定,其他的編程語言也可以使用Qt。Qt是自由且開放源代碼的軟件,在GNU寬通用公共許可證條款下發(fā)布。所有版本都支持廣泛的編譯器,包括GCC的C+編譯器和Visual Studio。Qt具有多種優(yōu)勢:首先,它優(yōu)良的跨平臺特性,可以支持很多種操作系統(tǒng);然后,Qt 的良好封裝機制使得 Qt 的模塊化程度非常高,可重用性較好,對于用戶開發(fā)來說是非常方便的;再次,Qt 包括多達 250 個以上的 C+ 類,還提供基于模板的 collections, serialization, file, I/O device, directory management, date/time

9、類。甚至還包括正則表達式的處理功能;最后,支持 2D/3D 圖形渲染,支持 OpenGL,大量的開發(fā)文檔和XML 支持。Qt還有很多特點:無障礙環(huán)境應(yīng)用程序:無障礙環(huán)境需要無障礙兼容的應(yīng)用程序、輔助技術(shù)、以及輔助工具之間的合作。應(yīng)用程序通常不會直接溝通輔助工具,而是通過一個輔助技術(shù),這是一個應(yīng)用程序和工具之間信息交流的橋梁。用戶界面元素相關(guān)信息,例如按鈕和滾動條,使用輔助技術(shù)來顯示。Qt支持Windows上的Microsoft Active Accessibility(MSAA)和Mac OS X上Mac OS X Accessibility。無障礙兼容的應(yīng)用程序稱為AT-Servers,而輔

10、助工具被稱為AT-Clients。Qt應(yīng)用程序通常會是一個AT-Server,但特別的程序也可能如同AT-Client方式工作。國際化:Qt的字體引擎能夠在同一時間正確的顯示各種不同的書寫系統(tǒng)。并且Qt內(nèi)部使用Unicode編碼來存儲文字。Qt的多國語言支持技術(shù),可以讓應(yīng)用程序中的文字全部使用英文撰寫,能夠在完全不需修改程序的狀況下,改變整個應(yīng)用程序中的文字為另一個語系的文字,并能夠協(xié)助處理不同語言的單、復(fù)數(shù)問題。獨立的翻譯文件使得新增支持語言相當容易,同時翻譯文件(.ts)為XML格式可以直接編輯或使用Qt Liguist進行翻譯,可讓無程序開發(fā)能力的翻譯者亦能獨自完成翻譯。Qt附帶的工具程

11、序就能夠自動抽取需要翻譯的文字產(chǎn)生翻譯文件。多線程:Qt的線程支持是獨立于平臺的線程類型,采用信號與槽機制,實現(xiàn)類型安全的線程間通訊。這使得它易于開發(fā)具可移植性的多線程Qt應(yīng)用程序。并能充分利用多核架構(gòu),獲得最佳運行性能,還能根據(jù)可用的處理器內(nèi)核數(shù)自動調(diào)整使用的線程數(shù)。多線程程序設(shè)計也是一個執(zhí)行耗時操作而不會凍結(jié)用戶界面的有效典范。語言綁定:除了C+外,Qt還為其它多種計算機語言提供了應(yīng)用程序接口。3.4.2 SQLiteSQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可

12、能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。 能夠真正表現(xiàn) SQLite 優(yōu)越性能的領(lǐng)域是 Web 站點,可以使用 SQLite 管理應(yīng)用程序數(shù)據(jù)、快速應(yīng)用程序原型制造和培訓工具。由于資源占用少、性能良好和零管理成本,嵌入式數(shù)據(jù)庫有了它的用武之地,它將為那些以前無法提供用作持久數(shù)據(jù)的后端的數(shù)據(jù)庫的應(yīng)用程序提供了高效的性能?,F(xiàn)在,沒有必要使用文本文件來實現(xiàn)持

13、久存儲。SQLite 之類的嵌入式數(shù)據(jù)庫的易于使用性可以加快應(yīng)用程序的開發(fā),并使得小型應(yīng)用程序能夠完全支持復(fù)雜的 SQL。這一點對于對于小型設(shè)備空間的應(yīng)用程序來說尤其重要。 不像常見的客戶-服務(wù)器范例,SQLite引擎不是個程序與之通信的獨立進程,而是連接到程序中成為它的一個主要部分。所以主要的通信協(xié)議是在編程語言內(nèi)的直接API調(diào)用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數(shù)據(jù)庫(定義、表、索引和數(shù)據(jù)本身)都在宿主主機上存儲在一個單一的文件中。它的簡單的設(shè)計是通過在開始一個事務(wù)的時候鎖定整個數(shù)據(jù)文件而完成的。 SQLite雖然很小巧,但是支持的SQL語句不會遜色于其他開源數(shù)據(jù)庫,

14、同時它還支持事務(wù)處理功能等等。也有人說它象Microsoft的Access,有時候真的覺得有點象,但是事實上它們區(qū)別很大。比如SQLite 支持跨平臺,操作簡單,能夠使用很多語言直接創(chuàng)建數(shù)據(jù)庫,而不象Access一樣需要Office的支持。如果你是個很小型的應(yīng)用,或者你想做嵌入式開發(fā),沒有合適的數(shù)據(jù)庫系統(tǒng),那么你可以考慮使用SQLite。 嵌入式數(shù)據(jù)庫對于加快應(yīng)用程序開發(fā)也很重要,尤其是在用于數(shù)據(jù)庫抽象層(例如PEAR:DB或ezSQL)時。最后,SQLite 正在積極開發(fā)中,未來一定會有新的功能,會對開源社區(qū)更有用。4 系統(tǒng)設(shè)計 4.1 系統(tǒng)功能結(jié)構(gòu)圖 郵局訂閱管理系統(tǒng)功能結(jié)構(gòu)如圖4-1所示

15、。郵局訂閱管理系統(tǒng)管理 注冊管理管理 用戶管理數(shù)據(jù)顯示 訂閱管理完善信息注冊用戶添加訂閱信息修改訂閱信息刪除訂閱信息查詢訂閱訂單顯示報刊基本信息退出查詢修改個人信息登錄 圖 4-1網(wǎng)上購物系統(tǒng)功能結(jié)構(gòu)圖 4.2 功能模塊分工 組員:謝碧玲 母丹紅 4.2.1 組員分工 母丹紅:數(shù)據(jù)顯示,用戶管理 謝碧玲:訂閱管理,注冊管理 4.2.2 我的模塊 訂閱管理:添加、刪除、修改、查詢訂閱訂單; 注冊管理:注冊用戶,完善用戶信息。4.3 數(shù)據(jù)庫設(shè)計 4.3.1 郵局訂閱管理系統(tǒng)E-R圖 1.用戶信息實體管理員信息實體包括:用戶賬號、用戶密碼、姓名、住址、電話、部門、訂閱數(shù)量。用戶信息實體的E-R圖如圖

16、4-2所示。用戶部門電話住址姓名用戶密碼用戶賬號訂閱數(shù)量圖4-2 用戶信息實體E-R圖2.報刊信息實體包括:報刊代號、報刊名稱、報刊類別、出版社、出版時間、半價、全價。報刊信息實體的E-R圖如圖4-3所示。圖4-3 報刊信息實體E-R圖 3.部門信息實體部門信息實體包括:部門號、部門名稱。部門信息實體的E-R圖如圖4-4所示。部門號部門名稱部門信息圖4-4 部門信息實體E-R圖 4.報刊類別信息實體報刊類別信息實體包括:類別號、類別名稱。課程信息實體的E-R圖如圖4-5所示。報刊類別類別號類別名稱圖4-5 報刊類別信息實體的E-R圖4.3.2 數(shù)據(jù)表的結(jié)構(gòu) 數(shù)據(jù)庫在整個管理系統(tǒng)中占據(jù)非常重要的

17、地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞直接影響著系統(tǒng)的效率和實現(xiàn)。本實例采用SQLite數(shù)據(jù)庫,下面介紹數(shù)據(jù)庫中的數(shù)據(jù)表結(jié)構(gòu)。 本系統(tǒng)數(shù)據(jù)庫表如下:(1)users表用來存儲用戶的信息,該表的結(jié)構(gòu)如表4-1所示。表4-1 users表結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述uIdTEXTNOYES用戶賬號uNameTEXTNONONULL姓名uPasswordTEXTNONONULL用戶密碼uAddressTEXTNONONULL地址uNumberTEXTNONONULL電話號碼uDepartmentTEXTYESNONULL部門uQuantityTEXTYESNONULL數(shù)量(2) subscrib

18、e表用來存儲訂閱的信息,該表的結(jié)構(gòu)如表4-2所示。表4-2 subscribe表結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述sIdINTEGERNOYES訂閱號uIdTEXTNOYES用戶賬號jIdTEXTNOYES報刊號sNumberINTEGERYESNONULL份數(shù)sYearTEXTYESNONULL訂閱年數(shù)sTotalTEXTYESNONULL總金額(3) journal表用來存儲報刊信息,該表的結(jié)構(gòu)如表4-3所示。表4-3 journal表結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述jIdINTEGERNOYES報刊號cNameTEXTNONONULL報刊名稱cKindTEXTYES

19、NONULL報刊類別jPressTEXTNONONULL出版社jPretimeTEXTNONONULL出版時間jHarfpriceREALNONONULL半價jwholepriceREALNONONULL全價(4) department表用來存儲部門信息,該表的結(jié)構(gòu)如表4-4所示。表4-4 department表結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認值描述dIdINTEGERNOYES部門號dNameTEXTNONONULL部門名稱(5) classification表用來存儲報刊類別信息,該表的結(jié)構(gòu)如表4-5所示。表4-5 classification表結(jié)構(gòu)字段名數(shù)據(jù)類型是否為空是否主鍵默認

20、值描述cIdINTEGERNOYES報刊類別號cNameTEXTNONONULL報刊類別名稱5 系統(tǒng)實現(xiàn)5.1系統(tǒng)構(gòu)成各個輸入界面,顯示界面,用于信息的輸入輸出以及顯示如表5-1所示:表5-1addindent增加訂單alterindent修改訂單信息indent訂單信息journal報刊信息mainwindow登錄頁面register用戶注冊subscribe訂閱報刊userinfo用戶信息管理usersubscription用戶登入頁面 5.2 個人部分核心代碼1 添加訂單 用戶增添訂單信息,如圖5-1所示。 如圖5-1 用戶增添訂單信息 核心代碼如下所示: void Subscripti

21、on:on_subscibe_clicked() if(ui-year-text().isEmpty()|ui-Copies-text().isEmpty()|ui-rental-text().isEmpty() QMessageBox:about(0,tr(tishi),tr(NO); else QSqlQuery query(global:db); query.exec(select * from subscribe); int sum=0; while(query.next() sum+; sum=sum+1; int mark=ui-mark-currentIndex()+1; /qu

22、ery.exec(insert into subscribe values(+sum+,+global:uid+,+mark+,+ui-Copies-text()+,+ui-year-text()+,+ui-rental-text()+); query.prepare(insert into subscribe(sId,uId,jId,sNumber,sYear,sTotal) values(?,?,?,?,?,?); query.bindValue(0,sum); query.bindValue(1,global:uid); query.bindValue(2,mark); query.bi

23、ndValue(3,ui-Copies-text(); query.bindValue(4,ui-year-text(); query.bindValue(5,ui-rental-text(); query.exec(); QMessageBox:about(0,tr(shi),tr(YES); 2 刪除訂閱訂單用戶可以刪除已經(jīng)生成的訂單,如圖5-2所示。圖5-2 刪除已經(jīng)生成的訂單核心代碼如下所示:void UserSubscription:on_delete_2_clicked() QSqlQuery query(global:db); bool f= query.exec(delete

24、from subscribe where sid=+ui-delete_number-text()+); if(f) QMessageBox:about(0,qApp-tr(prompt),qApp-tr(Delete success!); /QMessageBox:Abort(0,qApp-tr(prompt),qApp-tr(刪除成功!); else QMessageBox:about(0,qApp-tr(prompt),qApp-tr(Delete failure!); 3 修改訂閱訂單 用戶可以修改已經(jīng)生成的訂單,如圖5-3所示。圖5-3 修改已經(jīng)生成的訂單核心代碼如下所示: QSql

25、Query query(global:db); query.prepare(update subscribe set jId=?,sNumber=?,sYear=?,sTotal=? where sid=+global:sid+); query.bindValue(0,ui-mark-currentText(); query.bindValue(1,ui-Copies-text(); query.bindValue(2,ui-year-text(); query.bindValue(3,ui-rental-text(); query.exec(); QMessageBox:about(0,tr

26、(shi),tr(YES);4 注冊用戶 用戶可以注冊成為郵局管理系統(tǒng)的用戶,如圖5-4所示。圖5-4 普通用戶注冊核心代碼如下所示:void Register:on_register_2_clicked()if(ui-account-text().isEmpty()|ui-address-text().isEmpty()|ui-name-text().isEmpty()|ui-password-text().isEmpty()|ui-passwordtwo-text().isEmpty()|ui-phone-text().isEmpty() QMessageBox:about(0,qApp-

27、tr(提示),qApp-tr(信息沒填寫完整!); else if(ui-passwordtwo-text().size()=ui-password-text().size() QSqlQuery query(global:db); bool f=query.exec(insert into users values(+ui-account-text()+,+ui-name-text()+,+ui-password-text()+,+ui-address-text()+,+ui-phone-text()+,+ui-depar-currentText()+,1);); if(f) QMessag

28、eBox:about(0,qApp-tr(提示),qApp-tr(注冊成功!); else QMessageBox:about(0,qApp-tr(提示),qApp-tr(注冊失敗!); else QMessageBox:about(0,qApp-tr(提示),qApp-tr(密碼兩次輸入不一樣!); 6 系統(tǒng)測試 6.1 測試用例 (1)用戶賬戶:0001 密碼:1 6.2 測試結(jié)果此部分對郵局訂閱管理系統(tǒng)進行功能測試,此處指挑選系統(tǒng)中的一項功能進行展示,對用戶的登錄功能進行測試。用戶賬號為0001,密碼為2.密碼錯誤,登陸不成功,賬號對應(yīng)的密碼與數(shù)據(jù)庫中存儲的不符,不能夠成功登陸?,F(xiàn)在是以下正確的賬號和密碼。成功登陸,進入到登入頁面,接下來可以進行報刊查詢等操作。成功查詢報刊信息。7 總結(jié) 本論文介紹了郵局訂閱管理系統(tǒng)的設(shè)計與實現(xiàn),實現(xiàn)了顯示所有報刊的基本信息(報刊代號,報刊名稱,報刊分類,出版社,報刊半年價,報刊全年價等基本信息);用戶管理部分的登錄、退出、查詢、修改個人信息;訂閱管理管理部分的添加、刪除、修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論