iOS實戰(zhàn):移動一鍵登錄SDK封裝

很久沒有更新博客了胁孙,近期接到了集成移動一鍵登錄功能唠倦,因此做了一個一鍵登錄工具類,把UI設(shè)置和功能都封裝到工具類中浊洞。

移動一鍵登錄

現(xiàn)在的移動一鍵登錄SDK只有兩個主要功能牵敷,分別是本機號碼校驗和獲取用戶信息功能。

個人理解:前者的作用是驗證本次登陸的手機賬號是否為手機中插著的手機號法希。后者的作用是用于登陸枷餐。

因此,本次的工具類是基于后者提供的功能開發(fā)的苫亦。

工具類提供的接口

業(yè)務(wù)邏輯相關(guān)的接口

/**
 單例獲取

 @return 單例
 */
+ (instancetype)shareManager;


/**
 初始化參數(shù)
 */
- (void)initialize;


/**
 是否為移動
 */
- (BOOL)isCMCC;


/**
 獲取Msgid
 */
- (NSString *)TYRZSDKMsgid;

/**
 獲取Appid
 */
- (NSString *)TYRZSDKAppid;

/**
 預(yù)取號 在顯式登錄之前的操作毛肋,目的為提前獲取本機手機號,節(jié)省顯式登錄時間屋剑。 手
 機號會緩存五分鐘润匙,五分鐘之內(nèi)顯式登錄可以免 獲取資料 步驟

 @param success void
 @param failure des = 失敗描述
 */
- (void)preGetPhonenumberSuccess:(void (^)(void))success
                         failure:(void (^)(NSString *des))failure;


/**
 顯式登錄

 @param vc 展示移動一鍵登錄的控制器
 @param success token = 獲得的token authTypeDes = 登錄的認證方式 0:其他;1:WiFi下網(wǎng)關(guān)鑒權(quán);2:網(wǎng)關(guān)鑒權(quán);3:短信上行鑒權(quán);7:短信驗證碼登錄
 @param failure des = 失敗描述
 */
- (void)getTokenExpWithController:(UIViewController *)vc
                          success:(void (^)(NSString *token, NSString *authTypeDes))success
                          failure:(void (^)(NSDictionary *context))failure;

@end

調(diào)用-(void)getTokenExpWithController方法后進入一鍵登錄界面,但是進入的過程是這樣的:

會先進入一個獲取手機號界面如下圖1唉匾,然后幾秒鐘后再跳轉(zhuǎn)到一鍵登錄界面孕讳。

一鍵登錄1.PNG

一鍵登錄2.PNG

一鍵登錄3.PNG

接下里說一下預(yù)取號方法。當在調(diào)用-(void)getTokenExpWithController方法之前巍膘,先調(diào)用-(void)preGetPhonenumberSuccess方法厂财,會預(yù)先獲取到本機手機號。因此可以節(jié)省下幾秒鐘的時間峡懈。

大致解釋如何使用該功能

在調(diào)用-(void)preGetPhonenumberSuccess方法后璃饱,用戶點擊一鍵登錄按鈕后,會回調(diào)回token字段肪康。這個token的作用是去獲取用戶信息的荚恶。

在移動的開發(fā)文檔中,有提供獲取用戶信息的接口:

獲取用戶信息接口.png

該接口所需的參數(shù)中有一個token參數(shù)磷支,返回的數(shù)據(jù)中有登陸的手機號字段谒撼。

因此大致做法是,本地調(diào)用一鍵登錄接口雾狈,獲取token參數(shù)廓潜,再把token以及其他相關(guān)的參數(shù)傳給后臺,讓后臺去調(diào)用獲取用戶信息接口,獲得手機號后進行比較茉帅,如果是同一個,登陸成功锭弊,再去數(shù)據(jù)庫中獲取用戶數(shù)據(jù)返回給前端堪澎。

UI設(shè)置接口

在新的SDK中,移動提供了開發(fā)者自定義UI功能味滞。但是當前版本提供的可修改的界面仍不是很多樱蛤。

移動的接口如下:

+ (void)customUIWithParams:(NSDictionary *)customUIParams
               customViews:(void(^)(NSDictionary *customAreaView))customViews;

customUIParams字典鍵值對在開發(fā)文檔中有寫。

我對UI自定義功能也進行了二次封裝剑鞍,將這些方法放在了HXTYRZManager的分類中昨凡。舉例如下:

- (void)setNavBarLeftImage:(UIImage *)image; //層級1
- (void)setNavBarBackgroundColor:(UIColor *)color; //層級1
- (void)setNavBarTitle:(NSString *)title; //層級暫定1

其中的實現(xiàn):

- (void)setNavBarLeftImage:(UIImage *)image //層級1
{
    if ([self isNil:image]) {
        return;
    }
    [self.customUIParams setObject:image forKey:UAPageNavLeftLogo];
}

本質(zhì)為在工具類中設(shè)置字典,跳過外部設(shè)置蚁署。并且便脊,我在工具類的顯示登陸方法實現(xiàn)中,調(diào)用了移動的-(void)customUIWithParams方法光戈。因此哪痰,你需要在調(diào)用我的顯示登陸接口之前,先設(shè)置好UI久妆。

SDK下載地址

SDK下載地址

博客地址

iOS實戰(zhàn):移動一鍵登錄SDK封裝

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末晌杰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子筷弦,更是在濱河造成了極大的恐慌肋演,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烂琴,死亡現(xiàn)場離奇詭異爹殊,居然都是意外死亡,警方通過查閱死者的電腦和手機监右,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門边灭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人健盒,你說我怎么就攤上這事绒瘦。” “怎么了扣癣?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵惰帽,是天一觀的道長。 經(jīng)常有香客問我父虑,道長该酗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮呜魄,結(jié)果婚禮上悔叽,老公的妹妹穿的比我還像新娘。我一直安慰自己爵嗅,他們只是感情好娇澎,可當我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著睹晒,像睡著了一般趟庄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上伪很,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天戚啥,我揣著相機與錄音,去河邊找鬼锉试。 笑死猫十,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的呆盖。 我是一名探鬼主播炫彩,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼絮短!你這毒婦竟也來了江兢?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤丁频,失蹤者是張志新(化名)和其女友劉穎杉允,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體席里,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡叔磷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奖磁。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片改基。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咖为,靈堂內(nèi)的尸體忽然破棺而出秕狰,到底是詐尸還是另有隱情,我是刑警寧澤躁染,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布鸣哀,位于F島的核電站,受9級特大地震影響吞彤,放射性物質(zhì)發(fā)生泄漏我衬。R本人自食惡果不足惜叹放,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挠羔。 院中可真熱鬧井仰,春花似錦、人聲如沸破加。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拌喉。三九已至,卻和暖如春俐银,著一層夾襖步出監(jiān)牢的瞬間尿背,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工捶惜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留田藐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓吱七,卻偏偏與公主長得像汽久,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子踊餐,可洞房花燭夜當晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,737評論 25 707
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,692評論 0 15
  • 搜狗 Passport iOS SDK 是搜狗為開發(fā)者提供的第三方單點登錄和搜狗賬戶注冊登錄服務(wù)景醇。本版本提供的第三...
    Www劉閱讀 2,231評論 2 1
  • 烤面包,酸米酒吝岭,伍斯特醬油三痰,胡頹子果醬,巧克力榛子醬窜管,雨久花涼菜散劫,烤紅點鮭魚,紅點鮭魚湯幕帆,西紅柿意面获搏,炒通草果皮,...
    Huuu友伴閱讀 198評論 0 0
  • 我也不知道我是什么時候才覺得寫作是我的愛好失乾,似乎一直都有在寫常熙,零零散散的寫;其實讀書期間我也一直會往屑钭拢刊和...
    柒竅玲瓏閱讀 376評論 1 1