Sharesdk Swift調(diào)用的方法

一苛坚、獲取appkey

如何在我們的官網(wǎng)注冊(cè)應(yīng)用得到appkey酪惭。

二、下載SDK

獲取ShareSDK-iOS :解壓壓縮包之后結(jié)構(gòu)如圖所示:


目錄結(jié)構(gòu) (使用時(shí)直接將SDK這個(gè)文件拖入工程)

SDK

? | —– Required( MOB 基礎(chǔ)公共庫目錄 )

? ? ? ? | —– MOBFoundation.framework:基礎(chǔ)功能框架。(必要)

? | —– ShareSDK ( ShareSDK 目錄 )

? ? ? ? | —– ShareSDK.framework:核心靜態(tài)庫。(必要)

? ? ? ? | —– Support (ShareSDK 各組件)

? ? ? ? ? ? ? | —– Required ( 必要 )

? ? ? ? ? ? ? ? ? ?| —– ShareSDK.bundle:ShareSDK資源文件砌梆。(必要)

? ? ? ? ? ? ? ? ? ?| —– ShareSDKConnector.framework:用于ShareSDK框架與外部框架連接的代理框架插件。(使用第三方SDK時(shí)必要贬循。)

? ? ? ? ? ? ? | —– PlatformSDK 第三方平臺(tái)SDK咸包。(不需要的平臺(tái)的SDK可直接移除)

? ? ? ? ? ? ? | —– PlatformConnector 對(duì)ShareSDKConnector模塊架構(gòu)進(jìn)行優(yōu)化,根據(jù)平臺(tái)進(jìn)行分包杖虾。(不需要的平臺(tái)的庫可以移除)

? ? ? ? ? ? ? | —– Optional ( 可選 )

? ? ? ? ? ? ? ? ? ? | —– ShareSDKUI.bundle:分享菜單欄和分享編輯頁面資源包烂瘫。(如果自定義這些UI可直接移除)

? ? ? ? ? ? ? ? ? ? | —– ShareSDKExtension.framework:對(duì)ShareSDK功能的擴(kuò)展框架插件。(主要提供第三方平臺(tái)登錄、 一鍵分享坟比、截屏分享芦鳍、搖一搖分享等相關(guān)功能。需要使用以上功能時(shí)必要葛账。)

? ? ? ? ? ? ? ? ? ? | —– ShareSDKUI.framework:分享菜單欄和分享編輯頁面柠衅。(如果自定義這些UI可直接移除)

? ? ? ? ? ? ? ? ? ? | —– ShareSDKConfigFile.bundle:用xml來初始化或者構(gòu)造分享參數(shù)的資源文件。(用代碼來初始化籍琳,構(gòu)造分享參數(shù)可直接移除菲宴,下載的時(shí)候也是可根據(jù)自己的要求勾選下載的)

? ? ? ? ? ? ? ? ? ? | —– ShareSDKConfigFile.framework:用xml來初始化,構(gòu)造分享參數(shù)趋急,使用的分享的方法庫喝峦。用代碼來初始化,構(gòu)造分享參數(shù)可直接移除呜达,下載的時(shí)候也是可根據(jù)自己的要求勾選下載的)

三谣蠢、快速集成

第一步:將下載的SDK解壓后導(dǎo)入到您的工程中,見下圖 :


注意:請(qǐng)務(wù)必在上述步驟中選擇“Create groups for any added folders”單選按鈕組查近。如果你選擇“Create folder references for any added folders”眉踱,一個(gè)藍(lán)色的文件夾引用將被添加到項(xiàng)目并且將無法找到它的資源

第二步:添加依賴庫 添加步驟見下圖


必須添加的依賴庫如下(Xcode 7 之后 *.dylib庫后綴名更改為*.tbd):

? libicucore.dylib

? libz.dylib

? libstdc++.dylib

? JavaScriptCore.framework

以下依賴庫根據(jù)社交平臺(tái)添加:

新浪微博SDK依賴庫

? ImageIO.framework

? libsqlite3.dylib

QQ好友和QQ空間SDK依賴庫

? libsqlite3.dylib

微信SDK依賴庫

? libsqlite3.dylib

Instagram需要依賴庫

? AssetsLibrary.framework

? Photos.framework

美拍需要依賴庫

? AssetsLibrary.framework

第三步:設(shè)置ShareSDK的Appkey并初始化對(duì)應(yīng)的第三方社交平臺(tái)

在項(xiàng)目工程的Info.plist 中如圖增加 MOBAppkey 和 MOBAppSecret 兩個(gè)字段

在 MOBAppkey中 設(shè)置ShareSDK的appKey,如果尚未在ShareSDK官網(wǎng)注冊(cè)過App嗦嗡,請(qǐng)移步到登錄后臺(tái)進(jìn)行應(yīng)用注冊(cè)勋锤。


友情提示:如果您同時(shí)多個(gè)MOBSDK產(chǎn)品 在info.plist中的設(shè)置一次就可以了。

第四步:新建Header File侥祭,并建立橋接:


建立橋接(重要:這個(gè)橋接文件中寫入OC代碼的頭文件之后叁执,Swift代碼就可以調(diào)用OC的代碼了,放大可看大圖步驟):


第五步:打開橋接文件(ShareSDK-Bridging-Header.h)導(dǎo)入OC文件頭

打開ShareSDK-Bridging-Header.h,導(dǎo)入OC代碼文件頭矮冬,示例:

?#import <ShareSDK/ShareSDK.h>

?#import <ShareSDKUI/ShareSDK+SSUI.h>

?#import <ShareSDKConnector/ShareSDKConnector.h>


?//騰訊SDK頭文件

?#import <TencentOpenAPI/TencentOAuth.h>

?#import <TencentOpenAPI/QQApiInterface.h>


?//微信SDK頭文件

?#import "WXApi.h"


?//新浪微博SDK頭文件

?#import “WeiboSDK.h"


?//人人SDK頭文件

?#import <RennSDK/RennSDK.h>


?//Kakao SDK頭文件

?#import <KakaoOpenSDK/KakaoOpenSDK.h>


?//支付寶SDK

?#import "APOpenAPI.h"


第六步:初始化社交平臺(tái)

打開AppDelegate.swift文件

在 ?func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool ? ?中調(diào)用registerApp方法來初始化SDK并且初始化第三方平臺(tái)

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {


/**

?* ?初始化ShareSDK應(yīng)用

?*

?* ?@param activePlatforms ? ? ? ? ?使用的分享平臺(tái)集合谈宛,如:@[@(SSDKPlatformTypeSinaWeibo), @(SSDKPlatformTypeTencentWeibo)];

?* ?@param importHandler ? ? ? ? ? 導(dǎo)入回調(diào)處理,當(dāng)某個(gè)平臺(tái)的功能需要依賴原平臺(tái)提供的SDK支持時(shí)胎署,需要在此方法中對(duì)原平臺(tái)SDK進(jìn)行導(dǎo)入操作吆录。具體的導(dǎo)入方式可以參考ShareSDKConnector.framework中所提供的方法。

?* ?@param configurationHandler ? ? 配置回調(diào)處理琼牧,在此方法中根據(jù)設(shè)置的platformType來填充應(yīng)用配置信息

?*/


? ? ? ? ?ShareSDK.registerActivePlatforms(

? ? ? ? ? ? [

? ? ? ? ? ? ? ? SSDKPlatformType.typeSinaWeibo.rawValue,

? ? ? ? ? ? ? ? SSDKPlatformType.typeWechat.rawValue,

? ? ? ? ? ? ? ? SSDKPlatformType.typeQQ.rawValue

? ? ? ? ? ? ],

? ? ? ? ? ? onImport: {(platform : SSDKPlatformType) -> Void in

? ? ? ? ? ? ? ? switch platform

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeSinaWeibo:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ShareSDKConnector.connectWeibo(WeiboSDK.classForCoder())

? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeWechat:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ShareSDKConnector.connectWeChat(WXApi.classForCoder())

? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeQQ:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ShareSDKConnector.connectQQ(QQApiInterface.classForCoder(), tencentOAuthClass: TencentOAuth.classForCoder())

? ? ? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ?},

? ? ? ? ? ? onConfiguration: {(platform : SSDKPlatformType , appInfo : NSMutableDictionary?) -> Void in

? ? ? ? ? ? ? ? switch platform

? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeSinaWeibo:

? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置新浪微博應(yīng)用信息,其中authType設(shè)置為使用SSO+Web形式授權(quán)

? ? ? ? ? ? ? ? ? ? ? ? appInfo?.ssdkSetupSinaWeibo(byAppKey: "568898243",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? appSecret: "38a4f8204cc784f81f9f0daaf31e02e3",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? redirectUri: "http://www.sharesdk.cn",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? authType: SSDKAuthTypeBoth)


? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeWechat:

? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置微信應(yīng)用信息

? ? ? ? ? ? ? ? ? ? ? ? appInfo?.ssdkSetupWeChat(byAppId: "wx4868b35061f87885",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?appSecret: "64020361b8ec4c99936c0e3999a9f249")

? ? ? ? ? ? ? ? ? ? ?case SSDKPlatformType.typeQQ:

? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置QQ應(yīng)用信息

? ? ? ? ? ? ? ? ? ? ? ? appInfo?.ssdkSetupQQ(byAppId: "100371282",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?appKey: "aed9b0303e3ed1e27bae87c33761161d",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?authType: SSDKAuthTypeWeb)

? ? ? ? ? ? ?default:

? ? ? ? ? ? ? ? break

? ? ? ? ? ? }

? ? ? ? })

? ? ? ? return true

? ? }

? ? }


第六步:添加實(shí)現(xiàn)代碼

打開需要集成分享功能的視圖源碼恢筝,把如下代碼復(fù)制并粘貼到你要分享的位置,例如到響應(yīng)分享按鈕的方法中巨坊。并且修改相應(yīng)的參數(shù)即可撬槽。

? ? ?// 1.創(chuàng)建分享參數(shù)

? ? ? ? let shareParames = NSMutableDictionary()

? ? ? ? shareParames.ssdkSetupShareParams(byText: "分享內(nèi)容",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?images : UIImage(named: "shareImg.png"),

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? url : NSURL(string:"http://mob.com") as URL!,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? title : "分享標(biāo)題",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?type : SSDKContentType.image)


? ? ? ? //2.進(jìn)行分享

? ? ? ? ShareSDK.share(SSDKPlatformType.typeSinaWeibo, parameters: shareParames) { (state : SSDKResponseState, nil, entity : SSDKContentEntity?, error :Error?) in


? ? ? ? ? ? switch state{


? ? ? ? ? ? case SSDKResponseState.success: print("分享成功")

? ? ? ? ? ? case SSDKResponseState.fail: ? ?print("授權(quán)失敗,錯(cuò)誤描述:\(error)")

? ? ? ? ? ? case SSDKResponseState.cancel: ?print("操作取消")


? ? ? ? ? ? default:

? ? ? ? ? ? ? ? break

? ? ? ? ? ? }


? ? ? ? }


編譯并運(yùn)行后,點(diǎn)擊分享按鈕就成功發(fā)送到社交平臺(tái)的話說明你已經(jīng)基本集成成功了趾撵。但是侄柔,為了使您的用戶有更好的分享體驗(yàn),以及您的應(yīng)用有更多的分享量,更好地在社交平臺(tái)上傳播暂题,我們建議您參考“進(jìn)階功能”的指引進(jìn)行SSO(免登錄)和更多社交平臺(tái)的設(shè)置移剪。

可選:支持微信所需的相關(guān)配置及代碼

在微信開放平臺(tái)(http://open.weixin.qq.com/ )注冊(cè)應(yīng)用并取得應(yīng)用的AppID,然后打開下圖位置薪者,在URL Types中添加微信AppID


先在ShareSDK-Bridging-Header.h中導(dǎo)入微信的頭文件(上文介紹中已導(dǎo)入)

打開AppDelegate.swift文件纵苛,修改初始化方法(修改地方加粗顯示):

?func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {


/**

?* ?初始化ShareSDK應(yīng)用

?*

?* ?@param activePlatforms ? ? ? ? ?使用的分享平臺(tái)集合,如:@[@(SSDKPlatformTypeSinaWeibo), @(SSDKPlatformTypeTencentWeibo)];

?* ?@param importHandler ? ? ? ? ? 導(dǎo)入回調(diào)處理啸胧,當(dāng)某個(gè)平臺(tái)的功能需要依賴原平臺(tái)提供的SDK支持時(shí)赶站,需要在此方法中對(duì)原平臺(tái)SDK進(jìn)行導(dǎo)入操作。具體的導(dǎo)入方式可以參考ShareSDKConnector.framework中所提供的方法纺念。

?* ?@param configurationHandler ? ? 配置回調(diào)處理,在此方法中根據(jù)設(shè)置的platformType來填充應(yīng)用配置信息

?*/


? ? ? ? ShareSDK.registerActivePlatforms(

? ? ? ? ? ? [ SSDKPlatformType.typeWechat.rawValue],

? ? ? ? ? ? // onImport 里的代碼,需要連接社交平臺(tái)SDK時(shí)觸發(fā)

? ? ? ? ? ? onImport: {(platform : SSDKPlatformType) -> Void in

? ? ? ? ? ? ? ? switch platform

? ? ? ? ? ? ? ? {


? ? ? ? ? ? ? ? ? ?case SSDKPlatformType.typeWechat:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ShareSDKConnector.connectWeChat(WXApi.classForCoder())


? ? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ?},

? ? ? ? ? ? onConfiguration: {(platform : SSDKPlatformType , appInfo : NSMutableDictionary?) -> Void in

? ? ? ? ? ? ? ? switch platform

? ? ? ? ? ? ? ? {


? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeWechat:

? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置微信應(yīng)用信息

? ? ? ? ? ? ? ? ? ? ? ? appInfo?.ssdkSetupWeChat(byAppId: "wx4868b35061f87885",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?appSecret: "64020361b8ec4c99936c0e3999a9f249")


? ? ? ? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? })

? ? ? ? return true

? ? }

}


可選:支持QQ所需的相關(guān)配置及代碼

登錄QQ互聯(lián)(http://connect.qq.com/ )注冊(cè)成為開發(fā)者并登記應(yīng)用取得AppId想括,然后打開下圖位置陷谱,在URL Types中添加QQ的AppID,其格式為:”QQ” + AppId的16進(jìn)制(如果appId轉(zhuǎn)換的16進(jìn)制數(shù)不夠8位則在前面補(bǔ)0瑟蜈,如轉(zhuǎn)換的是:5FB8B52烟逊,則最終填入為:QQ05FB8B52 注意:轉(zhuǎn)換后的字母要大寫)

轉(zhuǎn)換16進(jìn)制的方法:echo ‘ibase=10;obase=16;801312852′|bc,其中801312852為QQ的AppID铺根,見下圖


先在ShareSDK-Bridging-Header.h中導(dǎo)入QQ的頭文件(上文介紹中已導(dǎo)入)

打開AppDelegate.swift文件宪躯,修改初始化方法(修改地方加粗顯示):

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {


/**

?* ?初始化ShareSDK應(yīng)用

?*

?* ?@param activePlatforms ? ? ? ? ?使用的分享平臺(tái)集合,如:@[@(SSDKPlatformTypeSinaWeibo), @(SSDKPlatformTypeTencentWeibo)];

?* ?@param importHandler ? ? ? ? ? 導(dǎo)入回調(diào)處理位迂,當(dāng)某個(gè)平臺(tái)的功能需要依賴原平臺(tái)提供的SDK支持時(shí)访雪,需要在此方法中對(duì)原平臺(tái)SDK進(jìn)行導(dǎo)入操作。具體的導(dǎo)入方式可以參考ShareSDKConnector.framework中所提供的方法掂林。

?* ?@param configurationHandler ? ? 配置回調(diào)處理臣缀,在此方法中根據(jù)設(shè)置的platformType來填充應(yīng)用配置信息

?*/


? ? ? ? ?ShareSDK.registerActivePlatforms(

? ? ? ? ? ? [SSDKPlatformType.typeQQ.rawValue],

? ? ? ? ? ? // onImport 里的代碼,需要連接社交平臺(tái)SDK時(shí)觸發(fā)

? ? ? ? ? ? onImport: {(platform : SSDKPlatformType) -> Void in

? ? ? ? ? ? ? ? switch platform

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? case SSDKPlatformType.typeQQ:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ShareSDKConnector.connectQQ(QQApiInterface.classForCoder(), tencentOAuthClass: TencentOAuth.classForCoder())?

? ? ? ? ? ? ? ? ? ? default:

? ? ? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ?},

? ? ? ? ? ? onConfiguration: {(platform : SSDKPlatformType , appInfo : NSMutableDictionary?) -> Void in

? ? ? ? ? ? ? ? switch platform

? ? ? ? ? ? ? ? {


? ? ? ? ? ? ? case SSDKPlatformType.typeQQ:

? ? ? ? ? ? ? ? ? ? ? ? //設(shè)置QQ應(yīng)用信息

? ? ? ? ? ? ? ? ? ? ? ? appInfo?.ssdkSetupQQ(byAppId: "100371282",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?appKey: "aed9b0303e3ed1e27bae87c33761161d",

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?authType: SSDKAuthTypeWeb)

? ? ? ? ? ? ? ? ? ? ?default:

? ? ? ? ? ? ? ? ? ? ? ? break

? ? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? })

? ? ? ? return true

? ? }

}


可選:配置新浪微博、Facebook的SSO

登錄新浪微博和facebook的開放平臺(tái)泻帮,獲取AppID 精置。新浪微博的url scheme的設(shè)置格式為wb+AppID,facebook的設(shè)置格式為fb+AppID锣杂。具體參考下圖:


附:目前的新浪微博SDK需要在項(xiàng)目的Build Settings中的Other Linker Flags添加”-ObjC”脂倦,如果不配置有可能會(huì)崩潰。步驟如下:


當(dāng)新浪微博需要客戶端分享或者增加關(guān)注微博的功能元莫,需要打開工程中的*AppDelegate.m(*代表你的工程名字)文件赖阻,導(dǎo)入新浪微博SDK的頭文件并增加新浪微博的外部庫文件接口:


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市柒竞,隨后出現(xiàn)的幾起案子政供,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件布隔,死亡現(xiàn)場離奇詭異离陶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)衅檀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門招刨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人哀军,你說我怎么就攤上這事沉眶。” “怎么了杉适?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵谎倔,是天一觀的道長。 經(jīng)常有香客問我猿推,道長片习,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任蹬叭,我火速辦了婚禮藕咏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秽五。我一直安慰自己孽查,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布坦喘。 她就那樣靜靜地躺著盲再,像睡著了一般。 火紅的嫁衣襯著肌膚如雪起宽。 梳的紋絲不亂的頭發(fā)上洲胖,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音坯沪,去河邊找鬼绿映。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腐晾,可吹牛的內(nèi)容都是我干的叉弦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼藻糖,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼淹冰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起巨柒,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤樱拴,失蹤者是張志新(化名)和其女友劉穎柠衍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晶乔,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡珍坊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了正罢。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阵漏。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖翻具,靈堂內(nèi)的尸體忽然破棺而出履怯,到底是詐尸還是另有隱情,我是刑警寧澤裆泳,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布叹洲,位于F島的核電站,受9級(jí)特大地震影響工禾,放射性物質(zhì)發(fā)生泄漏疹味。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一帜篇、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧诫咱,春花似錦笙隙、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掏呼,卻和暖如春坏快,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背憎夷。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國打工莽鸿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拾给。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓祥得,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蒋得。 傳聞我的和親對(duì)象是個(gè)殘疾皇子级及,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

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