• <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

    在线播放国产精品三级| 热99在线观看视频| 精品欧美国产一区二区三| 18禁黄网站禁片免费观看直播| 99久久99久久久精品蜜桃| 欧美乱妇无乱码| 欧美最新免费一区二区三区 | 亚洲乱码一区二区免费版| 天堂影院成人在线观看| 欧美性感艳星| 亚洲精品一区av在线观看| 亚洲,欧美,日韩| 国产淫片久久久久久久久 | 久久人人精品亚洲av| 人妻丰满熟妇av一区二区三区| 亚洲av一区综合| 日日摸夜夜添夜夜添av毛片 | 婷婷亚洲欧美| 免费观看的影片在线观看| 老司机午夜十八禁免费视频| 久久99热这里只有精品18| 日韩国内少妇激情av| 成年免费大片在线观看| 色综合亚洲欧美另类图片| 成年版毛片免费区| 精品日产1卡2卡| 亚洲av熟女| www日本黄色视频网| 国产黄片美女视频| 国内久久婷婷六月综合欲色啪| 亚洲精品久久国产高清桃花| 国产免费av片在线观看野外av| 国语自产精品视频在线第100页| 成人亚洲精品av一区二区| 18美女黄网站色大片免费观看| 搡老岳熟女国产| 天天一区二区日本电影三级| 亚洲成a人片在线一区二区| 俄罗斯特黄特色一大片| 国产高潮美女av| 一本精品99久久精品77| 欧美成狂野欧美在线观看| 日韩欧美一区二区三区在线观看| 日本一本二区三区精品| 国产亚洲av嫩草精品影院| 国产极品精品免费视频能看的| 国产伦精品一区二区三区四那| 久久性视频一级片| 亚洲精品色激情综合| 色哟哟哟哟哟哟| 免费在线观看成人毛片| 国产精品久久久久久精品电影| 少妇高潮的动态图| 蜜桃亚洲精品一区二区三区| 国产精品久久久久久人妻精品电影| 丁香欧美五月| 欧美日韩国产亚洲二区| 两人在一起打扑克的视频| 啪啪无遮挡十八禁网站| 国内少妇人妻偷人精品xxx网站| 久久久久久久亚洲中文字幕 | 女人十人毛片免费观看3o分钟| 国产精品,欧美在线| 亚洲第一区二区三区不卡| 99热这里只有是精品50| 成年免费大片在线观看| 国产精品女同一区二区软件 | 九色成人免费人妻av| 我的老师免费观看完整版| 国产激情偷乱视频一区二区| 精品欧美国产一区二区三| 亚洲国产欧洲综合997久久,| 嫩草影视91久久| 99久久精品一区二区三区| 老司机午夜十八禁免费视频| 一级毛片久久久久久久久女| 波多野结衣高清作品| 自拍偷自拍亚洲精品老妇| 国产免费一级a男人的天堂| h日本视频在线播放| 中文资源天堂在线| 精品久久久久久成人av| 亚洲欧美日韩高清专用| 露出奶头的视频| 深夜a级毛片| 99国产精品一区二区三区| 直男gayav资源| 99在线视频只有这里精品首页| 亚洲精品粉嫩美女一区| 久久久久亚洲av毛片大全| 国产熟女xx| 在线观看午夜福利视频| 黄片小视频在线播放| 日本黄色视频三级网站网址| 在线播放无遮挡| 一级作爱视频免费观看| 国产精品一及| 宅男免费午夜| 一本综合久久免费| 一级av片app| 国产精品久久视频播放| 国产成年人精品一区二区| 日韩精品青青久久久久久| 国产免费男女视频| 精品人妻熟女av久视频| 精品免费久久久久久久清纯| 久久99热这里只有精品18| 中文字幕av成人在线电影| 两性午夜刺激爽爽歪歪视频在线观看| 亚洲久久久久久中文字幕| 午夜福利视频1000在线观看| 免费av毛片视频| 精品一区二区三区视频在线观看免费| 成人精品一区二区免费| 国产精品永久免费网站| xxxwww97欧美| 午夜福利视频1000在线观看| 亚洲av一区综合| 欧美黄色片欧美黄色片| 大型黄色视频在线免费观看| 欧美日韩国产亚洲二区| 在线播放国产精品三级| av女优亚洲男人天堂| 久久精品综合一区二区三区| 欧美在线黄色| 在线观看av片永久免费下载| 一本综合久久免费| 国产成人啪精品午夜网站| 麻豆国产av国片精品| 日韩欧美免费精品| 欧美午夜高清在线| 精品人妻1区二区| 全区人妻精品视频| 美女被艹到高潮喷水动态| 亚洲av不卡在线观看| 精品一区二区三区视频在线| 我要搜黄色片| 五月玫瑰六月丁香| 美女免费视频网站| 黄色日韩在线| 91在线观看av| 亚洲aⅴ乱码一区二区在线播放| 日韩欧美精品v在线| 天天一区二区日本电影三级| 99在线人妻在线中文字幕| 国产不卡一卡二| 国产一区二区三区视频了| 国产老妇女一区| 亚洲天堂国产精品一区在线| 1024手机看黄色片| 美女xxoo啪啪120秒动态图 | 真实男女啪啪啪动态图| 欧美日韩福利视频一区二区| 国产精品,欧美在线| 成人毛片a级毛片在线播放| 日韩欧美在线乱码| 老女人水多毛片| av专区在线播放| 亚洲av不卡在线观看| 久久久国产成人精品二区| 亚洲欧美精品综合久久99| 免费看日本二区| 一个人观看的视频www高清免费观看| 亚洲av一区综合| 亚洲国产精品成人综合色| 久久6这里有精品| 欧美乱妇无乱码| 久久久国产成人免费| 老司机午夜福利在线观看视频| 亚洲精品影视一区二区三区av| 免费观看人在逋| 欧美午夜高清在线| 久久人人精品亚洲av| 村上凉子中文字幕在线| 一区二区三区高清视频在线| 国产亚洲精品久久久久久毛片| 激情在线观看视频在线高清| 日韩欧美在线乱码| 亚洲欧美日韩东京热| av专区在线播放| 日本一本二区三区精品| 又爽又黄无遮挡网站| 欧美高清性xxxxhd video| 亚洲av免费高清在线观看| 欧美成人a在线观看| 国产精品美女特级片免费视频播放器| 一边摸一边抽搐一进一小说| 18禁裸乳无遮挡免费网站照片| 免费在线观看成人毛片| 久久久久久久久中文| 99国产精品一区二区三区| a级一级毛片免费在线观看| 非洲黑人性xxxx精品又粗又长| 国产亚洲av嫩草精品影院| 亚洲av第一区精品v没综合| 亚洲熟妇熟女久久| 日韩中文字幕欧美一区二区| 波野结衣二区三区在线| 中文资源天堂在线| 亚洲在线自拍视频| 亚洲av中文字字幕乱码综合| 中文在线观看免费www的网站| 精品午夜福利视频在线观看一区| 午夜精品在线福利| 欧美zozozo另类| 国产黄a三级三级三级人| 久久99热这里只有精品18| 欧美又色又爽又黄视频| 亚洲成人久久性| 亚洲专区国产一区二区| 黄色丝袜av网址大全| 老师上课跳d突然被开到最大视频 久久午夜综合久久蜜桃 | 又黄又爽又刺激的免费视频.| 日本撒尿小便嘘嘘汇集6| 97超级碰碰碰精品色视频在线观看| 毛片一级片免费看久久久久 | 三级国产精品欧美在线观看| 国产免费男女视频| 窝窝影院91人妻| 欧美国产日韩亚洲一区| 欧美3d第一页| 精品一区二区三区视频在线| 午夜老司机福利剧场| 深夜精品福利| 日韩欧美一区二区三区在线观看| 欧美bdsm另类| 精品久久久久久,| ponron亚洲| 老司机午夜福利在线观看视频| 最近最新中文字幕大全电影3| 一本精品99久久精品77| 免费黄网站久久成人精品 | 免费在线观看影片大全网站| 精品福利观看| 三级国产精品欧美在线观看| 午夜两性在线视频| 免费av不卡在线播放| 婷婷精品国产亚洲av| 国产毛片a区久久久久| 欧美日韩瑟瑟在线播放| 在线天堂最新版资源| 女同久久另类99精品国产91| 麻豆成人av在线观看| 成人国产综合亚洲| 国产黄片美女视频| 国产精品一区二区三区四区免费观看 | 99国产综合亚洲精品| 欧美黑人欧美精品刺激| 欧美一区二区亚洲| 亚洲狠狠婷婷综合久久图片| 欧美日韩中文字幕国产精品一区二区三区| 精品午夜福利在线看| АⅤ资源中文在线天堂| 男女之事视频高清在线观看| 嫩草影院新地址| 亚洲18禁久久av| 五月伊人婷婷丁香| 一进一出好大好爽视频| 黄色女人牲交| 国产精品久久久久久精品电影| 国产私拍福利视频在线观看| 亚洲乱码一区二区免费版| 丁香欧美五月| 热99在线观看视频| 久久久成人免费电影| 精品国产三级普通话版| 国产主播在线观看一区二区| 日韩欧美一区二区三区在线观看| 国产主播在线观看一区二区| 97人妻精品一区二区三区麻豆| 少妇人妻一区二区三区视频| 两个人的视频大全免费| 亚洲中文字幕日韩| 欧美日韩综合久久久久久 | 少妇被粗大猛烈的视频| 丁香欧美五月| 久久久成人免费电影| 精品一区二区免费观看| 国产精品一及| 亚洲熟妇中文字幕五十中出| 我的女老师完整版在线观看| 两个人的视频大全免费| 欧美三级亚洲精品| 亚洲精品在线美女| 免费在线观看影片大全网站| 国产视频一区二区在线看| 变态另类成人亚洲欧美熟女| 波野结衣二区三区在线| 又紧又爽又黄一区二区| 熟女电影av网| 人人妻人人澡欧美一区二区| 午夜福利在线在线| 神马国产精品三级电影在线观看| 精品人妻1区二区| 久久国产乱子伦精品免费另类| 亚洲自拍偷在线| 久久久久久久久大av| 精品午夜福利在线看| 18禁在线播放成人免费| 丝袜美腿在线中文| 国产亚洲av嫩草精品影院| 性插视频无遮挡在线免费观看| 一边摸一边抽搐一进一小说| 18美女黄网站色大片免费观看| 午夜精品在线福利| 日韩有码中文字幕| 老司机福利观看| 人人妻人人看人人澡| 亚洲成人精品中文字幕电影| 久久精品国产亚洲av涩爱 | 国产精品永久免费网站| 亚洲欧美日韩高清在线视频| 国产激情偷乱视频一区二区| 国产探花极品一区二区| 亚洲中文字幕日韩| 一进一出抽搐gif免费好疼| 97碰自拍视频| 亚洲成人中文字幕在线播放| 草草在线视频免费看| 亚洲av免费在线观看| 十八禁网站免费在线| 51午夜福利影视在线观看| 国产人妻一区二区三区在| 亚洲久久久久久中文字幕| 国产aⅴ精品一区二区三区波| 可以在线观看毛片的网站| 人妻制服诱惑在线中文字幕| 欧美区成人在线视频| 欧美+亚洲+日韩+国产| 日本与韩国留学比较| 18禁黄网站禁片免费观看直播| 黄色视频,在线免费观看| 69av精品久久久久久| 麻豆国产av国片精品| 首页视频小说图片口味搜索| 欧美日韩亚洲国产一区二区在线观看| 别揉我奶头 嗯啊视频| 国产在线精品亚洲第一网站| 搡老熟女国产l中国老女人| 一区二区三区高清视频在线| 日韩成人在线观看一区二区三区| 草草在线视频免费看| 欧美精品国产亚洲| 听说在线观看完整版免费高清| 免费人成视频x8x8入口观看| 毛片女人毛片| 欧美xxxx性猛交bbbb| 成人精品一区二区免费| 成人高潮视频无遮挡免费网站| 亚洲经典国产精华液单 | 亚洲美女视频黄频| 欧美黄色片欧美黄色片| 女生性感内裤真人,穿戴方法视频| 极品教师在线免费播放| 毛片一级片免费看久久久久 | 精品99又大又爽又粗少妇毛片 | 久久久成人免费电影| 神马国产精品三级电影在线观看| 最好的美女福利视频网| 草草在线视频免费看| 亚洲av成人av| 一区二区三区四区激情视频 | 日本撒尿小便嘘嘘汇集6| 精品日产1卡2卡| 久久人妻av系列| 在线国产一区二区在线| 国产av麻豆久久久久久久| 成人美女网站在线观看视频| 99久久99久久久精品蜜桃| 欧美+日韩+精品| 亚洲中文字幕日韩| 人人妻人人澡欧美一区二区| 免费av毛片视频| 午夜福利免费观看在线| 夜夜爽天天搞| 一本久久中文字幕| 国产日本99.免费观看| 蜜桃亚洲精品一区二区三区| 国产成人欧美在线观看| 久久久久久久亚洲中文字幕 | 成人av一区二区三区在线看| 嫩草影视91久久| 国产蜜桃级精品一区二区三区| 少妇人妻一区二区三区视频| 亚州av有码| 超碰av人人做人人爽久久| 亚洲av日韩精品久久久久久密| 亚洲精华国产精华精| 欧美日韩福利视频一区二区| 女人被狂操c到高潮| 精品熟女少妇八av免费久了| 日本黄色片子视频| 国产综合懂色| 国产在视频线在精品| 国产aⅴ精品一区二区三区波| 日韩中文字幕欧美一区二区| 最好的美女福利视频网| 欧美午夜高清在线| 99riav亚洲国产免费| 亚洲人成网站在线播| 少妇高潮的动态图| 久久久久久九九精品二区国产| 男人舔女人下体高潮全视频| 精品乱码久久久久久99久播| 制服丝袜大香蕉在线| xxxwww97欧美| 欧美日韩国产亚洲二区| 午夜两性在线视频| 天堂av国产一区二区熟女人妻| 国产精品1区2区在线观看.| 每晚都被弄得嗷嗷叫到高潮| eeuss影院久久| 国产精品爽爽va在线观看网站| 一边摸一边抽搐一进一小说| 欧美中文日本在线观看视频| 99热这里只有是精品50| 757午夜福利合集在线观看| 三级国产精品欧美在线观看| 日韩欧美精品v在线| 免费高清视频大片| 亚洲精品久久国产高清桃花| 成年女人毛片免费观看观看9| 丁香六月欧美| 在线观看免费视频日本深夜| www日本黄色视频网| 久久久精品欧美日韩精品| or卡值多少钱| 国产精品精品国产色婷婷| 中亚洲国语对白在线视频| xxxwww97欧美| 啦啦啦韩国在线观看视频| 在线播放无遮挡| 永久网站在线| 日韩欧美一区二区三区在线观看| 精品久久国产蜜桃| 国产成人影院久久av| 国产精品永久免费网站| 脱女人内裤的视频| 熟妇人妻久久中文字幕3abv| 身体一侧抽搐| 91字幕亚洲| 色吧在线观看| 狠狠狠狠99中文字幕| 一级黄片播放器| 免费看光身美女| 婷婷精品国产亚洲av在线| 日日干狠狠操夜夜爽| 亚洲人成伊人成综合网2020| 中文字幕久久专区| 欧美区成人在线视频| 美女免费视频网站| 性插视频无遮挡在线免费观看| 成熟少妇高潮喷水视频| 免费观看精品视频网站| 亚洲国产高清在线一区二区三| 国产不卡一卡二| 制服丝袜大香蕉在线| 亚洲精品乱码久久久v下载方式| 一本综合久久免费| 此物有八面人人有两片| 亚洲第一电影网av| 国产在视频线在精品| 成人精品一区二区免费| 亚洲成人久久性| 精品人妻视频免费看| 俄罗斯特黄特色一大片| 51国产日韩欧美| 国产色婷婷99| 91九色精品人成在线观看| 婷婷精品国产亚洲av在线| 综合色av麻豆| 热99re8久久精品国产| 看片在线看免费视频| 国产午夜福利久久久久久| 91麻豆精品激情在线观看国产| 狠狠狠狠99中文字幕| 欧美黄色淫秽网站| 在线观看舔阴道视频| 亚洲真实伦在线观看| 舔av片在线| 中文在线观看免费www的网站| 在线天堂最新版资源| 精品乱码久久久久久99久播| 久久久久国内视频| 男人狂女人下面高潮的视频| 日韩中文字幕欧美一区二区| 欧美精品国产亚洲| 午夜精品久久久久久毛片777| 国产激情偷乱视频一区二区| 1000部很黄的大片| 国产黄色小视频在线观看| 国产视频内射| 搡老熟女国产l中国老女人| 精品久久久久久,| 一夜夜www| 免费在线观看日本一区| 色哟哟哟哟哟哟| 国产精品三级大全| 非洲黑人性xxxx精品又粗又长| 窝窝影院91人妻| 久久这里只有精品中国| 亚洲五月天丁香| 国产aⅴ精品一区二区三区波| 午夜两性在线视频| 色综合亚洲欧美另类图片| 国产日本99.免费观看| 欧美日本视频| av在线蜜桃| 一个人观看的视频www高清免费观看| 成熟少妇高潮喷水视频| 亚洲色图av天堂| 国产精品自产拍在线观看55亚洲| 桃色一区二区三区在线观看| 内射极品少妇av片p| avwww免费| 亚洲精华国产精华精| 国产精品乱码一区二三区的特点| 亚洲国产精品999在线| 免费搜索国产男女视频| 欧美最黄视频在线播放免费| 亚洲18禁久久av| 成人亚洲精品av一区二区| 悠悠久久av| 美女被艹到高潮喷水动态| av福利片在线观看| 丰满人妻一区二区三区视频av| 十八禁人妻一区二区| 国产激情偷乱视频一区二区| 人人妻人人澡欧美一区二区| 毛片一级片免费看久久久久 | 亚洲人成伊人成综合网2020| 国产精品亚洲美女久久久| 亚洲成人精品中文字幕电影| 亚洲狠狠婷婷综合久久图片| 国产成人啪精品午夜网站| 不卡一级毛片| 九九热线精品视视频播放| 午夜福利成人在线免费观看| 亚洲 欧美 日韩 在线 免费| 久久久久久国产a免费观看| 欧美成狂野欧美在线观看| 黄色丝袜av网址大全| 国产乱人伦免费视频| 日韩欧美国产一区二区入口| 亚洲激情在线av| 天天躁日日操中文字幕| av黄色大香蕉| 在线天堂最新版资源| 国产精品一及| 国产欧美日韩一区二区精品| 午夜日韩欧美国产| 精品一区二区三区人妻视频| 丰满乱子伦码专区| 在线免费观看不下载黄p国产 | 三级男女做爰猛烈吃奶摸视频| 一进一出好大好爽视频| 毛片女人毛片| 亚洲av二区三区四区| 美女黄网站色视频| 国内久久婷婷六月综合欲色啪| 欧美日韩综合久久久久久 | 无人区码免费观看不卡| 久久久久久久久久成人| 精华霜和精华液先用哪个| 国产精品久久久久久人妻精品电影| 亚洲欧美日韩东京热| 欧美精品国产亚洲| 国产69精品久久久久777片| 亚洲色图av天堂| 久久6这里有精品| 99精品在免费线老司机午夜| 自拍偷自拍亚洲精品老妇| 欧美激情在线99| 亚洲最大成人中文| 亚州av有码| 桃色一区二区三区在线观看| 亚洲 国产 在线| 欧美zozozo另类| 怎么达到女性高潮| 色噜噜av男人的天堂激情| 国产欧美日韩一区二区精品| 久久久久久久久久成人| 最新中文字幕久久久久| 好男人在线观看高清免费视频| 国产伦在线观看视频一区| 久久精品国产清高在天天线| 99热6这里只有精品| 国产精品亚洲一级av第二区| av在线天堂中文字幕| 国产 一区 欧美 日韩| 成人国产一区最新在线观看| 欧美激情在线99| 久久久久久久亚洲中文字幕 | 精品一区二区三区视频在线观看免费| 久久久久久久午夜电影| 欧洲精品卡2卡3卡4卡5卡区| 国产精品综合久久久久久久免费| 51午夜福利影视在线观看| 别揉我奶头 嗯啊视频| 好男人电影高清在线观看| 精品久久久久久久末码| 久久久久久久久中文| 九九久久精品国产亚洲av麻豆| 美女 人体艺术 gogo| 99视频精品全部免费 在线| a级毛片a级免费在线| 蜜桃久久精品国产亚洲av| 91字幕亚洲| 日本a在线网址| 高清在线国产一区| 亚洲精品亚洲一区二区| 在线观看美女被高潮喷水网站 | 一级黄片播放器| 免费在线观看日本一区| 婷婷精品国产亚洲av在线|