(十一)Open API 指南

Open API 指南

配置管理

獲取配置

描述

獲取Nacos上的配置撩幽。

請(qǐng)求類型

GET

請(qǐng)求URL

/nacos/v1/cs/configs

請(qǐng)求參數(shù)

名稱 類型 是否必須 描述
tenant string 租戶信息,對(duì)應(yīng) Nacos 的命名空間ID字段跺撼。
dataId string 配置 ID阐斜。
group string 配置分組滞时。

返回參數(shù)

參數(shù)類型 描述
string 配置值

錯(cuò)誤編碼

錯(cuò)誤代碼 描述 語(yǔ)義
400 Bad Request 客戶端請(qǐng)求中的語(yǔ)法錯(cuò)誤
403 Forbidden 沒有權(quán)限
404 Not Found 無(wú)法找到資源
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤
200 OK 正常

示例

  • 請(qǐng)求示例

    http:serverIp:8848/nacos/v1/cs/configs?dataId=dataIdparam&group=groupParam&tenant=tenantParam
    
    
  • 返回示例

    contentTest
    
    

監(jiān)聽配置

描述

監(jiān)聽 Nacos 上的配置贼陶,以便實(shí)時(shí)感知配置變更。如果配置變更吃粒,則用獲取配置接口獲取配置的最新值,動(dòng)態(tài)刷新本地緩存拒课。

注冊(cè)監(jiān)聽采用的是異步 Servlet 技術(shù)徐勃。注冊(cè)監(jiān)聽本質(zhì)就是帶著配置和配置值的 MD5 值和后臺(tái)對(duì)比。如果 MD5 值不一致早像,就立即返回不一致的配置僻肖。如果值一致,就等待住 30 秒卢鹦。返回值為空臀脏。

請(qǐng)求類型

POST

請(qǐng)求URL

/nacos/v1/cs/configs/listener

請(qǐng)求參數(shù)

名稱 類型 是否必須 描述
Listening-Configs string 監(jiān)聽數(shù)據(jù)報(bào)文。格式為 dataId2Group2contentMD52tenant1或者dataId2Group2contentMD5^1。

* dataId:配置

IDgroup:配置分組

contentMD5:配置內(nèi)容 MD5 值

tenant:租戶信息揉稚,對(duì)應(yīng) Nacos 的命名空間字段(非必填)

Header 參數(shù)

名稱 類型 是否必須 描述
Long-Pulling-Timeout string 長(zhǎng)輪訓(xùn)等待 30s秒啦,此處填寫 30000。

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

  • 配置多個(gè)字段間分隔符:^2 = Character.toString((char) 2
  • 配置間分隔符:^1 = Character.toString((char) 1)
  • contentMD5: MD5(content)搀玖,第一次本地緩存為空余境,所以這塊為空串

返回參數(shù)

參數(shù)類型 描述
string 配置值

錯(cuò)誤編碼

錯(cuò)誤代碼 描述 語(yǔ)義
400 Bad Request 客戶端請(qǐng)求中的語(yǔ)法錯(cuò)誤
403 Forbidden 沒有權(quán)限
404 Not Found 無(wú)法找到資源
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤
200 OK 正常

示例

  • 請(qǐng)求示例
http://serverIp:8848/nacos/v1/cs/configs/listener

POST 請(qǐng)求體數(shù)據(jù)內(nèi)容:

Listening-Configs=dataId^2group^2contentMD5^2tenant^1

  • 返回示例
如果配置變化

dataId^2group^2tenant^1

如果配置無(wú)變化:會(huì)返回空串

發(fā)布配置

描述

發(fā)布 Nacos 上的配置。

請(qǐng)求類型

POST

請(qǐng)求 URL

/nacos/v1/cs/configs

請(qǐng)求參數(shù)

名稱 類型 是否必須 描述
tenant string 租戶信息灌诅,對(duì)應(yīng) Nacos 的命名空間ID字段
dataId string 配置 ID
group string 配置分組
content string 配置內(nèi)容
type String 配置類型

返回參數(shù)

參數(shù)類型 描述
boolean 是否發(fā)布成功

錯(cuò)誤編碼

錯(cuò)誤代碼 描述 語(yǔ)義
400 Bad Request 客戶端請(qǐng)求中的語(yǔ)法錯(cuò)誤
403 Forbidden 沒有權(quán)限
404 Not Found 無(wú)法找到資源
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤
200 OK 正常

示例

  • 請(qǐng)求示例
http:serverIp:8848/nacos/v1/cs/configs

http body:
dataId=dataIdparam&group=groupParam&tenant=tenantParam&content=contentParam&type=typeParam

  • 返回示例
true

刪除配置

描述

刪除 Nacos 上的配置芳来。

請(qǐng)求類型

DELETE

請(qǐng)求 URL

/nacos/v1/cs/configs

請(qǐng)求參數(shù)

名稱 類型 是否必須 描述
tenant string 租戶信息,對(duì)應(yīng) Naocs 的命名空間ID字段
dataId string 配置 ID
group string 配置分組

返回參數(shù)

參數(shù)類型 描述
boolean 是否刪除成功

錯(cuò)誤編碼

錯(cuò)誤代碼 描述 語(yǔ)義
400 Bad Request 客戶端請(qǐng)求中的語(yǔ)法錯(cuò)誤
403 Forbidden 沒有權(quán)限
404 Not Found 無(wú)法找到資源
500 Internal Server Error 服務(wù)器內(nèi)部錯(cuò)誤
200 OK 正常

示例

  • 請(qǐng)求示例
http:serverIp:8848/nacos/v1/cs/configs?dataId=dataIdparam&group=groupParam

  • 返回示例
true

服務(wù)發(fā)現(xiàn)

注冊(cè)實(shí)例

描述

注冊(cè)一個(gè)實(shí)例到服務(wù)猜拾。

請(qǐng)求類型

POST

請(qǐng)求路徑

/nacos/v1/ns/instance

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
ip 字符串 服務(wù)實(shí)例IP
port int 服務(wù)實(shí)例port
namespaceId 字符串 命名空間ID
weight double 權(quán)重
enabled boolean 是否上線
healthy boolean 是否健康
metadata 字符串 擴(kuò)展信息
clusterName 字符串 集群名
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
ephemeral boolean 是否臨時(shí)實(shí)例

示例請(qǐng)求

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance?port=8848&healthy=true&ip=11.11.11.11&weight=1.0&serviceName=nacos.test.3&encoding=GBK&namespaceId=n1''

示例返回

ok

注銷實(shí)例

描述

刪除服務(wù)下的一個(gè)實(shí)例即舌。

請(qǐng)求類型

DELETE

請(qǐng)求路徑

/nacos/v1/ns/instance

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
ip 字符串 服務(wù)實(shí)例IP
port int 服務(wù)實(shí)例port
clusterName 字符串 集群名稱
namespaceId 字符串 命名空間ID
ephemeral boolean 是否臨時(shí)實(shí)例

示例請(qǐng)求

curl -X DELETE 127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.test.1&ip=1.1.1.1&port=8888&clusterName=TEST1

示例返回

ok

修改實(shí)例

描述

修改服務(wù)下的一個(gè)實(shí)例。

請(qǐng)求類型

PUT

請(qǐng)求路徑

/nacos/v1/ns/instance

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
ip 字符串 服務(wù)實(shí)例IP
port int 服務(wù)實(shí)例port
clusterName 字符串 集群名稱
namespaceId 字符串 命名空間ID
weight double 權(quán)重
metadata JSON 擴(kuò)展信息
enabled boolean 是否打開流量
ephemeral boolean 是否臨時(shí)實(shí)例

示例請(qǐng)求

curl -X PUT 127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.test.1&ip=1.1.1.1&port=8888&clusterName=TEST1&weight=8&metadata={}

示例返回

ok

查詢實(shí)例列表

描述

查詢服務(wù)下的實(shí)例列表

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/instance/list

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
namespaceId 字符串 命名空間ID
clusters 字符串挎袜,多個(gè)集群用逗號(hào)分隔 集群名稱
healthyOnly boolean 否侥涵,默認(rèn)為false 是否只返回健康實(shí)例

示例請(qǐng)求

curl -X GET 127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=nacos.test.1

示例返回

{
    "dom": "nacos.test.1",
    "cacheMillis": 1000,
    "useSpecifiedURL": false,
    "hosts": [{
        "valid": true,
        "marked": false,
        "instanceId": "10.10.10.10-8888-DEFAULT-nacos.test.1",
        "port": 8888,
        "ip": "10.10.10.10",
        "weight": 1.0,
        "metadata": {}
    }],
    "checksum": "3bbcf6dd1175203a8afdade0e77a27cd1528787794594",
    "lastRefTime": 1528787794594,
    "env": "",
    "clusters": ""
}

查詢實(shí)例詳情

描述

查詢一個(gè)服務(wù)下個(gè)某個(gè)實(shí)例詳情。

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/instance

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
ip 字符串 實(shí)例IP
port 字符串 實(shí)例端口
namespaceId 字符串 命名空間ID
cluster 字符串 集群名稱
healthyOnly boolean 否宋雏,默認(rèn)為false 是否只返回健康實(shí)例
ephemeral boolean 是否臨時(shí)實(shí)例

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/instance?serviceName=nacos.test.2&ip=10.10.10.10&port=8888&cluster=DEFAULT'

示例返回

{
    "metadata": {},
    "instanceId": "10.10.10.10-8888-DEFAULT-nacos.test.2",
    "port": 8888,
    "service": "nacos.test.2",
    "healthy": false,
    "ip": "10.10.10.10",
    "clusterName": "DEFAULT",
    "weight": 1.0
}

發(fā)送實(shí)例心跳

描述

發(fā)送某個(gè)實(shí)例的心跳

請(qǐng)求類型

PUT

請(qǐng)求路徑

/nacos/v1/ns/instance/beat

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
ephemeral boolean 是否臨時(shí)實(shí)例
beat JSON格式字符串 實(shí)例心跳內(nèi)容

示例請(qǐng)求

curl -X PUT '127.0.0.1:8848/nacos/v1/ns/instance/beat?serviceName=nacos.test.2&beat=%7b%22cluster%22%3a%22c1%22%2c%22ip%22%3a%22127.0.0.1%22%2c%22metadata%22%3a%7b%7d%2c%22port%22%3a8080%2c%22scheduled%22%3atrue%2c%22serviceName%22%3a%22jinhan0Fx4s.173TL.net%22%2c%22weight%22%3a1%7d'

示例返回

ok

創(chuàng)建服務(wù)

描述

創(chuàng)建一個(gè)服務(wù)

請(qǐng)求類型

POST

請(qǐng)求路徑

/nacos/v1/ns/service

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
namespaceId 字符串 命名空間ID
protectThreshold 浮點(diǎn)數(shù) 保護(hù)閾值,取值0到1,默認(rèn)0
metadata 字符串 元數(shù)據(jù)
selector JSON格式字符串 訪問(wèn)策略

示例請(qǐng)求

curl -X POST '127.0.0.1:8848/nacos/v1/ns/service?serviceName=nacos.test.2&metadata=k1%3dv1'

示例返回

ok

刪除服務(wù)

描述

刪除一個(gè)服務(wù),只有當(dāng)服務(wù)下實(shí)例數(shù)為0時(shí)允許刪除

請(qǐng)求類型

DELETE

請(qǐng)求路徑

/nacos/v1/ns/service

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
namespaceId 字符串 命名空間ID

示例請(qǐng)求

curl -X DELETE '127.0.0.1:8848/nacos/v1/ns/service?serviceName=nacos.test.2'

示例返回

ok

修改服務(wù)

描述

更新一個(gè)服務(wù)

請(qǐng)求類型

PUT

請(qǐng)求路徑

/nacos/v1/ns/service

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
namespaceId 字符串 命名空間ID
protectThreshold 浮點(diǎn)數(shù) 保護(hù)閾值,取值0到1,默認(rèn)0
metadata 字符串 元數(shù)據(jù)
selector JSON格式字符串 訪問(wèn)策略

示例請(qǐng)求

curl -X PUT '127.0.0.1:8848/nacos/v1/ns/service?serviceName=nacos.test.2&metadata=k1%3dv1'

示例返回

ok

查詢服務(wù)

描述

查詢一個(gè)服務(wù)

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/service

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
namespaceId 字符串 命名空間ID

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/service?serviceName=nacos.test.2'

示例返回

{
    metadata: { },
    groupName: "DEFAULT_GROUP",
    namespaceId: "public",
    name: "nacos.test.2",
    selector: {
        type: "none"
    },
    protectThreshold: 0,
    clusters: [
        {
            healthChecker: {
                type: "TCP"
            },
            metadata: { },
            name: "c1"
        }
    ]
}

查詢服務(wù)列表

描述

查詢服務(wù)列表

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/service/list

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
pageNo int 當(dāng)前頁(yè)碼
pageSize int 分頁(yè)大小
groupName 字符串 分組名
namespaceId 字符串 命名空間ID

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/service/list?pageNo=1&pageSize=2'

示例返回

{
    "count":148,
    "doms": [
        "nacos.test.1",
        "nacos.test.2"
    ]
}

查詢系統(tǒng)開關(guān)

描述

查詢系統(tǒng)開關(guān)

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/operator/switches

請(qǐng)求參數(shù)

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/operator/switches'

示例返回

{
    name: "00-00---000-NACOS_SWITCH_DOMAIN-000---00-00",
    masters: null,
    adWeightMap: { },
    defaultPushCacheMillis: 10000,
    clientBeatInterval: 5000,
    defaultCacheMillis: 3000,
    distroThreshold: 0.7,
    healthCheckEnabled: true,
    distroEnabled: true,
    enableStandalone: true,
    pushEnabled: true,
    checkTimes: 3,
    httpHealthParams: {
        max: 5000,
        min: 500,
        factor: 0.85
    },
    tcpHealthParams: {
        max: 5000,
        min: 1000,
        factor: 0.75
    },
    mysqlHealthParams: {
        max: 3000,
        min: 2000,
        factor: 0.65
    },
    incrementalList: [ ],
    serverStatusSynchronizationPeriodMillis: 15000,
    serviceStatusSynchronizationPeriodMillis: 5000,
    disableAddIP: false,
    sendBeatOnly: false,
    limitedUrlMap: { },
    distroServerExpiredMillis: 30000,
    pushGoVersion: "0.1.0",
    pushJavaVersion: "0.1.0",
    pushPythonVersion: "0.4.3",
    pushCVersion: "1.0.12",
    enableAuthentication: false,
    overriddenServerStatus: "UP",
    defaultInstanceEphemeral: true,
    healthCheckWhiteList: [ ],
    checksum: null
}

修改系統(tǒng)開關(guān)

描述

修改系統(tǒng)開關(guān)

請(qǐng)求類型

PUT

請(qǐng)求路徑

/nacos/v1/ns/operator/switches

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
entry 字符串 開關(guān)名
value 字符串 開關(guān)值
debug boolean 是否只在本機(jī)生效,true表示本機(jī)生效,false表示集群生效

示例請(qǐng)求

curl -X PUT '127.0.0.1:8848/nacos/v1/ns/operator/switches?entry=pushEnabled&value=false&debug=true'

示例返回

ok

查看系統(tǒng)當(dāng)前數(shù)據(jù)指標(biāo)

描述

查看系統(tǒng)當(dāng)前數(shù)據(jù)指標(biāo)

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/operator/metrics

請(qǐng)求參數(shù)

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/operator/metrics'

示例返回

{
    serviceCount: 336,
    load: 0.09,
    mem: 0.46210432,
    responsibleServiceCount: 98,
    instanceCount: 4,
    cpu: 0.010242796,
    status: "UP",
    responsibleInstanceCount: 0
}

查看當(dāng)前集群Server列表

描述

查看當(dāng)前集群Server列表

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/operator/servers

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
healthy boolean 是否只返回健康Server節(jié)點(diǎn)

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/operator/servers'

示例返回

{
    servers: [
        {
            ip: "1.1.1.1",
            servePort: 8848,
            site: "unknown",
            weight: 1,
            adWeight: 0,
            alive: false,
            lastRefTime: 0,
            lastRefTimeStr: null,
            key: "1.1.1.1:8848"
        },
        {
            ip: "1.1.1.2",
            servePort: 8848,
            site: "unknown",
            weight: 1,
            adWeight: 0,
            alive: false,
            lastRefTime: 0,
            lastRefTimeStr: null,
            key: "1.1.1.2:8848"
        },
        {
            ip: "1.1.1.3",
            servePort: 8848,
            site: "unknown",
            weight: 1,
            adWeight: 0,
            alive: false,
            lastRefTime: 0,
            lastRefTimeStr: null,
            key: "1.1.1.3:8848"
        }
    ]
}

查看當(dāng)前集群leader

描述

查看當(dāng)前集群leader

請(qǐng)求類型

GET

請(qǐng)求路徑

/nacos/v1/ns/raft/leader

請(qǐng)求參數(shù)

示例請(qǐng)求

curl -X GET '127.0.0.1:8848/nacos/v1/ns/raft/leader'

示例返回

{
    leader: "{"heartbeatDueMs":2500,"ip":"1.1.1.1:8848","leaderDueMs":12853,"state":"LEADER","term":54202,"voteFor":"1.1.1.1:8848"}"
}

更新實(shí)例的健康狀態(tài)

描述

更新實(shí)例的健康狀態(tài),僅在集群的健康檢查關(guān)閉時(shí)才生效,當(dāng)集群配置了健康檢查時(shí),該接口會(huì)返回錯(cuò)誤

請(qǐng)求類型

PUT

請(qǐng)求路徑

/nacos/v1/ns/health/instance

請(qǐng)求參數(shù)

名稱 類型 是否必選 描述
namespaceId 字符串 命名空間ID
serviceName 字符串 服務(wù)名
groupName 字符串 分組名
clusterName 字符串 集群名
ip 字符串 服務(wù)實(shí)例IP
port int 服務(wù)實(shí)例port
healthy boolean 是否健康

示例請(qǐng)求

curl -X PUT 'http://127.0.0.1:8848/nacos/v1/ns/health/instance?port=8848&healthy=true&ip=11.11.11.11&serviceName=nacos.test.3&namespaceId=n1''

示例返回

ok

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末芜飘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磨总,更是在濱河造成了極大的恐慌嗦明,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚪燕,死亡現(xiàn)場(chǎng)離奇詭異娶牌,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)馆纳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門诗良,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鲁驶,你說(shuō)我怎么就攤上這事鉴裹。” “怎么了钥弯?”我有些...
    開封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵径荔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我脆霎,道長(zhǎng)总处,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任睛蛛,我火速辦了婚禮鹦马,結(jié)果婚禮上胧谈,老公的妹妹穿的比我還像新娘。我一直安慰自己荸频,他們只是感情好第岖,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著试溯,像睡著了一般蔑滓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遇绞,一...
    開封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天键袱,我揣著相機(jī)與錄音,去河邊找鬼摹闽。 笑死蹄咖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的付鹿。 我是一名探鬼主播澜汤,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼舵匾!你這毒婦竟也來(lái)了俊抵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤坐梯,失蹤者是張志新(化名)和其女友劉穎徽诲,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吵血,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谎替,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蹋辅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钱贯。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖侦另,靈堂內(nèi)的尸體忽然破棺而出秩命,到底是詐尸還是另有隱情,我是刑警寧澤淋肾,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布硫麻,位于F島的核電站,受9級(jí)特大地震影響樊卓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜杠河,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一碌尔、第九天 我趴在偏房一處隱蔽的房頂上張望浇辜。 院中可真熱鬧,春花似錦唾戚、人聲如沸柳洋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)熊镣。三九已至,卻和暖如春募书,著一層夾襖步出監(jiān)牢的瞬間绪囱,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工莹捡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鬼吵,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓篮赢,卻偏偏與公主長(zhǎng)得像齿椅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子启泣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355