有字庫(kù)SDK
SDK其實(shí)是針對(duì)不同語(yǔ)言(.Net、Java、PHP、NodeJs),將有字庫(kù)的API接口打包封裝,形成更方便用戶后臺(tái)程序調(diào)用有字庫(kù)的動(dòng)態(tài)子集化服務(wù)的工具包(您也可以直接通過API接口方式自己寫Post方法來(lái)調(diào)用有字庫(kù)的動(dòng)態(tài)子集化服務(wù)的API接口),SDK將實(shí)體類型的參數(shù)轉(zhuǎn)為API接口字符串類型的參數(shù),然后用內(nèi)置的Post方法提交到對(duì)應(yīng)的API接口,當(dāng)收到API接口的返回值(json類型)時(shí),將返回值實(shí)體化。
有字庫(kù)專注于動(dòng)態(tài)子集化方案的應(yīng)用與優(yōu)化,本文檔即是有字庫(kù)面向后端程序提供的動(dòng)態(tài)子集化服務(wù)的SDK文檔。
用戶通過后端程序調(diào)用有字庫(kù)的SDK,提交頁(yè)面內(nèi)容,有字庫(kù)根據(jù)所提交的內(nèi)容生成相對(duì)應(yīng)的專屬子集字體文件。當(dāng)內(nèi)容在前臺(tái)顯示時(shí),引用這個(gè)子集字體文件,即可使頁(yè)面內(nèi)容產(chǎn)生預(yù)期的字體效果。
???①用戶用后端程序調(diào)用SDK,提交動(dòng)態(tài)內(nèi)容到有字庫(kù)的子集化(裁切)服務(wù)器
???②服務(wù)器接收到所提交內(nèi)容后,根據(jù)內(nèi)容裁剪出對(duì)應(yīng)的小字體文件,并轉(zhuǎn)換為4種通用字體格式(woff、eot、ttf、svg)
???③服務(wù)器將所有字體文件按用戶指定的地址上傳至阿里云CDN
???④用戶使用字體時(shí),用自定義的路徑,參照@font-face格式來(lái)拼出能兼容所有瀏覽器的@font-face語(yǔ)句
@font-face語(yǔ)句是CSS3中的一個(gè)功能模塊,是所有瀏覽器天然支持的CSS語(yǔ)句。它的作用是將一個(gè)遠(yuǎn)程字體文件加載到當(dāng)前頁(yè)面,并且定義成一個(gè)字體,使得前端頁(yè)面能夠像使用本地字體一樣使用該字體。
所以,@font-face語(yǔ)句是實(shí)現(xiàn)在線字體效果的核心代碼。
用戶自定義字體存放路徑,當(dāng)需要顯示字體效果時(shí),可以根據(jù)自己所定義的路徑拼組出@font-face語(yǔ)句,然后將語(yǔ)句輸出到前端頁(yè)面,即可使內(nèi)容顯示字體效果。
SDK的參數(shù)與返回值的數(shù)據(jù)結(jié)構(gòu)與API接口是一樣的,可以參考API接口文檔上關(guān)于參數(shù)與返回值的介紹。
API接口的返回值是json數(shù)據(jù),而SDK的返回值則是實(shí)體類,兩者的字段結(jié)構(gòu)相同。
API接口的參數(shù)需要用戶將數(shù)據(jù)拼接成一個(gè)字符串,而SDK的參數(shù)是實(shí)體化的類,用戶將數(shù)據(jù)賦值給實(shí)體化類,兩者的字段結(jié)構(gòu)相同。
.net v3.5+(兼容.NET Framework 3.5及以上所有版本)
.net v4.5+(兼容.NET Framework 4.5及以上所有版本;增加對(duì)異步調(diào)用[使用async和await]的支持)
java
php
nodejs
Example-Net? ?? ? Example-Java? ?? ? Example-PHP ? ?? ? Example-NodeJS
Demo-Net? ?? ? Demo-Java? ?? ? Demo-PHP ? ? Demo-NodeJs