【vue3.0】8.0 某東到家(八)——路由守衛(wèi)實(shí)現(xiàn)登錄校檢功能秉版、注冊(cè)頁(yè)面的實(shí)現(xiàn)

限制只有登錄才能訪問(wèn)首頁(yè),而不登錄只能打開(kāi)登錄界面茬祷。

這就用到路由守衛(wèi)功能清焕。
修改路由配置文件``:

import {
  createRouter,
  createWebHistory
} from 'vue-router'

const routes = [{
  path: '/',
  name: 'Home',
  component: () => import(/* webpackChunkName: "home" */ '../views/home/Home.vue')

}, {
  path: '/login',
  name: 'Login',
  component: () => import(/* webpackChunkName: "login" */ '../views/login/Login.vue')

}]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})
// beforeEach:每次做路由跳轉(zhuǎn)之前都會(huì)執(zhí)行這個(gè)操作。
router.beforeEach((to, from, next) => {
  // to and from are Route Object,
  // to:跳轉(zhuǎn)的時(shí)候想要跳轉(zhuǎn)的頁(yè)面的信息
  // from :指從哪里跳過(guò)來(lái)的信息
  // next() must be called to resolve the hook}
  // 中間件繼續(xù)執(zhí)行的方法

  const isLogin =  const isLogin = false
  console.log(to, from)
  /** 判斷是否登錄 */
  // 必須雙循環(huán)祭犯,才能防止死循環(huán)
  if (isLogin || to.name === 'Login') {
    next()
  } else {
    // 如果沒(méi)有登錄秸妥,就跳到登錄頁(yè)面
    next({
      name: 'Login'
    })
  }
})
export default router

這樣,無(wú)論什么子路徑都會(huì)跳轉(zhuǎn)到登錄頁(yè)面沃粗。
修改是否登錄為本地存儲(chǔ):

......
  const isLogin = localStorage.isLogin // 從本地存儲(chǔ)中取isLogin
......

修改src\views\login\Login.vue:

<template>
  <div class="wrapper">
    <img class="wrapper__img" src="/i18n/9_16/img/user.png" />
    <div class="wrapper__input">
      <input class="wrapper__input__content" placeholder="請(qǐng)輸入手機(jī)號(hào)碼" />
    </div>
    <div class="wrapper__input">
      <input
        type="password"
        class="wrapper__input__content"
        placeholder="請(qǐng)輸入密碼"
      />
    </div>
    <div class="wrapper__login-button" @click="handleLogin">登陸</div>
    <div class="wrapper__login__item">
      <div class="wrapper__login__item__link">立即注冊(cè)</div>
      <p class="wrapper__login__item__cut">|</p>
      <div class="wrapper__login__item__password">忘記密碼</div>
    </div>
  </div>
</template>

<script>
// 路由跳轉(zhuǎn)方法
import { useRouter } from 'vue-router'
export default {
  name: 'Login',
  setup () {
    // 獲取路由實(shí)例
    const router = useRouter()
    // 登錄按鈕
    const handleLogin = () => {
      localStorage.isLogin = true
      // 登陸之后重新做一次頁(yè)面跳轉(zhuǎn)粥惧,再訪問(wèn)下一個(gè)頁(yè)面
      router.push({ name: 'Home' })
    }
    return { handleLogin }
  }
}
</script>

<style lang="scss" scoped>
@import '@/style/viriables';
.wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  &__img {
    display: block;
    margin: 0 auto 0.4rem auto;
    width: 0.66rem;
    height: 0.66rem;
  }
  &__input {
    // box-sizing: border-box;//內(nèi)部間距
    height: 0.48rem;
    margin: 0 0.4rem 0.16rem 0.4rem;
    background: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.06rem;
    &__content {
      line-height: 0.48rem;
      background: none;
      border: none;
      outline: none;
      width: 100%;
      font-size: 0.16rem;
      color: $centent-notice-fontcolor;
      &::placeholder {
        color: $centent-notice-fontcolor;
      }
    }
  }
  &__login-button {
    line-height: 0.48rem;
    margin: 0.32rem 0.4rem 0.16rem 0.4rem;
    background: #0091ff;
    color: #fff;
    box-shadow: 0 0.04rem 0.08rem 0 rgba(0, 145, 255, 0.32);
    border-radius: 0.04rem;
    font-size: 0.16rem;
    text-align: center;
  }
  &__login__item {
    text-align: center;
    &__link {
      display: inline-block;
      margin: auto 0.05rem auto 0.05rem;
      text-align: center;
      font-size: 0.14rem;
      color: $centent-notice-fontcolor;
    }
    &__cut {
      display: inline-block;
      text-align: center;
      font-size: 0.14rem;
      margin: auto 0.05rem auto 0.05rem;
    }
    &__password {
      display: inline-block;
      text-align: center;
      font-size: 0.14rem;
      margin: auto 0.05rem auto 0.05rem;
      color: $centent-notice-fontcolor;
    }
  }
}
</style>

實(shí)現(xiàn)一個(gè)簡(jiǎn)單的登錄邏輯。但是如果已經(jīng)登錄最盅,那么就不應(yīng)該讓用戶繼續(xù)訪問(wèn)到登錄頁(yè)面:
修改src\router\index.js:

import {
  createRouter,
  createWebHistory
} from 'vue-router'

const routes = [{
  path: '/',
  name: 'Home',
  component: () => import(/* webpackChunkName: "home" */ '../views/home/Home.vue')

}, {
  path: '/login',
  name: 'Login',
  component: () => import(/* webpackChunkName: "login" */ '../views/login/Login.vue'),
  beforeEnter: (to, from, next) => {
    // 只有訪問(wèn)Login頁(yè)面之前才會(huì)執(zhí)行次函數(shù)
    const isLogin = localStorage.isLogin // 從本地存儲(chǔ)中取isLogin
    if (isLogin) {
      // 如果登錄突雪,就跳到首頁(yè)頁(yè)面
      next({
        name: 'Home'
      })
    } else {
      // 否則跳轉(zhuǎn)到登錄頁(yè)面
      next()
    }
  }
}]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})
// beforeEach:全局,每次做路由跳轉(zhuǎn)之前都會(huì)執(zhí)行這個(gè)操作涡贱。
router.beforeEach((to, from, next) => {
  // to and from are Route Object,
  // to:跳轉(zhuǎn)的時(shí)候想要跳轉(zhuǎn)的頁(yè)面的信息
  // from :指從哪里跳過(guò)來(lái)的信息
  // next() must be called to resolve the hook}
  // 中間件繼續(xù)執(zhí)行的方法

  const isLogin = localStorage.isLogin // 從本地存儲(chǔ)中取isLogin
  console.log(to, from)
  /** 判斷是否登錄 */
  // 必須雙循環(huán)咏删,才能防止死循環(huán)
  if (isLogin || to.name === 'Login') {
    next()
  } else {
    // 如果沒(méi)有登錄,就跳到登錄頁(yè)面
    next({
      name: 'Login'
    })
  }
})
export default router

當(dāng)然问词,可以優(yōu)化一下寫(xiě)法:

const routes = [{
  path: '/',
  name: 'Home',
  component: () => import(/* webpackChunkName: "home" */ '../views/home/Home.vue')

}, {
  path: '/login',
  name: 'Login',
  component: () => import(/* webpackChunkName: "login" */ '../views/login/Login.vue'),
  beforeEnter: (to, from, next) => {
    // 只有訪問(wèn)Login頁(yè)面之前才會(huì)執(zhí)行次函數(shù)
    const {
      isLogin
    } = localStorage // 從本地存儲(chǔ)中取isLogin
    // 如果登錄督函,就跳到首頁(yè)頁(yè)面;否則跳轉(zhuǎn)到登錄頁(yè)面
    isLogin
      ? next({
        name: 'Home'
      })
      : next()
  }
}]
......
// beforeEach:全局,每次做路由跳轉(zhuǎn)之前都會(huì)執(zhí)行這個(gè)操作激挪。
router.beforeEach((to, from, next) => {
  // to and from are Route Object,
  // to:跳轉(zhuǎn)的時(shí)候想要跳轉(zhuǎn)的頁(yè)面的信息
  // from :指從哪里跳過(guò)來(lái)的信息
  // next() must be called to resolve the hook}
  // 中間件繼續(xù)執(zhí)行的方法

  // 從本地存儲(chǔ)中取isLogin
  const {
    isLogin
  } = localStorage

  console.log(to, from);
  /** 判斷是否登錄 */
  // 必須雙循環(huán)辰狡,才能防止死循環(huán)
  // 如果沒(méi)有登錄,就跳到登錄頁(yè)面

  (isLogin || to.name === 'Login') ? next() : next({
    name: 'Login'
  })
})

注冊(cè)頁(yè)面的實(shí)現(xiàn)

注冊(cè)頁(yè)面和登錄頁(yè)面一致垄分。
把登錄頁(yè)面復(fù)制到注冊(cè)頁(yè)面:
新建src\views\register\Register.vue:

<template>
  <div class="wrapper">
    <img class="wrapper__img" src="/i18n/9_16/img/user.png" />
    <div class="wrapper__input">
      <input class="wrapper__input__content" placeholder="請(qǐng)輸入手機(jī)號(hào)碼" />
    </div>
    <div class="wrapper__input">
      <input
        type="password"
        class="wrapper__input__content"
        placeholder="請(qǐng)輸入密碼"
      />
    </div>
    <div class="wrapper__login-button" @click="handleLogin">登陸</div>
    <div class="wrapper__login__item">
      <div class="wrapper__login__item__link">立即注冊(cè)</div>
      <p class="wrapper__login__item__cut">|</p>
      <div class="wrapper__login__item__password">忘記密碼</div>
    </div>
  </div>
</template>

<script>
// 路由跳轉(zhuǎn)方法
import { useRouter } from 'vue-router'
export default {
  name: 'Register',
  setup () {
    // 獲取路由實(shí)例
    const router = useRouter()
    // 登錄按鈕
    const handleLogin = () => {
      localStorage.isLogin = true
      // 登陸之后重新做一次頁(yè)面跳轉(zhuǎn)宛篇,再訪問(wèn)下一個(gè)頁(yè)面
      router.push({ name: 'Home' })
    }
    return { handleLogin }
  }
}
</script>

<style lang="scss" scoped>
@import '@/style/viriables';
.wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  &__img {
    display: block;
    margin: 0 auto 0.4rem auto;
    width: 0.66rem;
    height: 0.66rem;
  }
  &__input {
    // box-sizing: border-box;//內(nèi)部間距
    height: 0.48rem;
    margin: 0 0.4rem 0.16rem 0.4rem;
    background: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.06rem;
    &__content {
      line-height: 0.48rem;
      background: none;
      border: none;
      outline: none;
      width: 100%;
      font-size: 0.16rem;
      color: $centent-notice-fontcolor;
      &::placeholder {
        color: $centent-notice-fontcolor;
      }
    }
  }
  &__login-button {
    line-height: 0.48rem;
    margin: 0.32rem 0.4rem 0.16rem 0.4rem;
    background: #0091ff;
    color: #fff;
    box-shadow: 0 0.04rem 0.08rem 0 rgba(0, 145, 255, 0.32);
    border-radius: 0.04rem;
    font-size: 0.16rem;
    text-align: center;
  }
  &__login__item {
    text-align: center;
    &__link {
      display: inline-block;
      margin: auto 0.05rem auto 0.05rem;
      text-align: center;
      font-size: 0.14rem;
      color: $centent-notice-fontcolor;
    }
    &__cut {
      display: inline-block;
      text-align: center;
      font-size: 0.14rem;
      margin: auto 0.05rem auto 0.05rem;
    }
    &__password {
      display: inline-block;
      text-align: center;
      font-size: 0.14rem;
      margin: auto 0.05rem auto 0.05rem;
      color: $centent-notice-fontcolor;
    }
  }
}
</style>

修改路由信息src\router\index.js

import {
  createRouter,
  createWebHistory
} from 'vue-router'

const routes = [{
  path: '/',
  name: 'Home',
  component: () => import(/* webpackChunkName: "home" */ '../views/home/Home.vue')

}, {
  path: '/login',
  name: 'Login',
  component: () => import(/* webpackChunkName: "login" */ '../views/login/Login.vue'),
  beforeEnter: (to, from, next) => {
    // 只有訪問(wèn)Login頁(yè)面之前才會(huì)執(zhí)行次函數(shù)
    const {
      isLogin
    } = localStorage // 從本地存儲(chǔ)中取isLogin
    // 如果登錄,就跳到首頁(yè)頁(yè)面;否則跳轉(zhuǎn)到登錄頁(yè)面
    isLogin
      ? next({
        name: 'Home'
      })
      : next()
  }
},
{
  path: '/register',
  name: 'Register',
  component: () => import(/* webpackChunkName: "register" */ '../views/register/Register.vue'),
  beforeEnter: (to, from, next) => {
    const {
      isLogin
    } = localStorage
    isLogin
      ? next({
        name: 'Home'
      })
      : next()
  }
}
]

const router = createRouter({
  history: createWebHistory(process.env.BASE_URL),
  routes
})
// beforeEach:全局薄湿,每次做路由跳轉(zhuǎn)之前都會(huì)執(zhí)行這個(gè)操作叫倍。
router.beforeEach((to, from, next) => {
  // to and from are Route Object,
  // to:跳轉(zhuǎn)的時(shí)候想要跳轉(zhuǎn)的頁(yè)面的信息
  // from :指從哪里跳過(guò)來(lái)的信息
  // next() must be called to resolve the hook}
  // 中間件繼續(xù)執(zhí)行的方法

  // 從本地存儲(chǔ)中取isLogin
  const {
    isLogin
  } = localStorage

  console.log(to, from)
  /** 判斷是否登錄 */
  // 必須雙循環(huán)豌鸡,才能防止死循環(huán)
  // 如果沒(méi)有登錄,就跳到登錄頁(yè)面
  const {
    name
  } = to
  const
    isLoginOrRegister = (name === 'Login' || name === 'Register');
  (isLogin || isLoginOrRegister) ? next() : next({
    name: 'Login'
  })
})
export default router

接下來(lái)修改src\views\register\Register.vue:

<template>
  <div class="wrapper">
    <img class="wrapper__img" src="/i18n/9_16/img/user.png" />
    <div class="wrapper__input">
      <input class="wrapper__input__content" placeholder="請(qǐng)輸入手機(jī)號(hào)碼" />
    </div>
    <div class="wrapper__input">
      <input
        type="password"
        class="wrapper__input__content"
        placeholder="請(qǐng)輸入密碼"
      />
    </div>
    <div class="wrapper__input">
      <input
        type="password"
        class="wrapper__input__content"
        placeholder="請(qǐng)?jiān)俅屋斎朊艽a"
      />
    </div>
    <div class="wrapper__register-button">注冊(cè)</div>
    <div class="wrapper__register__item">
      <div class="wrapper__register__item__link" @click="handleLoginClick">
        已有賬號(hào)去登陸
      </div>
    </div>
  </div>
</template>

<script>
// 路由跳轉(zhuǎn)方法
import { useRouter } from 'vue-router'
export default {
  name: 'Register',
  setup () {
    // 獲取路由實(shí)例
    const router = useRouter()
    const handleLoginClick = () => {
      router.push({ name: 'Login' })
    }
    return { handleLoginClick }
  }
}
</script>

<style lang="scss" scoped>
@import '@/style/viriables';
.wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  &__img {
    display: block;
    margin: 0 auto 0.4rem auto;
    width: 0.66rem;
    height: 0.66rem;
  }
  &__input {
    // box-sizing: border-box;//內(nèi)部間距
    height: 0.48rem;
    margin: 0 0.4rem 0.16rem 0.4rem;
    background: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.06rem;
    &__content {
      line-height: 0.48rem;
      background: none;
      border: none;
      outline: none;
      width: 100%;
      font-size: 0.16rem;
      color: $centent-notice-fontcolor;
      &::placeholder {
        color: $centent-notice-fontcolor;
      }
    }
  }
  &__register-button {
    line-height: 0.48rem;
    margin: 0.32rem 0.4rem 0.16rem 0.4rem;
    background: #0091ff;
    color: #fff;
    box-shadow: 0 0.04rem 0.08rem 0 rgba(0, 145, 255, 0.32);
    border-radius: 0.04rem;
    font-size: 0.16rem;
    text-align: center;
  }
  &__register__item {
    text-align: center;
    &__link {
      display: inline-block;
      margin: auto 0.05rem auto 0.05rem;
      text-align: center;
      font-size: 0.14rem;
      color: $centent-notice-fontcolor;
    }
  }
}
</style>

GIF.gif

同樣修改一下登錄頁(yè)面的交互:

<template>
  <div class="wrapper">
    <img class="wrapper__img" src="/i18n/9_16/img/user.png" />
    <div class="wrapper__input">
      <input class="wrapper__input__content" placeholder="請(qǐng)輸入手機(jī)號(hào)碼" />
    </div>
    <div class="wrapper__input">
      <input
        type="password"
        class="wrapper__input__content"
        placeholder="請(qǐng)輸入密碼"
      />
    </div>
    <div class="wrapper__login-button" @click="handleLogin">登陸</div>
    <div class="wrapper__login__item">
      <div class="wrapper__login__item__link" @click="handleRegisterClick">
        立即注冊(cè)
      </div>
      <p class="wrapper__login__item__cut">|</p>
      <div class="wrapper__login__item__password">忘記密碼</div>
    </div>
  </div>
</template>

<script>
// 路由跳轉(zhuǎn)方法
import { useRouter } from 'vue-router'
export default {
  name: 'Login',
  setup () {
    // 獲取路由實(shí)例
    const router = useRouter()
    // 登錄按鈕
    const handleLogin = () => {
      localStorage.isLogin = true
      // 登陸之后重新做一次頁(yè)面跳轉(zhuǎn)段标,再訪問(wèn)下一個(gè)頁(yè)面
      router.push({ name: 'Home' })
    }

    const handleRegisterClick = () => {
      router.push({ name: 'Register' })
    }
    return { handleLogin, handleRegisterClick }
  }
}
</script>

<style lang="scss" scoped>
@import '@/style/viriables';
.wrapper {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  &__img {
    display: block;
    margin: 0 auto 0.4rem auto;
    width: 0.66rem;
    height: 0.66rem;
  }
  &__input {
    // box-sizing: border-box;//內(nèi)部間距
    height: 0.48rem;
    margin: 0 0.4rem 0.16rem 0.4rem;
    background: #f9f9f9;
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0.06rem;
    &__content {
      line-height: 0.48rem;
      background: none;
      border: none;
      outline: none;
      width: 100%;
      font-size: 0.16rem;
      color: $centent-notice-fontcolor;
      &::placeholder {
        color: $centent-notice-fontcolor;
      }
    }
  }
  &__login-button {
    line-height: 0.48rem;
    margin: 0.32rem 0.4rem 0.16rem 0.4rem;
    background: #0091ff;
    color: #fff;
    box-shadow: 0 0.04rem 0.08rem 0 rgba(0, 145, 255, 0.32);
    border-radius: 0.04rem;
    font-size: 0.16rem;
    text-align: center;
  }
  &__login__item {
    text-align: center;
    &__link {
      display: inline-block;
      margin: auto 0.05rem auto 0.05rem;
      text-align: center;
      font-size: 0.14rem;
      color: $centent-notice-fontcolor;
    }
    &__cut {
      display: inline-block;
      text-align: center;
      font-size: 0.14rem;
      margin: auto 0.05rem auto 0.05rem;
    }
    &__password {
      display: inline-block;
      text-align: center;
      font-size: 0.14rem;
      margin: auto 0.05rem auto 0.05rem;
      color: $centent-notice-fontcolor;
    }
  }
}
</style>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市炉奴,隨后出現(xiàn)的幾起案子逼庞,更是在濱河造成了極大的恐慌,老刑警劉巖瞻赶,帶你破解...
    沈念sama閱讀 211,290評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赛糟,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡砸逊,警方通過(guò)查閱死者的電腦和手機(jī)璧南,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)师逸,“玉大人司倚,你說(shuō)我怎么就攤上這事÷ㄏ瘢” “怎么了动知?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,872評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)员辩。 經(jīng)常有香客問(wèn)我盒粮,道長(zhǎng),這世上最難降的妖魔是什么奠滑? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,415評(píng)論 1 283
  • 正文 為了忘掉前任丹皱,我火速辦了婚禮,結(jié)果婚禮上宋税,老公的妹妹穿的比我還像新娘摊崭。我一直安慰自己,他們只是感情好弃甥,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,453評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布爽室。 她就那樣靜靜地躺著,像睡著了一般淆攻。 火紅的嫁衣襯著肌膚如雪阔墩。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,784評(píng)論 1 290
  • 那天瓶珊,我揣著相機(jī)與錄音啸箫,去河邊找鬼。 笑死伞芹,一個(gè)胖子當(dāng)著我的面吹牛忘苛,可吹牛的內(nèi)容都是我干的蝉娜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼扎唾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼召川!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起胸遇,我...
    開(kāi)封第一講書(shū)人閱讀 37,691評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤荧呐,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后纸镊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體倍阐,經(jīng)...
    沈念sama閱讀 44,137評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,472評(píng)論 2 326
  • 正文 我和宋清朗相戀三年逗威,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了峰搪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,622評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凯旭,死狀恐怖概耻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情尽纽,我是刑警寧澤咐蚯,帶...
    沈念sama閱讀 34,289評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站弄贿,受9級(jí)特大地震影響春锋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜差凹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,887評(píng)論 3 312
  • 文/蒙蒙 一期奔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧危尿,春花似錦呐萌、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至济欢,卻和暖如春赠堵,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背法褥。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工茫叭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人半等。 一個(gè)月前我還...
    沈念sama閱讀 46,316評(píng)論 2 360
  • 正文 我出身青樓揍愁,卻偏偏與公主長(zhǎng)得像呐萨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子莽囤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,490評(píng)論 2 348

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