亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SpringBoot 的智超社區(qū)的設(shè)計與實現(xiàn)

        2023-09-11 07:59:56韋瀟婧王兆驛謝青松路康偉喬雨
        電子制作 2023年15期
        關(guān)鍵詞:發(fā)帖帖子字段

        韋瀟婧,王兆驛,謝青松,路康偉,喬雨

        (南京工業(yè)大學(xué)浦江學(xué)院 計算機與通信工程學(xué)院,江蘇南京,211200)

        0 引言

        隨著網(wǎng)絡(luò)技術(shù)和信息社會的飛速發(fā)展,信息分享平臺已成為人們上網(wǎng)查看信息、交流觀點必不可少的工具之一,比較突出的代表有知乎、B 站等平臺[1]。人們可以在論壇里自由地交流與分享,表達內(nèi)心的想法,彰顯自己的個性,結(jié)交志趣相投的朋友。人們也可以在社區(qū)上提出問題,以尋求別人的幫助[2]。通過這樣即時互動的方式,提問者可以解決問題,而回答者則可以在交流中成長自己。然而,現(xiàn)有的平臺均需要商業(yè)化的盈利來產(chǎn)生附屬的價值,這些商業(yè)化的行為,如向用戶推送廣告、誘導(dǎo)用戶點擊引流卡片等給用戶的使用體驗帶來了極大的影響[3];因此,本平臺期望在提供相關(guān)信息交流功能的同時,從系統(tǒng)的界面、操作等方面提升用戶的體驗。

        1 需求分析

        ■1.1 需求獲取的方法

        (1)訪談:用戶訪談是指分析人員按照一定準則事先準備好一系列問題,通過用戶對問題的回答來獲取有關(guān)目標軟件方面的內(nèi)容。本項目是通過對潛在用戶進行面對面訪談,收集用戶在社區(qū)信息共享方面的需求以及對用戶日常社交的行為喜好進行分析[4]。

        (2)問卷調(diào)查:在進行用戶訪談時,由于很多關(guān)鍵人員的時間有限,不易安排過多的時間或者項目涉及的客戶面較廣。因此,就需要借助用戶調(diào)查的方法,通過精心設(shè)計要問的問題,然后下發(fā)到相關(guān)的人員手中,讓他們填寫,再從所填寫的內(nèi)容中獲取系統(tǒng)的需求信息,這樣就可以克服上述的問題[5]。

        ■1.2 系統(tǒng)中的數(shù)據(jù)流

        用戶登錄時系統(tǒng)將根據(jù)用戶信息表對用戶輸入的賬戶密碼進行檢索匹配,匹配成功即登錄成功;用戶進行發(fā)帖時,通過文本框編輯帖子,提交帖子后,帖子的內(nèi)容將被寫入數(shù)據(jù)庫表中即帖子發(fā)布完成。其他用戶此時通過對更新后用戶信息表的檢索可以看到新發(fā)布的帖子。用戶登錄/發(fā)帖功能數(shù)據(jù)流圖1 所示。

        圖1 用戶登錄/發(fā)帖功能數(shù)據(jù)流圖

        當(dāng)用戶查看帖子時,系統(tǒng)將檢索帖子信息表;當(dāng)用戶對帖子進行評論時,評論數(shù)會發(fā)生改變,此時評論表更改;當(dāng)用戶對帖子進行點贊時,點贊數(shù)改變,帖子信息表也發(fā)生更改;當(dāng)兩者任一發(fā)生改變時都會通知用戶。其數(shù)據(jù)流圖如圖2 所示。

        圖2 用戶評論回復(fù)功能數(shù)據(jù)流圖

        在用戶登錄成功后,點擊個人中心界面將會進入修改密碼界面,輸入原密碼后通過比對用戶數(shù)據(jù)庫,比對正確則輸入新密碼,錯誤則提示。進行一次原密碼與新密碼是否一致的校驗后將新密碼寫入數(shù)據(jù)庫。修改密碼功能數(shù)據(jù)流圖如圖3 所示。

        圖3 用戶修改密碼功能數(shù)據(jù)流圖

        在用戶輸入對應(yīng)信息后,點擊注冊按鈕。在通過校驗后數(shù)據(jù)庫將寫入新的用戶信息。在登錄頁面輸入剛注冊的用戶信息對更新后的用戶數(shù)據(jù)庫進行檢索,檢索成功后將跳轉(zhuǎn)到用戶頁面,其數(shù)據(jù)流圖如圖4 所示。

        圖4 用戶注冊功能數(shù)據(jù)流圖

        2 系統(tǒng)功能設(shè)計

        ■2.1 系統(tǒng)的主要功能

        校園論壇系統(tǒng)主要包含四個模塊,分別是:用戶模塊、發(fā)帖模塊、點贊評論模塊、系統(tǒng)模塊。各模塊的具體功能如下:

        登錄模塊:包括登錄功能,支持GitHub API,即通過GitHub 賬號登錄,若沒有GitHub 賬號,則可以注冊本地賬號(本地賬號和GitHub 賬號不互通且暫時無法綁定);用戶基本信息的修改;查看個人中心數(shù)據(jù);對自己的評論或者發(fā)帖進行修改,刪除或者隱藏功能;設(shè)置個人空間訪問。

        發(fā)帖模塊:包括用戶發(fā)表帖子功能,可以圖文并茂式文字圖片穿插進行寫作;查看他人所發(fā)布帖子的具體內(nèi)容;對自己所發(fā)布的帖子進行內(nèi)容的修改,并且可以刪除自己所發(fā)布的帖子。

        點贊評論模塊:包括對帖子或者評論進行點贊功能;對帖子或評論進行回復(fù)功能;其他用對自己的發(fā)帖進行點贊、評論、收藏時,系統(tǒng)將會有消息提示。

        系統(tǒng)模塊:主要包括熱門評論功能;對與該問題相關(guān)的問題進行推薦;發(fā)帖者可以設(shè)置自己的發(fā)帖是否需要付費瀏覽,進行積分累計,開啟會員模式。

        ■2.2 系統(tǒng)的數(shù)據(jù)模型

        建立系統(tǒng)的數(shù)據(jù)模型,即抽象出實體之間的關(guān)系,構(gòu)建E-R(實體-聯(lián)系)圖。本項目根據(jù)前文描述的基本功能模塊,建立了本系統(tǒng)的數(shù)據(jù)模型,如圖5 所示。

        圖5 數(shù)據(jù)模型E-R 圖

        ■2.3 數(shù)據(jù)庫表清單

        根據(jù)E-R 模型,設(shè)計了本系統(tǒng)的數(shù)據(jù)庫表,具體如表1 ~表5 所示。

        表1 user表

        user 表包 含id、account_id、name、token、gmt_create 等字段。它主要用于存放GitHub 用戶的各類信息,其中通過id 字段與其他表建立聯(lián)系,其具體如表1 所示。

        question 表包 含id、title、creator、comment_count、gmt_create、gmt_modified 等字段。它主要用于存放帖子的各類信息,其中通過creater 字段與user 表建立聯(lián)系,其具體如表2 所示。

        表2 question表

        comment 表包 含id、parent_id、type、commentator、gmt_create 等字段。它主要用于存放評論的各類信息,其中通過commentator 字段與user 表建立聯(lián)系,其具體如表3 所示。

        表3 comment表

        notification 表包 含id、notifiler、type、receiver、outerid、gmt_create、status 等字段。它主要用于存放通知的各類信息,其中通過notifiler 字段與user 表建立聯(lián)系,其具體如表4 所示。

        表4 notification表

        local_user 表包 含user_id、username、password、nickname 等字段。它主要用于存放本地用戶的各類信息,其中通過user_id 字段與user 表建立聯(lián)系,其具體如表5 所示。

        表5 local_user表

        3 功能模塊設(shè)計與實現(xiàn)

        基于Springboot+Bootstrap 的信息分享平臺,利用Bootstrap+Thymeleaf+jquery 構(gòu)建前端頁面,后端實現(xiàn)第三方授權(quán)登錄、攔截驗證、cookie 緩存,使用Mybatis 生成mysql 的數(shù)據(jù)庫映射,實現(xiàn)用戶發(fā)帖、評論、回復(fù)、話題搜索等功能,最后上傳項目至github 并部署到云主機運行。

        ■3.1 登錄注冊功能

        用戶通過輸入賬號密碼進行登錄,從頁面接收參數(shù)username, paassword, repsssword, nickname, 通 過 調(diào)用addLocalUser 方法給localuser 對象賦值實現(xiàn)注冊。該功能核心實現(xiàn)代碼為:

        @PostMapping(” /RegisterUser” )

        String token = UUID.randomUUID().toString();

        LocalUser localUser=localUserService.addLocalUser(username, password, nickname, token);

        localUserMapper.register(localUser);

        request.getSession().setAttribute(” localUser” ,localUser);

        response.addCookie(new Cookie(” token” , token));

        return ” redirect:/” ; }

        ■3.2 分類功能

        游客可以點擊分類的標簽進入自己感興趣的標簽下瀏覽文章。頁面?zhèn)鬟ftag 參數(shù)給list 列表,用list 方法首先對字符串進行分離操作,形成字符數(shù)組tags,把tags 存入pagination 返回頁面。該功能通過給typename 賦值為數(shù)據(jù)庫里存放的文章類別名的數(shù)據(jù),typeid 為文章類別的對應(yīng)編號,通過文章類別名以及編號來確定該文章的類別,如果點擊某個類別,主界面會顯示該類別的相關(guān)文章信息。實現(xiàn)代碼為:

        @GetMapping(” /” )

        public String index(Model model,

        @RequestParam(name = ” tag” , required = false)String tag,

        @RequestParam(name = ” sort” , required = false)String sort) {

        PaginationDTO pagination = questionService.list(search, tag, sort, page, size);

        model.addAttribute(” paginations” , pagination);

        model.addAttribute(” search” , search);

        model.addAttribute(” tag” , tag);

        model.addAttribute(” sort” , sort);

        return ” index” ;}

        ■3.3 發(fā)帖功能

        用戶點擊發(fā)帖按鈕進入發(fā)帖界面,輸入內(nèi)容。頁面?zhèn)鬟fteitle, description, tag,id 通過StringUtils.isBlank 做校驗,給question 對象傳入值返回首頁。該功能由Post 方式提交form 表單實現(xiàn)。實現(xiàn)代碼為:

        if (StringUtils.isBlank(title)) {

        model.addAttribute(” error” , ” 標題不能為空” );

        return ” publish” ;}

        User user = (User) request.getSession().getAttribute(” user” );

        LocalUser localUser = (LocalUser) request.getSession().getAttribute(” localUser” );

        if (user == null&&localUser==null) {

        model.addAttribute(” error” , ” 用戶未登錄” );

        return ” publish” ;}

        Question question = new Question();

        question.setTitle(title);

        question.setDescription(description);

        question.setTag(tag); question.setCreator((user!=null?user.getId():localUser.getUserId()));

        question.setId(id);

        questionService.UpQuestionOrInQuestion(question);

        return ” redirect:/” ;}

        4 結(jié)論

        本文詳細敘述了基于SpringBoot+Bootstrap 技術(shù)的智超社區(qū)的設(shè)計與實現(xiàn),從系統(tǒng)的需求分析到總體設(shè)計再到測試驗收階段,該系統(tǒng)具有了BBS 論壇所具備的提問、點贊、評論、回復(fù)等功能。本系統(tǒng)綜合運用SpringBoot 框架以及Bootstrap 框架實現(xiàn)開發(fā)以節(jié)省開發(fā)時間,并通過一些插件實現(xiàn)UI 設(shè)計,做到界面的干凈、簡潔、美觀。能夠為社區(qū)用戶們的交流提供良好的交流體驗。

        猜你喜歡
        發(fā)帖帖子字段
        圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
        英議會掏錢讓議員學(xué)如何發(fā)帖
        暴力老媽
        CNMARC304字段和314字段責(zé)任附注方式解析
        利用學(xué)校網(wǎng)絡(luò)平臺,培養(yǎng)學(xué)生寫作興趣
        無正題名文獻著錄方法評述
        關(guān)于CNMARC的3--字段改革的必要性與可行性研究
        情事圈點
        女性天地(2012年11期)2012-04-29 00:44:03
        高手是這樣拍馬屁的
        小品文選刊(2009年7期)2009-05-25 09:59:52
        發(fā)帖與跟帖
        知識窗(2009年2期)2009-04-22 04:54:28
        台湾自拍偷区亚洲综合| 久久不见久久见免费视频7| 日中文字幕在线| 亚洲精品一区二区三区国产| 国产精品熟女一区二区三区 | 大学生粉嫩无套流白浆| 亚洲综合久久成人a片| 91热视频在线观看| 你懂的视频在线看播放| 欧美成人看片一区二区三区尤物| 破了亲妺妺的处免费视频国产| 国产激情久久久久久熟女老人 | 亚洲av片无码久久五月| 国产午夜福利在线播放| 国产亚洲高清不卡在线观看| 亚洲一区二区三区18| 欧美黑人又粗又大xxxx| 乱子伦视频在线看| 国产成人丝袜在线无码| 91精品久久久中文字幕| 久久99精品国产麻豆不卡| 国产在线精品一区二区在线看 | 毛片av在线播放亚洲av网站| 中文字幕一区二区三区| 熟妇人妻无码中文字幕老熟妇| 精品国产黑色丝袜高跟鞋| 久久精品中文字幕亚洲| 亚洲精品国产精品乱码视色| 婷婷中文字幕综合在线| 久久中文字幕久久久久| 亚洲一区二区三区色偷偷 | 亚洲精品无码久久久久| 一区二区三区国产美女在线播放| 久久精品亚洲94久久精品| 国产精品久久国产精品99 | 国产日产桃色精品久久久| 一本色道无码道在线观看| 亚洲精品中国国产嫩草影院美女 | 深夜黄色刺激影片在线免费观看| 大地资源在线观看官网第三页| 亚洲一区二区综合色精品|