復(fù)現(xiàn)-新聞發(fā)布-項(xiàng)目

提要

如題,之前做過(guò)“新聞發(fā)布”這個(gè)項(xiàng)目,這里講一下復(fù)現(xiàn)

之前文章如下

https://wnhyang.gitee.io/article/48213f39.html

https://wnhyang.gitee.io/article/54805cfd.html
之前也說(shuō)過(guò)我的一些設(shè)計(jì)是參考簡(jiǎn)書(shū)的,所以下面展示的也是很像

開(kāi)始

一個(gè)簡(jiǎn)易的新聞發(fā)布系統(tǒng)毫玖,前臺(tái)可實(shí)現(xiàn)蛋勺,新聞的在線編輯(富文本編輯器實(shí)現(xiàn)),查看新聞烁登,評(píng)論新聞,問(wèn)題反饋蔚舀,個(gè)人信息修改等功能饵沧,后臺(tái)就是實(shí)現(xiàn)包括用戶(hù)锨络、新聞分類(lèi)、新聞信息狼牺、評(píng)論等管理

首頁(yè)參考下圖

[圖片上傳失敗...(image-92f3ff-1648794005365)]

反饋參考下圖

[圖片上傳失敗...(image-ae9dec-1648794005366)]

架構(gòu)圖

[圖片上傳失敗...(image-43f710-1648794005366)]

數(shù)據(jù)庫(kù)設(shè)計(jì)

CREATE TABLE `user` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `user_name` VARCHAR ( 20 ) NOT NULL DEFAULT '' COMMENT '用戶(hù)名',
    `password` VARCHAR ( 100 ) NOT NULL DEFAULT '123456' COMMENT '密碼',
    `email` VARCHAR ( 30 ) NOT NULL DEFAULT '' COMMENT '郵箱',
    `user_type` TINYINT ( 4 ) NOT NULL DEFAULT '0' COMMENT '用戶(hù)類(lèi)型(0:普通用戶(hù)羡儿,1:媒體人,2:管理員)',
    `phone` VARCHAR ( 50 ) NOT NULL DEFAULT '' COMMENT '手機(jī)號(hào)',
    `show_phone` TINYINT ( 1 ) NOT NULL DEFAULT '0' COMMENT '是否展示手機(jī)號(hào)(0:是锁右,1否)',
    `sign` VARCHAR ( 30 ) NOT NULL DEFAULT '' COMMENT '簽名',
    `intro` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '介紹',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效失受,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    UNIQUE KEY `idx_user_name` ( `user_name` ),
    UNIQUE KEY `idx_email` ( `email` ),
    KEY `idx_update_time` ( `update_time` ) 
) ENGINE = INNODB AUTO_INCREMENT = 20 DEFAULT CHARSET = utf8mb4 COMMENT = '新聞?dòng)脩?hù)表';
CREATE TABLE `user_cert` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `user_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '用戶(hù)id',
    `cert_info` VARCHAR ( 50 ) NOT NULL DEFAULT '' COMMENT '認(rèn)證信息',
    `cert_material` VARCHAR ( 255 ) NOT NULL DEFAULT '' COMMENT '認(rèn)證材料',
    `state` TINYINT ( 4 ) NOT NULL DEFAULT '0' COMMENT '認(rèn)證狀態(tài)(0:待審核,1:通過(guò)咏瑟,2:未通過(guò))',
    `remark` VARCHAR ( 50 ) NOT NULL DEFAULT '' COMMENT '備注',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效拂到,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_update_time` ( `update_time` ),
    KEY `idx_user_id` ( `user_id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 12 DEFAULT CHARSET = utf8mb4 COMMENT = '用戶(hù)認(rèn)證表';
CREATE TABLE `news` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `category_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '新聞分類(lèi)id',
    `user_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '作者id',
    `title` VARCHAR ( 50 ) NOT NULL DEFAULT '' COMMENT '新聞標(biāo)題',
    `summary` VARCHAR ( 30 ) NOT NULL DEFAULT '' COMMENT '新聞?wù)?,
    `content` VARCHAR ( 1000 ) NOT NULL DEFAULT '' COMMENT '新聞內(nèi)容',
    `state` TINYINT ( 4 ) NOT NULL DEFAULT '0' COMMENT '新聞狀態(tài)(0:未操作,草稿狀態(tài)码泞,1:等待兄旬,2:通過(guò),3:不通過(guò))',
    `remark` VARCHAR ( 50 ) NOT NULL DEFAULT '' COMMENT '備注',
    `comment_count` INT ( 10 ) NOT NULL DEFAULT '0' COMMENT '評(píng)論數(shù)余寥,只計(jì)算一級(jí)評(píng)論',
    `star_count` INT ( 10 ) NOT NULL DEFAULT '0' COMMENT '收藏?cái)?shù)',
    `like_count` INT ( 10 ) NOT NULL DEFAULT '0' COMMENT '喜歡數(shù)',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效领铐,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_news_title` ( `title` ),
    KEY `idx_update_time` ( `update_time` ),
    KEY `idx_user_id` ( `user_id` ),
    KEY `idx_category_id` ( `category_id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 32 DEFAULT CHARSET = utf8mb4 COMMENT = '新聞表';
CREATE TABLE `news_category` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `category_name` VARCHAR ( 10 ) NOT NULL DEFAULT '' COMMENT '新聞分類(lèi)名',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_update_time` ( `update_time` ) 
) ENGINE = INNODB AUTO_INCREMENT = 23 DEFAULT CHARSET = utf8mb4 COMMENT = '新聞分類(lèi)表';
CREATE TABLE `news_comment` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `news_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '新聞id',
    `user_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '作者id',
    `parent_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '父評(píng)論id',
    `is_top` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否一級(jí)評(píng)論宋舷,只有兩級(jí)評(píng)論',
    `content` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '評(píng)論內(nèi)容',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效绪撵,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_update_time` ( `update_time` ),
    KEY `idx_news_id` ( `news_id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 20 DEFAULT CHARSET = utf8mb4 COMMENT = '新聞評(píng)論表';
CREATE TABLE `user_like_news` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `news_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '新聞id',
    `user_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '用戶(hù)id',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_update_time` ( `update_time` ),
    KEY `idx_user_id` ( `user_id` ),
    KEY `idx_news_id` ( `news_id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 25 DEFAULT CHARSET = utf8mb4 COMMENT = '用戶(hù)喜歡新聞表';
CREATE TABLE `user_star_news` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `news_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '新聞id',
    `user_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '用戶(hù)id',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效祝蝠,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_update_time` ( `update_time` ),
    KEY `idx_user_id` ( `user_id` ),
    KEY `idx_news_id` ( `news_id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 14 DEFAULT CHARSET = utf8mb4 COMMENT = '用戶(hù)收藏新聞表';
CREATE TABLE `feedback` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `user_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '反饋人id',
    `type_id` BIGINT ( 20 ) NOT NULL DEFAULT '-1' COMMENT '反饋類(lèi)型id',
    `content` VARCHAR ( 100 ) NOT NULL DEFAULT '' COMMENT '反饋內(nèi)容',
    `state` TINYINT ( 1 ) NOT NULL DEFAULT '0' COMMENT '反饋狀態(tài)(0:未處理音诈,1:處理)',
    `remark` VARCHAR ( 50 ) NOT NULL DEFAULT '' COMMENT '備注',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
    KEY `idx_update_time` ( `update_time` ),
    KEY `idx_user_id` ( `user_id` ),
    KEY `idx_type_id` ( `type_id` ) 
) ENGINE = INNODB AUTO_INCREMENT = 9 DEFAULT CHARSET = utf8mb4 COMMENT = '反饋表';
CREATE TABLE `feedback_type` (
    `id` BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主鍵id',
    `type_name` VARCHAR ( 20 ) NOT NULL DEFAULT '' COMMENT '反饋類(lèi)型名',
    `valid` TINYINT ( 1 ) NOT NULL DEFAULT '1' COMMENT '是否有效(0:無(wú)效绎狭,1有效)',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時(shí)間',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
    PRIMARY KEY ( `id` ),
KEY `idx_update_time` ( `update_time` ) 
) ENGINE = INNODB AUTO_INCREMENT = 21 DEFAULT CHARSET = utf8mb4 COMMENT = '反饋類(lèi)型表';

接口設(shè)計(jì)

操作人 主要接口 說(shuō)明
管理員 對(duì)幾乎所有內(nèi)容的管理

用戶(hù)認(rèn)證審核
用戶(hù)管理
新聞分類(lèi)管理
新聞審核
新聞管理
新聞評(píng)論管理
反饋管理 | /user/info/(list/update/add/delete)
/user/cert/(list/update/delete)
/news/category/(list/update/add/delete)
/news/info/(list/update/add/delete)
/comment/info/list
/comment/delete
/feedback/type/(list/update/add/delete)
/feedback/info/(list/update/delete) | 就正常管理界面 |
| 媒體人 | 新聞來(lái)源
需要通過(guò)認(rèn)證審核可發(fā)新聞(可限制時(shí)間细溅,一段時(shí)間后還需認(rèn)證)
個(gè)人新聞增刪改
個(gè)人信息修改提交認(rèn)證
查看新聞
喜歡收藏新聞
評(píng)論新聞
反饋 | /news/add
/news/delete
/news/{userId}/news
/news/{userId}/content
/news/{userId}/submit
/news/{userId}/cancel | 編輯界面參考如下在此可看到自己所有新聞(所有狀態(tài)),可編輯修改
[圖片上傳失敗...(image-768a63-1648794005366)]
[圖片上傳失敗...(image-ee54cb-1648794005366)]
[圖片上傳失敗...(image-374743-1648794005366)] |
| 一般用戶(hù) | 普通用戶(hù)
個(gè)人信息修改
提交認(rèn)證儡嘶,通過(guò)認(rèn)證可變?yōu)槊襟w人
查看新聞
喜歡收藏新聞
評(píng)論新聞
反饋 | /news/{newsId}/comment
/news/{newsId}/star
/news/{newsId}/like
/news/{newsId}/unlike
/user/update
/user/delete
/user/cert/add
/user/{userId}/cert
/feedback/all
/feedback/add
/user/{userId}/feedback | 個(gè)人主頁(yè)參考如下展示基本個(gè)人信息同時(shí)喇聊,顯示已過(guò)審核新聞,喜歡收藏新聞
[圖片上傳失敗...(image-d9c492-1648794005366)] |
| 游客 | 查看新聞 | /news/{newsId}
/comment/list
/user/{userId}
/user/{userId}/like
/user/like/list
/user/{userId}/star
/user/star/list
/news/category/all
/{cId} | 查看新聞參考如下顯示新聞標(biāo)題蹦狂、內(nèi)容誓篱、分類(lèi)、評(píng)論凯楔、推薦新聞等
[圖片上傳失敗...(image-ea12f-1648794005366)] |

新聞狀態(tài)轉(zhuǎn)換圖

[圖片上傳失敗...(image-c4ef90-1648794005366)]

部分?jǐn)?shù)據(jù)流轉(zhuǎn)圖

[圖片上傳失敗...(image-4f3f1b-1648794005366)]

緩存設(shè)計(jì)

新聞點(diǎn)贊緩存設(shè)計(jì)

https://wnhyang.gitee.io/article/1e9afcf1.html

新聞分類(lèi)名和反饋類(lèi)型名轉(zhuǎn)為JSON字符串存儲(chǔ)窜骄,因?yàn)檫@部分只由管理員修改,而且?guī)缀醪蛔兲淅保詻](méi)有設(shè)置過(guò)期時(shí)間,并在修改時(shí)刪除緩存御滩,以做到數(shù)據(jù)一致

單個(gè)新聞分類(lèi)名鸥拧、單個(gè)反饋類(lèi)型名党远、用戶(hù)名、新聞標(biāo)題富弦、用戶(hù)郵箱存對(duì)應(yīng)字符串沟娱,有過(guò)期時(shí)間,也會(huì)在刪除修改時(shí)刪除緩存

沒(méi)做的

新聞評(píng)論數(shù)腕柜、點(diǎn)擊量的緩存hash

每個(gè)用戶(hù)的新聞列表緩存set/zset

新聞簡(jiǎn)單信息緩存hash

熱門(mén)新聞內(nèi)容緩存hash

推薦列表list

收藏夾set/zset

新聞總熱榜济似,分類(lèi)熱榜set/zset

總結(jié)

問(wèn)題/需要改進(jìn)

評(píng)論關(guān)聯(lián)其他評(píng)論(一級(jí)評(píng)論或回復(fù)之間的),數(shù)據(jù)庫(kù)需要再設(shè)計(jì)盏缤,刪除需要重新考慮邏輯

在擴(kuò)展功能時(shí)要考慮數(shù)據(jù)庫(kù)表是否需要重新設(shè)計(jì)

簡(jiǎn)單的關(guān)聯(lián)表(兩個(gè)id組成的)砰蠢,可以省去關(guān)聯(lián)表的id,由關(guān)聯(lián)的兩個(gè)id組成復(fù)合主鍵

展望

  • 用戶(hù)權(quán)限唉铜,可使用SpringSecurity等安全框架台舱,同時(shí)對(duì)敏感信息加密存儲(chǔ)

  • 單個(gè)服務(wù)過(guò)大時(shí),考慮拆分服務(wù)

  • 分布式場(chǎng)景考慮潭流,事務(wù)問(wèn)題竞惋,定時(shí)任務(wù)同樣也要考慮分布式下的問(wèn)題

  • 加入ES優(yōu)化查詢(xún)

  • 數(shù)據(jù)表結(jié)構(gòu),索引優(yōu)化

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灰嫉,一起剝皮案震驚了整個(gè)濱河市拆宛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讼撒,老刑警劉巖浑厚,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異椿肩,居然都是意外死亡瞻颂,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)郑象,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)贡这,“玉大人,你說(shuō)我怎么就攤上這事厂榛「墙茫” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵击奶,是天一觀的道長(zhǎng)辈双。 經(jīng)常有香客問(wèn)我,道長(zhǎng)柜砾,這世上最難降的妖魔是什么湃望? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上证芭,老公的妹妹穿的比我還像新娘瞳浦。我一直安慰自己,他們只是感情好废士,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布叫潦。 她就那樣靜靜地躺著,像睡著了一般官硝。 火紅的嫁衣襯著肌膚如雪矗蕊。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,682評(píng)論 1 312
  • 那天氢架,我揣著相機(jī)與錄音傻咖,去河邊找鬼。 笑死达箍,一個(gè)胖子當(dāng)著我的面吹牛没龙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播缎玫,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼硬纤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了赃磨?” 一聲冷哼從身側(cè)響起筝家,我...
    開(kāi)封第一講書(shū)人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邻辉,沒(méi)想到半個(gè)月后溪王,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡值骇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年莹菱,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吱瘩。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡道伟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出使碾,到底是詐尸還是另有隱情蜜徽,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布票摇,位于F島的核電站拘鞋,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏矢门。R本人自食惡果不足惜盆色,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一灰蛙、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧隔躲,春花似錦缕允、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)教届。三九已至响鹃,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間案训,已是汗流浹背买置。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留强霎,地道東北人忿项。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像城舞,于是被迫代替她去往敵國(guó)和親轩触。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

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