• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Node.js和JS的前后端分離實(shí)現(xiàn)

    2019-10-08 06:52張鵬飛王乾胡曉冬
    軟件 2019年4期

    張鵬飛 王乾 胡曉冬

    摘 ?要: 針對(duì)Web開發(fā)中前后端耦合問(wèn)題,在充分分析傳統(tǒng)開發(fā)模式的基礎(chǔ)上,提出引入Node.js來(lái)解決前后端語(yǔ)言不一致的解決新方案。設(shè)計(jì)的新架構(gòu)模式針對(duì)小型團(tuán)隊(duì)或個(gè)人開發(fā)Web項(xiàng)目提出新的方向,從而解決了人力不足,開發(fā)耗費(fèi)巨大,前后端不同語(yǔ)言溝通耦合困難的問(wèn)題?;诖搜芯浚鎸?shí)開發(fā)了一個(gè)基于網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)自學(xué)平臺(tái),并以此作為可行性檢驗(yàn)的依據(jù),系統(tǒng)采用B/S架構(gòu),后端程序在Node服務(wù)器中運(yùn)行,數(shù)據(jù)傳輸則采用了Ajax的無(wú)刷新技術(shù)。后臺(tái)添加課程后,用戶經(jīng)注冊(cè)可以達(dá)到在線學(xué)習(xí)的目的,并可以進(jìn)行實(shí)時(shí)提問(wèn)輔助自學(xué)過(guò)程。方便簡(jiǎn)潔的后臺(tái)管理系統(tǒng)可以讓管理員及時(shí)形象地了解所有用戶實(shí)時(shí)學(xué)習(xí)情況,整個(gè)系統(tǒng)獨(dú)立完整,不依賴其他程序,聯(lián)網(wǎng)的瀏覽器即可完成用戶在線,學(xué)習(xí)后臺(tái)實(shí)時(shí)查看,方便快速,滿足當(dāng)今社會(huì)碎片化時(shí)間和快節(jié)奏需求。

    關(guān)鍵詞: Web開發(fā);Node.js;JavaScript;Ajax;前后端分離;在線學(xué)習(xí)平臺(tái)

    中圖分類號(hào): TP311.52 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.04.003

    本文著錄格式:張鵬飛,王乾,胡曉冬,等. 基于Node.js和JS的前后端分離實(shí)現(xiàn)[J]. 軟件,2019,40(4):1117

    【Abstract】: Aiming at the problem of front-end coupling in web development, this paper proposes a new solution that introduces Node.js to solve the inconsistency of front-end language by fully analyzing the traditional development mode. The new architectural model of the design proposes a new direction for small teams or individuals to develop Web projects, thus solving the problem of lack of manpower, huge cost of development, and difficulties in communication between front and back. Based on this research, we have developed a self-learning platform based on web design, and use it as the basis of feasibility test, the system adopts B/S architecture, the back-end program runs in Node server, and the data transfer adopts Ajax-free technology. After adding courses in the background, users can achieve the purpose of online learning by registering and can conduct real-time questioning to assist self-study process. Convenient and concise backstage management system can let the administrator timely image to understand all users real-time learning situation, the whole system is independent and complete, do not rely on other programs, internet browser can complete the user online, learning background real-time viewing, convenient and fast, to meet the current social fragmentation time and fast-paced.

    【Key words】: Web development; Node.js; JavaScript; Ajax; Front-end separation; Online learning platform

    0 ?引言

    隨著信息化時(shí)代的飛躍式發(fā)展,移動(dòng)通信寬帶大幅提高、資費(fèi)不斷降低、互聯(lián)網(wǎng)業(yè)務(wù)創(chuàng)新速度加快和移動(dòng)終端功能逐漸增強(qiáng),用戶的信息服務(wù)需求開始由單一的語(yǔ)音服務(wù)和傳統(tǒng)的移動(dòng)增值服務(wù)向互動(dòng)化、多媒體化、多元化、融合化方向轉(zhuǎn)變[1]。網(wǎng)上購(gòu)物、網(wǎng)上支付、網(wǎng)上學(xué)習(xí)等等,互聯(lián)網(wǎng)已經(jīng)越來(lái)越深入的融入我們的生活。Web應(yīng)用的日益廣泛和Web開發(fā)技術(shù)的不斷發(fā)展,以用戶體驗(yàn)型網(wǎng)絡(luò)服務(wù)為特征的Web應(yīng)用代表了目前互聯(lián)網(wǎng)的發(fā)展趨勢(shì)[2]。

    互聯(lián)網(wǎng)的急速發(fā)展也給web開發(fā)帶來(lái)了越來(lái)越多的困難,復(fù)雜的界面交互、龐大的數(shù)據(jù)傳輸、更強(qiáng)的穩(wěn)定要求。為提高工作效率和程序性能,當(dāng)前web開發(fā)多采用前后端耦合的開發(fā)模式,前后端的發(fā)展都越來(lái)越高深,想要前后都做好的最好方法就是前后端獨(dú)立,然后進(jìn)行耦合。然而只有大中型公司才有能力進(jìn)行專分,小公司或個(gè)人獨(dú)立項(xiàng)目也需要前后端分離卻受限于人力與資金。本文中試圖采用JavaScript解決前后端語(yǔ)言不一致,以Node.js為后端語(yǔ)言,采用MVC模型,使開發(fā)成本與開發(fā)難度大大減小,并且通過(guò)網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)自主學(xué)習(xí)平臺(tái)的實(shí)例開發(fā),驗(yàn)證了該模型的可行性。

    1 ?Node.js前后端開發(fā)特點(diǎn)

    1.1 ?為什么使用Node.js

    1.1.1 ?傳統(tǒng)Web應(yīng)用開發(fā)流程

    在過(guò)去,編寫Web應(yīng)用是一個(gè)相當(dāng)標(biāo)準(zhǔn)化的流程。你有一個(gè)或多個(gè)服務(wù)器部署在機(jī)器上并監(jiān)聽某個(gè)端口(如HTTP的80端口),每當(dāng)服務(wù)器接收到一個(gè)請(qǐng)求時(shí),它會(huì)創(chuàng)建一個(gè)進(jìn)程或者線程去處理和響應(yīng)請(qǐng)求。處理這些請(qǐng)求會(huì)頻繁地與外部服務(wù)進(jìn)行通信,比如數(shù)據(jù)庫(kù)、內(nèi)存緩存、外部計(jì)算服務(wù)器或者僅僅是文件系統(tǒng)。當(dāng)所有的工作最終結(jié)束之后,線程或者進(jìn)程會(huì)返回到“可用”服務(wù)器池中,這樣服務(wù)器就可以處理更多的請(qǐng)求了。這個(gè)過(guò)程符合人的思維方式,容易讓人理解,編寫程序時(shí)也很簡(jiǎn)單。但是這中模型有兩個(gè)缺點(diǎn):

    (1)資源耗費(fèi)巨大

    創(chuàng)建一個(gè)線程就會(huì)消耗一定的資源。對(duì)于使用PHP和Apache構(gòu)建的應(yīng)用,單進(jìn)程可能需要10MB左右的內(nèi)存,所以根據(jù)業(yè)務(wù)需求較大那么對(duì)內(nèi)存的要求會(huì)很高。對(duì)于大型服務(wù)器,由于需要不斷的創(chuàng)建新線程來(lái)處理請(qǐng)求,很快,服務(wù)器的內(nèi)存就會(huì)耗盡,出現(xiàn)反應(yīng)極慢或假死狀態(tài),嚴(yán)重時(shí)可導(dǎo)致服務(wù)器崩潰。

    (2)線程阻塞

    由于Web服務(wù)器會(huì)經(jīng)常與數(shù)據(jù)庫(kù)、緩存服務(wù)器、外部服務(wù)器或文件系統(tǒng)進(jìn)行通信,如果數(shù)據(jù)量過(guò)大,則會(huì)家具等待時(shí)間,直到這些數(shù)據(jù)處理完服務(wù)器才會(huì)返回響應(yīng)。當(dāng)服務(wù)器等待響應(yīng)的時(shí)候,當(dāng)前線程就會(huì)被‘阻塞,無(wú)法繼續(xù)進(jìn)行處理其他數(shù)據(jù)。因此,消耗的服務(wù)器資源和當(dāng)前進(jìn)程或線程會(huì)被完全凍結(jié),直到外部組件返回響應(yīng)后,進(jìn)程或線程才能繼續(xù)完成處理,并把結(jié)果返回給客戶端,進(jìn)而等待下一個(gè)請(qǐng)求[3]。

    1.1.2 ?Node.js的優(yōu)點(diǎn)

    Node.js借助JavaScript特有的事件驅(qū)動(dòng)機(jī)制和V8高性能引擎,使得編寫高性能Web服務(wù)更加輕而易舉,因?yàn)樗耆珮?gòu)建在事件驅(qū)動(dòng)、非阻塞的編程模型上,所以它不會(huì)出現(xiàn)傳統(tǒng)模式中的線程阻塞,不過(guò)Node.js本身是支持同步編程的,所以在一些特殊情況下,也依然是可以滿足需求的。

    (1)非阻塞

    Node.js是單進(jìn)程的,新建一個(gè)node進(jìn)程那將是一個(gè)全新的進(jìn)程,兩者之間沒有直接聯(lián)系。對(duì)于每一個(gè)進(jìn)程,除非異常或手動(dòng)停止否則它將持續(xù)進(jìn)行。當(dāng)服務(wù)器收到請(qǐng)求,該進(jìn)程會(huì)將請(qǐng)求分發(fā)給特定的進(jìn)程去處理(比如傳給一個(gè)數(shù)據(jù)庫(kù)查詢的進(jìn)程),在特地進(jìn)程處理上一個(gè)請(qǐng)求過(guò)程中主進(jìn)程仍然可以接受請(qǐng)求并進(jìn)行分發(fā)處理,直到上一個(gè)請(qǐng)求處理完成返回響應(yīng)后該進(jìn)程結(jié)束,達(dá)到非阻塞目的。

    (2)事件驅(qū)動(dòng)

    Node.js進(jìn)程持續(xù)進(jìn)行,當(dāng)有請(qǐng)求傳入,服務(wù)器才開始處理請(qǐng)求,請(qǐng)求就是驅(qū)動(dòng)處理的事件。

    2 ?自主學(xué)習(xí)平臺(tái)概述

    隨著科學(xué)技術(shù)的高速發(fā)展和知識(shí)經(jīng)濟(jì)的興起,教會(huì)學(xué)生學(xué)習(xí),構(gòu)建終身學(xué)習(xí)體系,建設(shè)學(xué)習(xí)型社會(huì)已經(jīng)成為當(dāng)今世界各國(guó)教育改革與發(fā)展的重要目標(biāo)。自主學(xué)習(xí)作為一種有效的學(xué)習(xí)方式和相對(duì)穩(wěn)定可遷移的學(xué)習(xí)能力,不僅有利于提高學(xué)生的學(xué)習(xí)成績(jī),也是實(shí)現(xiàn)終身學(xué)習(xí)和畢生發(fā)展的前提和基礎(chǔ)[4]。計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展和普及,高校傳統(tǒng)的教育教學(xué)管理模式和理念已經(jīng)不能完全滿足需求。一直以來(lái),加強(qiáng)高校網(wǎng)絡(luò)自主學(xué)習(xí)平臺(tái)建設(shè)的探索和研究,謀求適合大學(xué)生個(gè)性化發(fā)展的自主學(xué)習(xí)模式,加強(qiáng)大學(xué)生信息化水平和信息素養(yǎng)具有重要作用[5]。

    2.1 ?當(dāng)前在線學(xué)習(xí)平臺(tái)

    2.1.1 ?概述

    在線學(xué)習(xí)平臺(tái)是學(xué)習(xí)者通過(guò)網(wǎng)絡(luò)學(xué)習(xí)的一種學(xué)習(xí)媒介,學(xué)習(xí)者可以在在線學(xué)習(xí)平臺(tái)上獲取學(xué)習(xí)資源、跟老師進(jìn)行活動(dòng),或者與其他學(xué)習(xí)者進(jìn)行交流討論。在線學(xué)習(xí)平臺(tái)可以通過(guò)記錄學(xué)員在線上參加學(xué)習(xí)的課程進(jìn)度、課后練習(xí)鞏固程度、模擬考場(chǎng)考試、答疑解惑互相交流等情況,實(shí)現(xiàn)對(duì)學(xué)員學(xué)習(xí)情況的全程跟蹤管理和對(duì)學(xué)員學(xué)習(xí)需求的全面掌握,可以通過(guò)對(duì)學(xué)員學(xué)習(xí)數(shù)據(jù)分析的進(jìn)行學(xué)習(xí)進(jìn)度及方向上的調(diào)整,讓學(xué)習(xí)者更加系統(tǒng)、全面、科學(xué)的學(xué)習(xí)。

    2.1.2 ?現(xiàn)狀

    當(dāng)前國(guó)內(nèi)的在線學(xué)習(xí)平臺(tái)形形色色,大都采用網(wǎng)上培訓(xùn)班的方式進(jìn)行授課,因此授課質(zhì)量也是魚龍混雜。比較出名的如騰訊課堂,它開設(shè)有各種課程,學(xué)員購(gòu)買后就可以得到老師每天按時(shí)的在線直播授課。也有一些是個(gè)人開設(shè)的網(wǎng)課,受人力物力影響只能側(cè)重某一方面的學(xué)習(xí)培訓(xùn),不能保證適合所有類型學(xué)生。還有一些與高校合作的網(wǎng)絡(luò)課平臺(tái),比如超星、智慧樹等。這些平臺(tái)收錄國(guó)內(nèi)外知名高校教師的講課視頻,其他高校學(xué)生就可以達(dá)到資源共享的目的。

    但是綜上各種類項(xiàng)在線學(xué)習(xí)平臺(tái)都有一個(gè)特點(diǎn):面向公共客戶,不能制定符合高校內(nèi)部特定的學(xué)習(xí)計(jì)劃,靈活性較差。因此針對(duì)本校網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)課程,開發(fā)一個(gè)符合教師課程講授、易于學(xué)生自學(xué)的在線學(xué)習(xí)平臺(tái)。

    2.2 ?自主學(xué)習(xí)平臺(tái)

    自主學(xué)習(xí)平臺(tái)從本校學(xué)習(xí)安排出發(fā),結(jié)合教師個(gè)人特色以及學(xué)生學(xué)習(xí)需求,制定符合本校學(xué)生學(xué)習(xí)情況內(nèi)容安排合理的在線學(xué)習(xí)內(nèi)容。平臺(tái)內(nèi)容包含學(xué)習(xí)大綱,同步視頻,實(shí)時(shí)文檔,對(duì)應(yīng)課件等一系列與課程相關(guān)文件,供學(xué)生自學(xué)參考。

    (1)每門課的每節(jié)視頻都由本校授課教師按照教學(xué)進(jìn)度和教學(xué)大綱親自錄制。學(xué)生既可以以此參考自學(xué),拓展自己學(xué)習(xí)視野。也可以從中找查漏補(bǔ)缺,彌補(bǔ)自己學(xué)習(xí)中的不足。

    (2)課程對(duì)應(yīng)的主要內(nèi)容會(huì)由授課教師以文檔形式記錄。會(huì)上傳到平臺(tái),學(xué)生可以在線閱讀或下載后隨時(shí)查看。

    (3)對(duì)應(yīng)每節(jié)課都有專欄討論。針對(duì)本節(jié)課的任何疑問(wèn)都可以在次提問(wèn),老師會(huì)及時(shí)進(jìn)行解答,其他學(xué)生可以參與解答。解答問(wèn)題設(shè)有獎(jiǎng)勵(lì),以此鼓勵(lì)學(xué)生進(jìn)行互相學(xué)習(xí)。

    (4)課程數(shù)目、類項(xiàng)、內(nèi)容可以以高校實(shí)際情況進(jìn)行更改調(diào)整。

    3 ?自主學(xué)習(xí)平臺(tái)設(shè)計(jì)

    3.1 ?概要

    系統(tǒng)采用B/S結(jié)構(gòu),用戶交互由瀏覽器實(shí)現(xiàn),業(yè)務(wù)邏輯在服務(wù)器實(shí)現(xiàn),數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)服務(wù)器內(nèi),構(gòu)成常見的Web應(yīng)用三層:界面層(UI)業(yè)務(wù)邏輯層(BLL)和數(shù)據(jù)訪問(wèn)層(DAL)。前端頁(yè)面包含首頁(yè)、登錄、注冊(cè)、課程等頁(yè)面。

    系統(tǒng)開發(fā)采用MVC(Model-View-Controller)框架,將界面展示邏輯(用戶界面)獨(dú)立到一些文件中(Views),把一些和用戶交互的程序邏輯(Controller)單獨(dú)放在一些文件中,在 Views 和 Controller 中傳遞數(shù)據(jù)使用一些專門封裝數(shù)據(jù)的實(shí)體對(duì)象Models。

    3.1.1 ?整體設(shè)計(jì)

    (1)前端頁(yè)面包含首頁(yè)、登錄、注冊(cè)、課程等頁(yè)面。

    (2)后端服務(wù)對(duì)頁(yè)面發(fā)來(lái)的數(shù)據(jù)進(jìn)行處理、如登陸驗(yàn)證、課程拉取等。

    (3)數(shù)據(jù)庫(kù)內(nèi)存儲(chǔ)注冊(cè)信息、學(xué)習(xí)進(jìn)度、視頻地址等數(shù)據(jù)。

    前后端分離但是采用統(tǒng)一語(yǔ)言JavaScript,系統(tǒng)架構(gòu)如圖1。

    3.1.2 ?模塊設(shè)計(jì)

    (1)首頁(yè)登錄

    首頁(yè)為平臺(tái)介紹信息,務(wù)必信息直觀明了。主頁(yè)主要展示平臺(tái)基本信息及登錄,且登錄位置明顯,用戶登錄后可執(zhí)行學(xué)習(xí)課程及查看個(gè)人信息等操作。首次登錄用戶,可在登錄界面直接跳轉(zhuǎn)到注冊(cè)頁(yè)面進(jìn)行注冊(cè)然后跳回登錄頁(yè)面進(jìn)行登錄。

    (2)課程模塊

    課程部分為平臺(tái)主題內(nèi)容。默認(rèn)展示課程內(nèi)容章節(jié)名稱,點(diǎn)擊章節(jié)名稱后展開對(duì)應(yīng)章節(jié)課程內(nèi)容,包括視頻、文檔、案例以及當(dāng)前章節(jié)對(duì)應(yīng)的學(xué)生提問(wèn)。當(dāng)完成一章學(xué)習(xí)內(nèi)容后,系統(tǒng)自動(dòng)給完成情況進(jìn)行評(píng)分并在個(gè)人信息里實(shí)時(shí)顯示當(dāng)前學(xué)習(xí)進(jìn)度。

    (3)學(xué)生個(gè)人中心

    在學(xué)生個(gè)人中心可以對(duì)部分個(gè)人信息進(jìn)行修改,也可以看到當(dāng)前的學(xué)習(xí)進(jìn)度、課程得分情況、提問(wèn)的回復(fù)內(nèi)容以及教師和系統(tǒng)的通知。

    (4)教師后臺(tái)管理

    教師或管理員可以在教師后臺(tái)管理里進(jìn)行課程的修改、添加、刪除等操作以及查看所有或特定學(xué)生的課程完成情況及課程分?jǐn)?shù)。還可以對(duì)所有學(xué)生或特定進(jìn)行發(fā)送通知或提醒。

    3.2 ?詳細(xì)設(shè)計(jì)

    用戶進(jìn)入首頁(yè)必須進(jìn)行登錄,無(wú)賬號(hào)則需要先進(jìn)行注冊(cè)然后登錄。當(dāng)用戶登錄后課程與個(gè)人中心開放,登錄用戶進(jìn)入課程主頁(yè)后可以在頁(yè)面左側(cè)看到當(dāng)前課程的所有章節(jié),點(diǎn)擊章節(jié)名稱后展開菜單內(nèi)出現(xiàn)視頻、課件、案例等選項(xiàng),選擇后頁(yè)面中間區(qū)域出現(xiàn)視頻播放區(qū)域或文檔展示區(qū)域。頁(yè)面右側(cè)展示當(dāng)前章節(jié)的所有提問(wèn)信息,登錄用戶可以對(duì)其中的問(wèn)題進(jìn)行查看和回復(fù)。登錄用戶進(jìn)入個(gè)人中心后可以查看個(gè)人詳細(xì)信息和修改部分信息,也可以查看自己的學(xué)習(xí)進(jìn)度和課程分?jǐn)?shù),另外也可以看到別人對(duì)自己提問(wèn)的解答或者對(duì)別人問(wèn)題的回復(fù)。也可以進(jìn)行查看系統(tǒng)通知或教師的課程通知。

    系統(tǒng)由Views、Controller、Data組成。Views部分采用ejs模板以實(shí)現(xiàn)視圖兼數(shù)據(jù)傳遞的作用,該部分發(fā)出請(qǐng)求經(jīng)由Controller處理后對(duì)Data中數(shù)據(jù)進(jìn)行修改或拉取。系統(tǒng)整體框架如下圖2。

    3.2.1 ?主模塊設(shè)計(jì)

    (1)注冊(cè)設(shè)計(jì)

    注冊(cè)信息包括:姓名,學(xué)號(hào),性別,電子郵件以此兩次確認(rèn)密碼。首先在瀏覽器端進(jìn)行基本格式校驗(yàn),然后以JSON格式傳回服務(wù)器與數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行比對(duì),如出現(xiàn)學(xué)號(hào)重復(fù)情況則返回錯(cuò)誤,提示進(jìn)行修改。注冊(cè)信息填寫無(wú)誤注冊(cè)成功后跳轉(zhuǎn)到登錄頁(yè)面提示用戶進(jìn)行登錄。

    (2)課程主頁(yè)設(shè)計(jì)

    章節(jié)名稱采用手風(fēng)琴模式進(jìn)行垂直排列,用戶點(diǎn)擊某一章節(jié)名稱后該章節(jié)展開并展示該章節(jié)的視頻和文檔,同時(shí)向服務(wù)器發(fā)送請(qǐng)求拉取本章節(jié)對(duì)應(yīng)的提問(wèn)內(nèi)容。用戶點(diǎn)擊視頻、文檔進(jìn)行觀看或?yàn)g覽后,系統(tǒng)根據(jù)用戶離開時(shí)間確定完成進(jìn)度然后發(fā)回服務(wù)器在數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。

    (3)個(gè)人中心設(shè)計(jì)

    點(diǎn)擊個(gè)人信息后向服務(wù)器發(fā)送請(qǐng)求返回?cái)?shù)據(jù)庫(kù)內(nèi)存儲(chǔ)的對(duì)應(yīng)個(gè)人數(shù)據(jù);點(diǎn)擊學(xué)習(xí)進(jìn)度后可以拉取視頻、文檔等詳細(xì)的進(jìn)度情況;系統(tǒng)通知模塊采用事件驅(qū)動(dòng)機(jī)制,待有通知發(fā)來(lái)后將通知進(jìn)行展示。

    4 ?自主學(xué)習(xí)平臺(tái)實(shí)現(xiàn)

    4.1 ?注冊(cè)登錄實(shí)現(xiàn)

    以HTML為基礎(chǔ)搭建了頁(yè)面基本框架,以CSS3進(jìn)行渲染。邏輯語(yǔ)言采用JavaScript,為簡(jiǎn)化書寫引入jQuery插件。為實(shí)現(xiàn)后期的響應(yīng)式頁(yè)面,頁(yè)面引入Bootstrap框架。為與Node.js進(jìn)行通訊html采用ejs

    模板。服務(wù)器為Node.js,數(shù)據(jù)庫(kù)為MySQL。系統(tǒng)采用前后端分離開發(fā)思想,但是以統(tǒng)一語(yǔ)言Java?Script進(jìn)行編寫,大大降低程序耦合難度。系統(tǒng)采用MySQL數(shù)據(jù)庫(kù),設(shè)計(jì)時(shí)充分考慮程序處理的要求、應(yīng)用環(huán)境的需求,斟酌數(shù)據(jù)庫(kù)表結(jié)構(gòu)和字段設(shè)置,考慮數(shù)據(jù)庫(kù)各表中的字段類型和長(zhǎng)度,盡可能提前預(yù)估到可能出現(xiàn)的問(wèn)題,避免程序設(shè)計(jì)過(guò)程中帶來(lái)不必要的麻煩[6]??紤]到系統(tǒng)上傳Linux服務(wù)器后的MySQL數(shù)據(jù)庫(kù)對(duì)中文支持問(wèn)題,所以全部改為UTF-8編碼方式。

    4.1.1 ?注冊(cè)

    用戶輸入注冊(cè)信息點(diǎn)擊提交后,本地進(jìn)行基本格式驗(yàn)證通過(guò)后傳入服務(wù)端,服務(wù)的進(jìn)行校驗(yàn)合格后存入數(shù)據(jù)庫(kù)。注冊(cè)信息字段表如表1。

    系統(tǒng)獲取到用戶輸入信息后通過(guò)checkData()進(jìn)行基本校驗(yàn),驗(yàn)證通過(guò)后經(jīng)由Ajax發(fā)給服務(wù)器端進(jìn)行判斷。響應(yīng)返回status=‘success后注冊(cè)成功跳轉(zhuǎn)到登錄頁(yè)面,否則返回失敗信息,注冊(cè)失敗。

    4.1.2 ?登錄

    系統(tǒng)獲取到用戶登錄數(shù)據(jù)后通過(guò)Ajax發(fā)給服務(wù)器進(jìn)行校驗(yàn),校驗(yàn)成功后登錄成功。為避免用戶短時(shí)間退出重復(fù)登錄,系統(tǒng)通過(guò)Session設(shè)置了默認(rèn)保持登錄30分鐘。Session 機(jī)制采用的是一種在客戶端與服務(wù)器之間保持狀態(tài)的解決方案, 由于網(wǎng)頁(yè)是一種無(wú)狀態(tài)的連接程序,因此無(wú)法得知用戶的瀏覽狀態(tài)。通過(guò)Session記錄用戶的有關(guān)信息,以供用戶再次以此身份對(duì)Web服務(wù)器提供要求時(shí)作確認(rèn)[7]。部分關(guān)鍵代碼如下:

    if (result.type == 'success') {

    req.session.islogin = nbr; /*將用戶學(xué)號(hào)存入session*/

    req.session.username = result.name; /*將用戶姓名存入session*/

    res.json({status:1,name:result.name}); /*返回成功狀態(tài)碼1和姓名*/

    }else{

    res.json({status:0}); /*返回失敗狀態(tài)碼0*/

    };

    4.2 《網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)》課程主頁(yè)

    課程主頁(yè)由三列構(gòu)成,左側(cè)部分為課程章節(jié),中間部分為完成情況和視頻、文檔展示區(qū),右側(cè)為評(píng)論區(qū)。選擇左側(cè)章節(jié)后中間區(qū)域展示相應(yīng)文檔或視頻,右側(cè)評(píng)論區(qū)出現(xiàn)對(duì)應(yīng)章節(jié)的提問(wèn)及回復(fù)內(nèi)容。

    4.2.1 ?視頻、文檔模塊實(shí)現(xiàn)

    視頻播放未采用需另行安裝的繁瑣且安全性有爭(zhēng)議的flash插件。而是采用HTML5自帶

    由于瀏覽器不支持原生ppt,所以ppt轉(zhuǎn)化未PDF后進(jìn)行瀏覽,ViewerJS是一個(gè)非常棒的通用文檔查看器,它完全獨(dú)立不依賴其他服務(wù),所以對(duì)PDF的瀏覽采用ViewerJS插件,支持縮放、旋轉(zhuǎn)、打印等功能,滿足在線瀏覽需求。

    4.2.2 ?進(jìn)度獲取

    學(xué)習(xí)內(nèi)容完成情況用state表征,state為1表示該部分內(nèi)容完成,為0則表示未完成。數(shù)據(jù)庫(kù)表中設(shè)置fileDetail和videoDetail分別用于表示文檔和視頻的每章完成情況[9],fileRate和videoRate則根據(jù)文檔和視頻各自所占權(quán)重(由管理員確定)換算得到的分?jǐn)?shù),score為總體情況得分。詳細(xì)字段設(shè)置見表2。

    4.2.3 ?提問(wèn)部分

    本系統(tǒng)提問(wèn)部分所用數(shù)據(jù)庫(kù)表的一個(gè)特點(diǎn)是將提問(wèn)內(nèi)容與回復(fù)內(nèi)容置于一個(gè)表中,解決了嵌套表在數(shù)據(jù)龐大情況下的時(shí)效問(wèn)題,采用字段forWho區(qū)分提問(wèn)與回復(fù)很好的避免了兩者在一張表中容易出現(xiàn)的混亂問(wèn)題[10]。另一個(gè)特點(diǎn)是為解決各章節(jié)提問(wèn)內(nèi)容混雜的問(wèn)題,本系統(tǒng)將各個(gè)章節(jié)的提問(wèn)、回復(fù)在數(shù)據(jù)表中以u(píng)nit字段的設(shè)置加以區(qū)分。同時(shí)為保證系統(tǒng)加載速度,用戶選擇章節(jié)后系統(tǒng)只拉取該章節(jié)的提問(wèn)內(nèi)容,點(diǎn)擊問(wèn)題下的展開按鈕后系統(tǒng)拉取該問(wèn)題的評(píng)論部分。提問(wèn)內(nèi)容數(shù)據(jù)庫(kù)表結(jié)構(gòu)如表3。

    登錄用戶在提問(wèn)框內(nèi)輸入問(wèn)題后點(diǎn)擊提問(wèn),系統(tǒng)通過(guò)getTime()函數(shù)獲得提問(wèn)詳細(xì)時(shí)間和session內(nèi)姓名,與提問(wèn)內(nèi)容一起以JSON格式通過(guò)Ajax請(qǐng)求傳入Node服務(wù)器,服務(wù)器進(jìn)行接受處理后由MySQL儲(chǔ)存[11]。服務(wù)器發(fā)回成功響應(yīng)后,瀏覽器直接將該提問(wèn)渲染在頁(yè)面上。如果是初次打開頁(yè)面,則頁(yè)面先發(fā)送Ajax請(qǐng)求獲取所有當(dāng)前章節(jié)的提問(wèn)內(nèi)容進(jìn)行渲染展示。

    提問(wèn)實(shí)現(xiàn):

    (1)瀏覽器端事件監(jiān)聽(event)檢測(cè)到用戶提問(wèn)點(diǎn)擊事件,檢測(cè)用戶提問(wèn)內(nèi)容是否合法,通過(guò)后發(fā)起請(qǐng)求并攜帶數(shù)據(jù)如:提問(wèn)內(nèi)容、用戶信息、提問(wèn)單元、提問(wèn)類型。

    (2)瀏覽器端路由器(router)對(duì)數(shù)據(jù)進(jìn)行判斷,確定分發(fā)對(duì)象。

    (3)對(duì)應(yīng)處理對(duì)象(handle)接收請(qǐng)求,調(diào)用對(duì)象方法進(jìn)行處理。

    (4)相應(yīng)的操作方法(operate)接收請(qǐng)求,格式數(shù)據(jù)、拆分?jǐn)?shù)據(jù)、字段檢測(cè)等完成后調(diào)用Node的MySQL數(shù)據(jù)庫(kù)中間件。

    (5)數(shù)據(jù)庫(kù)中間件(connect)接收請(qǐng)求,讀取數(shù)據(jù),插入MySQL數(shù)據(jù)庫(kù),返回插入結(jié)果狀態(tài)信息[12]。

    以上5步完成了由用戶數(shù)據(jù)請(qǐng)求經(jīng)由服務(wù)端處理存入數(shù)據(jù)庫(kù)的操作,步驟(5)完成后,開始逆向返回響應(yīng),在響應(yīng)經(jīng)過(guò)的每一步驟中都會(huì)對(duì)響應(yīng)進(jìn)行封裝、轉(zhuǎn)化等處理,最終發(fā)回(1)步驟中的事件監(jiān)聽。如果最終返回成功響應(yīng)狀態(tài)則會(huì)伴隨數(shù)據(jù)返回,事件監(jiān)聽將會(huì)將數(shù)據(jù)傳入DOM,然后瀏覽器進(jìn)行頁(yè)面渲染;若最終返回失敗響應(yīng)狀態(tài)則會(huì)伴隨失敗日志返回,而錯(cuò)誤會(huì)在響應(yīng)返回過(guò)程中逐步解決,返回事件監(jiān)聽的仍是具體的響應(yīng)結(jié)果,同樣瀏覽器進(jìn)行頁(yè)面渲染,至此完整的提問(wèn)過(guò)程。

    4.3 ?管理員系統(tǒng)

    管理員系統(tǒng)不同于普通用戶系統(tǒng),是一個(gè)獨(dú)立的系統(tǒng)??梢圆榭磳W(xué)生完成進(jìn)度、對(duì)用戶信息進(jìn)行管理操作、添加課程、發(fā)布廣播等功能。

    5 ?結(jié)語(yǔ)

    本文在對(duì)傳統(tǒng)Web開發(fā)中采用的前后端分離的基礎(chǔ)上,提出采用Node.js作為后端服務(wù)器語(yǔ)言以達(dá)到前后端語(yǔ)言統(tǒng)一的目的,從而提高開發(fā)效率,提升了代碼靈活性,為小型團(tuán)隊(duì)或個(gè)人開發(fā)Web項(xiàng)目提供了參考思路。并且在此基礎(chǔ)上實(shí)現(xiàn)了一個(gè)網(wǎng)頁(yè)設(shè)計(jì)基礎(chǔ)自主學(xué)習(xí)平臺(tái)的搭建作為該思路可行性的校驗(yàn)依據(jù)。該平臺(tái)以現(xiàn)代瀏覽器為前端執(zhí)行環(huán)境,提供在線觀看視頻、瀏覽文檔、實(shí)時(shí)提問(wèn)、后臺(tái)管理等功能。系統(tǒng)采用B/S架構(gòu),后端程序在Node服務(wù)器中運(yùn)行。后臺(tái)添加課程后,用戶經(jīng)注冊(cè)可以達(dá)到在線學(xué)習(xí)的目的,并可以進(jìn)行實(shí)時(shí)提問(wèn)輔助自學(xué)過(guò)程。方便簡(jiǎn)潔的后臺(tái)管理系統(tǒng)可以讓管理員及時(shí)形象地了解所有用戶實(shí)時(shí)學(xué)習(xí)情況,并且可以對(duì)整個(gè)系統(tǒng)及用戶進(jìn)行實(shí)時(shí)管理。該學(xué)習(xí)系統(tǒng)獨(dú)立完整,只需聯(lián)網(wǎng)的瀏覽器即可完成用戶在線、管理后臺(tái)實(shí)時(shí)查看,滿足當(dāng)今社會(huì)碎片化時(shí)間和快節(jié)奏需求。另外,得意于Node.js的通用性,該項(xiàng)目可直接轉(zhuǎn)移到Linux服務(wù)器端后配置MySQL可直接運(yùn)行。

    由于時(shí)間、能力等原因系統(tǒng)無(wú)法保證十分完美,但是基本框架已經(jīng)確立,接下來(lái)的主要工作是對(duì)系統(tǒng)進(jìn)行優(yōu)化。當(dāng)然也有需要繼續(xù)增強(qiáng)或者修改調(diào)整的模塊,比如后臺(tái)系統(tǒng)的添加課程、發(fā)布廣播等功能亟待解決。完善的系統(tǒng)需要不斷地進(jìn)行優(yōu)化,完美的模式也需要不斷的進(jìn)行修正。學(xué)習(xí)之路漫長(zhǎng)而崎嶇,需要不斷地堅(jiān)持與探索,“路漫漫其修遠(yuǎn)兮,吾將上下而求索”。

    參考文獻(xiàn)

    [1] 李俊受. 中國(guó)和韓國(guó)移動(dòng)互聯(lián)網(wǎng)發(fā)展的比較研究[D]. 北京郵電大學(xué), 010

    [2] 白璐, 翟高壽. 基于驅(qū)動(dòng)代碼分離的設(shè)備驅(qū)動(dòng)體系結(jié)構(gòu)的研究[J]. 軟件, 2015, 36(1): 17-21

    [3] (美)溫施耐德. (Wandschneider, M. )Learning Node. js: A Hands-On Guide to Building Web Applications in JavaScript 姚立, 彭森材譯. 機(jī)械工業(yè)出版社. 2014

    [4] 趙宏, 陳麗, 鄭勤華, 張善實(shí). 成人遠(yuǎn)程學(xué)習(xí)者自主學(xué)習(xí)能力培養(yǎng)的教學(xué)模式探究[J]. 中國(guó)電化教育, 2014(06): 37-41+48

    [5] 夏鳳龍, 王菲菲. 高校網(wǎng)絡(luò)自主學(xué)習(xí)平臺(tái)建設(shè)的探索與思考[J]. 無(wú)線互聯(lián)科技, 2016(05): 23-24

    [6] 繆亞波, 趙軼群. 一種針對(duì)復(fù)雜交互界面應(yīng)用的Web開發(fā)框架[J]. 計(jì)算機(jī)應(yīng)用, 2004(02): 154-156+160

    [7] 郭彥輝. 響應(yīng)式 Web 設(shè)計(jì)的研究與實(shí)現(xiàn)[J]. 軟件, 2018, 39(1): 169-172

    [8] 柳麗娜. 淺淡Session機(jī)制與Cookie機(jī)制[J]. 電腦編程技巧與維護(hù), 2008(16): 28-29

    [9] 彭金勝. 一種新型的Web國(guó)際化解決思路及實(shí)踐[J]. 軟件, 2018, 39(7): 143-145

    [10] 劉翔宇, 朱大明. Arcgis中基于Python的地理數(shù)據(jù)庫(kù)批量合并方法研究[J]. 軟件, 2018, 39(7): 161-165

    [11] 朱東紅, 吳東麗, 郭劍, 等. 氣象自動(dòng)觀測(cè)集成平臺(tái)設(shè)計(jì)[J]. 軟件, 2018, 39(7): 182-190

    [12] 王芳, 蔡沂. 基于生成樹的學(xué)生互校驗(yàn)簽到應(yīng)用研究[J]. 軟件, 2018, 39(7): 06-11

    丝袜脚勾引网站| 一区二区三区乱码不卡18| a级毛片黄视频| 午夜视频精品福利| a级片在线免费高清观看视频| 久久人妻福利社区极品人妻图片 | 亚洲欧美一区二区三区久久| 亚洲国产精品国产精品| 夫妻性生交免费视频一级片| 午夜老司机福利片| 男男h啪啪无遮挡| 性色av一级| 在线观看免费视频网站a站| 夫妻性生交免费视频一级片| e午夜精品久久久久久久| 一本—道久久a久久精品蜜桃钙片| 久久久精品94久久精品| 亚洲中文日韩欧美视频| 亚洲欧美激情在线| 欧美黑人欧美精品刺激| 午夜av观看不卡| 久久午夜综合久久蜜桃| 欧美成人午夜精品| 高清视频免费观看一区二区| 久9热在线精品视频| 伦理电影免费视频| 国产精品免费视频内射| 欧美激情 高清一区二区三区| a级毛片在线看网站| 熟女少妇亚洲综合色aaa.| 亚洲国产最新在线播放| 国产成人系列免费观看| 国产女主播在线喷水免费视频网站| 各种免费的搞黄视频| 一区二区三区乱码不卡18| 亚洲国产精品国产精品| 成年美女黄网站色视频大全免费| 欧美日韩亚洲国产一区二区在线观看 | 天堂俺去俺来也www色官网| 午夜免费观看性视频| 大型av网站在线播放| 成年女人毛片免费观看观看9 | www.av在线官网国产| 久久性视频一级片| 久久青草综合色| 久久久精品区二区三区| 老汉色av国产亚洲站长工具| 别揉我奶头~嗯~啊~动态视频 | 三上悠亚av全集在线观看| 精品少妇黑人巨大在线播放| 18禁黄网站禁片午夜丰满| 国产av国产精品国产| 亚洲国产欧美日韩在线播放| 90打野战视频偷拍视频| 国产精品秋霞免费鲁丝片| 高清不卡的av网站| 男女午夜视频在线观看| 永久免费av网站大全| av网站在线播放免费| 国产老妇伦熟女老妇高清| 国产又爽黄色视频| 精品国产乱码久久久久久男人| 9色porny在线观看| 婷婷色综合www| 一个人免费看片子| 交换朋友夫妻互换小说| 青青草视频在线视频观看| 在线观看www视频免费| 久久亚洲国产成人精品v| 只有这里有精品99| 看免费av毛片| 天天躁夜夜躁狠狠躁躁| 国产亚洲精品久久久久5区| 国产成人免费观看mmmm| 欧美日韩精品网址| 久久精品国产亚洲av涩爱| 欧美精品一区二区免费开放| 在线观看免费高清a一片| 中文字幕制服av| www.av在线官网国产| 中文字幕人妻熟女乱码| 99久久99久久久精品蜜桃| 乱人伦中国视频| 国产av精品麻豆| 99热网站在线观看| 777久久人妻少妇嫩草av网站| 国产主播在线观看一区二区 | 狠狠精品人妻久久久久久综合| 国产一区二区激情短视频 | 国精品久久久久久国模美| 午夜精品国产一区二区电影| 免费观看av网站的网址| 熟女少妇亚洲综合色aaa.| 日韩 亚洲 欧美在线| av视频免费观看在线观看| 久久精品成人免费网站| 久久精品久久精品一区二区三区| 精品福利观看| 国产免费一区二区三区四区乱码| 国产有黄有色有爽视频| 色94色欧美一区二区| 国产成人精品无人区| 国产成人影院久久av| 99热国产这里只有精品6| 亚洲国产欧美在线一区| 欧美日韩视频高清一区二区三区二| 亚洲国产欧美网| 国产精品久久久久久精品电影小说| 亚洲精品国产av蜜桃| 巨乳人妻的诱惑在线观看| 黄片小视频在线播放| 欧美xxⅹ黑人| 操出白浆在线播放| 中文字幕最新亚洲高清| 中文字幕制服av| 老司机影院毛片| 狂野欧美激情性xxxx| 下体分泌物呈黄色| 大香蕉久久网| 午夜激情久久久久久久| 精品少妇一区二区三区视频日本电影| 国产欧美亚洲国产| 国产男人的电影天堂91| 欧美成人午夜精品| 国产三级黄色录像| 久久久久视频综合| 国产黄色视频一区二区在线观看| 啦啦啦 在线观看视频| 亚洲av成人精品一二三区| 女人爽到高潮嗷嗷叫在线视频| 国产成人系列免费观看| 又大又爽又粗| 91九色精品人成在线观看| 日韩视频在线欧美| 欧美人与性动交α欧美精品济南到| 午夜福利视频精品| 美女中出高潮动态图| 男女边摸边吃奶| 青青草视频在线视频观看| 欧美+亚洲+日韩+国产| 成在线人永久免费视频| 久久久久精品国产欧美久久久 | 国产精品国产三级国产专区5o| 国产一区二区三区综合在线观看| av又黄又爽大尺度在线免费看| 国产黄色视频一区二区在线观看| 另类亚洲欧美激情| 亚洲精品自拍成人| 久久综合国产亚洲精品| 狂野欧美激情性bbbbbb| av视频免费观看在线观看| 久9热在线精品视频| 欧美日韩国产mv在线观看视频| 精品国产一区二区三区四区第35| 日韩大码丰满熟妇| 一本综合久久免费| 亚洲成av片中文字幕在线观看| 国产成人av教育| 老司机亚洲免费影院| 国产91精品成人一区二区三区 | 久久99精品国语久久久| 一本综合久久免费| 亚洲,欧美,日韩| 国产麻豆69| 精品卡一卡二卡四卡免费| 日本欧美视频一区| 婷婷色综合大香蕉| 超碰成人久久| 精品一区二区三卡| 少妇人妻 视频| 色婷婷久久久亚洲欧美| 人人妻人人爽人人添夜夜欢视频| 日韩中文字幕视频在线看片| 日韩一区二区三区影片| 肉色欧美久久久久久久蜜桃| 两个人看的免费小视频| 国产成人系列免费观看| 99热国产这里只有精品6| 久久精品亚洲熟妇少妇任你| 午夜福利,免费看| 日韩一卡2卡3卡4卡2021年| 亚洲午夜精品一区,二区,三区| 尾随美女入室| 99久久精品国产亚洲精品| 欧美精品亚洲一区二区| 亚洲av电影在线进入| 多毛熟女@视频| 丝袜在线中文字幕| 日韩一本色道免费dvd| 中文字幕av电影在线播放| 免费少妇av软件| 免费人妻精品一区二区三区视频| 久久久久网色| 久久久国产精品麻豆| 欧美日韩亚洲国产一区二区在线观看 | 免费在线观看完整版高清| 亚洲伊人久久精品综合| 欧美日本中文国产一区发布| 一本色道久久久久久精品综合| 国产精品免费视频内射| 久久人妻熟女aⅴ| 青青草视频在线视频观看| 99久久人妻综合| 亚洲激情五月婷婷啪啪| 99国产精品一区二区三区| 深夜精品福利| 亚洲精品国产一区二区精华液| 老司机靠b影院| 高清黄色对白视频在线免费看| 色视频在线一区二区三区| 亚洲欧美色中文字幕在线| 国产精品成人在线| 久久久久网色| 国产精品av久久久久免费| 久久午夜综合久久蜜桃| 日韩精品免费视频一区二区三区| 午夜老司机福利片| 亚洲三区欧美一区| 纵有疾风起免费观看全集完整版| 亚洲国产最新在线播放| 欧美激情 高清一区二区三区| 女人精品久久久久毛片| 晚上一个人看的免费电影| 久久精品国产亚洲av高清一级| 一级毛片女人18水好多 | 50天的宝宝边吃奶边哭怎么回事| 人妻 亚洲 视频| 亚洲国产av影院在线观看| 亚洲欧美精品综合一区二区三区| 免费观看av网站的网址| 亚洲av片天天在线观看| 精品人妻熟女毛片av久久网站| 亚洲成国产人片在线观看| 国产亚洲一区二区精品| 男的添女的下面高潮视频| 亚洲中文日韩欧美视频| 国产在线视频一区二区| 亚洲欧洲日产国产| 国产亚洲精品第一综合不卡| 久久免费观看电影| 在现免费观看毛片| 国产精品九九99| 男女高潮啪啪啪动态图| 亚洲第一av免费看| 性少妇av在线| 狠狠精品人妻久久久久久综合| 男女边摸边吃奶| 一区二区三区乱码不卡18| 在线精品无人区一区二区三| 国产精品一区二区在线不卡| 久久亚洲精品不卡| 操出白浆在线播放| netflix在线观看网站| 极品人妻少妇av视频| 免费不卡黄色视频| 欧美国产精品一级二级三级| 午夜91福利影院| 韩国精品一区二区三区| 日本五十路高清| 欧美人与善性xxx| 成人黄色视频免费在线看| 伦理电影免费视频| 一级黄色大片毛片| 赤兔流量卡办理| 亚洲精品日韩在线中文字幕| 午夜久久久在线观看| av不卡在线播放| 亚洲国产精品国产精品| 波野结衣二区三区在线| 99热网站在线观看| 国产成人精品久久二区二区免费| 欧美日韩亚洲高清精品| 久久久久精品人妻al黑| 亚洲人成电影免费在线| 国产成人a∨麻豆精品| 搡老岳熟女国产| av福利片在线| 悠悠久久av| 日韩av在线免费看完整版不卡| 无限看片的www在线观看| 国产一区二区三区综合在线观看| 人人澡人人妻人| 精品一品国产午夜福利视频| 国产麻豆69| 婷婷色av中文字幕| 满18在线观看网站| 不卡av一区二区三区| 国产成人精品在线电影| 黄色毛片三级朝国网站| 亚洲av美国av| 国产精品一区二区免费欧美 | 国产三级黄色录像| 丰满迷人的少妇在线观看| 91成人精品电影| 国产国语露脸激情在线看| 啦啦啦啦在线视频资源| 久久99精品国语久久久| 亚洲三区欧美一区| 欧美亚洲 丝袜 人妻 在线| 成年人午夜在线观看视频| 波野结衣二区三区在线| 99久久99久久久精品蜜桃| 国产一区二区三区综合在线观看| 黄色怎么调成土黄色| 午夜福利一区二区在线看| 精品欧美一区二区三区在线| 搡老岳熟女国产| 少妇人妻久久综合中文| 亚洲国产精品国产精品| 一区二区av电影网| 国产爽快片一区二区三区| 91国产中文字幕| 一级a爱视频在线免费观看| 天堂中文最新版在线下载| 99九九在线精品视频| 国产在线视频一区二区| 日日夜夜操网爽| 亚洲男人天堂网一区| 久久久久精品国产欧美久久久 | 十八禁网站网址无遮挡| 久久久久久久久免费视频了| 蜜桃在线观看..| 亚洲精品国产一区二区精华液| 无遮挡黄片免费观看| 老司机午夜十八禁免费视频| 精品亚洲乱码少妇综合久久| 国产一区二区在线观看av| 中文字幕制服av| 一区在线观看完整版| 亚洲熟女毛片儿| 麻豆av在线久日| 国产片特级美女逼逼视频| 天堂中文最新版在线下载| 色播在线永久视频| 成在线人永久免费视频| 国产在视频线精品| 精品免费久久久久久久清纯 | 最新的欧美精品一区二区| 在线 av 中文字幕| 欧美在线一区亚洲| 国产精品一区二区精品视频观看| 麻豆av在线久日| 国产精品99久久99久久久不卡| 免费女性裸体啪啪无遮挡网站| 午夜日韩欧美国产| 大陆偷拍与自拍| 91精品国产国语对白视频| 欧美人与善性xxx| 人人澡人人妻人| 亚洲男人天堂网一区| 制服人妻中文乱码| 亚洲,欧美精品.| 激情五月婷婷亚洲| 国产不卡av网站在线观看| 国产成人啪精品午夜网站| 精品视频人人做人人爽| av一本久久久久| 亚洲人成网站在线观看播放| 亚洲国产中文字幕在线视频| 伊人久久大香线蕉亚洲五| 51午夜福利影视在线观看| 亚洲成av片中文字幕在线观看| 国产麻豆69| a级毛片黄视频| 久久av网站| 亚洲av成人精品一二三区| 国产精品熟女久久久久浪| 精品少妇黑人巨大在线播放| 99久久精品国产亚洲精品| 日韩中文字幕欧美一区二区 | 伦理电影免费视频| 18禁观看日本| 精品福利永久在线观看| 91精品国产国语对白视频| 少妇被粗大的猛进出69影院| 两人在一起打扑克的视频| 亚洲熟女毛片儿| 黄频高清免费视频| 啦啦啦中文免费视频观看日本| 欧美精品高潮呻吟av久久| 国产成人免费观看mmmm| 国产真人三级小视频在线观看| 各种免费的搞黄视频| 国产精品久久久av美女十八| 欧美中文综合在线视频| 18禁国产床啪视频网站| 人人澡人人妻人| 老汉色av国产亚洲站长工具| 久久 成人 亚洲| 成人免费观看视频高清| 99久久99久久久精品蜜桃| 国产av精品麻豆| 婷婷色综合www| 男女免费视频国产| 久久国产精品影院| 香蕉国产在线看| 免费在线观看影片大全网站 | 日韩中文字幕欧美一区二区 | 亚洲国产毛片av蜜桃av| 日韩av免费高清视频| 两个人免费观看高清视频| 欧美中文综合在线视频| 午夜福利,免费看| 天堂8中文在线网| 成年人免费黄色播放视频| 99国产精品99久久久久| 国产亚洲精品久久久久5区| 色婷婷久久久亚洲欧美| 视频在线观看一区二区三区| 激情视频va一区二区三区| 丝袜人妻中文字幕| 亚洲精品中文字幕在线视频| 亚洲国产av影院在线观看| 91成人精品电影| 国产男人的电影天堂91| 1024香蕉在线观看| 亚洲,一卡二卡三卡| 午夜福利免费观看在线| av不卡在线播放| 伊人亚洲综合成人网| 久久久久国产精品人妻一区二区| 亚洲色图 男人天堂 中文字幕| 久久久久久久国产电影| 亚洲成国产人片在线观看| 男人添女人高潮全过程视频| av一本久久久久| 男女床上黄色一级片免费看| 午夜日韩欧美国产| 国产福利在线免费观看视频| 日韩一区二区三区影片| 国产极品粉嫩免费观看在线| 丝袜喷水一区| 国产精品 欧美亚洲| 久久天堂一区二区三区四区| 日日爽夜夜爽网站| 狠狠婷婷综合久久久久久88av| 热99国产精品久久久久久7| 久久免费观看电影| 飞空精品影院首页| 日韩大片免费观看网站| 考比视频在线观看| 一区二区三区四区激情视频| 亚洲九九香蕉| 日韩 亚洲 欧美在线| 成人手机av| 日韩中文字幕欧美一区二区 | 精品国产一区二区三区四区第35| 青春草亚洲视频在线观看| 亚洲国产中文字幕在线视频| 国产不卡av网站在线观看| 一级毛片女人18水好多 | 亚洲精品一卡2卡三卡4卡5卡 | 十分钟在线观看高清视频www| 午夜影院在线不卡| 国产人伦9x9x在线观看| 五月开心婷婷网| 一级毛片我不卡| 满18在线观看网站| 久久精品久久久久久久性| 18禁黄网站禁片午夜丰满| 丝袜喷水一区| 欧美大码av| 国产三级黄色录像| 五月天丁香电影| 只有这里有精品99| av线在线观看网站| 国产精品免费大片| 久久精品国产亚洲av涩爱| 久久精品国产综合久久久| 亚洲欧美精品自产自拍| 久久人人爽人人片av| 精品国产乱码久久久久久小说| 97在线人人人人妻| 两人在一起打扑克的视频| 自线自在国产av| 最新在线观看一区二区三区 | 免费看十八禁软件| 亚洲欧美精品综合一区二区三区| 中文字幕人妻熟女乱码| 天天影视国产精品| 亚洲国产精品一区三区| 国产男女超爽视频在线观看| 狂野欧美激情性bbbbbb| 18禁黄网站禁片午夜丰满| 搡老岳熟女国产| 成人18禁高潮啪啪吃奶动态图| 捣出白浆h1v1| 又黄又粗又硬又大视频| 亚洲人成电影观看| 人人妻,人人澡人人爽秒播 | 亚洲第一av免费看| 久久久久久久久免费视频了| 国产熟女欧美一区二区| 一边摸一边做爽爽视频免费| 国产一区二区在线观看av| 成年动漫av网址| 色视频在线一区二区三区| 美女脱内裤让男人舔精品视频| 欧美日韩精品网址| 在线观看免费午夜福利视频| 国产精品麻豆人妻色哟哟久久| 搡老乐熟女国产| 久久精品人人爽人人爽视色| 欧美精品亚洲一区二区| 18禁黄网站禁片午夜丰满| 精品国产一区二区三区四区第35| 精品少妇久久久久久888优播| 精品国产一区二区三区久久久樱花| 国产黄色视频一区二区在线观看| 18禁黄网站禁片午夜丰满| 日韩电影二区| 日日摸夜夜添夜夜爱| 中文字幕另类日韩欧美亚洲嫩草| 天堂俺去俺来也www色官网| 99久久精品国产亚洲精品| 考比视频在线观看| 99久久综合免费| 日韩一本色道免费dvd| 999久久久国产精品视频| 大片电影免费在线观看免费| 精品少妇黑人巨大在线播放| 日本欧美国产在线视频| 波多野结衣一区麻豆| 亚洲欧美色中文字幕在线| 久久人人爽av亚洲精品天堂| 性色av乱码一区二区三区2| 一边摸一边抽搐一进一出视频| 精品福利永久在线观看| 亚洲欧美精品综合一区二区三区| 日韩一本色道免费dvd| 大片电影免费在线观看免费| 好男人电影高清在线观看| 精品熟女少妇八av免费久了| 涩涩av久久男人的天堂| 日本vs欧美在线观看视频| 国产xxxxx性猛交| 日本猛色少妇xxxxx猛交久久| 18禁国产床啪视频网站| 脱女人内裤的视频| 老司机影院毛片| 热99国产精品久久久久久7| 日韩av在线免费看完整版不卡| 热re99久久精品国产66热6| 亚洲色图 男人天堂 中文字幕| 天天躁夜夜躁狠狠躁躁| 亚洲av男天堂| 久久国产精品男人的天堂亚洲| 午夜久久久在线观看| 久久亚洲国产成人精品v| 中文字幕高清在线视频| 大话2 男鬼变身卡| www日本在线高清视频| 亚洲一区二区三区欧美精品| 亚洲欧美激情在线| 亚洲国产欧美日韩在线播放| 日韩伦理黄色片| 精品人妻一区二区三区麻豆| 自拍欧美九色日韩亚洲蝌蚪91| 欧美精品高潮呻吟av久久| 欧美少妇被猛烈插入视频| 中文字幕人妻丝袜一区二区| 精品卡一卡二卡四卡免费| 亚洲欧美一区二区三区黑人| 欧美精品亚洲一区二区| 国产一区二区三区av在线| 每晚都被弄得嗷嗷叫到高潮| 欧美黄色淫秽网站| 日本五十路高清| √禁漫天堂资源中文www| a级片在线免费高清观看视频| 在线观看免费高清a一片| 国产精品av久久久久免费| 一边摸一边抽搐一进一出视频| 免费高清在线观看视频在线观看| 国产日韩欧美视频二区| 亚洲熟女精品中文字幕| 亚洲av成人不卡在线观看播放网 | 色婷婷av一区二区三区视频| 日本91视频免费播放| 亚洲精品国产一区二区精华液| 国产精品香港三级国产av潘金莲 | 欧美97在线视频| 亚洲精品国产一区二区精华液| 亚洲,欧美,日韩| a级毛片黄视频| 亚洲国产av影院在线观看| 国产成人一区二区在线| 美女国产高潮福利片在线看| 女警被强在线播放| 久久亚洲国产成人精品v| 日本欧美国产在线视频| 国产成人av教育| 亚洲,欧美精品.| 色婷婷久久久亚洲欧美| 日本wwww免费看| 亚洲成人国产一区在线观看 | 成年人黄色毛片网站| 国产淫语在线视频| 99九九在线精品视频| 欧美日韩视频精品一区| 久久久精品免费免费高清| 国产在视频线精品| 精品熟女少妇八av免费久了| kizo精华| 亚洲精品日本国产第一区| 亚洲欧洲国产日韩| 久久av网站| a 毛片基地| 日韩大片免费观看网站| 19禁男女啪啪无遮挡网站| 久久人人爽人人片av| 91麻豆av在线| 精品久久久久久久毛片微露脸 | 亚洲成人免费av在线播放| 亚洲,一卡二卡三卡|