• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

      0 引言

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

      1 需求分析

      ■1.1 需求獲取的方法

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

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

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

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

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

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

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

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

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

      在用戶輸入對應(yīng)信息后,點擊注冊按鈕。在通過校驗后數(shù)據(jù)庫將寫入新的用戶信息。在登錄頁面輸入剛注冊的用戶信息對更新后的用戶數(shù)據(jù)庫進(jìn)行檢索,檢索成功后將跳轉(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ā)帖進(jìn)行修改,刪除或者隱藏功能;設(shè)置個人空間訪問。

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

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

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

      ■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 并部署到云主機(jī)運(yùn)行。

      ■3.1 登錄注冊功能

      用戶通過輸入賬號密碼進(jìn)行登錄,從頁面接收參數(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 分類功能

      游客可以點擊分類的標(biāo)簽進(jìn)入自己感興趣的標(biāo)簽下瀏覽文章。頁面?zhèn)鬟ftag 參數(shù)給list 列表,用list 方法首先對字符串進(jìn)行分離操作,形成字符數(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ā)帖按鈕進(jìn)入發(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” , ” 標(biāo)題不能為空” );

      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é)論

      本文詳細(xì)敘述了基于SpringBoot+Bootstrap 技術(shù)的智超社區(qū)的設(shè)計與實現(xiàn),從系統(tǒng)的需求分析到總體設(shè)計再到測試驗收階段,該系統(tǒng)具有了BBS 論壇所具備的提問、點贊、評論、回復(fù)等功能。本系統(tǒng)綜合運(yùn)用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é)生寫作興趣
      無正題名文獻(xiàn)著錄方法評述
      關(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
      西青区| 克拉玛依市| 桃源县| 铜川市| 连城县| 朔州市| 资阳市| 屯门区| 钟山县| 祁阳县| 阿合奇县| 逊克县| 韩城市| 防城港市| 沂南县| 深州市| 浠水县| 青川县| 乌拉特前旗| 绥滨县| 当雄县| 宣汉县| 内黄县| 安阳县| 乐平市| 濮阳县| 株洲市| 泗阳县| 仪征市| 武平县| 台州市| 靖西县| 天门市| 卢龙县| 兰西县| 惠水县| 贡嘎县| 如皋市| 淳安县| 小金县| 沾化县|