保時捷來了!Mission E Concept純電動概念超跑正式發表

不讓特斯拉(Tesla)專美於前,超跑龍頭保時捷(Porsche)於2015年法蘭克福車展正式發表Mission E Concept 純電動超跑概念車款,並預計投資七億歐元興建產線,預計在2020年量產問世。

Mission E將完全延續保時捷的基因──搭配兩組最大馬力600hp 的電動馬達,時速零至一百公里加速僅需3.5秒,將是擁有標準超跑性能的電動車。Mission E採用鋰電池為隨車儲能裝置,透過專用的800V功率Porsche Turbo Charging 充電系統,僅需15分鐘就能完成八成充電,效能是目前充電系統的兩倍。此外,保時捷也提供無線充電技術,供Mission E透過車庫地板中的線圈進行感應充電。

Mission E最高行駛時速超過250km/hr,同時也將擁有絕佳續航力,充飽電時可以行駛500公里以上。

保時捷股份公司監事會主席沃爾夫岡.保時捷博士(Dr. Wolfgang Porsche)表示,Mission E確立了保時捷品牌的未來:「即使在當今快速發展的汽車領域中,保時捷也將憑這款極具吸引力的跑車確保地位。」

保時捷的董事會批准了Mission E的量產專案,預計將在斯圖嘉特-祖文豪森的主工廠陸續投資約七億歐元興建全新的生產線、烤漆房以及裝配廠。現行的引擎廠房也會藉此擴建,以生產電動馬達。車身鈑金部門也會跟著擴建。整體擴建計畫將創造上千個就業機會。

Mission E代表了保時捷對於更具永續性的「明天」的理念,量產版Mission E電動車最快將在2020年問世。

(照片來源:)

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

11月新能源汽車相關政策盤點

11月,國家與地方政府陸續推出了對2016年新能源汽車領域的戰略規劃與相關政策,下面我們就來看看有哪些政策與普通消費者息息相關。

1、第六批免征購置稅新能源汽車車型目錄公佈

11月25日,工信部官方網站發佈了《免征車輛購置稅的新能源汽車車型目錄》(第六批)檔。比亞迪秦EV、芝麻E30、力帆650EV等車型成功入選本批次目錄。據《財政部國家稅務總局工業和資訊化部關於免征新能源汽車車輛購置稅的公告》,即日起至2017年年底,在全國範圍內,消費者購買入圍目錄的車型,將根據政府計稅法規,享受車輛購置稅費用減免。

2、工信部發佈第75批節能與新能源汽車目錄

11月13日,工信部發佈《節能與新能源汽車示範推廣應用工程推薦車型目錄》(第75批),此次目錄共有251款節能與新能源汽車入選,車型仍以純電動車為主導。純電動轎車方面,風神、紅星、吉利、東南、眾泰、理念、力帆、長安八個品牌的車型入選。與往批入選車型的數量、與品牌相比,本批次入選的純電動轎車還是以自主品牌車型為主,這表明自主品牌在純電動車型方面的投入與科研一直在繼續深化,車型也在不斷更新。

3、五城市公佈2016年新能源汽車補貼標準

在今年4月份,“十三五”國家新能源汽車補貼政策已出臺,那麼各地方政府補貼政策如何?據瞭解,目前全國已有北京、瀋陽、山西、武漢、海口五個城市明確2016年新能源汽車補貼標準。其中,北京按照國家標準1:1比例補助,瀋陽按國家標準1:0.7~0.9比例補助,山西按國家標準1:1給予電動汽車補貼,武漢按國家標準1:1給予補貼,而海口則按國家標準1:0.6給予補貼。

4、充電新國標內容修訂已完成有望年底出臺

據悉,國家標準《電動車輛傳導充電系統一般要求》GB/T18487.1和《電動汽車非車載傳導式充電機與電池管理系統之間的通信協定》GB/T27930通過了中國電力企業聯合會組織的專家技術審查,這兩項國標技術審查,加上9月份通過技術審查的交直流充電介面《電動汽車傳導充電用連接裝置》GB/T20234三項標準,充電新國標內容修訂工作已經全部完成,現已進入報批階段,充電新國標有望年底出臺。

5、明年北京燃油指標減少新能源指標增至6萬

在11月6日召開的從北京市機動車排放污染防治對策和措施交流座談會上,北京市環保局機動車排放管理處處長李昆生表示,今後在機動車污染防治工作中要進一步調整車輛結構,向著燃氣化、電動化方向發展。明年新能源車搖號指標將從今年的3萬增加至6萬,同時普通車搖號指標將進一步壓縮,到2017年底,力爭全市新能源和清潔能源汽車應用規模達到20萬輛。

 

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

CES:福斯推出電動概念車平台BUDD-e

福斯汽車(Volkswagen)在今年的CES展上推出未來電動車的概念平台「BUDD-e」,並用這個平台設計了一輛商用麵包車款,還搭載了最新的手勢控制系統。

由BUDD-e平台所設計而成的插電式純電動車,概念上融入了各種科技產品。它擁有基本的車輛性能──四驅設計的馬達,最高時速93英里,最遠可行駛533公里。這輛汽車擁有只要充電30分鐘,就能將電池充電量提升到80%。

從福斯汽車的推特上來看,這款概念麵包車的車頂還安裝了太陽能板,可能會用於額外供給部分電源。

BUDD-e平台概念車的車頭採用LED頭燈,並用LED條燈來設計車身裝飾。此外,這輛概念車並沒有後照鏡,而改用許多鏡頭來取代後照鏡的功能。車身也沒有車門把,改採手勢控制來開啟車門;手勢控制也能用來執行多樣化的行車指令。

福斯汽車可能會在2017年將BUDD-e概念平台納入量產車輛設計,並結合傳統四缸引擎來打造油電混和車。福斯汽車的經營長Herbert Diess博士在CES發表會上指出,這輛全新、獨特的概念車是為了長時間、遠距電動行駛而設計。未來將成為日常生活的一部分,並改變遠端操控的概念。

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

微型電動汽車全國標準有望今年6月出臺

資料顯示,在我國的山東、河北、河南、江蘇、浙江、安徽等地,微型電動車已經逐漸成為規模化產業。據統計,僅山東一省,2015年1月到10月份微 型電動車產量就高達25.8萬輛。而從2010年到2014年,山東微型電動車產量實現了10倍增長。據預測,2015年微型電動車銷量至少將增長 50%,達到60多萬輛,並在2020年達到至少100萬輛,加上充電設備、電池等週邊產業,其產業規模有望突破1000億元。

據悉,在市場不斷壯大的背景下,中國微型電動車標準化技術委員會2015年在京成立,並正式啟動中國微型電動車標準制定工作。委員會特聘徐錠明、陳 清泉、韓英鐸、陳蘊博、錢逸泰、郭孔輝、楊裕生、其魯、陳全世、徐德鴻十位院士、專家為高級顧問。標準委員會於2015年7月起開始標準制定工作,9月 30日至12月10日進行標準討論稿公示,12月20日至30日進行專家評議,並於2016年6月正式通過並發佈中國微型電動車標準。

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

性剝削、家暴、童婚…… 氣候危機下的暴力事件 女性首當其衝

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

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

盤點中國主要新能源車企生產基地

隨著新能源汽車市場的快速增長,各大車企紛紛擴大生產規模,下面就來盤點一下各家車企的生產基地。

奇瑞

奇瑞新能源汽車技術有限公司於2010年4月正式成立,是奇瑞汽車股份有限公司的子公司,其前身為奇瑞汽車股份有限公司新能源汽車項目組。目前,奇瑞汽車已具備年產90萬輛整車的生產能力,建立了A00、A0、A、B、SUV五大乘用車產品平臺。其中AO級轎車方面以EV(純電動汽車)為主,A級和B級以上的車輛則主要是做PHEV(插電式混合動力)。

奇瑞新能源有望在株洲建設年產5萬~10萬台新能源汽車生產基地。屆時,包括在售的奇瑞eQ,以及艾瑞澤3EV和艾瑞澤7PHEV均有望在此進行投產。

另外,奇瑞新能源已於2015年早些時候與深圳市欣旺達電動汽車電池有限公司達成合作,雙方將共同投資設立蕪湖奇達動力電池系統有限公司,主要從事新能源汽車鋰電池的生產。

長安汽車

在新能源汽車上,長安汽車主要是國內兩大基地,還有海外。國內這兩大基地分為重慶、北京。重慶本部包括汽車工業研究院、新能源公司,北京包括北京院和新能源公司在北京的一個分部兩個研發基地各有側重,但重慶的基地以插電式混動為主,北京以純電動為主。但其中的一些共性技術,包括一些標準規範都是由重慶負責。同時,英國研發中心和美國研發中心做一些先期技術、新技術和傳統匹配調校等工作。

北汽新能源

現階段北汽新能源年產已達2萬輛。除北京外後續還規劃在山東青島、江蘇常州、江西九江三地再分別建設新能源汽車生產基地。

北汽新能源青島萊西生產基整體建設規模為年產整車10萬輛。第一期建成的萊西工廠將主要負責北汽新能源經濟型純電動汽車的焊裝、塗裝和總裝工序的生產活動。二期工程擬增加衝壓工藝,形成完整的汽車生產四大工藝。在產品規劃上,一期工程年產C30DB、M30RB兩款經濟型純電動汽車5萬輛,同時考慮適時導入目前處於研發階段的A00級純電動轎車產品。二期將逐步生產C30DS型、C70GB等中高檔電動汽車。

廣汽傳祺

新能源汽車是廣汽集團未來發展的重點方向,為此,廣汽集團準備成立專屬的新能源汽車分公司,並構建1個國家級實驗室,掌握電池系統、電機系統、整車控制、機電耦合系統和系統集成5大核心技術,新能源、電商平臺、車聯網3大發展方向。

廣汽乘用車總經理吳松曾表示,未來廣汽乘用車將會投入20億元重點發展新能源車。根據此次公佈的規劃來看,在2020年,廣汽乘用車的新能源汽車能達到10萬~20萬輛的規模。

江淮汽車

江淮目前已有義大利和日本的海外研發中心,與本部的研發基地協同合作,實現在整體設計能力、核心動力總成、模具能力等方面的積累。

新能源乘用車及核心零部件建設專案建設地點位於合肥市經濟技術開發區桃花工業園,項目完成後,將形成單班10萬輛/年的新能源乘用車、15萬套/年的動力電池總成及15萬套/年的電機電控的產能。高端及純電動輕卡建設專案建設地點位於合肥市肥西縣新港工業園。項目完成後,將形成單班10萬輛/年高端及純電動輕卡可共線生產的產能。

2015年8月29日,江淮汽車與武漢盟盛人新能源汽車產業園發展股份有限公司、武漢蔡甸區政府簽署戰略合作協定,將在武漢市蔡甸區投資建設年產1萬輛新能源汽車專案。該項目擬於2015年底開工,建設週期12個月,爭取到2016年形成年產1萬輛新能源汽車的生產行銷服務能力。

吉利

武漢成為江淮汽車走出安徽發展全國新能源汽車戰略的首家試點基地。

除在蘭州等地建有生產基地外,2015年,吉利汽車還在寧波市和義烏市等地規劃興建新能源生產基地。

晉中基地:此甲醇汽車生產基地規劃年產整車和發動機各20萬台,分二期進行。預計2016年年底建成投產。

寧海基地:吉利新大洋公司是由吉利汽車集團、新大洋機電集團、金沙江創業投資公司三方合資組建,同時也是吉利汽車旗下的第二家合資電動汽車公司。該公司與寧波南部濱海新區在吉利集團杭州總部簽訂的合作意向,也標誌著城市微型純電動汽車專案將落戶寧海,該地也有望被打造成電動汽車總部基地。該生產基地總投資達60億元,建設期限為2016~2020年,其中一期將在2018年前建成投產年產10萬台城市微型純電動汽車。

寧波基地:寧波生產基地規劃年產30萬輛規模純電動汽車及部分關鍵零部件,有望投產包括知豆、知豆D2等微型電動汽車產品。

義烏基地:義烏生產基地建設形成年產10萬台新能源高端商務用車整車規模,有望投產博瑞插電式混動版、新帝豪電動版等車型。

南充基地:2015年6月底開建,計畫投資70億元,建成年產新能源商用車10萬輛和燃氣發動機5萬台生產基地。

比亞迪

比亞迪在深圳、南京、長沙等國內城市地區佈局新能源汽車生產基地,籌建新能源汽車工廠。比亞迪現有11個生產基地,其中規模最大的4座車廠設在深圳坪山本部(E6和騰勢);“秦”則在西安。目前,比亞迪已經在深圳、承德、廣州從化、杭州、大連、南京、天津等地佈局新能源客車生產基地。

2015年4月,比亞迪在華中地區的首個新能源客車、專用車生產基地在黃陂區臨空經濟產業示範園奠基。該專案全部建成投產後,純電動客車年產能將達3,000輛、純電動專用車年產能將達5,000輛。未來,武漢比亞迪新能源客車產品將重點覆蓋武漢乃至整個華中地區市場;新能源專用車將立足武漢,滿足全國市場的推廣應用,未來還將面向海外市場,開拓新能源專用車出口業務,創造更廣闊的市場空間。

2015年8月,天津比亞迪汽車有限公司投資建設的天津比亞迪新能源客車基地一期工程——武清汽車產業園竣工。竣工後的首批“金馬”牌純電動大客車同時下線。據悉,一期建設的聯合廠房預計年產3,000輛新能源汽車,2015年將實現500輛新能源車的生產任務。

2015年11月5日,汕尾市與比亞迪股份有限公司簽署合作框架協定,比亞迪將在汕尾投資建設新能源汽車產業基地等6個專案,預計項目投產後年產值將達200億元。按照協定,比亞迪將在汕尾投資建設1個全亞洲最大的綜合性汽車試驗場,1個滿足5,000輛純電動客車配套的新能源汽車零部件生產基地,1個年產值近百億元的消費電子及零部件生產基地,1個集研究、開發、測試、培訓於一體的比亞迪研究院等專案。
文章來源:電車之家

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

【其他文章推薦】

※想知道網站建置、網站改版該如何進行嗎?將由專業工程師為您規劃客製化網頁設計及後台網頁設計

※不管是台北網頁設計公司、台中網頁設計公司,全省皆有專員為您服務

※Google地圖已可更新顯示潭子電動車充電站設置地點!!

※帶您來看台北網站建置,台北網頁設計,各種案例分享

EV CHINA 2016節能與新能源車展

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

葉門內戰鬧饑荒 動物園動物不知下一餐在哪裡

摘錄自2020年02月07日中央通訊社葉門報導

葉門內戰造成數以百萬計平民每天為生存掙扎,而被忽視的動物園中動物,包括獅子、豹和狒狒,也面對不確定的未來。葉門首都沙那(Sanaa)在2014年遭到伊朗支持的葉門叛軍青年運動(Houthi)攻佔,青年運動控制葉門北部許多地區。

在沙那主要動物園,一名男子每天卸下用卡車載來的12頭死驢,餵食動物園中31頭獅子。照顧獅子的馬吉迪(al-Majdi)說,一些動物已經餓死,包括四頭在2017年死去的獅子。馬吉迪告訴法新社:「我們從葉門的各個省進口肉,但因為驢子的價格上漲,我們正疲於應付。」

就像葉門的其他地方,數以百萬計平民在五年來的內戰下瀕臨饑荒,動物園1159隻動物,包括兩頭嚴重瀕臨絕種阿拉伯豹,也在饑荒邊緣。

為這些動物奮鬥的人,包括同一世界演員動物救援基金會發起人柏德瑞(Kim-Michelle Broderick),這個基金會為葉門動物園動物募款。

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

BMW i3小改版 續航力增48%

國際車商BMW推出的電動車i3是目前市面上體型最小的電動車款之一,續航力相對也較差。據傳,今年i3將進行部份改版,讓續航力從目前的81英哩(129公里)延長48%到120英哩(192公里)。

《自由時報》指出 ,BMW的市場及銷售主任Ian Robertson在接受媒體採訪時,表示i3今年將有小改版的計畫。但除了續航力之外,並未說明外型與其他設計是否會有更動。

i3 電動版目前最高時速為150公里,0至100公里加速時間為7.2秒,屬於性能較佳的房車。此外,i3有純電版與油箱版,當電池耗盡後可用9公升的油箱開車到充電樁地點。

(照片來源:BWM 官網)

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開

.NET Core前後端分離快速開發框架(Core.3.0+AntdVue)

.NET Core前後端分離快速開發框架(Core.3.0+AntdVue)

目錄

引言

時間真快,轉眼今年又要過去了。回想今年,依次開源發布了Colder.Fx.Net.AdminLTE(254Star)、Colder.Fx.Core.AdminLTE(335Star)、DotNettySocket(82Star)、IdHelper(47Star),這些框架及組件都是本着以實際出發,實事求是的態度,力求提高開發效率(我自己都是第一個使用者),目前來看反響不錯。但是隨着前端和後端技術的不斷變革,尤其是前端,目前大環境已經是前後端完全分離為主的開發模式,在這樣的大環境和必然趨勢之下,傳統的MVC就顯得有些落伍了。在這樣的背景下,一款前後端分離的.NET開發框架就顯得尤為必要,由此便定了框架的升級目標:前後端分離。

首先後端技術的選擇,從目前的數據來看,.NET Core的發展遠遠快於.NET Framework,最簡單的分析就是Colder.Fx.Core.AdminLTE發布比Colder.Fx.Net.AdminLTE晚,但是星星卻後來居上而且比前者多30%,並且這個差距在不斷擴大,由點及面的分析可以看出我們廣大.NET開發人員學習的熱情和积極向上的態度,並不是某些人所認為的那麼不堪(走自己的路,讓別人說去吧)。大環境上微軟积極擁抱開源,大力發展.NET Core, 可以說前途一片光明。因此後端決定採用 .NET Core3.0 ,不再浪費精力去支持.NET Framework。

然後是前端技術選擇,首選是三大js框架選擇,也是從實際出發,Vue相對其它而言更加容易上手,並且功能也毫不遜色,深得各種大小公司喜歡,如果偏要說缺點的話,那就是對TS支持不行,但是即將發布Vue3.0肯定會改變這一缺陷。選擇了Vue之後,然後就是UI框架的選擇了,這裏的選擇更多了,我選擇了Ant Design Vue,理由便是簡潔方便,十分符合我的設計理念。

技術選型完畢之後便進入研發,由於鄙人前端比較菜,因此需要從頭學Vue2.x全家桶,從開始到現在差不多經歷3個月,在預期之內。其實學習並使用前端的Vue2.x全家桶並不難,還是比較容易上手的,所以在此給沒有前後端分離開發經驗的老哥打一記預防針,不要退縮,要知難而上,學習永無止境。

某些老哥可能比較直接粗暴,嫌我BBB嘮叨,下面直接上地址
代碼(GitHub):
文檔(GitHub):
代碼(碼雲鏡像):
文檔(碼雲鏡像):
在線預覽地址:
由於服務器是阿里雲的86服務器,帶寬1M小水管,因此將前端部署到碼雲上了,在此多謝碼雲,後端部署在阿里雲86服務器CentOS7上。整個技術棧使用.NET Core + PostggreSQL+ Ant Design Vue + CentOS7+Nginx+Dokcer+jenkins,囊括了從快速開發到自動化部署一條龍,開源免費並具有高性能、高移植性、高拓展性(小公司創業選型+個人接單利器)

簡介

本框架為.NET Core3.0+Ant Design Vue版

本框架旨在極大的提高開發效率

使用技術棧:
後端:採用.NET Core平台,ASP.NET Core3.0,C#語言(使用反射等高級技術),Entity FrameworkCore(數據庫ORM框架)。
使用數據倉儲模式,抽象化數據庫操作(CRUD等)、支持事務處理以及分佈式事務處理(跨庫)
支持數據庫讀寫分離、分庫分表及事務(僅支持單表操作,不支持多表) 全面採用Autofac作為IOC容器,面向接口編程,全面解耦
集成多種工具類庫以及操作拓展
數據庫:支持SqlServer,PostgreSQL,MySQL,Oracle(框架使用簡單工廠,工廠方法,抽象工廠,可輕鬆更換數據庫),Redis作為分佈式緩存
前端:Vue2.x全家桶+Ant Design Vue,其中集成常用組件,力求方便項目開發。

具體技術實施:
項目採用前後端完全分離模式,並採用嚴格分層模式,極大的增加聚合度,降低耦合度,
提高代碼的健壯性,可維護性。
前後端通過JWT進行身份驗證,通過數據接口操作數據,統一使用JSON作為數據格式,並使用默認接口簽名算法保證接口的安全性。

功能架構部分詳解:
快速開發:此功能為框架的核心,通過選擇數據庫中的表,就能自動生成對應的實體層、業務邏輯層、控制器、前端頁面Vue文件,無需編寫代碼即可生成基本的CRUD操作。
接口密鑰管理:管理接口的密鑰,若開啟接口簽名的規則,則前端需要通過給接口簽名才能夠正常訪問後台接口。
權限管理:使用基本的RBAC權限控制,支持操作權限、接口權限以及數據權限

框架主要功能及特色如下

功能 詳細描述
用戶登錄 用戶登錄、密碼修改
系統用戶管理 系統用戶管理
角1色管理 角色管理
部門管理 部門管理、天然多級
權限管理 使用RBAC權限體系,基於角色的權限管理,支持菜單權限、操作權限(按鈕權限)、接口權限、數據權限
系統日誌 支持多彩控制台、文件、數據庫和ElasticSearch記錄日誌,框架全局異常自動捕捉,多級別記錄
快速開發 通過數據庫直接生成實體層、業務邏輯層、控制器層以及前端頁面Vue代碼,無需編碼即可實現CURD
數據庫操作封裝 使用基於EF的倉儲模式、封裝常用的CURD,支持單庫事物和分佈式事物
多數據庫支持 使用基於EF的倉儲模式,支持各大主流關係型數據庫(SQLServer、MySQL、PostgreSQL和Oracle)
超強移植性 使用抽象工廠封裝數據庫操作層,切換數據庫0代碼修改
支持軟刪除 一鍵切換刪除模式,支持物理刪除和軟刪除,對業務操作透明
緩存支持 支持系統自帶緩存和Redis緩存、封裝操作接口、簡單易用
前後端完全分離 前端使用Vue2.x全家桶+Ant Design Vue,界面簡潔美觀,組件化開發
集成JWT驗證 框架使用JWT作為身份驗證,擺脫Cookie苦海,分佈式拓展毫無壓力
集成對外接口簽名算法 框架對外接口可以開啟超強嚴格簽名校驗(防抵賴、防偽造、防重複調用),保障系統安全性
頁面響應式 前端為單頁應用,無iframe,各大主流瀏覽器支持友好
拓展 其它各種幫助類庫及插件

其相關版本請看下錶:

.NET版本 前端UI 地址
Core3.0 Ant Design Vue
Core2.2 AdminLTE
.NET4.72 AdminLTE
.NET4.52 Easyui
Core2.1 Easyui
.NET4.0 Easyui

後台效果展示如下:

環境搭建

開發環境要求:

操作系統:Windows 10
後端開發工具:Visual Studio 2019+
前端開發工具:Visual Studio Code,安裝nodejs,yarn
SDK:安裝.NET Core SKD 3.0 及以上
數據庫:SQLServer2008 R2及以上

基礎數據庫構建:

  • 數據庫創建
    目錄”/docs/初始化文件”中有所需的數據庫資料

    先手動創建數據庫,然後執行對應的SQL腳本即可

  • 連接字符串配置
    打開src目錄下Colder.Admin.AntdVue的解決方案,如下圖

如下圖所示依次展開05.Coldairarrow.Api/appsettings.json,配置數據庫連接字符串,name不用修改,connectionString改為上述創建的數據庫(若不清楚數據庫連接字符串請自行百度搜索教程)

數據庫設計規範

由於本框架支持自動生成代碼的核心功能,此功能是根據數據庫的表結構來生成代碼的
因此規定每張表都有一個主鍵,列名為Id,類型為字符串,實際添加數據時默認使用SnowflakeId(雪花Id,Twitter設計的分佈式趨勢自增Id,若不清楚請自行百度相關資料),表中的每個列都需要有描述信息(建議這樣操作,若不按照這個標準則需要一些額外的改動才能夠成功運行)。每張表都需要Id、CreateTime、CreatorId、CreatorRealName這幾個必帶字段

運行

後端:打開解決方案=>還原nuget包=>配置數據庫=>運行(05.Coldairarrow.Api設為啟動項目)
後台成功運行後會自動打開swagger

前端: 確保已安裝nodejs和yarn
用VS Code 打開文件夾src\Coldairarrow.Web

輸入命令:yarn
輸入命令:yarn run serve
成功運行后即可打開登錄頁面

輸入賬號:Admin,密碼:123456進入後台主頁

使用教程

全局配置

在01.Coldairarrow.Util中的GlobalSwitch類中,設置了各個參數,其中RunModel與DatabaseType需要重點關注一下,其它參數請看註釋。

快速開發

此功能為本框架的核心功能,能夠自動生產完整的可運行代碼,具體使用如下:

  • 配置數據源

首選需要有數據庫源,因為代碼生成是根據數據庫表來生成的。
菜單:開發=>數據庫連接

若列表中沒有目標數據源,則添加數據庫連接

數據連接名、連接字符串、數據庫類型即可。添加完成后即可看到連接字符串信息。

  • 生成代碼

有了數據庫連接之後,即可進行代碼生成。
菜單:開發=>代碼生成

選擇數據庫,然後勾選需要生成代碼的數據庫表,點擊生成代碼會彈出生成選項(這裏演示勾選 Base_BuildTest,其餘表全是系統基礎表,不要勾選,否則會被覆蓋,導致異常,請勾選自己的業務表進行生成):

生成選項中可以選擇需要生成的類型,默認生成全部:實體層、業務層、接口層(即控制器)和頁面(Vue前端頁面代碼)。
生成區域請輸入業務模塊名(例如系統叫Base_Manage),請按具體業務填入(必填)
這裏示例填寫TestManage,點擊生成按鈕,即可完成代碼生成。生成后的代碼在項目解決方案中,將代碼文件包括進入項目

默認生成后的文件會被自動包括到解決方案中,若沒有則需要點擊显示所有文件按鈕,即可看到生成后的新文件

生成的實體層、業務邏輯層、控制器層代碼:

前端生成的代碼:

後端代碼添加后需要重新編譯下(F7),編譯后好可以看到有新的接口

前端生成代碼後會自動保存並編譯(別的文件修改保存也會自動編譯,畢竟編譯一次挺慢的),不放心可以Ctrl+C停止,然後再yarn run serve重新運行

代碼生成完畢,但是要展示到菜單上需要進行配置,並且所有業務菜單都是動態的(權限控制)
打開菜單:系統管理=>權限管理=>新建

菜單名:即需要显示的菜單名
上級菜單:菜單是多級樹狀的,可以放在某個菜單下面
類型:可以選擇菜單或頁面,這裡是具體的頁面,所以選頁面
路徑:頁面的路徑,菜單可以不配置,這裏配置為/TestManage/Base_BuildTest/List,這裏設置規則為:views文件夾為根路徑(即”/”),向下展開依次為/TestManage/Base_BuildTest/List,最後真正的列表頁為List.vue文件,表單頁為EditForm.vue文件
是否需要權限:若為“否”,則此頁面不限制權限,即所有人都能看
圖標:菜單显示圖標,具體到開發=>圖標選擇頁進行選擇
排序:若需要需要對菜單進行排序則設置,默認0,類型為int
頁面權限:頁面擁有的權限(權限值唯一,作為操作權限即接口權限的依據),詳見權限管理

確認保存,然後刷新整個頁面(F5),即可看到全新生成的菜單“生成測試”

整個代碼生成過程,無需編寫代碼即可完成一張表的CRUD,當然需要根據具體業務中進行相應的修改,本次示例中字段比較少,但是當一張表的字段很多時,那麼此功能能夠將開發效率提高几個檔次。

管理員登錄

默認超級管理員賬號為:Admin
密碼為:123456

系統用戶管理

管理系統登錄的用戶
菜單:系統=>用戶管理
點擊右側設置權限

系統角色管理

管理系統角色,角色是權限的載體,合理分配角色有利於權限管理
菜單:系統=>角色管理
操作中可以設置角色的權限,詳情見 模塊

權限管理

一般情況下,後台管理系統多少會涉及權限管理,因此本框架提供了一個靈活、高效、簡潔的權限管理系統。

首先,權限分為兩種,即操作權限和數據權限,其中操作權限主要包括菜單權限和按鈕權限,在角色編輯表單中,給角色勾選需要的權限即可,用戶可以分配多個角色,繼承所有角色的權限。

如上圖,按需勾選,有人會疑問為什麼只有增、改和刪的權限而沒有查的權限,其實這裏考慮到了當勾選“用戶管理”時,就已經默認擁有“查”的權限了,這裏再設置“查”權限豈不是多此一舉,可以根據實際業務需求添加諸如申請、審核等權限,靈活應用。
這裏的樹狀是和菜單一一對應的,勾選哪些菜單就擁有哪些菜單

下面介紹下最常用的按鈕權限

如上圖,在需要控制權限的按鈕使用v-if=”hasPerm(‘Base_User.Add’)”,表示只有當用戶擁有權限值Base_User.Add才显示此按鈕,權限值就是權限表單中配置的權限值

這裏的按鈕級權限控制只能夠在前端控制操作入口,若系統對安全性要求較高,則需要控制接口權限

如上圖,在需要權限控制的接口加上ApiPermission特性即可,參數也為權限值,只有擁有此權限才能訪問此接口

數據權限比較複雜,若採用純SQL方式,那麼會更加複雜,本框架全程採用EF作為ORM框架,通過對IQueryable< T >進行過濾,即可完成數據權限控制,詳細使用方式見用戶管理。

更詳細的使用方式,請參考源代碼中的用戶管理模塊(菜單權限、操作權限、數據權限、聯表查詢、業務層AOP等使用方式均可參考此模塊)。

接口秘鑰管理

作為對外接口簽名的AppId和AppSecret管理
菜單:系統=>接口秘鑰管理

系統日誌

菜單:系統=>系統日誌

單庫事務

使用方式如下:

BaseBusiness<Base_UnitTest> _baseBus  = new BaseBusiness<Base_UnitTest>();
/*RunTransaction傳入執行具體數據庫操作的Action,操作中若出現異常會自動回滾事務,業務只需根據返回的transActionRes進行處理,返回類型為元組(bool Success, Exception ex),Success表示事務是否成功,ex為事務失敗異常信息*/
var transActionRes = _baseBus.RunTransaction(() =>
{
    var newData = _newData.DeepClone();
    newData.Id = Guid.NewGuid().ToString();
    newData.UserId = IdHelper.GetId();
    newData.UserName = IdHelper.GetId();
    _baseBus.Insert(_newData);
    _baseBus.Insert(newData);
});

跨庫事務

使用方式如下:

//第一個數據庫
IRepository _bus1 = DbFactory.GetRepository();
//另一個數據庫
IRepository _bus2 = DbFactory.GetRepository("BaseDb_Test");
_bus1.DeleteAll<Base_UnitTest>();
_bus2.DeleteAll<Base_UnitTest>();
Base_UnitTest data1 = new Base_UnitTest
{
    Id = Guid.NewGuid().ToString(),
    UserId = "1",
    UserName = Guid.NewGuid().ToString()
};
Base_UnitTest data2 = new Base_UnitTest
{
    Id = data1.Id,
    UserId = "1",
    UserName = Guid.NewGuid().ToString()
};
Base_UnitTest data3 = new Base_UnitTest
{
    Id = Guid.NewGuid().ToString(),
    UserId = "2",
    UserName = Guid.NewGuid().ToString()
};

new Action(() =>
{
    //創建並執行事務,使用方式與單庫一致
    var succcess = DistributedTransactionFactory.GetDistributedTransaction(_bus1, _bus2)
        .RunTransaction(() =>
        {
            _bus1.ExecuteSql("insert into Base_UnitTest(Id) values('10') ");
            _bus1.Insert(data1);
            _bus1.Insert(data2);
            _bus2.Insert(data1);
            _bus2.Insert(data3);
        });
    Assert.AreEqual(succcess.Success, false);
    Assert.AreEqual(_bus1.GetIQueryable<Base_UnitTest>().Count(), 0);
    Assert.AreEqual(_bus2.GetIQueryable<Base_UnitTest>().Count(), 0);
})();

讀寫分離分庫分表

本框架支持數據庫讀寫分離分庫分表(即Sharding),並且支持主流關係型數據庫(SQLServer、Oracle、MySQL、PostgreSQL),理論上只要EF支持那麼本框架支持。
由於技術原因以及結合實際情況,目前本框架僅支持單表的Sharding,即支持單表的CRUD、分頁、統計(數量、最大值、最小值、平均值),支持跨庫(表分散在不同的數據庫中,不同類型數據庫也支持)。具體如何使用如下:

  • Sharding配置
    首先、要進行分庫分表操作,那麼必要的配置必不可少。配置代碼如下:
ShardingConfigBootstrapper.Bootstrap()
    //添加數據源
    .AddDataSource("BaseDb", DatabaseType.SqlServer, dbBuilder =>
    {
        //添加物理數據庫
        dbBuilder.AddPhsicDb("BaseDb", ReadWriteType.ReadAndWrite);
    })
    //添加抽象數據庫
    .AddAbsDb("BaseDb", absTableBuilder =>
    {
        //添加抽象數據表
        absTableBuilder.AddAbsTable("Base_UnitTest", tableBuilder =>
        {
            //添加物理數據表
            tableBuilder.AddPhsicTable("Base_UnitTest_0", "BaseDb");
            tableBuilder.AddPhsicTable("Base_UnitTest_1", "BaseDb");
            tableBuilder.AddPhsicTable("Base_UnitTest_2", "BaseDb");
        }, new ModShardingRule("Base_UnitTest", "Id", 3));
    });

上述代碼中完成了Sharding的配置:
ShardingConfigBootstrapper.Bootstrap()在一個項目中只能執行一次,所以建議放到Application_Start中(ASP.NET Core中的Startup)
AddDataSource是指添加數據源,數據源可以看做抽象數據庫,一個數據源包含了一組同類型的物理數據庫,即實際的數據庫。一個數據源至少包含一個物理數據庫,多個物理數據庫需要開啟主從複製或主主複製,通過ReadWriteType(寫、讀、寫和讀)參數來指定數據庫的操作類型,通常將寫庫作為主庫,讀庫作為從庫。同一個數據源中的物理數據庫類型相同,表結構也相同。
配置好數據源后就可以通過AddAbsDb來添加抽象數據庫,抽象數據庫中需要添加抽象數據表。如上抽象表Base_UnitTest對應的物理表就是Base_UnitTest_0、Base_UnitTest_1與Base_UnitTest_2,並且這三張表都屬於數據源BaseDb。分表配置當然需要分表規則(即通過一種規則找到具體數據在哪張表中)。
上述代碼中使用了最簡單的取模分片規則,
源碼如下:

可以看到其使用方式及優缺點。
另外還有一致性HASH分片規則

雪花Id的mod分片規則

上述的分片規則各有優劣,都實現IShardingRule接口,實際上只需要實現FindTable方法即可實現自定義分片規則。
實際使用中個人推薦使用雪花Id的mod分片規,這也是為什麼前面數據庫設計規範中默認使用雪花Id作為數據庫主鍵的原因(PS,之前版本使用GUID作為主鍵被各種嫌棄,這次看你們怎麼說)

  • 使用方式
    配置完成,下面開始使用,使用方式非常簡單,與平常使用基本一致
    首先獲取分片倉儲接口IShardingRepository
IShardingRepository _db = DbFactory.GetRepository().ToSharding();

然後即可進行數據操作:

Base_UnitTest _newData  = new Base_UnitTest
{
    Id = Guid.NewGuid().ToString(),
    UserId = "Admin",
    UserName = "超級管理員",
    Age = 22
};
List<Base_UnitTest> _insertList = new List<Base_UnitTest>
{
    new Base_UnitTest
    {
        Id = Guid.NewGuid().ToString(),
        UserId = "Admin1",
        UserName = "超級管理員1",
        Age = 22
    },
    new Base_UnitTest
    {
        Id = Guid.NewGuid().ToString(),
        UserId = "Admin2",
        UserName = "超級管理員2",
        Age = 22
    }
};
//添加單條數據
_db.Insert(_newData);
//添加多條數據
_db.Insert(_insertList);
//清空表
_db.DeleteAll<Base_UnitTest>();
//刪除單條數據
_db.Delete(_newData);
//刪除多條數據
_db.Delete(_insertList);
//刪除指定數據
_db.Delete<Base_UnitTest>(x => x.UserId == "Admin2");
//更新單條數據
_db.Update(_newData);
//更新多條數據
_db.Update(_insertList);
//更新單條數據指定屬性
_db.UpdateAny(_newData, new List<string> { "UserName", "Age" });
//更新多條數據指定屬性
_db.UpdateAny(_insertList, new List<string> { "UserName", "Age" });
//更新指定條件數據
_db.UpdateWhere<Base_UnitTest>(x => x.UserId == "Admin", x =>
{
    x.UserId = "Admin2";
});
//GetList獲取表的所有數據
var list=_db.GetList<Base_UnitTest>();
//GetIQPagination獲取分頁后的數據
var list=_db.GetIShardingQueryable<Base_UnitTest>().GetPagination(pagination);
//Max
var max=_db.GetIShardingQueryable<Base_UnitTest>().Max(x => x.Age);
//Min
var min=_db.GetIShardingQueryable<Base_UnitTest>().Min(x => x.Age);
//Average
var min=_db.GetIShardingQueryable<Base_UnitTest>().Average(x => x.Age);
//Count
var min=_db.GetIShardingQueryable<Base_UnitTest>().Count();
//事務,使用方式與普通事務一致
bool succcess = _db.RunTransaction(() =>
{
    _db.Insert(_newData);
    var newData2 = _newData.DeepClone();
    _db.Insert(newData2);
}).Success;
Assert.AreEqual(succcess, false);

上述操作中表面上是操作Base_UnitTest表,實際上卻在按照一定規則使用Base_UnitTest_0~2三張表,使分片對業務操作透明,極大提高開發效率
具體使用方式請參考單元測試源碼:
“\src\Coldairarrow.UnitTests\DataRepository\ShardingTest.cs”

常見疑問

如何進行聯表查詢

框架使用EF+LINQ進行聯表操作,核心在於對IQueryable< T >的使用,另可網上搜EF+LINQ的相關教程。

示例如下:
Base_User表左連接Base_Department表獲取DepartmentName屬性

//定義數據模型類
public class Base_UserTestDTO : Base_User
{
    public string DepartmentName { get; set; }
}

//即BaseBusiness中的Service
var db = DbFactory.GetRepository();
Expression<Func<Base_User, Base_Department, Base_UserTestDTO>> select = (a, b) => new Base_UserTestDTO
{
    DepartmentName = b.Name
};
select = select.BuildExtendSelectExpre();
var q = from a in db.GetIQueryable<Base_User>().AsExpandable()
        join b in db.GetIQueryable<Base_Department>() on a.DepartmentId equals b.Id into ab
        from b in ab.DefaultIfEmpty()
        select @select.Invoke(a, b);
//篩選
var where = LinqHelper.True<Base_UserTestDTO>();
where = where.And(x => x.UserName == "Admin");

//篩選並獲取分頁數據
var list = q.Where(where).GetPagination(new Pagination()).ToList();

源碼可參考Base_UserBusiness.GetDataList

如何切換數據庫類型

在01.Coldairarrow.Util項目中的GlobalSwitch,將DatabaseType改為需要的即可,對應的數據庫連接字符串當然也要改為對應數據庫的

如何使用多個數據庫

在具體的Business類中重寫父類BaseBusiness的構造函數即可,按照自己的需求重寫對應的構造函數,同時需要確保數據庫連接字符串已添加

若需要同時使用多個數據庫,或者需要多線程操作數據庫,需要使用

結語

歡迎使用本框架,若覺得不錯,請比心

Github歡迎星星:

博客園歡迎點贊:

QQ群2:579202910
個人QQ:862520575(歡迎技術支持及商務合作,提供.NET Core + Linux + Nginx+ jenkins + git整套持續集成快速開發平台)

本人將會對這個快速開發框架不斷完善與維護,希望能夠幫助到各位

若遇到任何問題或需要技術支持,請聯繫我。

——學習永無止境,技術永無上限,代碼就是藝術——

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

【其他文章推薦】

※USB CONNECTOR掌控什麼技術要點? 帶您認識其相關發展及效能

※評比前十大台北網頁設計、台北網站設計公司知名案例作品心得分享

※智慧手機時代的來臨,RWD網頁設計已成為網頁設計推薦首選

※評比南投搬家公司費用收費行情懶人包大公開