簡(jiǎn)單-搜狗三方登錄Sdk接入

搜狗 Passport iOS SDK 是搜狗為開發(fā)者提供的第三方單點(diǎn)登錄和搜狗賬戶注冊(cè)登錄服務(wù)民珍。本版本提供的第三方SSO登錄包括QQ和新浪微博。最新版本2.2.0在該基礎(chǔ)上增加了QQ好友分享帆焕、QQ空間分享酷愧、微信好友分享扇商、微信朋友圈分享和微博分享。其中垂蜗,QQ分享和微信分享必須安裝客戶端楷扬,而微博分享可以通過(guò)webview方式分享也可以在客戶端進(jìn)行分享解幽。

文檔:updwiki.sogou-inc.com/display/Passport/2.3.4+iOS(updvisitor)

接入sdk后,用戶可以用已有的QQ/新浪微博/Sogou賬號(hào)登錄應(yīng)用烘苹,后臺(tái)接入搜狗passport體系躲株,返回passport賬戶體系唯一用戶標(biāo)識(shí)及登錄態(tài)。這樣幫助應(yīng)用統(tǒng)一維護(hù)了賬號(hào)體系镣衡,也簡(jiǎn)潔易用地?cái)U(kuò)展了用戶群霜定。以下是Passport iOS SDK V2.2.0 提供的功能:

l? 支持QQ/新浪微博/微信賬號(hào)sso;

l? 支持sogou賬號(hào)登錄(提供登錄界面/自定制登錄界面)廊鸥;

l? 支持sogou賬號(hào)注冊(cè)(提供注冊(cè)界面/自定制注冊(cè)界面)望浩;

l? 支持sogou賬號(hào)登錄(HTML5頁(yè)面);

l? 支持sogou賬號(hào)注冊(cè)(HTML5頁(yè)面)惰说;

l? 獲取sgid磨德;

l? 獲得用戶信息;

l? 登出吆视;

l? 判斷是否支持sso典挑;

l? 獲取當(dāng)前登錄平臺(tái);

l? 獲取當(dāng)前sdk版本號(hào)啦吧;

l? 切換線上/測(cè)試環(huán)境(默認(rèn)線上環(huán)境您觉,測(cè)試環(huán)境僅用于調(diào)試)。

|? 判斷微博授滓、微信琳水、QQ客戶端是否安裝;

|? 支持微信好友般堆、朋友圈分享在孝;

|? 支持QQ好友分享;

支持的第三方分享內(nèi)容:微信和QQ只支持客戶端分享郁妈,微博有無(wú)客戶端均可以分享浑玛,只是內(nèi)容限制不一樣绍申。

1.2 相關(guān)概念SSO:SSO是在多個(gè)應(yīng)用系統(tǒng)中噩咪,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。client_id:搜狗passport分配給公司內(nèi)部每個(gè)應(yīng)用的唯一標(biāo)識(shí)极阅,一般與client_secret配合使用胃碾。appid:第三方應(yīng)用分配給開發(fā)者的應(yīng)用id。sgid:可以理解為搜狗passport返回的標(biāo)志某一賬戶的初始登錄態(tài)筋搏。isthird: 0表示去搜狗通行證個(gè)人信息仆百,1表示獲取第三方個(gè)人信息登錄態(tài):根據(jù)sgid得到的能確定用戶唯一性的,比如從sgid計(jì)算得到的類token字符串奔脐。(client id及client secret是passport serve端分配給應(yīng)用的用來(lái)唯一標(biāo)識(shí)應(yīng)用的id和密鑰俄周,接入應(yīng)用方需要先向搜狗passport申請(qǐng)client id和client secret吁讨。)第二章.使用須知1、開始使用Sogou Passport iOS SDK v2.0版本之前峦朗,必須完成步驟2.1建丧、步驟2.2。2波势、對(duì)于搜狗賬號(hào)注冊(cè)登錄翎朱,提供了sdk自帶界面和用戶自己定制界面的接口。其中帶界面接口在SogouPassport.h里尺铣,需要用戶自定義界面的接口在SGAccountInterface.h里拴曲。2.1 申請(qǐng)應(yīng)用client_id和client_secretpassport給每個(gè)應(yīng)用分配相應(yīng)的client_id和client_secret。2.2 申請(qǐng)第三方應(yīng)用的appid如果需要實(shí)現(xiàn)第三方SSO登錄凛忿,用戶必須自己到第三方應(yīng)用開放平臺(tái)創(chuàng)建應(yīng)用獲得相應(yīng)的appid和密鑰澈灼。然后跟相應(yīng)的client_id綁定(passport來(lái)做)相關(guān)請(qǐng)看本文檔4.7部分2.3實(shí)現(xiàn)第三方SDK其他功能(目前2.2.0版本的SDK已集成第三方分享,該部分文檔只對(duì)2.2.0以前的版本有效店溢,若接的是2.2.0版本蕉汪,跳過(guò))注意:目前passport SDK還沒(méi)集成分享功能,這部分是提供使用passport SDK同時(shí)想實(shí)現(xiàn)第三方分享功能的用戶參考逞怨。只需要登錄功能的不需要看這部分者疤。假設(shè)想使用第三方如新浪微博的分享功能,本版本尚未提供此功能必須自己添加新浪微博SDK里的WeiboSDK.h文件叠赦,需要注意的是驹马,不要再添加libWeibosdk.a,否則造成錯(cuò)誤除秀。同時(shí)注意糯累,調(diào)起QQ/微博客戶端進(jìn)行分享的功能跟SSO登錄是互相獨(dú)立的。以下是示例代碼幫助解決如果處理分享的回調(diào):#import "QQApiInterface.h"#import "WeiboSDK.h"@interface AppDelegate : UIResponder@implementation AppDelegate

(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{

return [SogouPassport sharedInstance handleOpenURL:url]||QQApiInterface handleOpenURL:url delegate:self||WeiboSDK handleOpenURL:url delegate:self;

}

(void)onReq:(QQBaseReq *)req{

}

/**

處理來(lái)至QQ的響應(yīng)

*/

(void)onResp:(QQBaseResp *)resp{

//回調(diào)處理

}

-(void)isOnlineResponse:(NSDictionary *)response{

}

//微博回調(diào)

(void)didReceiveWeiboRequest:(WBBaseRequest *)request{

}

(void)didReceiveWeiboResponse:(WBBaseResponse *)response

{

//回調(diào)處理

}

第三章.使用說(shuō)明

3.1 導(dǎo)入Sogou Passport SDK文件

添加Sogou Passport SDK及其他框架册踩。

(1)? 添加SDK文件夾到工程目錄泳姐,包括libSogouPassport.a,.h頭文件和SogouPassport.bundle和TencentOpenApi_IOS_Bundle.bundle資源文件。 若使用2.2.0版本暂吉,則還需要添加第三方頭文件和微博資源文件胖秒,如下右圖。

(左圖慕的,2.2.0以前版本添加庫(kù)文件阎肝、頭文件和資源文件后的項(xiàng)目結(jié)構(gòu);右圖肮街,2.2.0版本Demo添加庫(kù)文件风题、頭文件和資源文件以后的項(xiàng)目結(jié)構(gòu))

(2)添加使用SDK需要的庫(kù)文件,添加完如圖所示: (SGPProcucts文件夾里的ReadMe.txt文件記錄了需要添加的庫(kù))。若接分享則下圖中還需要添加libz.dylib(參見SPShareDemo)Xcode7下對(duì)應(yīng)的庫(kù)文件后綴為:.tbd

(3)定義頭文件搜索靜態(tài)庫(kù)目錄

設(shè)置庫(kù)文件相對(duì)目錄沛硅,如圖所示:

(4) 為適配IOS 9眼刃,請(qǐng)?jiān)赬code 7下進(jìn)行編譯,并在項(xiàng)目的info.plist文件中添加如下圖所示的配置

3.2 初始化Sogou Passport SDK

必須調(diào)用以下接口設(shè)置應(yīng)用的id和key完成sdk初始化

-(void)setClient_id:(NSNumber *)clientId

client_secret:(NSString *)clientSecret;

client_id: 搜狗passport分配給公司內(nèi)部每個(gè)應(yīng)用的標(biāo)識(shí)

client_secret: 客戶端密鑰

3.3 注冊(cè)第三方應(yīng)用

若想實(shí)現(xiàn)QQ或者新浪微博的SSO登錄摇肌,必須先到QQ或者新浪微博開發(fā)平臺(tái)創(chuàng)建第三方應(yīng)用鸟整,獲得相應(yīng)的appid(或appkey)

調(diào)用登錄等接口前必須先調(diào)用以下接口注冊(cè)第三方應(yīng)用:

-(void)registerProvider:(SGALoginType)provider

appId:(NSString *)appId

redirectUri:(NSString *)redirectUri;

注意:如果沒(méi)這步操作,將不采用SSO朦蕴,將采用webview的登錄方式篮条。

3.4 配置工程URL Scheme

在工程的info的URL Type中,增加url定義吩抓,用來(lái)定義回調(diào)接口涉茧,如下所示:

若是在QQ開發(fā)平臺(tái)申請(qǐng)的appid,則URL Scheme為:tencent+appid的形式疹娶;若是在新浪微博開發(fā)平臺(tái)申請(qǐng)的appkey伴栓,則URL Scheme為:wb+appkey的形式。微信開發(fā)平臺(tái)申請(qǐng)的appkey雨饺,則URL Scheme為:wx+appkey的形式钳垮。

3.5重寫AppDelegate的openURL和handleOpenURL方法

在AppDelegate.m里#import "SogouPassport.h" 然后重寫openURL方法,如下:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{

return [[SogouPassport sharedInstance] handleOpenURL:url];

}

第四章.接口說(shuō)明

下面介紹幾個(gè)主要接口额港,及其簡(jiǎn)要使用流程饺窿。詳細(xì)接口見SDK提供的接口文件。其中移斩,分享的接口功能及其參數(shù)說(shuō)明在SGAShareObject.h肚医、SGAShareManagerFactory.h和SGAShareManager.h文件里進(jìn)行了詳細(xì)說(shuō)明。

4.1 應(yīng)用初始化

-(void)setClient_id:(NSNumber *)clientId

client_secret:(NSString *)clientSecret;

client_id: 搜狗passport分配給公司內(nèi)部每個(gè)應(yīng)用的標(biāo)識(shí)

client_secret: 客戶端密鑰

4.2 注冊(cè)第三方應(yīng)用

-(void)registerProvider:(SGALoginType)provider

appId:(NSString *)appId

redirectUri:(NSString *)redirectUri;

provider: 用戶登錄平臺(tái)

appId: 在第三方社會(huì)化開發(fā)平臺(tái)注冊(cè)應(yīng)用獲取的應(yīng)用id

redirectUri: 在第三方社會(huì)化開發(fā)平臺(tái)注冊(cè)應(yīng)用設(shè)置的授權(quán)回調(diào)地址向瓷,這個(gè)參數(shù)可為nil

注意肠套!該接口在2.1版本廢棄 新的接口如下:

-(void)setWeiboWapAppId:(NSString *)wAppId

weiboSSOAppId:(NSString *)sAppId

redirectUri:(NSString *)redirectUri;

-(void)setQQWapAppId:(NSString *)wAppId QQSSOAppId:(NSString *)sAppId;

-(void)setWeixinWapAppId:(NSString *)wAppId weixinSSOAppId:(NSString *)sAppId;

-(void)setBaiduWapAppId:(NSString *)wAppId baiduSSOAppId:(NSString *)sAppId;

-(void)setRenrenWapAppId:(NSString *)wAppId renrenSSOAppId:(NSString *)sAppId;;

-(void)useSogouPassportAppid:(BOOL)isSogouAppid;

接口說(shuō)明:

應(yīng)用自己傳第三方的appid,包括網(wǎng)頁(yè)端和移動(dòng)端猖任,在第三方開發(fā)平臺(tái)如騰訊開放平臺(tái)上創(chuàng)建應(yīng)用申請(qǐng)appid時(shí)一般是分開申請(qǐng)網(wǎng)頁(yè)應(yīng)用和移動(dòng)的你稚。

升級(jí)這個(gè)接口主要考慮 應(yīng)用可以更加靈活地定制授權(quán)方式。

EX:若應(yīng)用初始化sdk時(shí)? [[SogouPassport sharedInstance] setQQWapAppId:nil QQSSOAppId:kQQAuthAppKey];? 由于QQWapAppId為nil朱躺,那webview登錄時(shí)就會(huì)提示授權(quán)給搜狗或者搜狗通行證刁赖;

反之,若QQWapAppId為應(yīng)用自己申請(qǐng)的網(wǎng)頁(yè)應(yīng)用appid時(shí)室琢,登錄時(shí)就會(huì)提示授權(quán)給該應(yīng)用乾闰。

4.3 用戶登錄

- (void)loginWithView:(UIView *)view

provider:(SGALoginType)provider

isThird:(NSNumber *)isthird

loginSuccessBlock:(void()(NSString *sgid,SGAUserInfo *userInfo))loginSuccessBlock loginFailBlock:(void ()(NSError *error))loginFailBlock;

provider: 用戶登錄平臺(tái)(如下方所示枚舉類型)

isthird: 0表示去搜狗通行證個(gè)人信息,1表示獲取第三方個(gè)人信息

//登錄平臺(tái)枚舉

typedef NS_ENUM(NSInteger, SGALoginType) {

SGALoginTypeSogou=1,? ? // 搜狗

SGALoginTypeSinaWeibo,? // 微博

SGALoginTypeQQ,? ? ? ? // QQ

SGALoginTypeRenren,? ? // 人人網(wǎng)

SGALoginTypeBaidu? ? ? // 百度

SGALoginTypeWeChat? ? //微信

};

登錄成功返回結(jié)果信息:

參數(shù)名 是否必須

參數(shù)說(shuō)明

sgid

是 搜狗passport返回的標(biāo)志某一賬戶的初始登錄態(tài)

uniqname

QQ/微博/sogou passport昵稱

gender

QQ/微博/sogou passport性別盈滴,int型,0:女;1:男

large_avatar

QQ/微博/sogou passport大圖 巢钓,string類型病苗,頭像的URL

mid_avatar

QQ/微博/sogou passport中圖 ,string類型症汹,頭像的URL

tiny_avatar

QQ/微博/sogou passport小圖 硫朦,string類型,頭像的URL

4.4 用戶登出

- (void)logoutWithSuccessBlock:(void(^)(NSString *status))logoutSuccessBlock

logoutFailBlock:(void (^)(NSError *error))logoutFailBlock;

4.5 搜狗賬號(hào)(手機(jī)號(hào))注冊(cè)

- (void) regist:(UIView *)view

successBlock:(void(^)(NSString *sgid, SGAUserInfo *userInfo))registerSuccessBlock

failBlock:(void (^)(NSError *error))registerFailBlock;

4.6 其他接口

1背镇、獲取sgid

-(NSString *)getSgid;

2咬展、獲取用戶信息

-(SGAUserInfo *)getUserInfo;

3、獲取當(dāng)前sdk版本號(hào)

- (NSString *) getCurrentVersion;

4瞒斩、獲取當(dāng)前登錄平臺(tái)

- (NSString *)getCurrentLoginType;

5破婆、切換測(cè)試環(huán)境的屬性isDevMode (默認(rèn)是線上環(huán)境)

[SogouPassport sharedInstance].isDevMode=YES;//即為開發(fā)模式

此時(shí)應(yīng)該wifi連接內(nèi)網(wǎng)環(huán)境才能進(jìn)行測(cè)試

6、搜狗賬號(hào)登錄換膚

-(void)setSogouLoginSkin:(SGASkinType)skin;

提供了兩種皮膚胸囱,紅色(SGASkinTypeRed)和綠色(SGASkinTypeGreen)風(fēng)格

7祷舀、搜狗賬號(hào)登錄頁(yè)面是否顯示QQ登錄圖標(biāo)

[SogouPassport sharedInstance].showQQLogin = NO;//即為不顯示QQ圖標(biāo)

4.7 SGAccountInterface.h 接口說(shuō)明

//設(shè)置應(yīng)用id和key

-(void)setClient_id:(NSNumber *)clientId

client_secret:(NSString *)clientSecret;

//用戶登錄

- (void)loginWithAccount:(NSString *)account

password:(NSString *)password

token:(NSString *)token

captcha:(NSString *)captcha

success:(void(^)(NSString *sgid,SGAUserInfo *userInfo))success

fail:(void (^)(NSError *error))fail;

//手機(jī)號(hào)注冊(cè)

-(void)registerAccount:( NSString *)account

password:(NSString *)password

provider:(SGARegisterType)provider

authKey:(NSString *)authKey

success:(void (^)(NSString *sgid,SGAUserInfo *userInfo))success

fail:(void (^)(NSError *))fail;

//注冊(cè)時(shí)獲取驗(yàn)證碼

- (void)getAuthKey:(NSString *)phoneNumber

success:(void(^)(NSDictionary *result))success

fail:(void(^)(NSError *error))fail;

//注冊(cè)時(shí)驗(yàn)證賬號(hào)是否已存在

- (void)checkUserName:(NSString *)userName

success:(void (^)(NSDictionary *result))success

fail:(void (^)(NSError *error))fail;

//獲取驗(yàn)證碼 ,登錄時(shí) 用戶名密碼錯(cuò)誤太頻繁烹笔,需要驗(yàn)證碼校驗(yàn)

- (void)getLoginVerifyCore:(NSString *)token

success:(void (^)(NSData *verifyCoreData))success

fail:(void(^)(NSError *error))fail;

//登出

-(void)logoutWithSgid:(NSString *)sgid

client_id:(NSNumber *)client_id

client_serect:(NSString *)client_serect

instance_id:(NSString *)instance_id

successBlock:(void (^)(NSString *status))successBlock

failBlock:(void (^)(NSError *error))failBlock;

//判斷是否支持SSO登錄

-(BOOL)enableSSO:(SGALoginType)provider;

第五章.返回碼(錯(cuò)誤碼)說(shuō)明

常用返回碼與錯(cuò)誤信息的對(duì)照裳扯,如下所示:

公共錯(cuò)誤碼及對(duì)應(yīng)信息:

返回碼 含義說(shuō)明

503 服務(wù)器過(guò)載或維護(hù)

500 服務(wù)器錯(cuò)誤,無(wú)法處理請(qǐng)求

408 請(qǐng)求超時(shí)

405 請(qǐng)求method有誤

404 所請(qǐng)求資源未被找到

400 語(yǔ)法有誤|參數(shù)有誤---無(wú)法被服務(wù)器理解

401 該請(qǐng)求需要用戶認(rèn)證

-15 HTTP請(qǐng)求報(bào)出ConnectTimeOutException

-14 HTTP請(qǐng)求報(bào)出ClientProtocolException

-13 HTTP請(qǐng)求報(bào)出IOEXCEPTION

-6 返回的請(qǐng)求結(jié)果格式不對(duì)

-5 解析HttpResponse為json失敗(內(nèi)容不為json格式)

-4 獲取結(jié)果信息data部分失敗|data==null

-3 獲取HttpResponse失敗|HttpResponse為null

-2 沒(méi)有網(wǎng)絡(luò)連接

登錄錯(cuò)誤碼及對(duì)應(yīng)信息:

返回碼 含義說(shuō)明

-1 用戶取消操作

-30001 由于網(wǎng)絡(luò)質(zhì)量抖動(dòng)引起谤职。

100030 用戶未對(duì)應(yīng)用進(jìn)行授權(quán)饰豺。

100014 QQ登錄的access_token過(guò)期,目前支持的access_token有效期為三個(gè)月允蜈。

100015 QQ登錄的access_token失效哟忍。要重新走登錄流程,獲取新的access_token陷寝。

產(chǎn)生該錯(cuò)誤有兩個(gè)原因:

用戶在QQ空間里取消了對(duì)應(yīng)用的授權(quán)锅很,會(huì)導(dǎo)致當(dāng)前保存到應(yīng)用里的AccessToken被廢除掉。

用戶在不同的設(shè)備上進(jìn)行了QQ登錄凤跑,導(dǎo)致在原來(lái)設(shè)備上的保存的AccessToken被廢除掉爆安。

100016 QQ登錄的access_token校驗(yàn)失敗。

100017 新浪微博登錄簽名不正確

100018 新浪微博登錄授權(quán)異常

10001 系統(tǒng)級(jí)錯(cuò)誤

10002 請(qǐng)求passport server時(shí)參數(shù)錯(cuò)誤,請(qǐng)輸入必填的參數(shù)或參數(shù)驗(yàn)證失敗

30016 用戶取消授權(quán)

10003 接口code簽名錯(cuò)誤或請(qǐng)求超時(shí)

10010 client_id不存在

20256 SSOAfterauth失敗

20257 頻繁登陸賬號(hào)

20221 驗(yàn)證碼錯(cuò)誤

20206 用戶名或密碼錯(cuò)誤

請(qǐng)求用戶信息錯(cuò)誤碼及對(duì)應(yīng)信息:

返回碼 含義說(shuō)明

-2001 用戶尚未登錄

-2002 無(wú)用戶信息

以上個(gè)別部分的錯(cuò)誤碼分得比較細(xì)仔引,是因?yàn)榭紤]到初期版本扔仓,后面版本可能會(huì)歸納減少錯(cuò)誤碼種類。另外欲了解QQ登錄了的詳細(xì)全部錯(cuò)誤碼咖耘,請(qǐng)參看QQ的+《公共返回碼說(shuō)明》+文檔翘簇。

|? 支持QQ空間、QQ好友分享

|? 支持微博客戶端分享

|? 支持微博webview方式分享

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末儿倒,一起剝皮案震驚了整個(gè)濱河市版保,隨后出現(xiàn)的幾起案子呜笑,更是在濱河造成了極大的恐慌,老刑警劉巖彻犁,帶你破解...
    沈念sama閱讀 221,406評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叫胁,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡汞幢,警方通過(guò)查閱死者的電腦和手機(jī)驼鹅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)森篷,“玉大人输钩,你說(shuō)我怎么就攤上這事≈僦牵” “怎么了买乃?”我有些...
    開封第一講書人閱讀 167,815評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)坎藐。 經(jīng)常有香客問(wèn)我为牍,道長(zhǎng),這世上最難降的妖魔是什么岩馍? 我笑而不...
    開封第一講書人閱讀 59,537評(píng)論 1 296
  • 正文 為了忘掉前任碉咆,我火速辦了婚禮,結(jié)果婚禮上蛀恩,老公的妹妹穿的比我還像新娘疫铜。我一直安慰自己,他們只是感情好双谆,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評(píng)論 6 397
  • 文/花漫 我一把揭開白布壳咕。 她就那樣靜靜地躺著,像睡著了一般顽馋。 火紅的嫁衣襯著肌膚如雪谓厘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評(píng)論 1 308
  • 那天寸谜,我揣著相機(jī)與錄音竟稳,去河邊找鬼。 笑死熊痴,一個(gè)胖子當(dāng)著我的面吹牛他爸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播果善,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼诊笤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了巾陕?” 一聲冷哼從身側(cè)響起讨跟,我...
    開封第一講書人閱讀 39,668評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤纪他,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后许赃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體止喷,經(jīng)...
    沈念sama閱讀 46,212評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡馆类,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評(píng)論 3 340
  • 正文 我和宋清朗相戀三年混聊,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乾巧。...
    茶點(diǎn)故事閱讀 40,438評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡句喜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沟于,到底是詐尸還是另有隱情咳胃,我是刑警寧澤,帶...
    沈念sama閱讀 36,128評(píng)論 5 349
  • 正文 年R本政府宣布旷太,位于F島的核電站展懈,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏供璧。R本人自食惡果不足惜存崖,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睡毒。 院中可真熱鬧来惧,春花似錦、人聲如沸演顾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)钠至。三九已至葛虐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間棉钧,已是汗流浹背屿脐。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留掰盘,地道東北人摄悯。 一個(gè)月前我還...
    沈念sama閱讀 48,827評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像愧捕,于是被迫代替她去往敵國(guó)和親奢驯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評(píng)論 2 359

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理次绘,服務(wù)發(fā)現(xiàn)瘪阁,斷路器撒遣,智...
    卡卡羅2017閱讀 134,695評(píng)論 18 139
  • 原文網(wǎng)址:http://www.reibang.com/p/7e3c5fc31708 0.demo說(shuō)明別的先不說(shuō)d...
    楓之葉_小乙哥閱讀 2,815評(píng)論 1 5
  • 注意:代碼自己動(dòng)手寫,不要復(fù)制管跺! GitHub 一义黎、接入微信第三方登錄準(zhǔn)備工作。 移動(dòng)應(yīng)用微信登錄是基于OAuth...
    大沖哥閱讀 15,111評(píng)論 0 7
  • 如果我看到一個(gè)特別想去分享的東西豁跑,而你剛好在身邊廉涕,那么我一定,會(huì)特別期待著拉著你一起艇拍,可是狐蜕,如果你確實(shí)很忙,確實(shí)現(xiàn)...
    喵喵苗大剛閱讀 207評(píng)論 0 0