国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

trigkit4 / 3267人閱讀

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

Nicon

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

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

優(yōu)勢

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

使用流程簡單,符合日常開發(fā)使用習(xí)慣,無需在審核管理流程中耗費時間

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

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

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

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

使用流程圖

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

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

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

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

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

功能介紹

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

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

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

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

4、對不滿意的或不合格的圖標(biāo)庫可以從圖標(biāo)庫中刪除

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

前端使用方式

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

可以使用配套的工具nicon-toolkit來從平臺上獲取資源,簡單方便、配置靈活。

1、font-class引用

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

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

2、svg文件使用

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

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

3、svg sprite使用方式

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

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

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

安裝部署

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

服務(wù)安裝部署

系統(tǒng)要求

linux/unix/windows

環(huán)境要求

nodejs 7.0+

npm 3.10.8+

mogondb 3.2+

redis 3.2+

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

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

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

2、 進(jìn)入到項目工程nicon安裝依賴

cd nicon && npm install

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

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

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

sh yourStartConfigPath/start.sh

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

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

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

1、克隆前端項目到本地, 與nicon文件夾同級

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

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

cd nicon-front && npm install 

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

npm run build

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

Nginx配置

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

    # 靜態(tài)資源請求
    location / {
        root /home/liaobolin/app/nicon-front/dist;
        index index.html index.htm;
    }
    
    location ^~ /static {
        root /home/liaobolin/app/nicon-front/dist;
    }
    # 配置異步接口請求到服務(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;
    }

配置到此,平臺基本就可以運行起來使用了,瀏覽器通過域名就可以訪問到首頁

三方服務(wù)接入

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

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

三方登錄

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

github授權(quán)登錄

三方上傳

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

七牛云存儲服務(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)品類型環(huán)境變量 productType。加入到start.sh文件中

export productType="github_qiniu";

比如我需要接入github三方登錄與qiniu上傳存儲服務(wù),那么我的productType就設(shè)置為github_qiniu。 那么在開發(fā)接入服務(wù)時文件夾名稱必須為 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
        // 上傳返回數(shù)據(jù)格式
        return {
            url: cssUrl, // 必須
            cssContent: cssContent // 必須
        };
    }
}

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

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

后記

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

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

nicon-front 平臺前端工程

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

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

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

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/115820.html

相關(guān)文章

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

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

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

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

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

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

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

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

    leanxi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<