




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于微信公眾號的有書共讀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
隨著電子商務(wù)的普及和互聯(lián)網(wǎng)平臺的優(yōu)惠價(jià)格,許多人選擇在線閱讀,并購買了大量書籍。不可避免地出現(xiàn)相同書籍的重復(fù)購買,大量閑置,造成資源浪費(fèi)。大多數(shù)情況下,人們需要的書,可能在其他人那里都可以借閱,如果能夠及時(shí)分享自己的書和借閱他人的書,就能做到資源合理利用,避免不必要的浪費(fèi)。但是,由于信息不對稱,如何知道從誰那里可以借閱得到?又如何把自己閑置的書借給他人?另外,許多讀書愛好者不僅希望自己能讀到好書,更希望能夠跟別人分享、交流讀書體會和心得,那么如何參與到這樣一個(gè)讀書交流的活動(dòng)或者發(fā)起這樣的活動(dòng)?針對這些問題設(shè)計(jì)并實(shí)現(xiàn)了有書共讀平臺,通過該平臺讀者可以分享借閱圖書,發(fā)布和報(bào)名活動(dòng),既避免了資源浪費(fèi),又能夠加入讀書交流圈。由于微信公眾平臺擁有龐大的活躍用戶群、開放的API接口、實(shí)名認(rèn)證等優(yōu)勢,另外相對于其他軟件以App的形式下載安裝到手機(jī)上或者傳統(tǒng)的需要通過PC端訪問的軟件來說,基于微信的手機(jī)應(yīng)用更加方便和簡捷1系統(tǒng)功能模塊有書系統(tǒng)基于B/S結(jié)構(gòu),使用SSM框架,前臺基于微信實(shí)現(xiàn)圖書信息上傳、圖書共享、圖書借閱、活動(dòng)發(fā)布、報(bào)名活動(dòng)等前臺功能,后臺基于PC端Web應(yīng)用實(shí)現(xiàn)圖書管理、用戶管理、借閱管理、活動(dòng)管理等功能,整個(gè)系統(tǒng)的功能架構(gòu)如圖1所示。1.1圖書上傳與讀取通過微信公眾號的菜單進(jìn)入共讀系統(tǒng)首頁,首先,通過點(diǎn)擊添加按鈕可以上傳用戶需要共享的圖書信息。該功能主要通過手機(jī)掃描圖書條形碼自動(dòng)讀取圖書的書名、作者、出版社以及圖書封面等信息,上傳到服務(wù)器。對于掃碼無法識別的圖書,也可以進(jìn)行手工錄入圖書信息。1.2“我的-共享記錄”的確認(rèn)用戶可以通過“我的書架”菜單查看自己的所有圖書,進(jìn)入查看圖書詳情。書架上的圖書可在“我的-共享記錄”里確認(rèn)或取消共享。被共享的圖書,在系統(tǒng)中對所有用戶可見。1.3發(fā)起領(lǐng)導(dǎo)查閱申請系統(tǒng)首頁,用戶可見所有共享圖書列表,進(jìn)入查看某圖書詳情,可點(diǎn)擊借閱發(fā)起借閱申請。圖書共享者收到借閱申請后可同意或拒絕。被借閱的圖書,其他用戶不可再借閱。1.4圖書償還圖書共享者收到歸還圖書后,在系統(tǒng)點(diǎn)擊確認(rèn)歸還,圖書即可更新為可借狀態(tài)。用戶可在“我的-借閱記錄”中查看所有借閱記錄。1.5活動(dòng)的發(fā)布通過系統(tǒng)首頁的“活動(dòng)”菜單,用戶可以發(fā)布活動(dòng),填入活動(dòng)名稱、時(shí)間、地點(diǎn)、人數(shù)、描述等信息,即可發(fā)布線下交流等活動(dòng)。1.6參加活動(dòng)在活動(dòng)首頁,用戶可以看到目前公開的活動(dòng)發(fā)布,進(jìn)入詳細(xì)信息界面,點(diǎn)擊報(bào)名按鈕參加活動(dòng),系統(tǒng)可自動(dòng)獲取當(dāng)前用戶微信賬號信息。1.7后端口功能后臺管理員用戶通過瀏覽器登錄進(jìn)入管理系統(tǒng),可以進(jìn)行用戶信息管理、圖書信息查詢、活動(dòng)信息管理、借閱信息管理等操作。2微信公眾號與ssm和微信公眾號的對接有書共讀系統(tǒng)基于微信公眾平臺的授權(quán)認(rèn)證和資源接口等實(shí)現(xiàn)應(yīng)用和微信公眾號的對接,基于SSM框架和微信JS-SDK實(shí)現(xiàn)了前后臺各功能模塊。2.1ssm框架實(shí)現(xiàn)過程系統(tǒng)整體采用SSM(spring、springMVC和mybatis)框架的四層架構(gòu)進(jìn)行開發(fā),將系統(tǒng)劃分成View層、Controller層、Service層和DAO層在實(shí)現(xiàn)的過程中,具體編寫流程如圖3所示。其中View層(JSP頁面)和Controller層之間相互關(guān)聯(lián),我們在編譯開發(fā)時(shí),必須對兩者同時(shí)進(jìn)行。以添加圖書信息為例,闡述SSM框架的實(shí)現(xiàn)過程。1)編寫B(tài)ooks實(shí)體類,確定圖書信息的屬性和方法。2)Dao層的實(shí)現(xiàn),首先編寫B(tài)ooksMapper.xml,實(shí)現(xiàn)對數(shù)據(jù)庫中書籍表的所有可能的操作,查詢書籍、更新書籍、刪除書籍、增加書籍、書籍統(tǒng)計(jì)等SQL操作語句。然后編寫Dao層的訪問接口BooksMapper.java文件,提供給Service調(diào)用進(jìn)行與數(shù)據(jù)庫的讀寫操作。3)Service層的實(shí)現(xiàn),編寫B(tài)ooksService.java實(shí)現(xiàn)業(yè)務(wù)邏輯,新增圖書的業(yè)務(wù)邏輯處理過程即把controller發(fā)來的圖書對象參數(shù)調(diào)用mapper的insert方法寫入到數(shù)據(jù)庫。4)Controller層的實(shí)現(xiàn),編寫booksController.java,接受用戶從前端發(fā)來的新增圖書請求和圖書信息參數(shù),調(diào)用BooksService實(shí)現(xiàn)新增業(yè)務(wù),處理成功后返回給用戶頁面。5)View層實(shí)現(xiàn),編寫addBook.jsp視圖頁面,構(gòu)建圖書添加的編輯界面,并引入JSSDK相關(guān)接口實(shí)現(xiàn)掃碼功能,在掃碼識別圖書信息后,將圖書信息以JSON數(shù)據(jù)包的格式發(fā)送給booksController處理并返回響應(yīng)。2.2調(diào)用啟動(dòng)條件接口在微信公眾號中,用戶需要一個(gè)進(jìn)入有書系統(tǒng)的入口,因此需要使用自定義菜單接口在公眾號中創(chuàng)建一個(gè)應(yīng)用菜單。自定義菜單接口可實(shí)現(xiàn)多種類型按鈕,有書系統(tǒng)選用了比較方便的View型的按鈕。1)在調(diào)用按鈕接口之前,需要利用appid和secret通過get方式請求微信服務(wù)器來獲得授權(quán)憑證access_token,授權(quán)憑證主要在公眾號調(diào)用各接口的時(shí)候用到,它為僅有的憑證2)構(gòu)建View類型按鈕。View類型請求包如下,其中URL即用戶即將進(jìn)入的有書系統(tǒng)的URL地址。3)通過post方式調(diào)用按鈕接口,將之前獲取的授權(quán)憑證作為參數(shù),同時(shí)傳遞View按鈕JSON數(shù)據(jù)包,創(chuàng)建菜單。按鈕接口請求格式如下用戶點(diǎn)擊View型按鈕后,微信客戶端打開有書系統(tǒng)的網(wǎng)頁URL,可與網(wǎng)頁授權(quán)獲取成員基本信息接口結(jié)合,獲得用戶基本信息。2.3獲得生成scpe和客戶身份如果用戶在微信客戶端中訪問第三方網(wǎng)頁,公眾號可以通過微信網(wǎng)頁授權(quán)機(jī)制,來獲取用戶基本信息,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯網(wǎng)頁授權(quán)是通過OAuth2.0機(jī)制實(shí)現(xiàn)的,在用戶授權(quán)給公眾號后,公眾號可以得到一個(gè)網(wǎng)頁授權(quán)特有的接口調(diào)用憑證(access_token),通過此憑證可以進(jìn)行調(diào)用接口,獲得用戶基本信息1)引導(dǎo)用戶同意授權(quán),獲取code參數(shù)scope是網(wǎng)頁授權(quán)的模式,當(dāng)scope值為snsapi_base時(shí),發(fā)起的網(wǎng)頁授權(quán),是用來獲取進(jìn)入頁面的用戶的openid的,默認(rèn)直接授權(quán)并跳轉(zhuǎn)到業(yè)務(wù)網(wǎng)頁參數(shù)redirect_uri是授權(quán)后重定向的回調(diào)鏈接地址。2)使用code換取網(wǎng)頁授權(quán)access_token以及openid,請求鏈接如下請求正確時(shí)返回jason數(shù)據(jù)包包含access_token以及openid信息:3)獲取用戶信息。在獲得openid的時(shí)候先判斷是否存在于系統(tǒng)中,如果存在,則直接從有書系統(tǒng)數(shù)據(jù)庫獲取用戶信息;否則,通過openid和access_token獲得用戶信息(頭像、昵稱等)。以openid和access_token為參數(shù),以GET方式向微信用戶信息接口/sns/userinfo芽發(fā)起獲取用戶信息的請求。返回用戶信息,完成用戶信息驗(yàn)證后,系統(tǒng)跳轉(zhuǎn)到具體的應(yīng)用頁面,即公眾號菜單按鈕之前設(shè)置的URL鏈接地址。2.4微信用戶掃碼與掃碼支付有書系統(tǒng)支持用戶通過手機(jī)掃描條形碼自動(dòng)獲取圖書信息,使用微信JS-SDK,可借助微信高效地使用拍照、選圖、語音、位置、藍(lán)牙、Wi-Fi等手機(jī)系統(tǒng)的功能,同時(shí)可以直接使用微信分享、掃一掃等微信特有的功能,為微信用戶提供更優(yōu)質(zhì)的網(wǎng)頁體驗(yàn)1)首先在頁面的頭部引入jweixin.js文件,利用config接口導(dǎo)入權(quán)限驗(yàn)證配置2)定義一個(gè)code()方法,調(diào)用微信JS-SDKscanQRCode接口,通過手機(jī)攝像頭掃描書籍的條形碼。掃描結(jié)果直接返回該書的ISBN號3)用ISBN號做參數(shù),用get方法請求調(diào)用ISBN書籍信息查詢接口查詢書籍信息,請求返回書籍的名稱、作者、出版社、價(jià)格、圖片等信息。2.5添加圖書信息添加圖書的功能整體流程如下:1)用戶進(jìn)入微信公眾號,點(diǎn)擊有書菜單,獲取token完成網(wǎng)頁授權(quán),通過openid和access_token獲取用戶信息,跳轉(zhuǎn)到有書系統(tǒng)首頁index.jsp。2)首頁點(diǎn)擊添加按鈕,調(diào)用微信JS-SDKscanQRCode接口查詢ISBN號,發(fā)送ISBN號到indexController通過findBooks方法獲取圖書信息,并返回。3)跳轉(zhuǎn)到添加圖書信息頁面(addBooK.jsp),確認(rèn)添加,發(fā)起添加請求到bookController。4)Controller調(diào)用Service的addBook方法,在addBook方法中調(diào)用bookMapper執(zhí)行數(shù)據(jù)庫insert操作將圖書信息寫入數(shù)據(jù)庫,并逐層返回寫入成功信息。5)用戶視圖(addBook.jsp)收到添加成功信息后,跳轉(zhuǎn)到“我的書架”頁面。3圖書交流功能的實(shí)現(xiàn)通過公眾號菜單進(jìn)入有書共讀系統(tǒng)首頁,可以看到最新發(fā)布的活動(dòng)信息以及最新共享的圖書列表。在首頁下方正中間的加號圖標(biāo)即添加圖書按鈕,點(diǎn)擊進(jìn)入掃碼功能,獲取圖書信息成功,該圖書即被添加到我的書架,如圖4所示。在“我的”頁面,可以查看用戶的所有圖書,共享列表,借閱記錄等。通過共享列表可以確認(rèn)或取消一本書的共享,在借閱記錄里可以同意或拒絕其他用戶對自己圖書的借閱申請,如圖5所示。通過首頁下方的“活動(dòng)”按鈕,進(jìn)入活動(dòng)管理頁面,可以發(fā)布新的活動(dòng),也可以查看他人發(fā)布的活動(dòng)并報(bào)名參加,如圖6所示。4手機(jī)端產(chǎn)品使用為解決圖書資源共享,讀書交流活動(dòng)的組織等問題,基于SSM
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食用玫瑰收購合同范本
- 工廠管道改造合同范本
- 聘任制合同范本
- 水刀訂購合同范本
- 入圍方式、備考建議2024強(qiáng)基計(jì)劃備考必看
- 品牌西裝租借合同范本
- 極簡學(xué)術(shù)答辯模板-1
- 2025年標(biāo)準(zhǔn)多人勞動(dòng)合同模板
- 2025工程承包合同(承包方)范本
- 2025溫室用地租賃合同
- 2025年蘭州糧油集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 語文新課標(biāo)“整本書閱讀”深度解讀及案例
- GB 21258-2024燃煤發(fā)電機(jī)組單位產(chǎn)品能源消耗限額
- 口腔醫(yī)學(xué)數(shù)字技術(shù)
- 全國高中語文優(yōu)質(zhì)課一等獎(jiǎng)《雷雨》 課件
- 高中生社會實(shí)踐證明
- IPC-6012C-2010中文版剛性印制板的鑒定及性能規(guī)范
- 常用平面軸規(guī)格表
- “三會一課”記錄表
- 分部分項(xiàng)工程驗(yàn)收記錄表(共19頁)
- 大學(xué)物理實(shí)驗(yàn)坐標(biāo)紙(共1頁)
評論
0/150
提交評論