使用VUE開發用戶後台時的動態路由問題、按鈕權限問題以及其他頁面處理問題_台中搬家公司

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

如今前後端分離是大勢所趨,筆者雖然是做後台的,但也不得不學學前端的流行框架VUE -_-||| 。

為了學習VUE,筆者搭建了一個簡單的用戶後台,以此來了解VUE的開發思路(注:本項目不用於實際開發,只是為了學習,本文重點在於vue的動態路由添加,動態權限以及頁面處理的一些小問題)。

一、項目組成

  VUE 2.6.11 + axios +VueX + ElementUI 2.13.2 

二、整體思路

  1.  用戶登錄后,獲取菜單數據,用以显示菜單。

  2.  用戶登錄后,後台獲取Vue路由數據,用以動態添加到VueRouter中。

  3.  用戶登錄后,從後台獲取用戶的權限,用以控制用戶是否對某一功能具有可操作權限。

三、具體實現

·   1.  登錄。由於本人學習重點是使用VUE動態添加路由、菜單显示和權限控制,所以登錄頁面沒有做具體功能,點擊登錄按鈕就表示登錄成功了。

      由於登錄頁是用戶的第一界面,不存在任何權限問題,所以筆者就直接將登錄頁的路由直接寫在了VueRouter實例中。如下:

   

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [{
  path: '/Login',
  name: 'Login',
  component: () => import('../views/Login.vue')
}]

export function initRouter() {
  return new VueRouter({
    routes
  })
}

export default initRouter()

  用戶通過 http://localhost:8080/#/login 可訪問到登陸頁面:

 

 

       點擊登錄按鈕表示登錄成功!

  登錄成功后的處理:

  (1)向後台發請求拿到路由數據並存入VueX的state中,並通過addRoutes(routerObjArr)動態添加到路由實例中注:後台返回的數據結構需跟route相一致,如圖:

  前端所需數據結構:

  

  後台返回的數據結構:

  

 

 

 

 

 

   細節處理:由於後台返回的component字段是個組件地址字符串,這就需要將後台返回的route數據 一 一 做處理,通過import() 方法動態的加載組件,然後將返回的compoent對象重新賦值到component字段上。如圖:

  

 

  代碼:

  

const _import = require('@/router/_import_' + process.env.NODE_ENV) //獲取組件的方法
/**將router的json字符串中的component轉換為組件對象 */
export function filterAsyncRouter(asyncRouterMap) {
  if (!asyncRouterMap) return [];

  function _iter(before) {
    const after = Object.assign({}, before)
    if (after.component) {
      after.component = _import(after.component);
    }
    if (after.children && after.children.length) {
      after.children = filterAsyncRouter(after.children);
    }
    return after
  }

  return asyncRouterMap.map(_iter)

}

 

 

   圖中所用的import方法,根據生產環境不同,引用不同的文件,如圖:

  

 

 

   各自的代碼如下:

  _import_development.js:

module.exports = file => require('@/views/' + file + '.vue').default // vue-loader at least v13.0.0+

  _import_production.js

module.exports = file => () => import('@/views/' + file + '.vue')

  將後台的返回的路由數據處理完成后,最後就可以使用addRoutes方法動態加入VueRouter中了。此時,用戶便可以按照路由訪問頁面了。代碼如下:

//動態生成路由
      axios
        .get("https://localhost:5001/AdminApi/Home/GetMenuJson?userid=" + 1)
        .then(res => {
          //取出路由列表 (isRoute=1)
          res.data.obj.router[0].children = res.data.obj.router[0].children.filter(
            a => a.meta.isRoute == 1 //isRoute=1的
          );

          //存入緩存
          this.$store.commit("setRoutes", res.data.obj.router);

          //轉換組件對象
          var getRouter = filterAsyncRouter(res.data.obj.router);

          //打印當前路由列表
          console.log("當前路由列表:", res.data.obj.router[0].children);

          //清空之前的路由信息
          this.$router.matcher = initRouter().matcher;

          //重新添加路由信息
          this.$router.addRoutes(getRouter);

          //跳轉到 Layout 組件
          this.$router.push("/");
        });

 

  (2)向後台發請求拿到權限數據,並存入VueX的state中。代碼如下:

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

     axios
        .get(
          "https://localhost:5001/AdminApi/Access/ActionPermission?userid=" + 1
        )
        .then(res => {
          //存入權限
          console.log("權限列表:", res.data.obj);
          this.$store.commit("setAccess", res.data.obj);
        });

  (3)向後台請求數據並存入VueX中的state之前,需要清空上一次存入的數據(包括路由數據和權限數據),否則會造成數據混亂,如圖:   

        

  (4)addRoutes之前,不僅要做component字段的字符串轉對象的處理,還要清掉上一個用戶登錄后存入router中的路由數據,否則會造成數據混亂或者vue警告重複的路由名稱。

  

 

 

   Login.vue組件中的全部代碼如下:

<template>
  <div class="about">
    <button @click="login">登錄</button>
  </div>
</template>

<script> import { filterAsyncRouter } from "../common/promission"; import axios from "axios"; import { initRouter } from "@/router"; export default { created() { this.$store.commit("logout"); }, methods: { login() { //動態生成路由
 axios .get("https://localhost:5001/AdminApi/Home/GetMenuJson?userid=" + 1) .then(res => { //取出路由列表 (isRoute=1)
 res.data.obj.router[0].children = res.data.obj.router[0].children.filter( a => a.meta.isRoute == 1 //isRoute=1的
 ); //存入緩存
          this.$store.commit("setRoutes", res.data.obj.router); //轉換組件對象
          var getRouter = filterAsyncRouter(res.data.obj.router); //打印當前路由列表
 console.log("當前路由列表:", res.data.obj.router[0].children); //清空之前的路由信息
          this.$router.matcher = initRouter().matcher; //重新添加路由信息
          this.$router.addRoutes(getRouter); //跳轉到 Layout 組件
          this.$router.push("/"); }); axios .get( "https://localhost:5001/AdminApi/Access/ActionPermission?userid=" + 1 ) .then(res => { //存入權限
 console.log("權限列表:", res.data.obj); this.$store.commit("setAccess", res.data.obj); }); } } }; </script>

  promiss.js代碼如下:

const _import = require('@/router/_import_' + process.env.NODE_ENV) //獲取組件的方法
/**將router的json字符串中的component轉換為組件對象 */
export function filterAsyncRouter(asyncRouterMap) {
  if (!asyncRouterMap) return [];

  function _iter(before) {
    const after = Object.assign({}, before)
    if (after.component) {
      after.component = _import(after.component);
    }
    if (after.children && after.children.length) {
      after.children = filterAsyncRouter(after.children);
    }
    return after
  }

  return asyncRouterMap.map(_iter)

}

  store.js代碼如下:

import Vue from 'vue'
import Vuex from 'vuex'
import VuexPersistence from 'vuex-persist'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    routes: [],
  },
  mutations: {
    setRoutes: (state, routes) => {
      state.routes = routes
    },
    setAccess: (state, access) => {
      state.access = access;
    },
    logout: (state) => {
      state.routes = [];
      state.access = []
    }
  },
  actions: {},
  modules: {},
  plugins: [new VuexPersistence().plugin]
})

 

  2. 菜單。將Layout組件用作菜显示組件,將ele中的菜單組件複製到該組件中,並通過向後台請求數據,拿到菜單和菜單對應的分組數據 。拿到菜單和菜單分組數據后,循環遍歷,將菜單按照對應的分組全部显示(後台判斷當前用戶可显示的菜單,沒有權限的菜單直接不返給前台)。vue代碼以及後台數據如下:

  

<template>
  <el-container>
    <el-header>
      <el-dropdown>
        <i class="el-icon-setting"></i>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item>修改密碼</el-dropdown-item>
          <el-dropdown-item>退出</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
      <span>王小虎</span>
    </el-header>
    <el-container>
      <el-aside width="250px">
        <el-menu @select="handleSelect">
          <el-submenu :index="group.name" v-for="group in groupList" :key="group.id">
            <template slot="title">
              <i class="el-icon-message"></i> {{group.title}} </template>
            <template v-for="router in routerList">
              <el-menu-item :index="router.path" :key="router.meta.id" v-if="router.meta.groupId == group.id"
              >{{router.meta.title}}</el-menu-item>
            </template>
          </el-submenu>
        </el-menu>
      </el-aside>
      <el-main>
        <router-view />
      </el-main>
    </el-container>
  </el-container>
</template>

<script> import axios from "axios"; export default { data() { return { activeIndex: "/home/Index", groupList: [], routerList: [] }; }, mounted() { this.getGroupList(); this.getRouterList(); }, methods: { //菜單點擊事件
 handleSelect(key) { this.$router.push(key); }, //獲取菜單分組數據
 getGroupList() { var that = this; axios .get("https://localhost:5001/AdminApi/Home/GetGroupJson") .then(res => { that.groupList = res.data.obj; }); }, //獲取菜單數據
 getRouterList() { var that = this; axios .get("https://localhost:5001/AdminApi/Home/GetMenuJson") .then(res => { that.routerList = res.data.obj.router[0].children.filter( a => a.meta.display == 1 //取display=1的
 ); console.log("當前菜單列表"); console.log(that.routerList); }); } } }; </script>

<style> @import "../styles/layout.css"; /*引入公共樣式*/
</style>

後台分組數據:

{
"id": 14,
"name": "Customer",
"title": "客戶中心",
"target": "mainRigh",
"url": "#",
"icoCss": "layui-icon-username",
"delFlag": 0,
"sortNo": 0,
"createMan": 1,
"createTime": "2019-05-05T11:30:06"
},
{
"id": 9,
"name": "System",
"title": "系統設置",
"target": "123",
"url": "#",
"icoCss": "fa-gears",
"delFlag": 0,
"sortNo": 1,
"createMan": 1,
"createTime": "2019-05-05T11:29:56"
}

後台菜單數據:

 

 

效果圖:

  3.  功能頁面的處理。

    (1)組件的動態加載規則由於該vue項目中的組件是動態加載,那麼後台返回的路由數據中的component字段中的路徑自然也要按照某一種規則來返給前端。否則會造成import()組件的時候,由於地址不對解析加載不到組件而報錯。

   例如筆者是按照這種規則:

       後台數據

 

 

 斜杠”/“前邊表示文件夾名稱,後邊表示組件名稱,這樣就可以按照這種規則動態加載到組件了。

 

 

 

 (2).頁面刷新變成空白頁?(路由丟失)

  遇到這個問題的話,在main.js中加入一段代碼,每次刷新頁面都把存入VueX state中的數據拿出來,判斷一下路由裡邊還存不存在當前刷新頁面的路由,如果沒有,則對VueRouters重新賦值

  main.js 代碼如下:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import store from './common/store'
import {
  filterAsyncRouter
} from "./common/promission";

Vue.config.productionTip = false
Vue.use(ElementUI);

new Vue({
  router,
  store,
  render: h => h(App),
  mounted() {
    // 緩存的路由信息
    const routes = this.$store.state.routes
    // 判斷當前路由是否被清除
    const hasRoute = this.$router.options.routes.some(r => r.name == 'index')
    // 如果 緩存中有路由信息 並且 當前路由被清除
    if (routes.length && !hasRoute) {
      //獲取路由Json字符串
      var getRouter = filterAsyncRouter(routes);
      // 再次添加路由信息
      this.$router.addRoutes(getRouter);
      // 然後強制更新當前組件
      this.$forceUpdate()
    }
  },
}).$mount('#app')

  (3)  頁面按鈕的控制

  將前面存入vuex state中的權限數據,在每個組件中都拿出來一下存入一個變量中,在按鈕上使用v-if、array.indexOf(‘權限名稱’)來控制显示/隱藏。

  原理是如果用戶存在該權限,則v-if=”true“,按鈕則显示,否則按鈕隱藏。

  代碼如下:

<el-button @click="edit(scope.row)" type="text" size="small" v-if="accessList.indexOf('SysRole/AddEdit')>-1"
        >編輯</el-button>

  

 

 效果圖:

 

好了,筆者就介紹到這裏。當然,如果要做一個完整的後台,肯定還有很多要做的東西,比如用戶角色啊、角色授權啊等等;但筆者這次學習的重點是VUE的動態路由、動態權限,以及頁面處理中一些比較常見的坑,所以別的就不多介紹了。

如有需要,朋友們可以聯繫我,大家多多交流。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

買了必後悔 美國佬權威機構說這10輛車最不可靠!_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

它標配的是一款383馬力的5。7L V8 發動機,當然你可以選擇動力更強的6。7L V8發動機,只是油耗會變得非常的高。而在舒適性上就不用想象能有好成績了,即使它後輪用上了更為適合城市使用的螺旋彈簧,而不是以往的鋼板彈簧。

前言

在我們的用車過程中,最希望看到的是自己的愛車不會出現什麼小故障,能夠可靠地把我們從A點送到B點。但是質量問題是不可避免的,在最近美國質量反饋機構——消費者報告則出了全美最不可靠的10輛車型,其中就不乏在中國進行銷售的車型。

菲亞特 500L

美國售價:$24,595

故障點:日漸變差或者鎖止的變速箱、動力系統、車內電器

這輛意大利小車給人的感覺就是欠缺火候的,還有着一些重要的缺點。感謝最近的測試,我們知道了它座椅填充物硬、座椅太平、乘坐極為不舒服以及駕駛位置非常奇異,毫無疑問的一點是車主都後悔選擇了這款意大利兩廂車。除了這些問題以外,保險公司對這款車在高速公路上的前置碰撞還給出非常差的分數。

福特 嘉年華

美國售價:$16,595-$24,985

故障點:變速箱頓挫、噪音以及漏油,動力系統

這是一輛非常有駕駛樂趣的小車,在操控以及內飾設計表現都為人所津津樂道,而且車內隔音還是不錯的水平。但是後排卻是非常的“迷你”,我們測試的1.6L手動車型中表現出非常好的燃油效率,而6速自動擋在擁堵路況中卻表現出頓挫。另外的1.0T以及ST版本嘉年華你就要考慮一下你的腎問題,這種顛簸實在讓人難以忍受。

雪佛蘭 Tahoe

美國售價:$60,100

故障點:轉向振動、動力系統以及車內電器

這款體積巨大的SUV有着一個豪華的內飾,而且車內隔音相當不錯,還是一輛全尺寸的7座SUV,空間表現簡直是奢侈。不過在動力系統上,它雖然搭載的是5.3L V8發動機,但是動力響應卻是非常的差,

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

乘坐感受也是覺得懸架比較的硬,在運動感上是無可非議的,幸好電磁懸架可以改善一下這樣的狀況。

道奇 2500

故障點:方向盤振動,三元催化器,4驅系統,動力系統

道奇2500是一輛非常man的重載皮卡,能夠為美國承擔不少農活。它標配的是一款383馬力的5.7L V8 發動機,當然你可以選擇動力更強的6.7L V8發動機,只是油耗會變得非常的高。而在舒適性上就不用想象能有好成績了,即使它後輪用上了更為適合城市使用的螺旋彈簧,而不是以往的鋼板彈簧。

特斯拉 Model X

故障點:翼展門、門鎖、空調系統、車內电子系統

特斯拉Model X可以說是現今速度最快的電動SUV,而讓人關注的是它為了方便後排進出的翼展式車門,但是在開門關門的時候總是會浪費很多的時間。而巨大的前擋玻璃給人非常好的視野以及通透感,駕駛起來非常容易、安靜,還有着舒適的乘坐體驗以及較好的操控樂趣。

克萊斯勒 200

美國售價:$25,790-$33,620

故障點:日漸變差或者鎖止的變速箱、頓挫

它是一輛被很多人都喜歡的車型,甚至一些開着更高級別車型的駕駛者都喜歡這款汽車。即使它是一輛駕駛無趣、頓挫、粗暴的車,而且它的四缸發動機表現相當遲緩。不過V6發動機版本卻是表現卻是好了不止一個層次,還可以選擇四驅的驅動形式,不過這時就輪到變速箱不配合了。

雪佛蘭 Suburban/GMC Yukon XL

美國售價:$69,790

故障點:變速箱頓挫、動力系統、車內電器、4驅系統

如果你要一輛能夠坐下7個甚至更多的人,還有帶上不少的裝備的車型,那麼你的選擇應該就只有是這款全尺寸SUV——雪佛蘭Suburban/GMC Yukon XL了,雖然它尺寸大但是有着全車影像系統以及併線輔助系統,加上5.3L V8帶來的動力體驗,還有着電磁懸架系統,駕駛起來也不會非常的痛苦,但前提你一定能忍受變速箱頓挫以及油耗問題。

Jeep 自由本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

歐洲少肉新潮流 雀巢旗下品牌普瑞納 推出昆蟲蛋白寵物飼料_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

環境資訊中心綜合外電;姜唯 編譯;林大利 審校

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

澳洲史上最大土地收購案 新國家公園將用以保育瀕危物種_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

摘錄自2020年6月29日台灣英文新聞報導

澳洲新南威爾斯州(NSW)政府近日宣布買下位於西北部的納里亞拉牧地(Narriearra Station),佔地約15萬3415公頃,是該州史上最大的私人土地收購案。新州環境與能源部長基恩表示,這次的土地收購將有助於協助保護瀕危物種、重要的棲息地和濕地。

納里亞拉牧地是受威脅野生動物的重要庇護所,擁有25種以上受威脅動物,當中包括瀕危灰草鷯鶯(Grey Grasswren)近九成的重要棲息地與繁殖區。納里亞拉牧地位於斯特爾國家公園(Sturt National Park)的東部,兩地相連可望創造近百萬公頃的保護區。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

基恩說,該地鄰近「Pindera Downs」原住民區,納里亞拉牧地包含許多石器和古文物,他將邀請當地原住民為新國家公園命名。

生態保育
物種保育
生物多樣性
國際新聞
澳洲
土地收購
國家公園
新南威爾斯省
原住民
棲地保育
保護區

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

美國選出的7款質量最好的轎車 竟然沒有一輛美國車?_台中搬家公司

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

)。豐田凱美瑞中型轎車被凱美瑞取得。和國內的凱美瑞一樣,美國的凱美瑞也是非常的中庸,在同級別之中,它的加速不是最快,操控不是最好,顏值不是最高,價格也不是最便宜。但是就是質量好到爆,因為可靠的質量,所以凱美瑞被評為“美國2016年四大最暢銷車型”之一。

美國的《消費者報告》近日評出了2015年度美國最可靠的七款轎車。看到結果之後小編驚呆了,這哪是什麼報告啊,簡直就是“豐田開會”啊!

豐田prius C

小型車領域被豐田prius C奪走。不管在哪裡,小型車的主要任務就是市區通勤,也就是一款代步小工具,所以油耗表現就顯得比較重要了。因為小型車體積、質量都比較小,所以本身小型車就很省油。但是豐田prius C的表現更好。prius C作為prius家族中最小的一位成員,市區的百公里油耗僅為4.44升,高速為5.11升。同時prius C也非常精緻,做工很細膩。沒有其它小型車那種廉價感。因為prius C主要側重於城市通勤,所以可以看出它的油耗高速反而更高。

斯巴魯Impreza (翼豹)

這款翼豹跟國內的翼豹有一些差別,因為國內的翼豹屬於性能車,動力系統為2.5T 300馬力 H4 + 6擋手動,售價將近50萬人民幣。所以屬於極其稀少的類型,除非是翼豹的鐵杆粉絲或者性能控,否則一般人是不會下手的。

美國的翼豹屬於湊級轎車,銷量挺不錯的,翼豹分為兩廂版和三廂版,空間足夠大,四驅也是標配,再加上低配的翼豹只需要13萬左右的人民幣,

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

價格足夠實惠,跟福克斯、速騰屬於一個級別的。所以很受歡迎。不過美國的翼豹屬於低配版本,跟我們國家的翼豹不是一個檔次的(價格也不是一個檔次的…)。

豐田凱美瑞

中型轎車被凱美瑞取得。和國內的凱美瑞一樣,美國的凱美瑞也是非常的中庸,在同級別之中,它的加速不是最快,操控不是最好,顏值不是最高,價格也不是最便宜。但是就是質量好到爆,因為可靠的質量,所以凱美瑞被評為“美國2016年四大最暢銷車型”之一。皮實耐操為凱美瑞贏得了巨大的市場。

豐田Avalon (亞洲龍)

大型轎車又被豐田給霸佔了。Avalon目前作為豐田最大的轎車,同時又是雷克薩斯ES的兄弟,所以Avalon的內飾非常豪華,同時車內空間更是巨大,安靜舒適的乘坐環境讓人很滿意,Avalon甚至還有防彈設計,同時3.5L V6發動機夠力,也足夠平順。讓美國人民愛不釋手。

雷克薩斯 CT200h

豪華品牌的緊湊級轎車被雷克薩斯 CT200h佔據了,CT200h也是屬於prius家族衍生的一員,作為一款顏值很好的五門掀背車,市區的百公里油耗為5.47升,高速為5.88升,質量可靠,做工精細,是它入選的主要原因。

雷克薩斯 ES

中大型豪華車也是被雷克薩斯 ES霸佔了,入選理由和豐田Avalon相似,因為質量極其可靠。從上面可以看出,這裏面的車型幾乎全部被豐田把持着。同時豐田也有斯巴魯16.5%的股份。

寶馬2系

運動車型被寶馬2系搶佔了,終於有別的車系了。寶馬2系在美國主要推轎跑車型和敞篷車型,再加上寶馬一貫的操控性,贏得了不少粉絲的青睞。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

北大西洋露脊鯨數量再探底 全球僅剩366頭_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

摘錄自2020年10月28日自由時報報導

被認為是全球最瀕危的鯨魚之一北大西洋露脊鯨(North Atlantic Right Whale),是相關單位的重點保育對象,不過根據最新調查顯示,北大西洋露脊鯨數量再度下降,現全球僅剩約366頭。

綜合外媒報導,美國國家海洋暨大氣管理局(NOAA)表示,北大西洋露脊鯨數量已經跌破400頭,截至2019年1月,北大西洋露脊鯨現僅剩366頭,與2018年的412頭相比再度減少,而在2019年至今,至少傳出15例北大西洋露脊鯨的死亡報告。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

儘管當局制訂多項保護措施,但因低出生率與高死亡率,北大西洋露脊鯨數量仍持續下探,其很容易面臨船隻碰撞或被漁具纏住風險,NOAA一個團隊正在製定一項計劃,旨在降低這類鯨魚因捕魚設備而面臨的風險。

生物多樣性
海洋
國際新聞
露脊鯨
北大西洋
瀕危物種

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

信用卡公司夾殺下求生 Porbhub宣布新增4種數位貨幣支付方式_台中搬家公司

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

全球最大的成人影片網站Porbhub,先前由於部分使用者涉嫌上傳性侵的影片,經過媒體報導、信用卡公司拒絕合作、中斷金流後,Porbhub不得不刪除大量使用者的影片來「表示配合的誠意」。但最後,Pornhub不僅面臨到用戶大量出走、流量銳減,而信用卡公司也是沒有恢復合作,近日,為了恢復網站本身的金流系統,Pornhub宣布開始支援4種加密貨幣的付費方式。

綜合外媒報導指出,Pornhub先前因為有使用者在平台上上船大量性侵未成年少女的影片後,再經過《紐約時報》記者Nicholas Kristof的報導,讓Porbhub成為全球關注的焦點,他們也因此面臨龐大的壓力,罕見的自主刪除不少用戶的影片,表示出「他們會配合」的誠意。(最後講一下,聽說Nicholas Kristof最近盯上XVideo,因為他認為XVideo跟Pornhub一樣用戶太多、監管太少)。

 

但最終結果還是遭到信用卡公司拒絕合作、中斷網站的金流,與此同時,由於大量刪除未認證使用者的影片,網站本身再使用者之間掀起一股抗議聲浪,同時也造成一大波出走潮,這也給Porbhub嚴重的打擊。

 

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

由於先前Porbhub對於相關類型的抗議是完全置之不理,這次由於是金流這個軟肋被掐住,才不得不大規模刪除影片。可能有鑑於此,Porbhub大幅度的強化在加密貨幣上的金流功能,近日新增XRP、BNB、USDC和DOGE四種加密貨幣的支付。

 

目前除了上述四種加密貨幣外,Pornhub有支援比特幣BTC、ETH、ETC、LTC、XMR、NEM、XRP、USDT、TRX、XVG、WAVES和ZEC等12種加密貨幣的付費功能。而這些功能是僅針對美國、英國、新加坡等特定國家開放,對於歐盟國家則是支援使用銀行匯款的功能。

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

車輛積碳究竟是什麼?教授有辦法解決_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

說到聚醚胺(pEA),就不得不提雪佛龍,因為這個技術實際上就是雪佛龍專利的,而市面上其他主打聚醚胺(pEA)技術的產品,主要是因為裏面有雪佛龍原液。聚醚胺(pEA)可以有效地對發動機做全油路的清潔,包括進氣閥,噴油嘴以及比較難清潔的燃燒室都可以清潔到,並且不傷發動機,屬於全面溫和的技術。

什麼是積碳,積碳有何危害?

大家都知道“發動機”是汽車的心臟,出現了以上的種種狀況,正是因為這個心臟出了毛病,而發動機積碳就是最主要的病因,至於發動機為什麼形成積碳,有各方面的影響因素。

每個在一二線城市的上班族,都知道市區路況有多麼糟糕,除了塞車和塞車,還是塞車,開車上下班的人就更加深刻體會到其中的痛苦了。在擁堵路況中,車輛長期處於低速狀態下行駛,通常連3擋都用不到,總是在走走停停,發動機長時間維持在較低轉速,燃燒不充分,很容易形成積碳,還有就是國內的油品啊,實在是不敢恭維。

不良的駕駛習慣也會加速積碳的形成,現在80%的消費者買車時都是選擇自動擋車型,大家又特別愛惜車輛,從來都沒試過踩地板油,開手動擋的又經常拖擋行駛,這就好比強迫一個跑步運動員慢悠悠的散步,不憋壞才怪。

如果要問積碳有什麼危害,這可就厲害了,積碳剛剛形成,還不是特別嚴重時,就已經會導致動力下降、油耗上升、尾氣污染物排放增加、車輛啟動困難等。

當積碳嚴重時就會造成發動機的結構損壞,例如活塞頂部、缸內噴油嘴、火花塞等,如果真的造成了發動機內部的損壞,那麼即將面臨的就是拆開發動機大修,維修費用不菲,還要漫長的時間等待。

有什麼辦法可以清除積碳

要解決積碳問題,最直接的方法就是拆開發動機來清洗,但是這需要大量的時間和金錢,

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

也沒幾個人願意拆開愛車的發動機,其實最方便快捷省事的方法就是使用清潔型汽油添加劑。

清潔型汽油添加劑中的胺類物質可以有效清潔發動機積碳等物質,對於使用電噴技術的發動機而言,在使用汽油添加劑時,可以對噴油嘴、氣門、進氣歧管等地方清洗積碳。而對於缸內直噴技術的發動機來說,汽油是直接噴入氣缸內部的,所以發動機的進氣門上方無法被清潔到。

那麼如何選擇汽油添加劑,從而能夠有效清除積碳,並且保證不損傷發動機呢?

什麼是汽油添加劑

燃油添加劑分為兩大類,分別是汽油添加劑和柴油添加劑,從功能方面又可以分為4種,分別是清潔、養護、調整辛烷值,還有就是綜合作用。

市場上的汽油添加劑大多數是由四大原液添加其他成分得來的,其中四大原液是:雪佛龍原液、雅富頓原液、巴斯夫原液和路博潤原液。清潔型汽油添加劑之所以能夠清除積碳,是因為裏面含有積碳三大剋星:聚醚胺(pEA)、聚乙丁烯胺(pIBA)和聚胺(pBA)。

這其中對於積碳清潔效果比較理想的就是聚醚胺(pEA)。說到聚醚胺(pEA),就不得不提雪佛龍,因為這個技術實際上就是雪佛龍專利的,而市面上其他主打聚醚胺(pEA)技術的產品,主要是因為裏面有雪佛龍原液。聚醚胺(pEA)可以有效地對發動機做全油路的清潔,包括進氣閥,噴油嘴以及比較難清潔的燃燒室都可以清潔到,並且不傷發動機,屬於全面溫和的技術。所以就添加劑選擇而言,雪佛龍自己的汽油添加劑產品,雪佛龍特勁TCp自然有着先天優勢,在技術和品質方面都能夠得到最好的保證。而且特勁是美國進口的產品,需要經過嚴苛的無害測試才能上市銷售。

效果給力,便宜省心

簡單易用的產品同樣是消費者最想要的,雪佛龍“特勁”汽油添加劑就是這麼一款產品,具體操作方法請看下方圖片:

為了驗證雪佛龍“特勁”汽油添加劑的真實效果,特意找來了車輛進行實測,加入“特勁”汽油添加劑后,行駛範圍和駕駛風格都保持不變,僅僅行駛了300km后,平均油耗就已經從14.2L/100km下降到12.2L/100km,如果是繼續按照正確方法使用“特勁”汽油添加劑,一定會有很好的效果。

與普通燃油添加劑不同的是,雪佛龍特勁加一瓶就能行駛5000公里

無論新車老車,渦輪增壓還是混合動力。都能使用,簡直就是神器!

而且雙十一期間天貓雪佛龍旗艦店還有空前的優惠力度

4瓶裝不到5折就能買到,算下來才40多元/瓶,百公里成本不到0.5元!

一瓶特勁,就能讓愛車回復動力,降低油耗,省錢又省心!

都已經組織身邊的小夥伴囤貨了

還愣着幹嘛?

趕緊複製下方的信息到淘寶/天貓了解更多優惠詳情

複製這條信息,打開手機淘寶即可看到【雪佛龍官方原裝特勁TCp汽油添加劑除積碳燃油寶保養發動機4瓶裝】¥AATUaOtE¥http://e22a.com/h.bJm7rg?cv=AATUaOtE&sm=60cf00本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

人類浩劫動物重生 封閉海灘一周湧近28萬隻瀕危海龜產卵_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

摘錄自2020年04月05日蘋果日報印度報導

武漢肺炎截至4月5日,已在全球奪去逾6萬條人命。但各地祭出的禁足令,似乎對生態保育很有幫助。印度一處海灘一周湧入近28萬隻瀕危的欖蠵龜媽媽上岸產卵,足足綿延6公里,煞是壯觀。

綜合《國際財經時報》、印度《斯坦時報》報導,印度奧里薩邦沿著孟加拉灣的海岸線,截至3月25日,單周就有近28萬隻欖蠵龜(Olive ridley sea turtle)到Rushikulya海灘築巢,是暌違足足7年,罕見地在白天就大剌剌現身,令人感動。報導指出,當地2002、2007、2016和去年都沒有欖蠵龜現身,主因海灘人潮洶湧。在武漢肺炎疫情期間,人潮沒了,海龜就來了。

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

管理員表示,大概從3月20日開始觀察到海龜上岸,而且牠們會以一次5000至1萬隻分批上岸。預計今年會有超過47.5萬隻瀕危的欖蠵龜在Rushikulya海灘產下6000萬個卵。

生態保育
物種保育
生物多樣性
國際新聞
印度
欖蠵龜
棲地保育

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

國外開發者改造高齡 17 歲的 iPod,直接連線WiFi 播放 Spotify_台中搬家公司

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家

曾經 iPod 也有過一大段相當風光的日子,但自從 iPhone 推出之後,消費者對 iPod 的關注度就直線下滑了,但其實 iPod 在設計與功能性上的出色還是值得一提。iPod Touch 是 Apple 旗下唯一一款具有無線網路連接能力的產品,但其他舊機型想要連線並播放線上串流呢?國外一位開發者經過改裝做到了!

國外開發者改造高齡 17 歲的 iPod,直接連線WiFi 播放 Spotify

國外一位名為 Guy Dupont 的開發者對第四代 iPod 進行了一次從裡到外、徹頭徹尾的升級,不過這次的升級不一般,可不是指類似於越獄或從外部安裝一些自訂軟體添加功能這麼單純,就算是 iPod 陣容中最大體型的 iPod Classic 距離現在最近的機種也缺乏 WiFi 連線能力,因此想要讓一台已經高齡 17 歲的 iPod 擁有新能力,除了軟體外,硬體方面也要進行大改造。

雖然外觀上沒有改變,還是具備有 iPod 標誌性的操作環,但肚子裡面幾乎全換了。開發者用 Raspberry Pi Zero W 作為核心,將液晶螢幕更換為彩色,並且加裝了一個小電機元件來增加觸覺回饋,內部電池也升級為 1000mAh,你不需感到驚奇,因為 iPod 內部有非常充裕的空間,且隨著科技的進步,各種元件的尺寸也越來越小,全數放進去還是很有餘裕。隨著所有硬體的替換,開發者還用 Python 從頭開始重新創建 iPod 的捲動型使用者介面,還賦予它可以進行搜尋等功能。

雖然 iPod 這款出色的產品可以播放幾乎任何數位音樂檔格式,但卻沒辦法擁有現在主流的線上串流功能,這也是為何開發者會起心動念來親手改造,這個被命名為「sPod」的成品除了螢幕上採用了 Spotify 標準的綠黑色主題, 外觀看起來就跟原始沒兩樣,誰又能料到它的肚子裡早已截然不同了呢?

台中搬家公司教你幾個打包小技巧,輕鬆整理裝箱!

還在煩惱搬家費用要多少哪?台中大展搬家線上試算搬家費用,從此不再擔心「物品怎麼計費」、「多少車才能裝完」

◎資料來源:Gizmodo

您也許會喜歡:

【推爆】終身$0月租 打電話只要1元/分

立達合法徵信社-讓您安心的選擇

※推薦台中搬家公司優質服務,可到府估價

台中搬鋼琴,台中金庫搬運,中部廢棄物處理,南投縣搬家公司,好幫手搬家,西屯區搬家