王宇飛
摘要:為了提高畢業(yè)季的服務(wù)質(zhì)量,圖書館設(shè)計、開發(fā)了明信片打印管理系統(tǒng)。學生通過系統(tǒng)可以完成設(shè)計作品的提交、投票;分數(shù)高的作品可以作為當年明信片背面圖案;畢業(yè)生可以在喜愛的明信片打印圖書借閱信息,作為高校學習生活的紀念。系統(tǒng)的實現(xiàn)為圖書館閱讀推廣帶來了方便,也帶動了廣大學生參與活動的積極性。
關(guān)鍵詞:明信片打??;管理系統(tǒng);PHP;閱讀推廣;畢業(yè)季
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)25-0064-03
Design and Implementation of the Postcard Printing Management System in Graduation Season
WANG Yu-fei
(Library, Sichuan Normal University, Chengdu 610066, China)
Abstract: To improve the quality of service during graduation season, library design and develop a postcard printing management system. Students can submit and vote design works by management system. The works with high scores can be the back picture of postcard in this year. Graduates can print lending information on their favorite postcards which could be souvenirs of university's life. The implementation of system takes convenience to the library reading promotion, and also drives the enthusiasm of the students to participate in the activity.
Key words:postcard printing; management system; PHP; reading promotion; graduate season
1 背景
高校圖書館圍繞畢業(yè)季開展為讀者開展了很多活動,目的是為了加深圖書館與畢業(yè)生的情感聯(lián)系,滿足畢業(yè)生的感情需求,在充滿離愁別緒的畢業(yè)季校園里,增添一份來自圖書館的溫暖。明信片由于強大的視覺吸引力成為典型的度假信件,曾成為僅次于照片的傳播最為廣泛的旅游圖標。明信片從最初廉價可靠的通信工具逐步,變?yōu)楦挥惺詹貎r值的紀念品。學校生活是每個人美好的會議,在畢業(yè)時都希望在學校獲取一個具有收藏意義的物品。畢業(yè)季明信片作為特殊意義的小物品,有效地實現(xiàn)畢業(yè)紀念的目的。本文實現(xiàn)了明信片打印管理系統(tǒng),使得圖書館員在明信片征集與打印活動中脫離手工操作,完成信息化的管理。系統(tǒng)方便了圖書館員,也位畢業(yè)生提供了個性化服務(wù)。
2 相關(guān)技術(shù)簡介
2.1 Bootstrap
Bootstrap是Twitter推出的一個用于前端開發(fā)的開源工具包。它由Twitter的設(shè)計師Mark Otto和Jacob Thornton合作開發(fā)。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發(fā)更加快捷。它具有以下優(yōu)點:
1)移動設(shè)備優(yōu)先:自 Bootstrap 3 起,框架包含了貫穿于整個庫的移動設(shè)備優(yōu)先的樣式。
2)多瀏覽器支持:所有的主流瀏覽器都支持 Bootstrap,如:Internet Explorer、Firefox、Chrome、Opera、Safari。
3)容易上手:只要具備 HTML 和 CSS 的基礎(chǔ)知識,就可以開始學習并使用 Bootstrap。
4)響應(yīng)式設(shè)計:Bootstrap 的響應(yīng)式 CSS 能夠自適應(yīng)于臺式機、平板電腦和手機。
2.2 ThinkPHP
ThinkPHP是為了簡化企業(yè)級應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)而誕生的。ThinkPHP是一個快速、兼容而且簡單的輕量級國產(chǎn)PHP開發(fā)框架,遵循Apache2開源協(xié)議發(fā)布,從Struts結(jié)構(gòu)移植過來并做了改進和完善,同時也借鑒了國外很多優(yōu)秀的框架和模式,使用面向?qū)ο蟮拈_發(fā)結(jié)構(gòu)和MVC模式,融合了Struts的思想和TagLib(標簽庫)、RoR的ORM映射和ActiveRecord模式。
ThinkPHP可以支持windows/Unix/Linux等服務(wù)器環(huán)境,正式版需要PHP5.0以上版本支持,支持MySql、PostgreSQL、Sqlite多種數(shù)據(jù)庫以及PDO擴展,ThinkPHP框架本身沒有什么特別模塊要求,具體的應(yīng)用系統(tǒng)運行環(huán)境要求視開發(fā)所涉及的模塊。
作為一個整體開發(fā)解決方案,ThinkPHP能夠解決應(yīng)用開發(fā)中的大多數(shù)需要,因為其自身包含了底層架構(gòu)、兼容處理、基類庫、數(shù)據(jù)庫訪問層、模板引擎、緩存機制、插件機制、角色認證、表單處理等常用的組件,并且對于跨版本、跨平臺和跨數(shù)據(jù)庫移植都比較方便。并且每個組件都是精心設(shè)計和完善的,應(yīng)用開發(fā)過程僅僅需要關(guān)注您的業(yè)務(wù)邏輯。
2.3 mPDF
mPDF是一個將HTML轉(zhuǎn)換生成PDF的PHP類庫。它基于FPDF和HTML2FPDF,mPDF也加強兩個類庫生成PDF的功能。mPDF有以下特性:
1)支持UTF-8編碼的HTML;
2)支持CSS樣式表;
3)支持所有語言,包括RTL(阿拉伯語及希伯來語)和CJK(中日韓文)。
3 系統(tǒng)功能設(shè)計
3.1 系統(tǒng)功能結(jié)構(gòu)
明信片打印系統(tǒng)主要包含以下6個功能模塊,如圖1所示。
1)明信片圖案征集功能面對全校學生開放。學生可以根據(jù)四川師范大學主題設(shè)計自己喜歡的明信片圖案,上傳至系統(tǒng)等待大眾投票及圖書館審核。
2)明信片圖案投票與評審主要實現(xiàn)明信片圖案的投票和評審。投票面向于全校學生,評審則由圖書館安排專人負責。經(jīng)過投票與評審的計分,選擇作為正式明信片的圖案。其中,大眾投票分數(shù)占總分的60%,評審分數(shù)占總分的40%。
3)明信片展示主要用于展示正式明信片,即已經(jīng)被選擇為正式圖案的設(shè)計。
4)明信片打印提供給學生打印正式明信片的功能,明信片上將打印在校期間該生在圖書館的借閱概覽,可以通過網(wǎng)絡(luò)申請打印,然后憑有效證件至圖書館領(lǐng)取。
5)用戶管理主要實現(xiàn)了對學生和評審人的管理,包括導入學生數(shù)據(jù)、新增評審人、重置密碼等。
系統(tǒng)從圖案的征集、投票評審到展示,再到明信片的打印流程如圖2所示。
3.2 數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫關(guān)鍵設(shè)計包含用戶表、征集圖案表、投票表。表結(jié)構(gòu)設(shè)計如下所示:
4 系統(tǒng)實現(xiàn)
4.1系統(tǒng)環(huán)境
本系統(tǒng)采用PHP開發(fā)語言的ThinkPHP框架開發(fā),MySQL 5.6作為數(shù)據(jù)庫,前端頁面HTML5,CSS3,Bootstrap等來實現(xiàn)。參考當今作品征集的實際需求,來實現(xiàn)里面各個功能模塊,完成代碼編寫和系統(tǒng)最終的測試。實現(xiàn)了畢業(yè)季明信片從征集、投票評審到打印等流程的集中化管理。系統(tǒng)可整合到四川師范大學圖書館微信公眾號中使用,方便用戶使用明信片打印管理系統(tǒng)。
4.2管理功能實現(xiàn)
系統(tǒng)使用了MVC模式實現(xiàn)了明信片圖案的上傳、投票、評審、展示等管理。控制器控制業(yè)務(wù)邏輯、實現(xiàn)視圖(View)與模型(Model)的映射關(guān)系。系統(tǒng)主要包括以下三種控制器:
1)用戶管理控制器(UserControoler)主要負責學生和評審人的管理。提供students、reviewers等Action方法用于顯示、修改數(shù)據(jù);password方法重置用戶密碼。
2)圖案管理控制器(PictureController)提供了upload、vote、review等Action方法,實現(xiàn)圖案的上傳、投票、評審等功能。
3)明信片控制器(PostcardController)用于展示明信片效果和畢業(yè)生打印明信片功能。list方法實現(xiàn)明信片展示,print方法實現(xiàn)明信片打印。
4.3明信片打印
明信片打印主的print方法首先根據(jù)學號獲取該生在校期間圖書館借閱數(shù)據(jù),然后通過使用mPDF類生成明信片打印的文件布局PDF,最后使用Chrome瀏覽器的打印功能將借閱信息打印到明信片上。關(guān)鍵代碼如下所示:
include("./mpdf/mpdf.php");
$mpdf=new mPDF('+aCJK', //mode
array(192, 132), //format
'11', //default_font_size
'宋體', //default_font
17, //margin_left
65, //margin_right
33 //margin_top
);
$mpdf->autoScriptToLang = true;
$mpdf->baseScript = 1;
$mpdf->autoLangToFont = true;
$mpdf->SetDisplayMode('fullpage');
$mpdf->SetWatermarkText('中國水印',0.1);
$stylesheet = file_get_contents('./css/style.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($html);
$mpdf->Output();
2018年明信片采用水墨畫風格為主題,效果如圖3所示。
5 結(jié)束語
本系統(tǒng)采用ThinkPHP和AJAX技術(shù),結(jié)合四川師范大學圖書館畢業(yè)季活動需要,使用B/S模式實現(xiàn)了明信片打印管理系統(tǒng)。通過線上使用明信片打印管理系統(tǒng)后,進行了如下總結(jié):1)建立在網(wǎng)絡(luò)環(huán)境基礎(chǔ)之上的明信片管理系統(tǒng)不受時空約束,方便圖案征集與活動開展。2)學生不用專門前往圖書館,可以更自主地參加圖書館活動,調(diào)動學生參與活動的積極性。3)明信片作為一種具有紀念意義的物品,可以讓畢業(yè)生更具有母校情懷。
參考文獻:
[1] 于靜.高校圖書館畢業(yè)季主題活動的調(diào)研、實踐與思考[J].大學圖書館學報,2013(6):88-91.
[2] 熊莉君.圖書館閱讀推廣的“互聯(lián)網(wǎng)+”應(yīng)用研究述評[J].圖書館工作與研究,2018(2):23-27.
[3] 王俊芳.基于MVC模式的ThinkPHP框架研究[J].電子科技,2014(4):151-153.
[4] 劉智惠.面向不同設(shè)備的響應(yīng)式網(wǎng)頁設(shè)計——Web移動圖書館[J].現(xiàn)代圖書情報技術(shù),2014(11):95-101.
[5] 周亮.一種明信片管理系統(tǒng)可行性研究報告[J].輕工科技,2018(2):70-71.
[6] 崔建海.多功能網(wǎng)絡(luò)評審系統(tǒng)/平臺的分析與設(shè)計[J]. 中國人民公安大學學報,2017(1):101-104.
[7] 劉高.一種可驗證的多候選人電子投票方案[J].計算機工程與科學,2015(9):1667-1670.
[8] 李琳琳.基于微信的高校圖書館畢業(yè)季服務(wù)平臺設(shè)計[J].情報探索,2017(1):101-104.
【通聯(lián)編輯:謝媛媛】