姜瑤
深圳技師學院 廣東 深圳 518000
微信是現在大部分人手機必備的應用,在學生的日常社交中也經常使用,所以我們的珠寶首飾管理系統就是基于微信小程序而開發的應用,在很大程度上可以使學生更為便捷的去使用,而微信小程序對不同手機型號也有很好的適配,不會像App一樣對用戶進行限制,所以使用微信小程序開發就成了珠寶首飾作品管理系統的最佳開發平臺。
微信小程序是騰訊公司微信事業部于2017年1月正式發布的一種新型應用程序,它不同于以往的應用軟件之處在于無須下載和安裝,并且具備即搜即掃即用,用完即走的特點,是微信客戶端上一種十分實用的工具程序。微信小程序連接人和物,建立人與服務的最短連接路徑,實現人與物、人與服務在特定場景中的連接[1]。并且,微信小程序的開發成本較低、用戶流量極高,并且擁有優質的使用體驗以及強大的社群能力。另外,微信小程序的代碼隨用隨下載,大大提升了執行效率和運行體驗。但是,微信小程序也存在以下開發難點:¢ù微信小程序是新出現的產品形態,技術圈內的資料、案例比較少,很多組件需要從零開始自主研發;¢ú部分API尚在逐步開放,部分功能實現難度較大;¢?微信小程序對安全設計特別是通信安全設計要求很高,需要做許多額外的建設工作。微信小程序所具備的這些特點為作品管理系統的開發提供了基礎條件。
數據庫是一種按照數據結構來組織、存儲和管理數據的倉庫。每個數據庫都有一個或多個不同的API用于創建、訪問、管理、搜索和復制所保存的數據。本文中設計的系統中用到了MySQL數據庫,下面將對這個數據庫做簡要的介紹。
MySQL由瑞典MySQL AB公司開發,目前屬于Oracle公司。它是目前最流行的關系型數據庫之一,被經常使用在Web應用項目中。所謂關系型數據庫,是指一種建立在關系模型基礎上的數據庫,它可以借助于集合代數等數學概念和方法來處理數據庫中的數據[2]。關系型數據庫不是將所有數據都放在一個大倉庫中,而是將數據分散保存在不同的表中,這樣將會增加數據查詢的速度。MySQL是開源的,免費使用,但其性能很好,可以處理擁有上千萬條記錄的大型數據表。MySQL支持標準的 SQL 語言來對它進行控制管理,并且其能夠運行在多種系統之上,同時還支持多種編程語言例如Java、Python等對它進行操作。
本系統采用自MySQL數據庫進行數據的存儲與修改。再其中使用node.js作為后臺管理的工具。這部分主要是根據適應性強、易操作性、可擴展性、安全性高等要求,進行了模塊劃分并定義各個模塊的功能及其相互控制關系,將所有的信息都應存放到系統的數據庫中,再通過系統的功能來實現管理和維護。
數據庫整體結構采用具有關聯性的MySQL數據庫,數據庫的每條數據都相互連接,主表主要有用戶表、作品表,再之下有衍生出來的用戶信息表、作品信息表、作品評論表等,用關聯性的數據庫來對這些表進行管理與控制,實現更為方便管理的功能,以下是部分表的結構圖如圖所示。
在珠寶首飾作品管理系統的開發中,后端api的編寫是必不可少的一步。在充分了解功能需求的基礎上,分析實現各功能的可行性,來實現珠寶首飾作品管理系統的api。下面將闡述登錄注冊與上傳作品的后臺實現。
在登錄注冊方面,首先需要從前端接收到微信官方的臨時登錄憑證,然后再由后臺調用微信官方接口auth.code2Session來換取用戶唯一標識OpenID和會話密鑰,拿到openId之后就能獲取到用戶信息,將信息存入數據庫即可完成用戶的注冊[3]。如果已經注冊,則直接將用戶數據返回給前端,無須經過存儲數據庫這一步,以上便是登錄注冊的后端邏輯。
在上傳作品時,用戶需要先單獨傳圖片到后臺,由后臺將圖片進行存儲再將圖片地址反回給前端,再由前端填寫完相關信息將數據傳回后端,后端再將信息進行存儲,此時的作品上傳便已完成。
在學生界面的實現過程中,主要是考慮到頁面的美觀及實用。
在首頁用戶頁,需要顯示出用戶的個人信息,再將自己的作品內容進行顯示,并且將編輯資料的按鈕也放在用戶界面,方便用戶的使用。
在排行榜或者首頁內,需要顯示出其他人的作品,這里的界面參考了biblbili動態的布局,將其他人的昵稱頭像放在了同一排,再放上作品的發布時間;在下面的內容上放上作品的標題與圖片,當圖片顯示超過1張時,則讓界面產生不同的布局來保證頁面的整齊自然,再在下方加入一排交互的按鈕。這樣作品的展示基本就成型了。
上傳作品界面上,需要學生上傳圖片、標題、內容等信息,在頁面最開頭放上圖標來添加圖片,再在下方依次放上需要填寫的信息框,在頁面的最下方設置提交按鈕即可完成整個頁面的布局。
代碼的編寫是按照數據訪問層、業務邏輯層、數據表示層的結構來設計的,將每個模塊的核心代碼都封裝到相應的類文件中,將復用性強和顯示頁面的代碼分離開來,簡化了程序設計的復雜度,方便了后期的代碼維護和界面編輯。
以下只介紹登錄注冊功能與上傳作品的功能邏輯。在個人頁,點擊登陸/注冊按鈕進入到授權頁,點擊授權后調用微信官方平臺的接口wx.login()獲取臨時登錄憑證code,并回傳到開發者服務器,等待后端傳回的數據,將數據存儲在緩存中,此時便能長期的保存用戶登錄。
而在上傳作品功能能,學生在前端填寫作品的相關信息,再調用手機內的相冊或攝像頭進行上傳圖片,此時的圖片需要上傳到服務器上,再由服務器返回圖片的地址,此時圖片會在頁面顯示。最后在提交的時候,只需要將圖片的路徑傳到后端就能完成作品的上傳了。
登錄注冊與作品的上傳是小程序內最主要的功能,這里只對功能的核心實現思路進行介紹。
在小程序的使用上,最先使用的便是學生的登錄與注冊,在界面的設計方面,需要學生進入到頁面起始頁就引導學生進行登錄注冊。
在上傳作品中,需要同學上傳自己的作品,再給作品取一個標題,描述,還需要填寫作品的類別,在有些時候,也可以存儲只給自己看的私人作品。發布作品后,就可以讓其他學生看到自己的作品。
在其他頁面,可以多放入作品的列表,讓同學們能互相看到其他人的作品,讓學生看到不同學生的作品,讓學生對不同作品有更多的理解與看法,同樣也能提高學生們互相之間的進步,能從多數作品中看到別人的優點以及自身的缺點,這也能間接提高學生們的創作水平。
增加一些互動的按鍵,如點贊評論功能,加強學生對其他作品的互動性,使學生們之間能進行友好的交流探討,也能對認同度比較高的作品有不錯的反饋。
為避免出現不良的內容,作品還需進行審核,在學生發布完作品后,需要老師手動的為該學生的作品進行審核通過,通過審核的作品才能發布讓其他同學看到。
最后,教師審核后,系統無新任務提醒。就需要頁面與頁面之間不同的分工來實現整一個珠寶首飾作品管理系統的完善。
此開發創新點瞄準在課堂(線上線下)實施一體化課程作品存儲的研究空白,利用珠寶首飾設計專業課程工作任務,開發了存儲效果圖小程序成果。
該項研究成果已經在教學班的線上、線下課程中使用,并取得了顯著的成效,學生專業能力提高快,提高效果較大,畢業生在就業市場應聘時,使用該小程序大大縮短因疫情帶來的面試不便的困擾。目前該項成果正在三個班中使用,用于《K金首飾設計》《黃金金首飾設計》《商業首飾設計與產品企劃》等課程中廣泛應用。
該課題的研究成果不但可用于珠寶首飾設計專業,也可用于其他專業,可作為兄弟院校、企業使用。
在國家提倡5G,大數據共享號召下,實現學校老師與學生之間的數據共享,作品更立體化管理等解決的關鍵技術問題:實現隨時隨地師生作品定位化,立體化管理,實現作品數據共享。
創新之處:目前珠寶學校沒有相關功能App。實現校園智慧化管理師生作品,數據共享,從而高效,立體,標準化管理師生作品,節省師生時間成本
本篇對基于微信小程序的珠寶作品管理系統的設計,闡明技術的要點和對使用技術進行了說明,闡述了珠寶首飾作品管理系統的總體設計,提出了系統的總體架構,對表之間的關系進行了詳細說明,也對小程序的功能進行了研究說明。只需要在設計好的基礎上完成開發,就能實現珠寶首飾作品管理系統的開發。同學在存圖使用上極為方便,大大縮短了圖紙管理、尋找等時間,但是在互動性和趣味性上小程序還有所欠缺。
所以,在今后的研究方向上希望繼續跟進,小程序2.0早日實現。

表1 二期開發(后續迭代開發)