sidebar_position: 1
IOS
1 需要提供給我們的信息
應(yīng)用id IOS Bundle ID
, 例如 com.example.test
2 SDK接入
framework中包含動(dòng)態(tài)庫(kù)摔吏,集成到項(xiàng)目中時(shí)請(qǐng)選擇 < Embed&Sign >
3 代碼編寫(xiě)
初始化SDK
//引入 JuDianOpenApi.framework
#import <JuDianOpenApi/JuDianOpenApi.h>
初始化sdk
[JuDianOpenApi initWithToken:Token];
建議在AppDelegate
中引入 必須在查詞前完成注冊(cè)激活
Token
:查詞平臺(tái)后臺(tái)注冊(cè)成功后給到的token鸽嫂,與bundle id對(duì)應(yīng),如果提示錯(cuò)誤舔腾,請(qǐng)檢查項(xiàng)目bundle id與token是否對(duì)應(yīng)
調(diào)用查詞方法一
查詢?cè)~條溪胶,并在指定位置繪制結(jié)果視圖 結(jié)果根據(jù)庫(kù)查詢返回
參數(shù)
@param text :查詢的字詞
@param direction :頁(yè)面繪制方向
@param origin :頁(yè)面繪制起點(diǎn)
@param Width :繪制頁(yè)面的寬度
@param Height :繪制頁(yè)面的最大高度
[JuDianOpenApi showExplainViewWithWord:text direction:direction origin:origin viewWidth:Width maxHeight:300];
調(diào)用查詞方法二
查詢?cè)~條,返回結(jié)果數(shù)據(jù)稳诚,可以指定需要查詢的類庫(kù)
參數(shù):
@param text :查詢的詞組
@param fields :查詢時(shí)指定的類庫(kù)哗脖,不傳或?yàn)榭諘r(shí),默認(rèn)搜索配置的所有庫(kù)
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getExplainWithWord: text fields:fields successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
success response:{
code:200
body:{
font:{}//字體信息
data:{}//詞條數(shù)據(jù)
}
}
failure response :{
code:Integer //返回錯(cuò)誤碼
body:{
stauts:Integer //返回的錯(cuò)誤碼扳还,為0時(shí)返回JuDianErrorInteger才避,具體錯(cuò)誤可在SDK中進(jìn)行查看
detail:String //錯(cuò)誤描述信息
}
}
例如 語(yǔ)詞庫(kù): yuci 百科庫(kù):baike 詩(shī)詞庫(kù):shici 如果只查詢百科 則傳@[@"baike"] 同時(shí)查詢語(yǔ)詞與百科 則傳@[@"baike",@"yuci"] 具體對(duì)應(yīng)庫(kù)名可以通過(guò)getAuthList 接口在app內(nèi)獲取,或在管理后臺(tái)界面獲取
查詢?cè)~條氨距,返回結(jié)果數(shù)據(jù)中包含的字體數(shù)據(jù)桑逝,可以使用一下方法注冊(cè)使用
font:
{
fontName = 字體包FontName;
ttf = 字體包 .ttf下載地址;
woff = 字體包 .woff 下載地址;
}
CFErrorRef error;
CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)fontUrl);
CGFontRef fontRef = CGFontCreateWithDataProvider(fontDataProvider);
CGDataProviderRelease(fontDataProvider);
bool isSuccess = CTFontManagerRegisterGraphicsFont(fontRef, &error);
if(!isSuccess){
//如果注冊(cè)失敗,則不使用
CFStringRef errorDescription = CFErrorCopyDescription(error);
NSLog(@"Failed to load font: %@", errorDescription);
CFRelease(errorDescription);
}
CGFontRelease(fontRef);
UIFont * font = [UIFont fontWithName:fontName size:size];
獲取配置的可查詢書(shū)籍列表與數(shù)據(jù)庫(kù)
@param success 查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getAuthListSuccessBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
success response:{
code:200
body:{
books:{}//返回的書(shū)籍?dāng)?shù)組
fields:{}//返回的數(shù)據(jù)庫(kù)數(shù)組
}
}
failure response :{
code:Integer //返回錯(cuò)誤碼
body:{
stauts:Integer //返回的錯(cuò)誤碼俏让,為0時(shí)返回JuDianErrorInteger楞遏,具體錯(cuò)誤可在SDK中進(jìn)行查看
detail:String //錯(cuò)誤描述信息
}
}
查詢?cè)~條,返回結(jié)果數(shù)據(jù)首昔,可以指定需要查詢的書(shū)本id數(shù)組
參數(shù):
@param text :查詢的詞組
@param books :指定的書(shū)籍id 不傳或?yàn)榭諘r(shí)寡喝,默認(rèn)搜索所有書(shū)籍?dāng)?shù)據(jù)
@param isFast :ture為快速檢索,no為普通查詢勒奇,快速檢索時(shí)僅返回第一條匹配數(shù)據(jù)预鬓,普通查詢時(shí)返回查詢到的所有數(shù)據(jù)
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getExplainWithWord: text books:books successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
例如 現(xiàn)代漢語(yǔ)大詞典 id:40 辭海(第7版) id:98 如果只查詢辭海 books:@[@"98"] 同時(shí)查詢辭海與漢語(yǔ)大詞典books:@[@"40",@"98"]或@[@40,@98]
獲取單字信息
@param word 查詢的單字
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getStrokeOrderForWord:text successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
獲取定性語(yǔ)信息,返回詞條是否包含歷史紀(jì)年、古今地名赊颠、中譯英格二、英譯中
@param word 查詢的單字
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi cheackWordContainer:text successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
獲取歷史紀(jì)年
@param word 查詢的字詞
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getHistoricalYearWithWord:text successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
獲取古今地名
@param word 查詢的字詞
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getAncientPlaceWithWord:text successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
英譯中
@param word 查詢的字詞
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getEnglishExplainWithWord:text successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
漢譯英
@param word 查詢的字詞
@param success :查詢成功并返回結(jié)果
@param failure :查詢失敗返回錯(cuò)誤信息
[JuDianOpenApi getChineseToEnglishWithWordtext successBlock:(void(^)(NSDictionary * response))success failureBlock:(void(^)(NSDictionary * response))failure];
錯(cuò)誤碼說(shuō)明
SDK返回錯(cuò)誤
錯(cuò)誤信息已請(qǐng)求返回的code和detail信息為主,下列的為當(dāng)code = 0時(shí)竣蹦,主要異常信息
typedef NS_ENUM(NSInteger, JuDianError) { //網(wǎng)絡(luò)請(qǐng)求異常顶猜,code = 0時(shí),status返回下列錯(cuò)誤枚舉
JuDianErrorRequestTimeOut = -1001, //請(qǐng)求超時(shí)
JuDianErrorNetworkOffline = -1002, //網(wǎng)絡(luò)已斷開(kāi),請(qǐng)檢查本地網(wǎng)絡(luò)連接
JuDianErrorCertificateInvalid = -1003, //證書(shū)異常,請(qǐng)檢查本機(jī)系統(tǒng)時(shí)間
JuDianErrorUndefined = -1009, //暫時(shí)未定位問(wèn)題,請(qǐng)稍后再試,有問(wèn)題請(qǐng)聯(lián)系:https://judian.jdapi.com
};