亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專(zhuān)欄INFORMATION COLUMN

Nicon-支持私有部署的開(kāi)源字體圖標(biāo)管理平臺(tái)!

trigkit4 / 3324人閱讀

摘要:靜態(tài)資源的訪(fǎng)問(wèn)通過(guò)配置代理實(shí)現(xiàn)頁(yè)面的訪(fǎng)問(wèn),跟服務(wù)端工程毫無(wú)關(guān)系,服務(wù)端只負(fù)責(zé)提供異步接口。集中管理異步接口配置的模塊

Nicon

一言不合,先上平臺(tái)Nicon。該平臺(tái)接入github登錄,采用七牛CDN存儲(chǔ),歡迎大家試用。

Nicon 是一個(gè)集圖標(biāo)上傳、展示、使用于一身的字體圖標(biāo)管理平臺(tái),流程簡(jiǎn)單,符合日常開(kāi)發(fā)使用習(xí)慣,適合企業(yè)在內(nèi)部部署使用。采用 Iconfont 字體圖標(biāo)替換項(xiàng)目中圖片圖標(biāo)的使用,以達(dá)到縮減體積、風(fēng)格統(tǒng)一、提高開(kāi)發(fā)效率等目的。若配合設(shè)計(jì)師使用,設(shè)計(jì)師可在平臺(tái)上管理圖標(biāo),復(fù)用圖標(biāo),減少設(shè)計(jì)圖標(biāo)耗費(fèi)的時(shí)間,而開(kāi)發(fā)只負(fù)責(zé)使用設(shè)計(jì)師維護(hù)好的圖標(biāo)庫(kù),減少了與設(shè)計(jì)師的交流成本。

優(yōu)勢(shì)

與其他字體圖標(biāo)管理平臺(tái)相比,它擁有以下優(yōu)勢(shì):

使用流程簡(jiǎn)單,符合日常開(kāi)發(fā)使用習(xí)慣,無(wú)需在審核管理流程中耗費(fèi)時(shí)間

適合企業(yè)內(nèi)部設(shè)計(jì)師與開(kāi)發(fā)協(xié)同使用,保持圖標(biāo)的設(shè)計(jì)、管理、使用的連貫性

部署簡(jiǎn)單,平臺(tái)自帶注冊(cè)、登錄功能,還有靜態(tài)資源路由,只需數(shù)據(jù)庫(kù)配置就可部署使用

支持接入三方登錄、資源上傳到三方CDN服務(wù)器。使用更安全,資源更穩(wěn)定

支持導(dǎo)出資源多樣化,符合多種使用場(chǎng)合,更有配套的導(dǎo)出工具nicon-tookit, 方便快捷

使用流程圖

協(xié)作使用最優(yōu)解

目前圖標(biāo)從設(shè)計(jì)到使用的完整流程是基本是: 設(shè)計(jì)完成->視覺(jué)使用->導(dǎo)出給開(kāi)發(fā)->開(kāi)發(fā)處理、使用。顯然,圖標(biāo)是設(shè)計(jì)與開(kāi)發(fā)共同使用的,雖然流程上看著很簡(jiǎn)單,但是使用頻率高了之后小問(wèn)題也會(huì)消耗很多的時(shí)間,現(xiàn)如今圖標(biāo)的制作與使用方式都有很多高效率的工具,但都只是單方面的。

對(duì)于設(shè)計(jì)來(lái)說(shuō),制作圖標(biāo)的工具眾多且功能強(qiáng)大,并且設(shè)計(jì)出來(lái)的圖標(biāo)也會(huì)直接在這些工具上使用,而圖標(biāo)是復(fù)用程度比較高的,所以有效的管理圖標(biāo)可以避免后續(xù)花時(shí)間重復(fù)設(shè)計(jì)。對(duì)于開(kāi)發(fā)來(lái)說(shuō),圖標(biāo)的使用方式也就那么兩三種,只需要有個(gè)工具能把圖標(biāo)處理完導(dǎo)出所需類(lèi)型的資源加入到代碼就行,其實(shí)不太想去管圖標(biāo)的來(lái)龍去脈。

基于以上需求,有必要做出一個(gè)可以滿(mǎn)足設(shè)計(jì)與開(kāi)發(fā)共同協(xié)作的字體圖標(biāo)管理平臺(tái),流程圖如下:

在以上的流程中,設(shè)計(jì)師可以使用平臺(tái)管理圖標(biāo)方便后續(xù)復(fù)用,而且不需要在跟開(kāi)發(fā)溝通中耗費(fèi)時(shí)間。 對(duì)于開(kāi)發(fā),并不需要管理圖標(biāo)以及圖標(biāo)的處理方式,只需要適時(shí)從平臺(tái)上更新設(shè)計(jì)師管理好的圖標(biāo)庫(kù)生成的資源就行。

功能介紹

該平臺(tái)的UI是參照iconfont平臺(tái)實(shí)現(xiàn)的,且iconfont平臺(tái)的圖標(biāo)可以無(wú)縫遷移到該平臺(tái)上。由于個(gè)人能力有限,做出的其實(shí)就是iconfont的簡(jiǎn)單版,是一個(gè)純粹的圖標(biāo)管理平臺(tái),更適合企業(yè)部署在內(nèi)部使用

1、創(chuàng)建一個(gè)圖標(biāo)庫(kù)

2、上傳圖標(biāo)。此階段為圖標(biāo)草稿階段,可進(jìn)行刪除、名稱(chēng)修改,最好確保圖標(biāo)名稱(chēng)唯一,點(diǎn)擊保存上傳之后,才可以加入圖標(biāo)庫(kù),如果不保存或者刪除,則一直存留為草稿。

3、把圖標(biāo)加入到圖標(biāo)庫(kù),會(huì)自動(dòng)保存更新生成新的字體圖標(biāo)庫(kù)資源。進(jìn)入到指定圖標(biāo)庫(kù)后,點(diǎn)擊添加圖標(biāo)并選定需要添加的圖標(biāo),確認(rèn)之后會(huì)生成新的圖標(biāo)文件,完成

4、對(duì)不滿(mǎn)意的或不合格的圖標(biāo)庫(kù)可以從圖標(biāo)庫(kù)中刪除

5、可以收藏別人的圖標(biāo)到自己 上傳圖標(biāo) 列表中,然后保存成為自己的圖標(biāo)

前端使用方式

圖標(biāo)管理平臺(tái)提供了三種圖標(biāo)使用方式, font class、svg files、svg sprite三種方式,可導(dǎo)出的資源類(lèi)型包括css資源文件鏈接, css資源文件內(nèi)容,svg文件內(nèi)容,svg sprite 文件內(nèi)容,各個(gè)工程可以根據(jù)自己的使用方式使用腳本導(dǎo)出合適的資源類(lèi)型。

可以使用配套的工具nicon-toolkit來(lái)從平臺(tái)上獲取資源,簡(jiǎn)單方便、配置靈活。

1、font-class引用

配置腳本的資源配置type為cssUrl(外鏈)或者cssContent(內(nèi)聯(lián)),運(yùn)行腳本獲取資源文件

挑選相應(yīng)圖標(biāo)并獲取字體編碼,應(yīng)用于頁(yè)面

2、svg文件使用

配置腳本的資源配置type為svg,運(yùn)行腳本獲取svg文件到指定目錄

經(jīng)過(guò)二次處理或直接使用、比如base64或其他方式

3、svg sprite使用方式

配置腳本的資源配置type為svgSprite,運(yùn)行腳本獲取svgSprite 內(nèi)聯(lián)到html文件中

挑選相應(yīng)圖標(biāo)并獲取類(lèi)名,應(yīng)用于頁(yè)面

這樣使用的方式稍微麻煩,建議封裝成組件傳id就好,比如

安裝部署

Nicon平臺(tái)是一個(gè)前后端完全分離的項(xiàng)目,前后端都可以多帶帶啟動(dòng)進(jìn)行開(kāi)發(fā)聯(lián)調(diào)。前端采用Vue生態(tài)相關(guān)技術(shù),后端使用koa框架,結(jié)構(gòu)及流程都比較簡(jiǎn)單。根據(jù)需求及自己開(kāi)發(fā)習(xí)慣進(jìn)行架構(gòu)設(shè)計(jì),有興趣的可以看看。Nicon 平臺(tái)全部的代碼都已經(jīng)開(kāi)源,并且個(gè)人會(huì)長(zhǎng)期維護(hù),有興趣的歡迎加入一起維護(hù)。

服務(wù)安裝部署

系統(tǒng)要求

linux/unix/windows

環(huán)境要求

nodejs 7.0+

npm 3.10.8+

mogondb 3.2+

redis 3.2+

在啟動(dòng)工程之前,必須確保數(shù)據(jù)庫(kù)已經(jīng)啟動(dòng),且已經(jīng)把相應(yīng)的數(shù)據(jù)庫(kù)創(chuàng)建好。

1、 克隆項(xiàng)目到本地|服務(wù)器

git clone git@github.com:bolin-L/nicon.git

2、 進(jìn)入到項(xiàng)目工程nicon安裝依賴(lài)

cd nicon && npm install

3、配置數(shù)據(jù)庫(kù)信息與其他環(huán)境變量

在nicon同級(jí)文件夾(or 任何地方,但是如果放在nicon文件夾中,名稱(chēng)必須為start.shstart.bat, 會(huì)被ignore掉,更新不會(huì)被覆蓋)創(chuàng)建一個(gè)啟動(dòng)腳本start.sh, 用于配置數(shù)據(jù)庫(kù)及其他的環(huán)境變量配置,可參考examle

4、進(jìn)入到nicon文件夾,執(zhí)行啟動(dòng)腳本命令

sh yourStartConfigPath/start.sh

如果不出什么意外,這個(gè)時(shí)候應(yīng)該已經(jīng)啟動(dòng)好了。服務(wù)監(jiān)聽(tīng)的端口是4843, 當(dāng)然這只是個(gè)純服務(wù),具體的頁(yè)面還需要部署前端工程nicon-front。

前端靜態(tài)資源部署

圖標(biāo)管理平臺(tái)采用的是前后端完全分離的開(kāi)發(fā)方式,前端代碼放在獨(dú)立的icon-front。前端只需要提供完整的靜態(tài)html頁(yè)面與其他靜態(tài)資源即可。靜態(tài)資源的訪(fǎng)問(wèn)通過(guò)配置nginx代理實(shí)現(xiàn)頁(yè)面的訪(fǎng)問(wèn),跟服務(wù)端工程毫無(wú)關(guān)系,服務(wù)端只負(fù)責(zé)提供異步接口。

1、克隆前端項(xiàng)目到本地, 與nicon文件夾同級(jí)

git clone git@github.com:bolin-L/nicon-front.git

2、進(jìn)入到nicon-front工程,安裝依賴(lài)

cd nicon-front && npm install 

3、運(yùn)行打包命令、打包輸出到nicon-front/dist文件夾下

npm run build

現(xiàn)在服務(wù)已經(jīng)啟動(dòng),靜態(tài)資源已經(jīng)輸出,接下來(lái)需要配置nginx讓請(qǐng)求可以訪(fǎng)問(wèn)到靜態(tài)資源,異步接口可以訪(fǎng)問(wèn)到服務(wù)。

Nginx配置

為了在瀏覽器中訪(fǎng)問(wèn)到頁(yè)面,需要配置Nginx代理,把對(duì)應(yīng)的請(qǐng)求轉(zhuǎn)發(fā)到對(duì)應(yīng)的服務(wù)。該平臺(tái)的請(qǐng)求分兩種,一種是訪(fǎng)問(wèn)前端靜態(tài)頁(yè)面與資源,另一種是訪(fǎng)問(wèn)后端服務(wù)的異步接口
,請(qǐng)求都有一定的規(guī)則,大概配置如下:

    # 靜態(tài)資源請(qǐng)求
    location / {
        root /home/liaobolin/app/nicon-front/dist;
        index index.html index.htm;
    }
    
    location ^~ /static {
        root /home/liaobolin/app/nicon-front/dist;
    }
    # 配置異步接口請(qǐng)求到服務(wù)器
    location /api {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass http://127.0.0.1:4843;
    }

配置到此,平臺(tái)基本就可以運(yùn)行起來(lái)使用了,瀏覽器通過(guò)域名就可以訪(fǎng)問(wèn)到首頁(yè)

三方服務(wù)接入

雖然該平臺(tái)已經(jīng)可以提供完成的登錄、注冊(cè),圖標(biāo)庫(kù)樣式文件等靜態(tài)資源的訪(fǎng)問(wèn)。但是對(duì)于企業(yè)來(lái)說(shuō),內(nèi)部的工具平臺(tái)最好只接受內(nèi)部人或只能內(nèi)網(wǎng)訪(fǎng)問(wèn),對(duì)于靜態(tài)資源最理想的就是放到自家的cdn服務(wù)器上,讓平臺(tái)操作更安全,訪(fǎng)問(wèn)所速度更快等等...

基于這樣的需求,Nicon支持接入三方登錄與字體文件資源上傳到三方服務(wù)器,登錄或上傳需要的密鑰等需要通過(guò)環(huán)境變量設(shè)置,比如放在start.sh文件中,登錄、上傳等接入代碼需要自己按照規(guī)范開(kāi)發(fā)完成提PR,檢查完畢后合并到工程master分支中。目前代碼中支持一下三方服務(wù):

三方登錄

網(wǎng)易o(hù)penId登錄

github授權(quán)登錄

三方上傳

網(wǎng)易NOS服務(wù)

七牛云存儲(chǔ)服務(wù)

三方服務(wù)接入文件夾結(jié)構(gòu)如下

├── service
│?? ├── login
│?? │?? ├── github_qiniu
│?? │?? │?? ├── config.js
│?? │?? │?? └── index.js
|   |   |-- ....... 
│?? │?? ├── index.js   
│?? └── upload
│??     ├── github_qiniu
│??     │?? ├── config.js
│??     │?? └── index.js
|   |   |-- ....... 
│??     ├── index.js

三方登錄、上傳服務(wù)接入步驟

1、在接入三方服務(wù)之前,必須先配置產(chǎn)品類(lèi)型環(huán)境變量 productType。加入到start.sh文件中

export productType="github_qiniu";

比如我需要接入github三方登錄與qiniu上傳存儲(chǔ)服務(wù),那么我的productType就設(shè)置為github_qiniu。 那么在開(kāi)發(fā)接入服務(wù)時(shí)文件夾名稱(chēng)必須為 github_qiniu。

2、 在service/login/ 文件夾下創(chuàng)建文件夾 github_qiniu, 然后在該文件夾下創(chuàng)建config.js , 與index.js, 在index.js文件中必須暴露出async login方法, 調(diào)用方法后需要返回指定格式的數(shù)據(jù)

// index.js

class GithubOpenIdLogin {
    async login (ctx) {
        // your code
        return {
            userName: tokenInfo.userName // 必須且唯一
        }
    }
}

let loginIns = new GithubOpenIdLogin();
module.exports = loginIns.login.bind(loginIns);

3、在service/upload/ 文件夾下創(chuàng)建文件夾 github_qiniu, 然后在該文件夾下創(chuàng)建config.js , 與index.js, 在index.js文件中必須暴露出async upload方法, 調(diào)用方法后需要返回指定格式的數(shù)據(jù)

// index.js

class QiniuUpload {
    async upload (dirPath) {
        // your code
        // 上傳返回?cái)?shù)據(jù)格式
        return {
            url: cssUrl, // 必須
            cssContent: cssContent // 必須
        };
    }
}

let uploadIns = new QiniuUpload();
module.exports = uploadIns.upload.bind(uploadIns);

至此就已經(jīng)配置完畢,啟動(dòng)工程就好了。Nicon平臺(tái)的詳細(xì)部署流程已經(jīng)寫(xiě)在nicon工程中,如果需要請(qǐng)前往了解更詳細(xì)的部署流程。

后記

Nicon平臺(tái)是我自己在業(yè)余時(shí)間做的項(xiàng)目,能力有限,UI方面基本是參考iconfont,技術(shù)方面也是慢慢摸索,實(shí)屬不易,在使用過(guò)程中有任何建議或意見(jiàn),歡迎指教。歡迎大家來(lái)一波star,github地址如下:

nicon 平臺(tái)nodejs后端服務(wù)

nicon-front 平臺(tái)前端工程

在開(kāi)發(fā)過(guò)程中,我仿照NEJ的cache使用方式基于axios封裝了axios-cache 模塊,在axios的基礎(chǔ)上進(jìn)行一些增強(qiáng),更適合日常的組織與使用方式,有興趣的話(huà)可以試試,當(dāng)然,也歡迎star。

axios-cache 集中管理異步接口配置的模塊

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/115820.html

相關(guān)文章

  • Nicon-支持私有部署開(kāi)源字體圖標(biāo)管理平臺(tái)!

    摘要:靜態(tài)資源的訪(fǎng)問(wèn)通過(guò)配置代理實(shí)現(xiàn)頁(yè)面的訪(fǎng)問(wèn),跟服務(wù)端工程毫無(wú)關(guān)系,服務(wù)端只負(fù)責(zé)提供異步接口。集中管理異步接口配置的模塊 Nicon 一言不合,先上平臺(tái)Nicon。該平臺(tái)接入github登錄,采用七牛CDN存儲(chǔ),歡迎大家試用。 Nicon 是一個(gè)集圖標(biāo)上傳、展示、使用于一身的字體圖標(biāo)管理平臺(tái),流程簡(jiǎn)單,符合日常開(kāi)發(fā)使用習(xí)慣,適合企業(yè)在內(nèi)部部署使用。采用 Iconfont 字體圖標(biāo)替換項(xiàng)目中...

    dance 評(píng)論0 收藏0
  • UCloud一站式智能大數(shù)據(jù)平臺(tái)USDP免費(fèi)版正式發(fā)布!

    摘要:企業(yè)微信截圖企業(yè)微信截圖兼容最廣的一站式智能大數(shù)據(jù)平臺(tái)涵蓋了等眾多開(kāi)源大數(shù)據(jù)組件,支持對(duì)這些組件進(jìn)行運(yùn)維中臺(tái)建設(shè)數(shù)據(jù)開(kāi)發(fā)業(yè)務(wù)可視化等全棧式大數(shù)據(jù)開(kāi)發(fā)運(yùn)維管理。通過(guò)一站式智能大數(shù)據(jù)平臺(tái)支持的等分布式運(yùn)算框架,可以高效的進(jìn)行機(jī)器學(xué)習(xí)應(yīng)用開(kāi)發(fā)。背景在大數(shù)據(jù)業(yè)務(wù)系統(tǒng)中,所有技術(shù)棧生態(tài)均是圍繞著存儲(chǔ)進(jìn)行擴(kuò)展的,目前開(kāi)源的主流存儲(chǔ)技術(shù)棧主要包含如下 3 種類(lèi)型:· HDFS:Hadoop 系列套件,包含...

    Tecode 評(píng)論0 收藏0
  • UCloud發(fā)布一站式智能大數(shù)據(jù)平臺(tái)USDP免費(fèi)版附USDP資源下載地址

    摘要:機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)通過(guò)算法對(duì)大量數(shù)據(jù)進(jìn)行分析,挖掘出其中蘊(yùn)含的規(guī)律,并用于事物預(yù)測(cè)或者分類(lèi),有大量的計(jì)算需求。通過(guò)一站式智能大數(shù)據(jù)平臺(tái)支持的等分布式運(yùn)算框架,可以高效的進(jìn)行機(jī)器學(xué)習(xí)應(yīng)用開(kāi)發(fā)。在大數(shù)據(jù)業(yè)務(wù)系統(tǒng)中,所有技術(shù)棧生態(tài)均是圍繞著存儲(chǔ)進(jìn)行擴(kuò)展的,目前開(kāi)源的主流存儲(chǔ)技術(shù)棧主要包含如下 3 種類(lèi)型:· HDFS:Hadoop 系列套件,包含 Hive、Hbase、Phoenix 等;· Ela...

    Tecode 評(píng)論0 收藏0
  • 第三方服務(wù)接入云平臺(tái)統(tǒng)一方案

    摘要:的特點(diǎn)通過(guò)狀態(tài)碼能知道操作結(jié)果,通過(guò)方法能知道操作類(lèi)型增刪改查,通過(guò)能知道操作的資源對(duì)象。平臺(tái)只通過(guò)狀態(tài)碼來(lái)判斷操作成功與否。 前言 今年,我的任務(wù)是為公司的私有云平臺(tái)( PaaS )開(kāi)發(fā)對(duì)應(yīng)的云服務(wù)平臺(tái)(我們稱(chēng)之為插件平臺(tái)),這個(gè)云服務(wù)平臺(tái)的主要任務(wù),是為云平臺(tái)接入一些服務(wù),服務(wù)包括但不限于mysql、redis、cdn等存儲(chǔ)服務(wù),天氣預(yù)報(bào)等http服務(wù)。這個(gè)系列文章,希望總結(jié)本人在...

    leanxi 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<