大前端架構思考與選擇

問題

  • “一云多端”成為趨勢,終端類型越來越多呛讲。比如,現(xiàn)在PC Web網(wǎng)站的產品已經(jīng)有了返奉,現(xiàn)在想擴展APP圣蝎,小
    程序... ...怎么辦?一個直接能想到的方法就是在原來的基礎上衡瓶,為APP等增加API接口徘公,如下圖所示:
image.png
image.png

這樣做是可以的,然而一旦遇到修改哮针,那么要同時修改幾個端的代碼关面,很麻煩,不是很完美十厢。

  • “前后端分離”成為趨勢等太。一開始的PC Web網(wǎng)站,大多是采用服務端渲染的前后端一體化的模式蛮放。隨著技術的發(fā)展缩抡,前后端分離,前端渲染逐漸成為趨勢包颁。相應地瞻想,前端開發(fā)人員也從后端團隊中獨立出來。
    最近興起的APP娩嚼,小程序等蘑险,天生就是前后端分離的。
    前端岳悟,APP佃迄,小程序等各自獨立成專門的團隊,當然可以滿足這種趨勢贵少。
    相應地服務端需要為每一個前端部門提供服務呵俏,在實踐中常常發(fā)現(xiàn),重復的內容很多滔灶,有沒有辦法增加復用普碎?或者說后端能否只對接一個“大前端”部門,剩下的“大前端”部門內部自己解決宽气?


    image.png
  • 服務端設計的API接口随常,面向通用服務,還是面向UI萄涯?各個端對數(shù)據(jù)的顯示要求不同绪氛,給一個公共的API還是分別給不同的API?
    比如涝影,時間顯示枣察,PC端可能要求“2018-6-11”的格式,而APP端可能要求“2018/6/11”的格式燃逻,接口怎么給序目?
    再比如,相同功能的一個接口伯襟,PC Web端需要20個字段猿涨,已經(jīng)做好了。現(xiàn)在APP端因為屏幕小姆怪,只要10個字段就夠了叛赚,是復用老的API,讓APP忍受垃圾信息稽揭,還是為APP額外新增一個接口俺附?
    前端和服務端人員可能會有不同意見,這就帶來了沖突溪掀。大家都有一定的道理事镣,怎么協(xié)調?

  • 產品經(jīng)理提出PRD-》UED設計交互稿-》UI設計界面-》后臺設計API接口-》后臺實現(xiàn)服務-》前后端聯(lián)調... ...
    以上是一般的開發(fā)流程揪胃,整個過程還是比較長的璃哟。前端在開發(fā)完靜態(tài)頁面之后,常常需要等后臺服務開發(fā)好了喊递,才能聯(lián)調沮稚,這里往往有等待時間的浪費。等后臺服務好了册舞,往往提測時間也臨近了蕴掏,氣氛很緊張。整個開發(fā)體驗调鲸,往往就是“一半是海水盛杰,一半是火焰”。有沒有辦法縮短這個流程藐石,并且能夠讓前端不依賴后臺服務的完成即供,獨自完成開發(fā)?

架構

從現(xiàn)狀來看于微,前后端分離之后逗嫡,服務端直接給各種端提供服務是很自然能夠想到的一種方式青自。這種方式的優(yōu)點是簡單直接,缺點是不夠靈活驱证。因此延窜,考慮在前端和后端之間插入一個中間層,作為前后端之間的橋梁抹锄,增加靈活性逆瑞。
對于這個中間層的稱呼,一種是“網(wǎng)關層或者接入層”伙单,這個可能會和后臺現(xiàn)有的網(wǎng)關和接入層造成混淆获高。另一種叫法叫做BFF(Backend for Frontends,為前端而存在的后端)吻育,這種稱呼相對比較準確念秧,不會帶來混淆。

  • 網(wǎng)關層或者接入層
image.png
  • BFF(Backend for Frontends布疼,為前端而存在的后端)
image.png

解決方法

  • 針對“一云多端”出爹,可以在BFF層做適配《谐可以考慮MVVM的模式严就,從服務器來的數(shù)據(jù)當做Model,在BFF中針對各種端器罐,提供不同的ViewModel梢为。如果數(shù)據(jù)變了,只要修改Model就可以了轰坊。如果要增加一種端铸董,只要增加一個ViewModel就可以了。在這里集中修改肴沫,就可以解放各個終端的格式轉化工作粟害。

  • “前后端分離”之后,各種端可以融合為一個“大前端”颤芬,跟后端對話的窗口就是BFF悲幅。對于后端來說,只要滿足BFF的數(shù)據(jù)需求就可以了站蝠,剩下的事情汰具,就讓“大前端”內部自己解決。

image.png
  • 服務端設計的API接口菱魔,面向通用服務留荔,不需要面向UI。各種端的UI差異澜倦,由BFF層負責適配聚蝶。這樣的話杰妓,可以讓后端更加專注于業(yè)務邏輯和數(shù)據(jù)服務,不需要操心各種端的差異碘勉。

  • 整個開發(fā)流程太長巷挥,導致相互等待,造成浪費恰聘。針對這個問題句各,可以考慮在BFF層將開發(fā)流程分為兩部分吸占∏邕叮“大前端”作為一個獨立開發(fā)部門,領先后端一個版本發(fā)布周期矾屯。
    具體做法是兼蕊,對于新業(yè)務,將Mock數(shù)據(jù)生成在BFF層件蚕,對于各種端來說孙技,相當于后端服務已經(jīng)好了,可以直接進行聯(lián)調排作,不需要等待牵啦。這樣就把前端對后端的數(shù)據(jù)依賴去除了,更加靈活妄痪。

組織結構

針對上面提到的“大前端”技術架構哈雏,需要相應的“大前端”組織結構相對應。

分類思路

  • “大前端”是針對整個后端來說的衫生,所以這一層是按照職能來分的

  • 在“大前端”下面裳瘪,是否仍然按照職能來分呢?比如iOS開發(fā)罪针,Android開發(fā)彭羹,H5開發(fā)等等。這種分法是可行的泪酱,然而收益不是很大派殷。這只是將一個個小部門“組合成”一個相對大的部門,融合度不是很高墓阀。
    另外一種融合度更高的劃分方法是在“大前端”下劃分為“基礎服務”愈腾,“業(yè)務開發(fā)”兩個子部門。

image.png
  • “基礎服務”的主要職責是為整個“大前端”部門提供公共服務岂津,公共組件虱黄,周邊設施等等。根據(jù)需要和實際情況可以分為“架構”吮成、“工具”橱乱、“組件”等小組

  • “業(yè)務開發(fā)”的主要職責完成業(yè)務部門的需求辜梳。根據(jù)業(yè)務發(fā)展情況,按照具體業(yè)務劃分小組泳叠。

人員組成

人員還是按照專業(yè)分工的角度去找作瞄,按照每個角色最少2人,防止單點風險的思路危纫,人員需求如下:
iOS開發(fā):2人
Android開發(fā):2人
H5開發(fā):4人
Node或者Java開發(fā)(BFF):2人

管理

管理方式跟組織結構相適應宗挥,采用職能管理和敏捷管理相結合的方式。

職能管理

“大前端”是按照職能分的种蝶,跟后端相對應契耿,是技術部下面的一個子部門,按照職能管理方式進行統(tǒng)一管理螃征。

敏捷管理

  • “大前端”內部搪桂,主要還是按照業(yè)務分組的,并且由于BFF的引入盯滚,“大前端”內部可以形成開發(fā)的閉環(huán)踢械,可以考慮引入敏捷管理。
  • 要實行敏捷管理魄藕,需要產品和測試的支持内列。根據(jù)業(yè)務,將相關的產品背率、設計话瞧、測試、開發(fā)(“大前端”)組成虛擬團隊退渗。

流程

和管理模式相對應移稳,采用瀑布模型和敏捷模型相結合的方式。

瀑布模型

職能型組織会油,采用瀑布模型的開發(fā)流程是合適的个粱。產品部,技術部翻翩,測試部一般跟產品開發(fā)相關度比較大都许,按照瀑布模型聯(lián)系起來。這里考慮前后端分離的開發(fā)模式嫂冻,“大前端”可以獨立完成開發(fā)閉環(huán)胶征,雖然BFF層的數(shù)據(jù)是Mock的。
另外桨仿,大前端版本的開發(fā)要求領先后端一個版本以上睛低,這樣也方便對于后端服務的測試。簡單講,就是將通常的“后端功能推動型”改為“大前端產品拉動型”

  • 產品PRD -》交互/UI設計 -》大前端開發(fā) -》大前端測試 -》大前端內部發(fā)布

  • 后端服務開發(fā) -》后端測試 -》對接大前端合適版本(主要是BFF的工作钱雷,Mock數(shù)據(jù)改為從后端服務取數(shù)據(jù)) -》預發(fā)環(huán)境驗證 -》產品上線

敏捷模型

產品骂铁,測試,大前端可以考慮合作罩抗,按照敏捷模型進行開發(fā)拉庵。目的是打破部門墻,加強溝通套蒂;以業(yè)務開發(fā)為共同目標钞支,形成合力。

  • 開發(fā)周期為4周操刀,按照1周預研烁挟、2周開發(fā)測試、1周重構的比例進行分配馍刮。

  • 1周預研:這周的主要任務是產品信夫、測試窃蹋、開發(fā)進行充分溝通卡啰,對這一期的業(yè)務目標達成共識。
    產品的主要工作是講解需求警没、原型匈辱、設計,進行場景化的描述杀迹,定出優(yōu)先級亡脸,確保團隊成員對本期業(yè)務有正確的理解。
    測試的主要工作是進行測試用例編寫树酪,用例評審浅碾,最終通過相應工具,將測試用例數(shù)據(jù)在BFF層形成可執(zhí)行的Mock數(shù)據(jù)续语。
    開發(fā)的主要工作是根據(jù)業(yè)務需求進行技術預研垂谢,技術選型,技術設計疮茄,任務劃分滥朱,工作評估等等。完成“計劃會議”所要求的內容力试,將開發(fā)任務分配到人徙邻。

  • 2周開發(fā):按照敏捷的模式進行開發(fā),將業(yè)務落地畸裳$掷纾“每日站會”要堅持開,及時溝通。開發(fā)每完成一項帅容,測試就可以直接驗證薇芝,注重效率。Mock數(shù)據(jù)由測試統(tǒng)一負責丰嘉,開發(fā)測試用同一套數(shù)據(jù)夯到,減少誤會。這期的結束標志是2周之后的“評審會議”饮亏,開發(fā)測試向產品演示完成的業(yè)務場景耍贾。

  • 1周重構:這周對應的是敏捷開發(fā)里面的“回顧會議”,也是產品路幸、測試荐开、開發(fā)進行充分溝通的一周。產品在公司內部試運行一周简肴,進行驗收晃听,收集反饋,為下一期的產品設計提供數(shù)據(jù)支持砰识。開發(fā)一方面可以修改bug能扒,更重要的是根據(jù)“回顧會議”的內容,進行流程改進辫狼,對“技術債”及時進行重構初斑。也可以進行組件開發(fā),提高今后代碼的復用度膨处。

特殊之處

Mock數(shù)據(jù)

  • 以前的Mock數(shù)據(jù)由開發(fā)自己負責见秤,要么直接代碼寫死,要么借助Charles等工具≌娲唬現(xiàn)在鹃答,將Mock數(shù)據(jù)由測試統(tǒng)一負責,直接生成在BFF層突硝。

  • 以前開發(fā)要寫自測代碼测摔,單元測試代碼;測試設計出用例數(shù)據(jù)之后狞换,一般通過流程工具避咆,比如JIRA,要求開發(fā)自測⌒拊耄現(xiàn)在的模式是測試專職維護BFF上的Mock數(shù)據(jù)查库,將設計的用例轉化為實際可用的Mock數(shù)據(jù),開發(fā)測試用同一套標準黄琼,減少流程和溝通上的損耗樊销。

內部版本

  • “大前端”開發(fā)測試完成的內部版本是半成品整慎,是缺乏后臺實際支撐的。內部發(fā)版之后围苫,在內部的測試服務器上試運行裤园。(開發(fā)版本運行在開發(fā)服務器上)。運行需要的數(shù)據(jù)由測試負責Mock剂府。

  • 這個內部版本不能交給實際的用戶使用拧揽,但是內部的產品,開發(fā)腺占,測試可以使用淤袜,用來體驗,查找bug等等衰伯。

  • 對于后端開發(fā)來說铡羡,也很便利,服務開發(fā)好之后意鲸,有現(xiàn)成的產品用來測試烦周,能省很多事。

  • 向老板匯報怎顾,或者向客戶展示读慎,也很方便,有實際可用的產品可以體驗杆勇,雖然數(shù)據(jù)是Mock的贪壳。這個跟看word文檔饱亿,ppt蚜退,原型設計第租,或者UI圖赋秀,感覺是完全兩樣的。

  • 修改成本小统锤,一般來說配猫,70%的工作在后臺開發(fā)幅恋,30%的工作在“大前端”頁面。在內部試用的那一周中泵肄,發(fā)現(xiàn)的問題捆交,或者需求變更,可以非常容易的在下一個版本迭代完成腐巢。這個時候品追,后臺服務的開發(fā)還沒開始,或者剛剛開始冯丙,變更成本很小肉瓦。

需求拉動

  • 以前,想開發(fā)一個功能,首先考慮的是后端邏輯是怎么樣的泞莉。很多時候哪雕,要根據(jù)后端現(xiàn)有的邏輯,修改頁面的展示鲫趁,交互的順序等等斯嚎。是一種“后端功能推動的模式”

  • 現(xiàn)在,產品和“大前端”一起挨厚,領先后端至少一個迭代以上孝扛。遇到需求變更強烈的點,或者爭論較大的點幽崩,可以考慮讓內部版本運行時間長一點苦始,比如領先兩三個版本。等產品想清楚了慌申,基本穩(wěn)定了陌选,后端再上。這樣蹄溉,產品思考問題的重點咨油,就從后端現(xiàn)有的功能轉移到客戶現(xiàn)實需求上來∑饩簦“需求拉動型開發(fā)模式”役电,解放了產品的思維,更容易設計出符合客戶期望的產品棉胀。

  • 原來的模式是由后端推著前端走法瑟,現(xiàn)在的模式是產品和前端拉著后端走,思維模式是完全不一樣的唁奢。

  • “大前端需求拉動型開發(fā)模式”:先有個可用的產品霎挟,搞清楚用戶喜歡什么,再接上后端實現(xiàn)麻掸。

  • “后端功能推動型開發(fā)模式”:先做需求分析酥夭,評估現(xiàn)有后端功能,然后想辦法滿足客戶需求脊奋。

  • 問題是:“客戶或者用戶知道自己想要什么嗎熬北?需求分析能有效嗎?”诚隙。相對來講讶隐,如果有個可用的東西,真正用起來了最楷,用戶更加容易知道自己想要什么整份。比如“這個顏色最好改一下”待错,“這里的按鈕礙眼,最好去掉”烈评,“這里我想看更多的信息火俄,最好能加上”。諸如此類

平穩(wěn)的節(jié)奏

  • 職能型組織讲冠,瀑布式開發(fā)模型瓜客,有利于控制風險,缺點是時間過長竿开,一般項目至少1個月以上谱仪,面對需求變更能力較弱。是一種偏重計劃的模式否彩。

  • 敏捷開發(fā)模式疯攒,有利于團隊溝通,時間一般較短列荔,一般是2~4周敬尺。至于風險,考慮較少贴浙,一般是先用了再說砂吞,發(fā)現(xiàn)問題,下個周期再改崎溃。是一種偏重經(jīng)驗的模式蜻直。

  • 將這兩者結合,是希望達到風險和速度的平衡袁串,形成平穩(wěn)的節(jié)奏概而。將敏捷模型中原本只有4小時的計劃會議和回顧會議擴展為一周,是為了讓跨部門溝通更充分般婆,讓產品驗收更全面到腥,降低風險。

  • 集中資源做“重要而不緊急的事情”蔚袍。客戶需求很重要配名,但從想法到落地啤咽,并沒有那么快。所以發(fā)揮“大前端”靈活的優(yōu)勢渠脉,讓客戶早一點看到想法落地宇整,可以超越客戶期望。

  • “需求變更”本身芋膘,也是一種潛在的客戶需求鳞青。在用上實際可用的產品前霸饲,很多時候,客戶也不知道自己想要什么臂拓。所以厚脉,采用兩階段交付的方式,用總開發(fā)成本30%左右的“大前端”半成品胶惰,挖掘客戶的潛在需求傻工,可以提高客戶的滿意度。

  • “可用的產品勝過完備的文檔”孵滞,雖然是個半成品中捆,站在客戶的角度,比word文檔坊饶,原型設計等更實在泄伪,更靠譜。

重視重構

  • 技術債怎么辦匿级?是立即處理還是等累積到一定程度臂容,再集中處理?

  • 讓業(yè)務停下根蟹,專門做重構脓杉,這種機會只能說可遇而不可求。

  • 將原來敏捷中不超過4小時的回顧會議简逮,擴展為1個星期的重構階段球散,正是為了解決技術債不斷累積的問題。達到“一邊飛行散庶,一邊換引擎”的效果蕉堰。

  • 這個階段,產品和業(yè)務也沒有停悲龟,在試用屋讶,在體驗,在驗證一開始的設計理念是否符合實際须教。這樣就促成了產品和技術的雙贏局面皿渗。

重視預研

  • 這里將敏捷開發(fā)中原本4小時的“計劃會議”擴展為1周。

  • 敏捷模型在介紹時有個假設轻腺,那就是需求確定乐疆,原型設計,UI資源贬养,前后端接口設計等各種資源都準備好了挤土,相關的可行性,也就是預研都完成了误算,再開“計劃會議”

  • 實際情況是仰美,上面提的那些條件往往都沒準備好迷殿,或者有缺失。開發(fā)在進行到一半的時候咖杂,經(jīng)常發(fā)現(xiàn)交互邏輯不落地庆寺,要改原型『采唬或者發(fā)現(xiàn)UI資源缺少止邮,接口定義不合理等等。

  • 特別是職能型組織奏窑,跨部門溝通导披,這種信息缺失的事情更容易發(fā)生。

  • 在正式開發(fā)之前埃唯,花1周時間撩匕,集中進行溝通,進行技術預研墨叛,做好充分準備止毕,將問題發(fā)現(xiàn)在工程開始之前,對減少不必要的返工是很有意義的漠趁。

面向BFF編程

  • BFF成了“大前端”和后端之間的抽象接口

  • BFF需要做好兩邊的適配

  • 可以考慮將一些公共業(yè)務也接過來扁凛,實現(xiàn)“輕客戶端”的目標

  • 自然而然的“熱更新”,BFF采用了后端的技術闯传,做的是“大前端”的工作谨朝。有修改,更新服務甥绿,就生效了字币,天然的熱更新。

  • 天生的“跨平臺”共缕,BFF這一個地方修改洗出,各種端都能起作用。

  • 增加掌控力图谷。BFF由企業(yè)維護翩活,而各種端掌握在用戶手里。將業(yè)務由各種端移到BFF蜓萄,可以顯著提供企業(yè)的掌控力隅茎。
    這里的邊界是:“能服務端(BFF)實現(xiàn)的,就不要放到客戶端去嫉沽,除非遇到嚴重的性能問題”。

  • 注意性能瓶頸俏竞,這是關鍵節(jié)點绸硕,是前后端的對接點堂竟。并且還要注意,對接之后玻佩,Mock數(shù)據(jù)要清除干凈出嘹,保證生產版本的數(shù)據(jù)是來自真正的后端。

效率和安全并重

  • “大前端”注重效率咬崔,快速響應用戶的需求變更税稼。

  • 后端注重安全,按照瀑布模型或者迭代模型垮斯,注重風險管控郎仆。

  • 通過BFF解耦,讓前后端各自獨立運行兜蠕。

思考

  • “大前端”是最近起來的概念扰肌。和傳統(tǒng)的前端相比,“大前端”有兩個方面的擴展熊杨。一個是端的多樣性曙旭,比如新增了iOS,Android晶府,小程序桂躏,公眾號等等。另外一個是往后端擴展川陆,比如Node.js的興起剂习,或許寫后端服務沒有Java成熟,寫B(tài)FF還是可以勝任的书劝。

  • “大前端”是相對于傳統(tǒng)的前端进倍,iOS,Android购对,H5等獨立小團隊而言的猾昆。從基礎服務+業(yè)務支持兩個方面,促進團隊的融合骡苞。在架構垂蜗,工具鏈,組件化等幾個方面提高復用解幽,提升效率贴见。

  • “大前端”是隨著前后端分離的趨勢逐步提出來的,是相對于后端來講的躲株,因此片部,要達到和后端既相互獨立、減少依賴霜定,又相互合作档悠、溝通清晰的目標廊鸥。

  • “大前端”概念最初是從阿里傳出來的,后來餓了么發(fā)展最出名辖所,現(xiàn)在很多公司在用惰说,和微服務一起,接受度也在增加缘回,成為一種趨勢... ...

  • “大前端”在具體落地的時候吆视,還沒有固定的模式,各家的方案也不盡相同酥宴。有可供參考的成功案例啦吧,沒有可供復制的成熟模式。需要根據(jù)自身的具體情況幅虑,摸索前進丰滑。

參考文章

微服務下使用GraphQL構建BFF
前后端分離演進:不能微服務,那就使用 BFF 隔離
一個可供創(chuàng)業(yè)公司參考的移動APP服務端架構演進方案
螞蟻財富的BFF實踐
了解BFF架構
大前端技術大會
當我們在談大前端的時候倒庵,我們談的是什么
如何落地和管理一個“大前端”團隊?餓了么大前端團隊解密
我理解中的“大前端”/“大無線”
漫極客 CTO 李焱:大前端之路 - 如何用Web技術一統(tǒng)三端(Web褒墨、Desktop、Mobile)開發(fā)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末擎宝,一起剝皮案震驚了整個濱河市郁妈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌噩咪,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件极阅,死亡現(xiàn)場離奇詭異胃碾,居然都是意外死亡,警方通過查閱死者的電腦和手機筋搏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門仆百,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奔脐,你說我怎么就攤上這事俄周。” “怎么了髓迎?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵峦朗,是天一觀的道長。 經(jīng)常有香客問我排龄,道長波势,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮艰亮,結果婚禮上闭翩,老公的妹妹穿的比我還像新娘挣郭。我一直安慰自己迄埃,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布兑障。 她就那樣靜靜地躺著侄非,像睡著了一般。 火紅的嫁衣襯著肌膚如雪流译。 梳的紋絲不亂的頭發(fā)上逞怨,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音福澡,去河邊找鬼叠赦。 笑死,一個胖子當著我的面吹牛革砸,可吹牛的內容都是我干的除秀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼算利,長吁一口氣:“原來是場噩夢啊……” “哼册踩!你這毒婦竟也來了?” 一聲冷哼從身側響起效拭,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤暂吉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后缎患,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慕的,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年挤渔,在試婚紗的時候發(fā)現(xiàn)自己被綠了肮街。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蚂蕴,死狀恐怖低散,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情骡楼,我是刑警寧澤熔号,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站鸟整,受9級特大地震影響引镊,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一弟头、第九天 我趴在偏房一處隱蔽的房頂上張望吩抓。 院中可真熱鬧,春花似錦赴恨、人聲如沸疹娶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雨饺。三九已至,卻和暖如春惑淳,著一層夾襖步出監(jiān)牢的瞬間额港,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工歧焦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留移斩,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓绢馍,卻偏偏與公主長得像向瓷,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子痕貌,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內容