一般而言一個(gè)組件庫(kù)都會(huì)設(shè)計(jì)一套相對(duì)來說符合大眾審美或產(chǎn)品需求的主題,但是主題定制需求永遠(yuǎn)都存在,所以組件庫(kù)一般都會(huì)允許使用者自定義主題,我司的vue組件庫(kù)hui的定制主題簡(jiǎn)單來說是通過修改預(yù)定義的scss變量的值來做到的,新體系下還做到了動(dòng)態(tài)換膚,因?yàn)槠つw本質(zhì)上是一種靜態(tài)資源(CSS文件和字體文件),所以只需要約定一種方式來每次動(dòng)態(tài)請(qǐng)求加載不同的文件就可以了,為了方便這一需求,還配套開發(fā)了一個(gè)Vessel腳手架的插件,只需要以配置文件的方式列出你需要修改的變量和值,一個(gè)命令就可以幫你生成對(duì)應(yīng)的皮膚。
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷,提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營(yíng)銷、重慶小程序開發(fā)公司、公眾號(hào)商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢(shì)。但是目前的換膚還存在幾個(gè)問題, 一是不直觀,無法方便實(shí)時(shí)的看到修改后的組件效果,二是建議修改的變量比較少,這很大原因也是因?yàn)閱栴}一,因?yàn)椴恢庇^所以盲目修改后的效果可能達(dá)不到預(yù)期。
針對(duì)這幾個(gè)問題,所以實(shí)現(xiàn)一個(gè)在線主題編輯器是一個(gè)有意義的事情,目前最流行的組件庫(kù)之一的Element就支持主題在線編輯,地址:element.eleme.cn/#/zh-CN/the… ,本項(xiàng)目是在參考了Element的設(shè)計(jì)思想和界面效果后開發(fā)完成的,本文將開發(fā)思路分享出來,如果有一些不合理地方或有一些更好的實(shí)現(xiàn)方式,歡迎指出來一起討論。
實(shí)現(xiàn)思路
主題在線編輯的核心其實(shí)就是以一種可視化的方式來修改主題對(duì)應(yīng)scss變量的值。
項(xiàng)目總體分為前端和后端兩個(gè)部分,前端主要負(fù)責(zé)管理主題列表、編輯主題和預(yù)覽主題,后端主要負(fù)責(zé)返回變量列表和編譯主題。
后端返回主題可修改的變量信息,前端生成對(duì)應(yīng)的控件,用戶可進(jìn)行修改,修改后立即將修改的變量和修改后的值發(fā)送給后端,后端進(jìn)行合并編譯,生成css返回給前端,前端動(dòng)態(tài)替換style標(biāo)簽的內(nèi)容達(dá)到實(shí)時(shí)預(yù)覽的效果。
主題列表頁(yè)面
主題列表頁(yè)面的主要功能是顯示官方主題列表和顯示自定義主題列表。
官方主題可進(jìn)行的操作有預(yù)覽和復(fù)制,不能修改,修改的話會(huì)自動(dòng)生成新主題。自定義主題可以編輯和下載,及進(jìn)行修改名稱、復(fù)制、刪除操作。
官方主題列表后端返回,數(shù)據(jù)結(jié)構(gòu)如下:
{ name: '官方主題-1', // 主題名稱 by: 'by hui', // 來源 description: '默認(rèn)主題', // 描述 theme: { // 主題改動(dòng)點(diǎn)列表 common: { '$--color-brand': '#e72528' } } }
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。