天天看點

web伺服器接口文檔,接口文檔

有字庫接口文檔

由于中文字型檔案過大,有字庫采用“按需截取”(根據頁面内容把字型中不需要的字型删除掉)的方案,将中文字型壓縮成和英文字型一樣小巧玲珑。

“按需截取”與“整套嵌入”方案相比:(1)

“按需截取”生成的中文字型隻有十幾K至一百多K,而“整套嵌入”的中文字型一般3M至十幾M,是以頁面響應速度上“按需截取”狂甩“整套嵌入”好幾條街。

(2)

“按需截取”是每一張頁面都配有專屬的字型檔案(字型子集),即每打開一張頁面就會加載與之對應的字型檔案,而"整套嵌入“則是一次加載,整站通用。

有字庫專注于“按需截取“方案的應用及優化,可以根據應用場景為使用者打造全套字型解決方案,不提供“整套嵌入”服務。該文檔即是“按需截取”方案的API調用文檔。程式調用API送出頁面内容,有字庫服務将自動為您生成與内容相對應的專屬字型檔案。當内容在前台顯示時,您隻需要将這個已生成的字型檔案随内容一起加載至頁面,即可實作中文線上字型的應用效果。

一、 靈活模式

該模式的接口沒有傳回值,程式調用接口後不需要等待回調。

不需要程式儲存任何資料,隻管送出内容即可。

當内容展示時,隻需要根據規定格式拼出對應的@font-face語句,然後将拼成的@font-face語句插入頁面head标簽中,即可使内容顯示出指定的字型效果。

注意:送出的參數中,url參數必須唯一(重複則生成的檔案将會互相覆寫。建議:url參數可以用 文章[或産品]ID+所在标簽ID 來實作内容的url參數的唯一性)。

1.可傳遞多個自定義路徑和内容 一次生成[ 異步]

1.1接口方法:CreateBatchWoffWebFontAsync()

1.2請求參數參數字段類型必填描述ApiKeystring是系統規定參數,每個使用者有一個固定ApiKey,用于使用者身份驗證,使用時請注意保密,防止被盜用。 從背景擷取:www.webfont.com/apiKey/index

DatasList是内容的集合

請求參數子結構(請求參數中的Datas集合字段)Datas集合字段類型必填描述Urlstring是自定義存儲目錄路徑。不允許傳遞檔案擴充名,格式:a/b/filename,重複将被覆寫,使用者需要自己确認唯一性

Contentstring是要生成字型的文字内容

AccessKeystring是系統規定參數,從有字庫字型使用頁中"盧教"模式中擷取,$youziku.load 語句中第2個參數即為AccessKey。

1.3請求示例

參數格式

url = "http://service.webfont.com/batchCustomWebFont/createBatchWoffWebFontAsync";

postStr =“ApiKey= ################################

&Datas[0][Content]=有字庫&Datas[0][Url]=my/a&Datas[0][AccessKey]= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

&Datas[1][Content]=好字型&Datas[1][Url]=my/b&Datas[1][AccessKey]= yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"

備注:請求參數體為标準的Post參數格式 ;如果有多個标簽,隻需按索引拼接即可;索引必須從0開始

傳回結果(Json格式){

"Code": 200,

"ErrorMessage": ""

}

1.4引用字型

@font-face語句拼組格式如下:@font-face

{

font-family:'fontfamilyname';

src:url('http://cdn.repository.webfont.com/webfonts/custompath/{UserKey}/{Url}.bmp') format('woff')

}

font-family的值是由使用者來自定義的;同一頁面,不能有重複的font-family,font-family的值就是定義成的字型的名字,此處定義成什麼名字,前端引用時,就必須也用這個名字。

UserKey是有字庫為每個使用者專門開僻的存儲空間的名字,可以從使用者背景擷取:www.webfont.com/userKey/index

URL即是調用接口時所送出的參數(url)

2響應結果集

2.1結果字段介紹字段結果Code狀态碼

ErrorMessage錯誤消息

2.2結果中的Code狀态碼介紹200請求成功

500有字庫S系統繁忙,請稍後再試!

403有字庫伺服器檢測到目前Datas總數過多,請控制在50個以内!

有字庫伺服器沒有從請求參數中找到任何Datas資料,請檢查!

有字庫伺服器無法識别Post參數,請檢查代碼是否正确!

有字庫無法通過身份驗證,請更新會員或檢查Apikey是否填寫正确!

有字庫無法驗證AccessKey,請檢查是否填寫正确!

二、 語句綁定模式

該模式的接口有傳回值,傳回值需要程式儲存。

當程式調用該模式的接口,送出内容等資訊後,接口就會傳回内容對應的@font-face語句,程式需要将此@font-face語句與内容相對應地儲存起來。當内容展示時,将此@font-face語句與内容一同輸出到前端,即可使内容顯示出指定的字型效果。

注意:該模式的接口不是在頁面打開時調用,而是在内容錄入/産生時調用;當頁面打開時隻需要将現成@font-face語句随内容一起輸出到前端即可。

1)、 單标簽

1.直接傳回所有格式的@fontface

1.1接口方法GetFontFace()

1.2請求參數參數字段類型必填描述ApiKeystring是系統規定參數,每個使用者有一個固定ApiKey,用于使用者身份驗證,使用時請注意保密,防止被盜用。 從背景擷取:www.webfont.com/apiKey/index

AccessKeystring是系統規定參數,從有字庫字型使用頁中“盧教”模式中擷取,$youziku.load 語句中第2個參數即為AccessKey。

例如:$youziku.load("#id1","128c10eec9b647288c01e4f95a1f864e","fontanme");

Contentstring是要生成字型的文字内容

Tagstring否選擇器(标簽的class名或id名)不填寫則直接傳回純@font-face語句,使用者需同時擷取另一傳回值(FontFamily),将FontFamily的值設定到對應标簽下,方能生效;填寫則傳回已設定到對應标簽下的完整語句,自動生效。

UseRanFontFamilybool否是否使用随機産生的font-family。預設值為false(使用原生font-family)。同一個頁面上,每個@font-face語句中的font-family值必須唯一。如果有重複,則重複的@font-face語句中隻有最後一個有效。随機font-family則可以有效防止font-family值重複。

1.3請求示例

1.3.1不填寫Tag參數

參數格式

url = "http://service.webfont.com/webFont/getFontFace";

postStr ="ApiKey=################################& AccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx & Content= 有字庫,好字型";

備注:請求參數為标準的Post參數格式;

傳回結果(Json格式){

"FontFamily": "jdshutongtijian",

"FontFace":

"@font-face

{

font-family: 'jdshutongtijian';

src:url('http://cdn.repository.webfont.com/2/xx.gif');

src:url('http://cdn.repository.webfont.com/2/xx.gif?#iefix')format('embedded-opentype'),

url('http://cdn.repository.webfont.com/2/xx.bmp') format('woff'),

url('http://cdn.repository.webfont.com/2/xx.jpg') format('truetype'),

url('http://cdn.repository.webfont.com/2/xx.png#jdshutongtijian') format('svg');

}",

"Code": 200,

"Tag":"",

"ErrorMessage": ""

}

1.3.2填寫Tag參數

參數格式

url = "http://service.webfont.com/webFont/getFontFace";

postStr ="ApiKey= ################################&AccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx &Content=有字庫,好字型&Tag=.class1";

備注:請求參數為标準的Post參數格式;

傳回結果(Json格式){

"FontFamily": "jdshutongtijian",

"FontFace":

"@font-face

{

font-family: 'jdshutongtijian';

src:url('http://cdn.repository.webfont.com/2/xx.gif');

src:url('http://cdn.repository.webfont.com/2/xx.gif?#iefix')format('embedded-opentype'),

url('http://cdn.repository.webfont.com/2/xx.bmp') format('woff'),

url('http://cdn.repository.webfont.com/2/xx.jpg') format('truetype'),

url('http://cdn.repository.webfont.com/2/xx.png#jdshutongtijian') format('svg');

}

. class1{font-family:'jdshutongtijian'}",

"Code": 200,

"Tag":". class1",

"ErrorMessage": ""

}

2直接傳回流(woff流)的@fontface

2.1接口方法GetWoffBase64StringFontFace()

2.2請求參數(同上1.2)

2.3請求示例

參數格式

url = "http://service.webfont.com/webFont/getWoffBase64StringFontFace";

postStr = "ApiKey= ################################& AccessKey= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx &Content= 有字庫,好字型";

備注:請求參數為标準的Post參數格式;

傳回結果(Json格式){

"FontFamily": "jdshutongtijian",

"FontFace":

"@font-face

{

font-family:'jdshutongtijian';

src:url('data:image/bmp;base64,d09GRgABAAAAABfcAA4AAAAAIjwAA…') format('woff');

}",

"Code": 200,

"Tag":"",

"ErrorMessage": ""

}

3響應結果集

3.1結果字段介紹字段結果FontFamily系統生成的FontFamily

FontFace選擇器對應的@fontface語句

Code狀态碼

Tag選擇器(與送出的參數對應)

ErrorMessage錯誤消息

3.2結果中的Code狀态碼介紹200請求成功

500有字庫D系統繁忙,請稍後再試!

有字庫S系統繁忙,請稍後再試!

404有字庫伺服器無法找到該FontId對應的字型,請檢查是否輸入正确!

有字庫伺服器無法提供被禁用字型的服務,請選擇其他字型!

有字庫伺服器無法提供未同意托管協定的字型的服務,請選擇其他字型!

403有字庫伺服器無法識别Post參數,請檢查代碼是否正确!

有字庫無法通過身份驗證,請更新會員或檢查Apikey是否填寫正确!

有字庫無法驗證AccessKey,請檢查是否填寫正确!

2)、 多标簽

1.直接傳回所有格式的@fontface

備注:可傳遞多個标簽和内容一次生成多個@fontface

1.1接口方法:GetBatchFontFace()

1.2請求參數參數字段類型必填描述ApiKeystring是系統規定參數,每個使用者有一個固定ApiKey,用于使用者身份驗證,使用時請注意保密,防止被盜用。 從背景擷取:www.webfont.com/apiKey/index

TagsList是選擇器及其内容的集合

請求參數子結構(請求參數中的Tags集合字段)Tags集合字段類型必填描述AccessKeystring是系統規定參數,從有字庫字型使用頁中"盧教"模式中擷取,$youziku.load 語句中第2個參數即為AccessKey。

Tagstring是選擇器(标簽的class名或id名)

Contentstring是要生成字型的文字内容

UseRanFontFamilybool否是否使用随機産生的font-family。預設值為false(使用原生font-family)。同一個頁面上,每個@font-face語句中的font-family值必須唯一。如果有重複,則重複的@font-face語句中隻有最後一個有效。随機font-family則可以有效防止font-family值重複。

1.3請求示例

參數格式

url = "http://service.webfont.com/batchWebFont/getBatchFontFace";

postStr =“ApiKey= ################################

& Tags[0][Content]=有字庫& Tags[0][Tag]=.class1& Tags[0][AccessKey]= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

& Tags[1][Content]=好字型& Tags[1][Tag]=#id1& Tags[1] [AccessKey]= yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"

備注:請求參數體為标準的Post參數格式 ;如果有多個标簽,隻需按索引拼接即可;索引必須從0開始

傳回結果集(Json格式){

"Code": 200,

"FontfaceList": [

{"Tag":".class1",

"FontFace":

"@font-face

{

font-family:'jdshutongtijian';

src:url('http://cdn.repository.webfont.com/19669/xx.gif');

src:url('http://cdn.repository.webfont.com/19669/xx.gif?#iefix')format('embedded-opentype'),

url('http://cdn.repository.webfont.com/19669/xx.bmp') format('woff'),

url('http://cdn.repository.webfont.com/19669/xx.jpg') format('truetype'),

url('http://cdn.repository.webfont.com/19669/xx.png#jdshutongtijian') format('svg');

}

.class1{ font-family:'jdshutongtijian' }",

"FontFamily": "jdshutongtijian"

},

{"Tag": "#id1",

"FontFace":

"@font-face

{

font-family:'jdshutongtijian';

src:url('http://cdn.repository.webfont.com/19669/xx.gif');

src:url('http://cdn.repository.webfont.com/19669/xx.gif?#iefix')format('embedded-opentype'),

url('http://cdn.repository.webfont.com/19669/xx.bmp') format('woff'),

url('http://cdn.repository.webfont.com/19669/xx.jpg') format('truetype'),

url('http://cdn.repository.webfont.com/19669/xx.png#jdshutongtijian') format('svg');

}

#id1{ font-family:'jdshutongtijian' }",

"FontFamily": "jdshutongtijian"

}

],

"ErrorMessage": ""

}

2直接傳回僅woff格式的@fontface

2.1接口方法GetBatchWoffFontFace ()

2.2請求參數(同上1.2)

2.3請求示例

參數格式

url = "http://service.webfont.com/batchWebFont/getBatchWoffFontFace";

postStr =“ApiKey= ################################

&Tags[0][Content]=有字庫&Tags[0][Tag]=.class1&Tags[0][AccessKey]= xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

&Tags[1][Content]=好字型&Tags[1][Tag]=#id1&Tags[1][AccessKey]= yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy"

備注:請求參數體為标準的Post參數格式 ;如果有多個标簽,隻需按索引拼接即可;索引必須從0開始

傳回結果集(Json格式){

"Code": 200,

"FontfaceList": [

{"Tag":".class1",

"FontFace":

"@font-face

{

font-family:'jdshutongtijian';

src:url('http://cdn.repository.webfont.com/19669/xx.bmp') format('woff');

}

.class1{ font-family:'jdshutongtijian' }",

"FontFamily": "jdshutongtijian"

},

{"Tag": "#id1",

"FontFace":

"@font-face

{

font-family:'jdshutongtijian';

src:url('http://cdn.repository.webfont.com/19669/xx.bmp') format('woff');

}

#id1{ font-family:'jdshutongtijian' }",

"FontFamily": "jdshutongtijian"

}

],

"ErrorMessage": ""

}

3響應結果集

3.1結果字段介紹字段結果FontfaceList選擇器對應的@fontface語句集合

Code狀态碼

ErrorMessage錯誤消息

3.2結果中的FontfaceList介紹FontFamily系統生成的FontFamily

Tag選擇器(與送出的參數對應)

FontFace選擇器對應的@fontface語句

3.3結果中的Code狀态碼介紹200請求成功

500有字庫D系統繁忙,請稍後再試!

有字庫S系統繁忙,請稍後再試!

404有字庫伺服器無法找到該FontId對應的字型,請檢查是否輸入正确!

有字庫伺服器無法提供被禁用字型的服務,請選擇其他字型!

有字庫伺服器無法提供未同意托管協定的字型的服務,請選擇其他字型!

403有字庫伺服器檢測到目前Tag總數過多,請控制在50個以内!

有字庫伺服器沒有從請求參數中找到任何Tags資料,請檢查!

有字庫伺服器無法識别Post參數,請檢查代碼是否正确!

有字庫無法通過身份驗證,請更新會員或檢查Apikey是否填寫正确!

有字庫無法驗證AccessKey,請檢查是否填寫正确!