聯合國專家:防疫措施恐釀全球缺糧

摘錄自2020年03月26日自由時報報導

武漢肺炎讓全球各地都有民眾因恐慌而瘋狂囤積生活用品、糧食,聯合國糧農組織(FAO)首席經濟學家托雷羅(Maximo Torero)警告,各國實施的防疫措施,恐怕會導致全球糧食短缺。

綜合外電報導,各國為確保物資充足,紛紛祭出提高關稅、限制出口、禁止人口移動等措施。托雷羅表示,從2007年的糧食危機就有觀察到,貿易壁壘會造成價格波動,進而使狀況惡化。雖然目前全球的糧食狀況看似很好,但幾週內糧食問題就會逐漸浮現,並隨著蔬果進入收成季節,於兩個月內惡化。

限制人口流動雖然能有效防止疫情傳播,但邁入收成季的蔬果園也將難以招募到熟練的臨時工,許多作物可能來不及在腐壞前收成。托雷羅也建議消費者,可以透過避免恐慌搶購、囤貨、浪費物資,緩解防疫措施導致的糧食問題。

【其他文章推薦】

※無塵擦拭布各大品牌廠商販售比價網!

※如何正確使用飲水機?

※如何知道自已的電腦cpu支不支持AVX指令集?

※掌握產品行銷策略,帶你認識商品包裝設計基本要素

※精密CNC 自動車床設備介紹

※空壓機這裡買最划算!

高雄幸福川又變色 環保局:雨後藻類大量繁殖

摘錄自2020年3月29日中央社報導

29日中午有網友在網路貼文說幸福川遭到污染,水色呈褐色且水面有大量浮渣,高雄市環保局下午立即派員前往稽查,現場量測水質溶氧達每公升9.39毫克,高於正常水質溶氧每公升8毫克,研判是水中藻類大量繁殖行光合作用所致,藻類大量繁殖也造成河川呈現淡褐色。

環保局指出,歷年來愛河每逢變色時,經採樣透過顯微鏡觀察發現愛河藻類十分多樣,不同藻類大量繁殖會使愛河呈現不同顏色,例如藍綠色為顫藻所致、草綠色為裸藻、黃褐色為矽藻及甲藻、紅褐色則為隱藻等,待放晴幾天後,水面變色就自然恢復。

幸福川(原二號運河)全長約5.3公里,河道兩側為高雄市河南路及河北路,橫跨高市三民區、前金區、新興區、苓雅區,上游延伸至苓雅區民族路河段,下游延至三民區南邊界注入愛河。

【其他文章推薦】

※客製專屬滑鼠墊、可愛造型L夾、L型資料夾、透明證件套、手提袋,專業印刷設計廠商!  

※示波器鮮為人知的使用技巧?

※掌握產品行銷策略,帶你認識商品包裝設計基本要素

※買不起高檔茶葉,精緻包裝茶葉罐,也能撐場面!

※貨梯使用安全與保養

※高效率洗滌塔活性碳設備有哪些?

※專業模具開發-五金製品代工製作廠

研發智慧電池回收機的宜可可循環經濟(ECOCO)創辦人李漢揚表示

研發智慧電池回收機的宜可可循環經濟(ECOCO)創辦人李漢揚表示,民眾先以手機下載APP並註冊登入,按照回收機的指示進行操作,回收成功後便可依數量獲得相對的回饋點數。點數可在合作商家折抵消費,有百貨賣場、手搖飲等業者,甚至可折抵機車保險費,且相當優惠。試營運兩天就已回收50公斤。

李漢揚表示,智慧電池回收機可接受圓形乾電池(1至6號)、方形乾電池(9V)及鈕扣電池,會自動辨識與分類,回收的廢電池交由專業廠商處理。

【其他文章推薦】

※如何知道自已的電腦cpu支不支持AVX指令集?

※無塵擦拭布各大品牌廠商販售比價網!

※臭氧機推薦

※貨梯使用安全與保養

※高效率洗滌塔活性碳設備有哪些?

※掌握產品行銷策略,帶你認識商品包裝設計基本要素

環保局指出,歷年來愛河每逢變色時

環保局指出,歷年來愛河每逢變色時,經採樣透過顯微鏡觀察發現愛河藻類十分多樣,不同藻類大量繁殖會使愛河呈現不同顏色,例如藍綠色為顫藻所致、草綠色為裸藻、黃褐色為矽藻及甲藻、紅褐色則為隱藻等,待放晴幾天後,水面變色就自然恢復。

幸福川(原二號運河)全長約5.3公里,河道兩側為高雄市河南路及河北路,橫跨高市三民區、前金區、新興區、苓雅區,上游延伸至苓雅區民族路河段,下游延至三民區南邊界注入愛河。

【其他文章推薦】

※空壓機這裡買最划算!

※貨梯使用安全與保養

※如何知道自已的電腦cpu支不支持AVX指令集?

※臭氧機推薦

※高效率洗滌塔活性碳設備有哪些?

基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(二)

系列文章

  1. 基於 abp vNext 和 .NET Core 開發博客項目 – 使用 abp cli 搭建項目
  2. 基於 abp vNext 和 .NET Core 開發博客項目 – 給項目瘦身,讓它跑起來
  3. 基於 abp vNext 和 .NET Core 開發博客項目 – 完善與美化,Swagger登場
  4. 基於 abp vNext 和 .NET Core 開發博客項目 – 數據訪問和代碼優先
  5. 基於 abp vNext 和 .NET Core 開發博客項目 – 自定義倉儲之增刪改查
  6. 基於 abp vNext 和 .NET Core 開發博客項目 – 統一規範API,包裝返回模型
  7. 基於 abp vNext 和 .NET Core 開發博客項目 – 再說Swagger,分組、描述、小綠鎖
  8. 基於 abp vNext 和 .NET Core 開發博客項目 – 接入GitHub,用JWT保護你的API
  9. 基於 abp vNext 和 .NET Core 開發博客項目 – 異常處理和日誌記錄
  10. 基於 abp vNext 和 .NET Core 開發博客項目 – 使用Redis緩存數據
  11. 基於 abp vNext 和 .NET Core 開發博客項目 – 集成Hangfire實現定時任務處理
  12. 基於 abp vNext 和 .NET Core 開發博客項目 – 用AutoMapper搞定對象映射
  13. 基於 abp vNext 和 .NET Core 開發博客項目 – 定時任務最佳實戰(一)
  14. 基於 abp vNext 和 .NET Core 開發博客項目 – 定時任務最佳實戰(二)
  15. 基於 abp vNext 和 .NET Core 開發博客項目 – 定時任務最佳實戰(三)
  16. 基於 abp vNext 和 .NET Core 開發博客項目 – 博客接口實戰篇(一)
  17. 基於 abp vNext 和 .NET Core 開發博客項目 – 博客接口實戰篇(二)
  18. 基於 abp vNext 和 .NET Core 開發博客項目 – 博客接口實戰篇(三)
  19. 基於 abp vNext 和 .NET Core 開發博客項目 – 博客接口實戰篇(四)
  20. 基於 abp vNext 和 .NET Core 開發博客項目 – 博客接口實戰篇(五)
  21. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(一)
  22. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(二)
  23. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(三)
  24. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(四)
  25. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(五)
  26. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(六)
  27. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(七)
  28. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(八)
  29. 基於 abp vNext 和 .NET Core 開發博客項目 – Blazor 實戰系列(九)
  30. 基於 abp vNext 和 .NET Core 開發博客項目 – 終結篇之發布項目

上一篇搭建了 Blazor 項目並將整體框架改造了一下,本篇將完成用 C# 代碼代替 JavaScript 實現幾個小功能,說是代替但並不能完全不用 JavaScript,應該說是盡量不用吧。

二維碼显示與隱藏

可以看到,當我鼠標移入的時候显示二維碼,移出的時候隱藏二維碼。

這個功能如果是用JavaScript來完成的話,肯定首先想到的是HTML的 Mouse 事件屬性,那麼在Blazor中也是一樣的,給我們實現了各種on*事件。

打開index.razor頁面,給微信圖標那個 NavLink 標籤添加兩個事件,@onmouseover和@onmouseout。

...
<NavLink class="link-item weixin" title="掃碼關注微信公眾號:『阿星Plus』查看更多。" @onmouseover="Hover" @onmouseout="Hover">
    <i class="iconfont iconweixin"></i>
</NavLink>
...

當鼠標移入移出的時候都執行我們自定義的一個方法Hover()。

C# 代碼寫在@code{}花括號中,實現显示和隱藏原理是利用css,默認是隱藏的,當显示的時候將具有隱藏屬性的class值去掉就可以了。

所以,可以添加兩個字段,一個用於判斷當前是否處於隱藏狀態,一個用來存儲class的值。

/// <summary>
/// 是否隱藏
/// </summary>
private bool IsHidden = true;

/// <summary>
/// 二維碼CSS
/// </summary>
private string QrCodeCssClass => IsHidden ? "hidden" : null;

當IsHidden = true,QrCodeCssClass = "hidden",當IsHidden = false,QrCodeCssClass = null。

那麼在Hover()方法中,不斷修改IsHidden的值就可以實現效果了。

/// <summary>
/// 鼠標移入移出操作
/// </summary>
private void Hover() => IsHidden = !IsHidden;

最後將QrCodeCssClass變量賦值給二維碼圖片所在的div上。

...
<div class="qrcode @QrCodeCssClass">
    <img src="https://static.meowv.com/images/wx_qrcode.jpg" />
</div>
...

大功告成,index.razor完整代碼如下:

@page "/"

<div class="main">
    <div class="container">
        <div class="intro">
            <div class="avatar">
                <a href="javascript:;"><img src="https://static.meowv.com/images/avatar.jpg"></a>
            </div>
            <div class="nickname">阿星Plus</div>
            <div class="description">
                <p>
                    生命不息,奮鬥不止
                    <br>Cease to struggle and you cease to live
                </p>
            </div>
            <div class="links">
                <NavLink class="link-item" title="Posts" href="posts">
                    <i class="iconfont iconread"></i>
                </NavLink>
                <NavLink target="_blank" class="link-item" title="Notes" href="https://notes.meowv.com/">
                    <i class="iconfont iconnotes"></i>
                </NavLink>
                <NavLink target="_blank" class="link-item" title="API" href="https://api.meowv.com/">
                    <i class="iconfont iconapi"></i>
                </NavLink>
                <NavLink class="link-item" title="Manage" href="/account/auth">
                    <i class="iconfont iconcode"></i>
                </NavLink>
                <NavLink target="_blank" class="link-item" title="Github" href="https://github.com/Meowv/">
                    <i class="iconfont icongithub"></i>
                </NavLink>
                <NavLink class="link-item weixin" title="掃碼關注微信公眾號:『阿星Plus』查看更多。" @onmouseover="Hover" @onmouseout="Hover">
                    <i class="iconfont iconweixin"></i>
                </NavLink>
                <div class="qrcode @QrCodeCssClass">
                    <img src="https://static.meowv.com/images/wx_qrcode.jpg" />
                </div>
            </div>
        </div>
    </div>
</div>

@code {
    /// <summary>
    /// 是否隱藏
    /// </summary>
    private bool IsHidden = true;

    /// <summary>
    /// 二維碼CSS
    /// </summary>
    private string QrCodeCssClass => IsHidden ? "hidden" : null;

    /// <summary>
    /// 鼠標移入移出操作
    /// </summary>
    private void Hover() => IsHidden = !IsHidden;
}

菜單显示與隱藏

菜單是在小屏幕上才會出現的,相信看完了二維碼的显示與隱藏,這個菜單的显示與隱藏就好辦了吧,實現方法是一樣的,菜單按鈕是在頭部組件Header.razor中的,包括主題切換功能,所以下面代碼都在Header.razor裏面。

@code {
    /// <summary>
    /// 下拉菜單是否打開
    /// </summary>
    private bool collapseNavMenu = false;

    /// <summary>
    /// 導航菜單CSS
    /// </summary>
    private string NavMenuCssClass => collapseNavMenu ? "active" : null;

    /// <summary>
    /// 显示/隱藏 菜單
    /// </summary>
    private void ToggleNavMenu() => collapseNavMenu = !collapseNavMenu;
}

默認是不打開的,collapseNavMenu = false。然後根據collapseNavMenu值為NavMenuCssClass給定不同的class。

...
<nav class="navbar-mobile">
    <div class="container">
        <div class="navbar-header">
            <div>
                <NavLink class="menu-item" href="" Match="NavLinkMatch.All">阿星Plus</NavLink>
                <NavLink>&nbsp;·&nbsp;Light</NavLink>
            </div>
            <div class="menu-toggle" @onclick="ToggleNavMenu">&#9776; Menu</div>
        </div>
        <div class="menu @NavMenuCssClass">
            <NavLink class="menu-item" href="posts">Posts</NavLink>
            <NavLink class="menu-item" href="categories">Categories</NavLink>
            <NavLink class="menu-item" href="tags">Tags</NavLink>
            <NavLink class="menu-item apps" href="apps">Apps</NavLink>
        </div>
    </div>
</nav>
...

與二維碼显示與隱藏唯一區別就是這裡是點擊按鈕,不是移入移出,所以菜單显示與隱藏需要用到@onclick方法。

主題切換

哇,這個主題切換真的是一言難盡,當切換主題的時候需要記住當前的主題是什麼,當刷新頁面或者跳轉其他頁面的時候,主題狀態是需要一致的,默認是白色主題,當切換暗黑色主題后其實是在body上加了一個class。

在Blazor實在是不知道用什麼辦法去動態控制body的樣式,所以這裏我想到了一個辦法,寫幾個全局的JavaScript方法,然後再Blazor中調用,要知道,他們是可以互相調用的,於是問題迎刃而解。

添加app.js文件,放在 /wwwroot/js/ 下面。

var func = window.func || {};

func = {
    setStorage: function (name, value) {
        localStorage.setItem(name, value);
    },
    getStorage: function (name) {
        return localStorage.getItem(name);
    },
    switchTheme: function () {
        var currentTheme = this.getStorage('theme') || 'Light';
        var isDark = currentTheme === 'Dark';

        if (isDark) {
            document.querySelector('body').classList.add('dark-theme');
        } else {
            document.querySelector('body').classList.remove('dark-theme');
        }
    }
};

這裏寫了三個方法,設置localStorage:setStorage(name,value),獲取localStorage:getStorage(name),切換主題:switchTheme(),localStorage 是瀏覽器以 name:value 形式的本地存儲對象。

switchTheme主要做的事情就是,判斷當前主題如果是暗黑,就給body加上對應的class,如果不是就去掉。

然後在 index.html 中引用。

...
<body>
    <app>
        <div class="loader"></div>
    </app>
    <script src="js/app.js"></script>
    <script src="_framework/blazor.webassembly.js"></script>
</body>
...

有了這個三個全局的JavaScript方法,切換主題就變得簡單多了,看代碼。

...
/// <summary>
/// 當前主題
/// </summary>
private string currentTheme;

/// <summary>
/// 初始化
/// </summary>
/// <returns></returns>
protected override async Task OnInitializedAsync()
{
    currentTheme = await JSRuntime.InvokeAsync<string>("window.func.getStorage", "theme") ?? "Light";

    await JSRuntime.InvokeVoidAsync("window.func.switchTheme");
}
...

注意在Blazor調用JavaScript方法需要注入IJSRuntime接口,@inject IJSRuntime JSRuntime。

新建一個變量currentTheme,在生命周期函數初始化的時候去調用JavaScript中的getStorage方法,獲取當前主題,考慮到第一次訪問的情況,可以給一個默認值為Light,表示白色主題,然後再去調用switchTheme,執行切換主題的方法。這樣頁面就會根據localStorage的值來確定當前的主題。

...
/// <summary>
/// 切換主題
/// </summary>
private async Task SwitchTheme()
{
    currentTheme = currentTheme == "Light" ? "Dark" : "Light";

    await JSRuntime.InvokeVoidAsync("window.func.setStorage", "theme", currentTheme);

    await JSRuntime.InvokeVoidAsync("window.func.switchTheme");
}
...

SwitchTheme()是切換主題的方法,當我們點擊input按鈕時可以任意切換,並且主題還要實時跟着變化。

當點擊按鈕執行SwitchTheme()時候改變currentTheme的值,然後將currentTheme傳遞給JavaScript方法setStorage,最後再次執行切換主題的JavaScript方法即可。

此時變量currentTheme也發揮了不少作用,在小屏幕下會显示當前主題的名稱,Dark or Light,可以直接將currentTheme在HTML中賦值即可。

並且我們input是checkbox類型,當是黑色主題的時候需要時選中的狀態,白色主題的時候不選中,這裏就可以利用checked屬性這樣寫:checked="@(currentTheme == "Dark")"。

<nav class="navbar">
    <div class="container">
       ...
        <div class="menu navbar-right">
           ...
            <input id="switch_default" type="checkbox" class="switch_default" @onchange="SwitchTheme" checked="@(currentTheme == "Dark")" />
            <label for="switch_default" class="toggleBtn"></label>
        </div>
    </div>
</nav>
<nav class="navbar">
    <div class="container">
       ...
        <div class="menu navbar-right">
           ...
            <input id="switch_default" type="checkbox" class="switch_default" @onchange="SwitchTheme" checked="@(currentTheme == "Dark")" />
            <label for="switch_default" class="toggleBtn"></label>
        </div>
    </div>
</nav>
<nav class="navbar-mobile">
    <div class="container">
        <div class="navbar-header">
            <div>
                <NavLink class="menu-item" href="" Match="NavLinkMatch.All">阿星Plus</NavLink>
                <NavLink @onclick="SwitchTheme">&nbsp;·&nbsp;@currentTheme</NavLink>
            </div>
            <div class="menu-toggle" @onclick="ToggleNavMenu">&#9776; Menu</div>
        </div>
        <div class="menu @NavMenuCssClass">
            ...
        </div>
    </div>
</nav>

OK,搞定,快去試試吧。

優化代碼

現在看起來亂亂的,並且設置獲取localStorage屬於公共的方法,說不定以後也能用到,我們將其封裝一下,便於日後的調用,不然要寫好多重複的代碼。

在Blazor項目根目錄添加文件夾Commons,在文件夾下添加一個Common.cs,目前用到了IJSRuntime,用構造函數注入,然後寫幾個公共的方法。

//Common.cs
using Microsoft.JSInterop;
using System.Threading.Tasks;

namespace Meowv.Blog.BlazorApp.Commons
{
    public class Common
    {
        private readonly IJSRuntime _jsRuntime;

        public Common(IJSRuntime jsRuntime)
        {
            _jsRuntime = jsRuntime;
        }

        /// <summary>
        /// 執行無返回值方法
        /// </summary>
        /// <param name="identifier"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public async ValueTask InvokeAsync(string identifier, params object[] args)
        {
            await _jsRuntime.InvokeVoidAsync(identifier, args);
        }

        /// <summary>
        /// 執行帶返回值的方法
        /// </summary>
        /// <typeparam name="TValue"></typeparam>
        /// <param name="identifier"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public async ValueTask<TValue> InvokeAsync<TValue>(string identifier, params object[] args)
        {
            return await _jsRuntime.InvokeAsync<TValue>(identifier, args);
        }

        /// <summary>
        /// 設置localStorage
        /// </summary>
        /// <param name="name"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        public async Task SetStorageAsync(string name, string value)
        {
            await InvokeAsync("window.func.setStorage", name, value);
        }

        /// <summary>
        /// 獲取localStorage
        /// </summary>
        /// <param name="name"></param>
        /// <returns></returns>
        public async Task<string> GetStorageAsync(string name)
        {
            return await InvokeAsync<string>("window.func.getStorage", name);
        }
    }
}

然後需要在Program.cs中注入。

using Meowv.Blog.BlazorApp.Commons;
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Net.Http;
using System.Threading.Tasks;

namespace Meowv.Blog.BlazorApp
{
    public class Program
    {
        public static async Task Main(string[] args)
        {
            var builder = WebAssemblyHostBuilder.CreateDefault(args);
            builder.RootComponents.Add<App>("app");

            builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });

            builder.Services.AddSingleton(typeof(Common));

            await builder.Build().RunAsync();
        }
    }
}

緊接着在_Imports.razor中注入使用Common,@inject Commons.Common Common。

改造一下Header.razor,全部代碼如下:

<header>
    <nav class="navbar">
        <div class="container">
            <div class="navbar-header header-logo">
                <NavLink class="menu-item" href="/" Match="NavLinkMatch.All">
                    阿星Plus
                </NavLink>
            </div>
            <div class="menu navbar-right">
                <NavLink class="menu-item" href="posts">Posts</NavLink>
                <NavLink class="menu-item" href="categories">Categories</NavLink>
                <NavLink class="menu-item" href="tags">Tags</NavLink>
                <NavLink class="menu-item apps" href="apps">Apps</NavLink>
                <input id="switch_default" type="checkbox" class="switch_default" @onchange="SwitchTheme" checked="@(currentTheme == "Dark")" />
                <label for="switch_default" class="toggleBtn"></label>
            </div>
        </div>
    </nav>
    <nav class="navbar-mobile">
        <div class="container">
            <div class="navbar-header">
                <div>
                    <NavLink class="menu-item" href="" Match="NavLinkMatch.All">阿星Plus</NavLink>
                    <NavLink @onclick="SwitchTheme">&nbsp;·&nbsp;@currentTheme</NavLink>
                </div>
                <div class="menu-toggle" @onclick="ToggleNavMenu">&#9776; Menu</div>
            </div>
            <div class="menu @NavMenuCssClass">
                <NavLink class="menu-item" href="posts">Posts</NavLink>
                <NavLink class="menu-item" href="categories">Categories</NavLink>
                <NavLink class="menu-item" href="tags">Tags</NavLink>
                <NavLink class="menu-item apps" href="apps">Apps</NavLink>
            </div>
        </div>
    </nav>
</header>

@code {
    /// <summary>
    /// 下拉菜單是否打開
    /// </summary>
    private bool collapseNavMenu = false;

    /// <summary>
    /// 導航菜單CSS
    /// </summary>
    private string NavMenuCssClass => collapseNavMenu ? "active" : null;

    /// <summary>
    /// 显示/隱藏 菜單
    /// </summary>
    private void ToggleNavMenu() => collapseNavMenu = !collapseNavMenu;

    /// <summary>
    /// 當前主題
    /// </summary>
    private string currentTheme;

    /// <summary>
    /// 初始化
    /// </summary>
    /// <returns></returns>
    protected override async Task OnInitializedAsync()
    {
        currentTheme = await Common.GetStorageAsync("theme") ?? "Light";

        await Common.InvokeAsync("window.func.switchTheme");
    }

    /// <summary>
    /// 切換主題
    /// </summary>
    private async Task SwitchTheme()
    {
        currentTheme = currentTheme == "Light" ? "Dark" : "Light";

        await Common.SetStorageAsync("theme", currentTheme);

        await Common.InvokeAsync("window.func.switchTheme");
    }
}

實現過程比較簡單,相信你絕對學會了。本篇就到這裏了,未完待續…

開源地址:https://github.com/Meowv/Blog/tree/blog_tutorial

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

【其他文章推薦】

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

※網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※想知道最厲害的網頁設計公司"嚨底家"!

※別再煩惱如何寫文案,掌握八大原則!

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※回頭車貨運收費標準

海洋悲歌 瀕絕保育類江豚魂斷通霄岸際

摘錄自2020年3月30日中央社報導

苗栗縣通霄鎮民眾在通霄精鹽廠後方岸際發現一隻死亡鯨豚,經海巡署中部分署通報中華鯨豚協會人員判定為瀕臨絕種保育類「江豚」,屍體無明顯外傷,由協會人員帶回做後續研究。

海巡署中部分署今(30日)發布新聞表示,第三岸巡隊白沙屯安檢所昨天下午3時許,接獲民眾通報於通霄精鹽廠後方自行車道附近海岸,發現一隻死亡鯨豚,安檢所人員到場後,將死亡鯨豚照片傳送中華鯨豚協會辨識,判定品種為全球僅剩約1000隻的瀕臨絕種保育類「江豚」。



民眾在苗栗縣通霄精鹽廠後方岸際發現一隻死亡鯨豚,經中華鯨豚協會人員判定品種為瀕臨絕種保育類「江豚」。照片來源:海巡署中部分署第三岸巡隊

【其他文章推薦】

※使用真空封口機常見問題?

※影響示波器測試準確度的五大因素

※各大百貨每波促銷贈品活動,限量知名LOGOL型資料夾,獨家販售中!!

※哪裡有合版印刷優惠,尋找L夾客製化印刷廠商?

※如何正確使用飲水機?

※洗滌塔運作原理介紹

※無塵擦拭布各大品牌廠商販售比價網!

10幾萬就想買個好看又踏實的家用車,怪不得大家都買他們…

58萬元,在推出第二年才推出了自動擋車型,可能因為自動變速箱實在不行,在往後的幾年推出新款就再也沒推出過自動擋車型了,直到15年的時候擁有一定的調校技術和資源才推出了自動擋車型,也開始陸續地“開枝散恭弘=叶 恭弘”,紅標、藍標、運動版逐漸現世,但依然不太推薦自動擋車型,兩百塊能跑四百公里和只能跑300公里相比,你會怎麼選。

“,我要買哈弗H6!”

“哦?那你想買哪個版本?”

“啊?怎麼說?”

“哈弗H6有紅標運動版、藍標運動版、升級版、柴油版、Coupe車型….”

“……”

11月份哈弗H6賣出了7.03萬輛

排在國內熱銷SUV排行榜榜首

銷量超過了第二名的傳祺GS4兩倍有餘

為什麼哈弗H6這麼多人買?

因為它賣得火啊!

全文終。

自2011年哈弗H6在長城天津工廠下線以來,一步步地成為國內SUV市場的爆款,在2015年哈弗H6累計銷量破百萬,這是自主品牌的銷量神話…

哈弗H6犹如是淘寶中慢慢蛻變爆款的商品,在SUV市場還沒全面興起的時候,恰好在這個時間上架,也憑藉一些實力做出了一些口碑,可以理解為“刷”好評。消費者要買想SUV,首先看的是SUV銷量排行榜,其次是看口碑,十個口碑中有六個好評其實已經引起消費者的好感和購買慾望,這是大部分中國消費者的消費習慣。

▲哈弗H6符合國人口味的外觀

▲哈弗H6不俗的內飾

口碑是可以“刷”出來的,但也需要用實力去支撐,哈弗H6也有它的“過人之處”,多重的因素令它成為了最成功的SUV車型之一。每一個商家不會放過任何一個有爆款潛力的商品,更何況是已經成為爆款的商品,更是加大投入推廣和改進,爭取獲得更好的銷量成績。

▲哈弗H6 COUpE車型

11年上市的哈弗H6隻有兩個版本,分別是2.0L和2.0T的發動機,只有手動擋配置,當時國內的自動變速箱技術還真不夠成熟,所以那時候大部分自主車型都是手動擋,畢竟机械離合器構造簡單成本低。價錢也不低,當時候最低配也要9.58萬元,在推出第二年才推出了自動擋車型,可能因為自動變速箱實在不行,在往後的幾年推出新款就再也沒推出過自動擋車型了,直到15年的時候擁有一定的調校技術和資源才推出了自動擋車型,也開始陸續地“開枝散恭弘=叶 恭弘”,紅標、藍標、運動版逐漸現世,但依然不太推薦自動擋車型,兩百塊能跑四百公里和只能跑300公里相比,你會怎麼選?手動擋剛開始接觸可能稍難上手一些,但用得久了,其實真沒什麼,這是很多開手動擋車的老司機原話。

現在很多更新換代的車型無非就是稍微改改外觀內飾,增加或減少配置控制整車成本,都是這樣的一個套路,哈弗H6這麼多款版本車型也不例外,無論是外觀和內飾配置怎麼變怎麼改,都是用那套原來舊的動力總成、懸架甚至是車身結構,並沒有“改頭”只是“換臉”而已。眾所周知大部分自主品牌使用的動力總成大多都是合資品牌的老舊技術,質量過關耐用,但就是跟不上時代的步伐,就拿國內的2.0T發動機和本田的2.0T發動機相比,真的是天地之別。

奈何,國人的用車習慣就是車能跑得快、空間夠大人坐得舒服也載得多人,其次還有外觀要好看霸氣有面子,重點還要價錢不能高,所以十來萬的SUV最符合國人的口味,哈弗H6就是這樣符合國情,但真要說人生第二台車會不會選哈弗,相信很多消費者都是否定的。

再來說說轎車吧,轎車一直都不是自主品牌的強悍,SUV市場一片繁華,但轎車方面還是十分中庸,11月份轎車銷量排行榜十中有九都是合資品牌,都是我們熟悉的軒逸、朗逸、速騰、英朗等等一直很火的十來萬緊湊型車。

▲日產軒逸-11月份轎車排行榜銷量冠軍

轎車銷量排行榜前十名的銷量並沒有SUV排行榜那麼懸殊,都是賣出三、四萬台這樣,日產軒逸賣出4.52萬輛排在第一,對於部分抵制日貨的消費者來說很氣,但日系車特別符合家庭用車習慣這是最大的事實,賣出一台日系車日本賺到的利潤遠遠比不上我們自己國家收的稅多,這裏就不往下說了,日系車還是賣得很好,證明大部分消費者都是理性消費的。

▲國人的用車還是以家庭為主

中國家庭就是需要一台看着大氣開起來舒服又省油的轎車,車價在10-15萬元是國人最能接受的區間,首付供車壓力不算大,全款支付也並不需要N+1年才能實現“有車一族”,所以轎車銷量排行榜中車型都涉及到這個車價區間,這也是國內汽車市場最受歡迎的價格區間。

你想問轎車銷量排行榜裏面哪款車比較好?不吹不黑告訴你們,這些車都差不多,很適合家庭用車,如果你想從中選一台,可以按以下步驟:

第一、從外觀入手,除了自己的審美之外,問問父母的意見(僅僅外觀一項)有女朋友的問女朋友有老婆的問老婆,從中挑幾款順眼好看的車型;

第二、到4S店靜態體驗,空間大小和座椅的舒適性比較,當然最好也能帶上父母或者老婆,畢竟以後他們都會坐上你的車;

第三、看手頭的預算,挑配置,配置不用多夠用就好,省點總比亂花好;

第四、道路試駕,其中十來萬的合資車開起來差不到哪裡去,省油才是最關鍵,其次感受一下車輛的濾震,挑開起來順手最舒服的那台絕對沒錯;

第五、看中哪個配置車型就可以跟銷售砍價了。

有個性的車,例如外觀極端,不管是好看還是難看,基本都賣不好,自然成為了小眾車型。國人的審美逐漸被常見的車型平淡化,你覺得這輛車個性又獨特,但當你真正需要買車的時候不會想到這些小眾的車型,除非是價錢吸引到你,大多人都會回歸到銷量排行榜中,這是一種依賴的心理效應,總覺得賣得好的車就是最靠譜的車,至少不會因為自己的選擇而後悔,就算是後悔也有一大把人陪自己呢,車子出問題了大不了跟“同病相憐”的一起抱怨罷了。

總結:SUV或轎車也好,其實不必要太糾結每個月的銷量排行榜,我們可以將它作為我們買車的參考,而不是將它作為我們買車的標準,選擇自己真心喜歡的車型,沒必要迎合他人的口味。榜上有名的車型自然有它們存在的道理,這裏不談它們的優點或缺點,畢竟人無完人,車也一樣嘛!本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※別再煩惱如何寫文案,掌握八大原則!

※教你寫出一流的銷售文案?

※超省錢租車方案

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※回頭車貨運收費標準

當精工製造遇上了一雙慧眼,會造出一輛什麼車?

在整個越野路段對比體驗中,印象最深刻的就是傲虎的動力輸出特性,由於傲虎使用的是自然吸氣水平對置發動機與CVT變速箱,低轉速時的扭力輸出比渦輪增壓發動機要好很多,動力的輸出非常線性,簡單點來說就是很容易駕馭,同時對安全也有幫助,駕駛員能把更多的精力放在觀察路況與路線當中。

想要打造出一輛能夠大賣的爆款車型,或許並不難,只要它有足夠的賣點即可,例如帥氣靚麗的外形,又或者極致的駕駛樂趣,再或者是豐富的配置,相較於那些各有特色的車型,覺得“均衡”才是一輛好車的必備條件。

近日,就試駕到了兩款非常“均衡”的車,同時它們對於斯巴魯而言也具有里程碑意義,因為它們首次將斯巴魯的EyeSight技術帶進中國,這兩款車就是斯巴魯的力獅與傲虎。

每次提及到斯巴魯,首先就會想到它們引以為傲的“水平對置發動機”與“左右對稱全時四驅”,為什麼斯巴魯一直在堅持,覺得一方面是對駕駛員的尊重,另一方面是對自然界的致敬。

在這次的斯巴魯力獅性能體驗中,在廣東國際賽車場輪流試駕了斯巴魯力獅、奧迪A4L和奔馳C級,三款車型的驅動方式分別為:全時四驅、前驅和后驅。

三種驅動形式各有特色,在賽道上進行極限駕駛時,力獅的左右對稱全時四驅盡顯其優勢,最明顯的就是出彎極限非常高,同樣的一個高速彎,開着力獅能夠從容的全油門出彎,然而A4L和C級都無法這樣做,否則就會伴隨着轉向不足與轉向過度。

除了左右對稱全時四驅,水平對置發動機的低重心也對車輛操控有积極意義,除了出色的操控,在三車對比當中,力獅 2017款 2.5i 全驅榮耀版 EyeSight在賽道上的動力表現值得稱讚,對比車型的奧迪A4L 40 TFSI與奔馳C200L同樣是使用2.0T的直列四缸渦輪增壓發動機,力獅則是2.5L自然吸氣水平對置發動機。

還沒開始試駕之前,一度認為用2.0T渦輪增壓與2.5L自然吸氣對比,好像有點不太公平,可是輪流試駕完三輛車之後,徹底改觀。賽道是一個分秒必爭的地方,力獅的CVT變速箱在此時此刻發揮出了它的優點。

通過方向盤右側多功能按鍵設定運動駕駛模式后,油門踏板變得非常靈敏,出彎時深踩油門,發動機轉速迅速上升,隨後一直維持在最佳動力輸出的轉速,整個過程不僅免除了換檔時間,動力的傳遞還非常及時,這樣的表現與市面上的大多數CVT都不太一樣。

如果你現在還是認為城市SUV的四驅性能都是噱頭,那麼就大錯特錯了,其實在此之前,也是對城市SUV的四驅系統不太看好,但是親自體驗完斯巴魯傲虎、奧迪Q5和豐田漢蘭達之後,徹底感受到傲虎的優勢。

“穩定可靠,簡單易用”,這是對於傲虎越野性能的總結,越野場地的賽道長度很短,但是涵蓋了眾多項目,其中最具有參考意義的就是炮彈坑、岩石路段和陡坡環節。

在整個越野路段對比體驗中,印象最深刻的就是傲虎的動力輸出特性,由於傲虎使用的是自然吸氣水平對置發動機與CVT變速箱,低轉速時的扭力輸出比渦輪增壓發動機要好很多,動力的輸出非常線性,簡單點來說就是很容易駕馭,同時對安全也有幫助,駕駛員能把更多的精力放在觀察路況與路線當中。

除了線性的動力輸出,還有一個關鍵點不得不提,那就是非常高效率的电子限滑系統,當車輛開啟了X-MODE模式之後,电子限滑系統的控制邏輯就會改變,變得更加积極、靈敏,在此模式下通過大炮彈坑,雖然兩個對象車輪懸空,但是整個過程一氣呵成,电子限滑系統反應迅速,車輪幾乎沒有出現空轉。

斯巴魯傲虎的陡坡緩降功能同樣是非常好用,當我們開啟X-MODE模式后,陡坡緩降系統就會在我們下坡時自動控制車速,我們先需要通過剎車制動把車輛控制在我們想要的車速,然後鬆開剎車踏板,系統就是自動保持在當前時速,我們要做的就是專註於轉向的控制。

無論是力獅的賽道性能還是傲虎的越野性能體驗,回歸到我們實際用車當中,覺得最重要的還是——安全,這是親自體驗過後最直觀的感受,即使你是第一次駕駛它們,你也會發現並不需要什麼適應過程,車輛會幫你處理那些瑣碎的事情,我們只需專註於駕駛,專註於觀察路面的狀況即可,這就是智能化的深度表現。

從第一輛汽車的誕生開始,車輛安全永遠都是世人關注的焦點,斯巴魯為什麼堅持全時四輪驅動,為什麼堅持水平對置發動機,覺得這些都是基於安全這個大前提去考慮的。

2017款斯巴魯力獅和傲虎是國內首次搭載預防性安全技術——EyeSight駕駛輔助系統的車型,繼日本、澳大利亞、北美、歐洲上市后,中國是第五個投放的市場,EyeSight的實際表現如何呢,感觸最深的是——細膩。

體驗內容包含了EyeSight駕駛輔助系統的幾大功能,防碰撞制動系統(pCB)、起步油門誤操作預防功能、全車速自適應巡航控制系統(ACC)和警報與提示功能。只要是配備了EyeSight駕駛輔助系統的車型,每當車輛啟動,防碰撞制動系統就會處於開啟狀態,若車速小於50km/h,能夠避免車輛與前方靜止的障礙物發生碰撞。

車內視角

車外視角

在實際測試中,分別以10km/h、30km/h和50km/h的時速進行體驗,車速越高,防碰撞制動系統的介入就越早,當系統識別到前方有障礙物,並且駕駛員沒有進行減速時,就會在儀錶盤進行相關提示,並帶有蜂鳴聲音,如果駕駛員仍然沒有進行任何操作,隨後車輛就會自動剎車至靜止狀態,整個自動剎車過程中,車內人員不會感覺到非常突兀,因為系統會進行提前預先剎車。

全車速自適應巡航控制系統能夠在0~180km/h的車速範圍內工作,能夠實現跟車功能,當車輛靜止后,可以通過兩個途徑恢復之前設定的時速繼續巡航,輕踩油門踏板或者是向上撥動車速設定撥桿即可。

這套全車速自適應巡航控制系統有幾個細節點做得很好,首先是跟車距離的設定,即便是從最近車距調節至最遠車距,系統也不會猛然減速,整個調節過程比人為控製做得還要好。

其次是對於前方有車輛併入車道,識別度很高,減速過程也不會感覺到很突兀,剎車力度有一個漸進的過程。除了這些,儀錶盤的動畫显示也做得非常好,無論是車輛併入,還是跟車的過程中,只要是我們的車輛處於減速狀態,儀錶盤中的显示剎車燈亮起的狀態,從這些這些細節的設計能夠看出斯巴魯還是很走心的。

EyeSight駕駛輔助系統還有一個功能非常適合剛拿到駕照的新手,那就是“起步油門誤操作預防功能”,當車輛處於靜止狀態下,如果系統識別到前方有靜止的障礙物,同時駕駛員將檔位掛到前進檔,即便是深踩油門,車輛也不會快速往前行駛,造成事故。

為什麼會這呢,其實是因為系統對發動機輸出進行抑制,發動機處於低速運轉,車輛只會有輕微的蠕動,這時候儀錶盤會有相關的提示和警示音,這樣就能夠很好的避免駕駛員掛錯檔而造成不必要的損失。

回過頭來看到整個EyeSight駕駛輔助系統,認為斯巴魯之所以選擇雙攝像頭,主要還是想讓更多的消費者體驗到這種預防性安全系統,為什麼這樣說呢,目前為止,其實各種駕駛輔助系統的方案都存在弱項,EyeSight的立體攝像頭方案很重要的一點在於其性價比很高。

在其它廠商的車型中,配備駕駛輔助系統的車型絕大多數都是頂配車型,但是這次斯巴魯將EyeSight引入中國,並沒有投放在頂配車型上,而是中配車型,他們的目的就是讓我們不需要花大價錢就能夠使用上EyeSight,始終將汽車安全性放在首位,這就是斯巴魯的獨特魅力。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※別再煩惱如何寫文案,掌握八大原則!

※網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!

※超省錢租車方案

※教你寫出一流的銷售文案?

※網頁設計最專業,超強功能平台可客製化

※產品缺大量曝光嗎?你需要的是一流包裝設計!

買了小排量就鐵定省油?天真!

5排量啊,還帶T,聽起來像思域的那台哦。你跟我談油耗。看下F1的發動機怎麼噴油的。F1的百公里油耗差不多在50—70升。你跟我說小排量省油。所以發動機的油耗與排量沒有最直接的關係,而是發動機做功的多少,我們都知道能量守恆定律。

這两天由於各個地方的霧霾,大排量的汽車又被推上風口浪尖,甚至引起不少所謂的微博大V撕逼。還有所謂的大學生上街遊行抵制大排量。

以往說到大排量就會想到油老虎,確實,我們所見到的大排量的車要麼是跑車。

要麼是旗艦級的豪車。

還有“美國車”。

首先發動機的排量是個什麼東西呢?今天就不列公式裝逼了。打個簡單的比方,如果說小排量是瘦子。

那麼大排量就像胖子。

同樣吃一個大蛋糕,大排量每一口吃得更多,小排量每口吃得更少,所以胖子吃得更快。不過即使這樣,只要時間充足,瘦子最後也能把蛋糕吃完。

這也是我們大多數人的印象,大排量發動機動力更好,車跑得更快,但是油耗更高。

為什麼會有大排量就鐵定高耗油的定論呢?因為胖子嘴大,餓起來連自己都吃,所以每一口吃得多,你要讓豬八戒把人蔘果分兩口吃肯定不可能。

而瘦子則可以每次吃半口,如果感覺有點飽了接下來的半口可以留着不吃。理論上聽着確實很省。

但是為什麼現在很多朋友買了1.2T三缸和1.5T四缸,發現並沒有想象中省油呢?先不說那所謂的“工信部油耗”。

我們上面也說了,從A到B就像吃吃一塊蛋糕,如果每一口吃得多,那麼肯定吃得快,要是小排量也想和大排量一起吃完,那就必須吃得更快,所以像之前說的1050馬力的本田1.5T F1發動機工作轉速就高達14000轉。1.5排量啊,還帶T,聽起來像思域的那台哦。

你跟我談油耗?看下F1的發動機怎麼噴油的!

F1的百公里油耗差不多在50—70升。你跟我說小排量省油?所以發動機的油耗與排量沒有最直接的關係,而是發動機做功的多少,我們都知道能量守恆定律。要想馬兒跑得快肯定要讓馬多吃草。那麼市面上的小排量發動機的優勢在哪裡呢?我們會發現大排量的車發動機也是多缸數,3.0以上排量就肯定是6缸了,4.0以上至少8缸,再往上就12缸,還是那句老話,馬力大十匹不如體重減十斤。12缸畢竟缸數在這裏,所以像3缸4缸發動機在自重上佔有不少優勢。如果兩台發動機功率一樣,那麼重量更輕的在油耗上肯定佔有優勢。

所以發動機的油耗是看做功的多少,(做功的多少又關係發動機的熱效率)那麼做的功多少能用到輪上又考慮到變速箱和輪胎等多方面因素了,一台車是否省油還是看你怎麼開,只是小排量更容易開出低油耗。

如果你經常切二擋。

2.0也可以開出6.0的油耗。

如果你只是當做一個從A到B的工具,能動就可以,不追求什麼加速能力,推背感,6.0也可以開出2.0的油耗。

就像以前手機還是2G網絡的時候一個月30M都用不完,現在用上4G一個月10G也不夠。

而那些把空氣污染和霧霾全部歸咎於汽車排放的人,看了下面的成績單,是不是說明邯鄲的汽車排放是北京的3倍呢?

那如果霧霾的罪魁禍首不是汽車又是誰呢?

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

【其他文章推薦】

※教你寫出一流的銷售文案?

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※回頭車貨運收費標準

※別再煩惱如何寫文案,掌握八大原則!

※超省錢租車方案

※產品缺大量曝光嗎?你需要的是一流包裝設計!

“小7系”降臨,E級顫抖了嗎?!全新寶馬5系Li揭開面紗!

而在動力總成方面,預計未來國產長軸距版車型將搭載不同功率調校的全新2。0T發動機以及3。0T發動機。與發動機匹配的有望是8速自動變速箱,部分車型還將搭載四驅系統。新5系標準軸距版海外的5系標準軸距版將於2017年2月在歐洲率先開售,起售價為36025英鎊,摺合人民幣29。

日前,華晨寶馬公布了一張國產全新5系Li長軸距版車型的官方圖片。新車針對中國消費者喜好,在全新一代寶馬5系標準軸距版的基礎上進行軸距加長打造而成。有消息稱全新5系Li有望在2017年4月的上海車展首發亮相,並且預計在2017年6月正式上市。

全新5系Li

在外觀方面,全新5系Li與標準軸距版幾乎保持一致,標誌性的雙腎型進氣格柵,開眼角式大燈,貫穿全車的側面腰線,前輪後方的氣流出口,儼然在向大哥7系看齊。

新5系標準軸距版

7系

內飾方面,預計也會和標準軸距版保持一致,延續新7系的設計語言,豪華之餘充滿科技感。略偏向駕駛者的中控布局,懸浮式中控大屏,全新設計的多功能方向盤,以及整體的飾料風格和色彩搭配,讓人一眼看上去很容易以為就是7系的內飾。

新5系標準軸距版

7系

配置方面,新車預計將配備多種新7繫上的高科技配置,如手勢控制、遙控泊車、遠程3D視角、HUD抬頭显示、夜視系統等。

而在動力總成方面,預計未來國產長軸距版車型將搭載不同功率調校的全新2.0T發動機以及3.0T發動機。與發動機匹配的有望是8速自動變速箱,部分車型還將搭載四驅系統。

新5系標準軸距版

海外的5系標準軸距版將於2017年2月在歐洲率先開售,起售價為36025英鎊,摺合人民幣29.67萬元,而國內售價則尚未公布。用5系的價格買到一輛“小7系”,這種越級的體驗不再是奔馳E級一家獨大,相信隨着全新寶馬5系Li的推出,國內C級豪華轎車市場的競爭會越發激烈。本站聲明:網站內容來源於http://www.auto6s.com/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※超省錢租車方案

※別再煩惱如何寫文案,掌握八大原則!

※回頭車貨運收費標準

※教你寫出一流的銷售文案?

※產品缺大量曝光嗎?你需要的是一流包裝設計!

※廣告預算用在刀口上,台北網頁設計公司幫您達到更多曝光效益

※網頁設計最專業,超強功能平台可客製化