《H5+移動應用實戰開發》已出版

  《H5+移動應用實戰開發》終於出版了,最近在忙着Vue和Webpack相關的前端書籍寫稿。本書面向的讀者爲:從後端轉前端,或零基礎開始學習移動端開發的人。先後端徹底分離的開發方式愈來愈成爲一種趨勢,下一本書,將是專業前端書籍,是關於Vue在實際工做中的單頁應用開發,涉及到Vue全家桶以及webpack相關技術。css

  項目源碼地址:https://github.com/zouyujie/repair_app_greenhtml

京東:https://item.jd.com/12521607.html前端

噹噹:http://product.dangdang.com/27864696.htmlvue

天貓:H5+移動應用實戰開發android

目錄

H5+跨平臺移動應用實戰開發... 1webpack

前言... 1ios

目錄... 3git

第1章 技術背景及知識儲備... 7github

1.1 H5+介紹... 7web

1.2 Hbuilder介紹... 7

1.2.1 HBuilder真機調試... 9

1.2.2 HBuilder使用安卓模擬器調試... 9

1.2.3 js代碼調試... 11

1.3 MUI介紹... 13

1.4 Vue.js介紹... 16

1.5 阿里巴巴矢量庫介紹... 20

1.6 開發前注意事項... 27

1.7 相關學習資料網址... 28

第2章 項目介紹及框架搭建... 29

2.1 項目介紹... 29

2.1.1 項目背景... 29

2.1.2 項目需求... 29

2.1.3 項目角色及界面... 30

2.1.3.1 報修人員... 31

2.1.4.2 維修人員... 34

2.1.4.3 項目經理... 36

2.1.4.4 班組長... 38

2.1.4 工單狀態... 41

2.2 技術選型... 42

2.3 框架搭建... 43

2.4 Mock數據... 50

第3章 App啓動頁和引導圖... 53

3.1 App啓動頁... 53

3.2 App引導圖... 56

3.2.1 啓動引導圖設計思路... 56

3.2.2 代碼功能實現... 57

第4章 登陸... 62

4.1 登陸功能介紹... 63

4.2 登陸界面設計... 64

4.3 登陸編碼實現... 65

4.3 角色菜單權限... 72

4.4 自動登陸... 77

4.5 運行... 78

第5章 首頁及底部導航... 79

5.1 底部菜單導航實現... 79

5.1.1 底部選項卡-div模式... 79

5.1.2 底部選項卡-webview模式... 81

5.1.3 底部選項卡-二級菜單(div). 85

5.2 首頁界面設計及展現... 86

第6章 故障報修... 91

6.1 提交報修工單... 92

6.1.2     模糊搜索... 94

1.1.2.1 MUI側滑導航... 95

1.2.2.2 JS API. 97

1.2.2.3 事件監聽... 98

1.2.2.4 示例代碼... 98

6.1.3     pipcker選擇器... 100

6.1.4     多圖片上傳... 102

6.1.4.1 彈出選擇對話框。... 102

1.1.4.2 從相冊獲取照片... 104

1.1.4.3 調用手機攝像頭拍照... 106

1.1.4.4 壓縮圖片... 107

1.1.4.5 臨時存儲壓縮圖片... 108

1.1.4.6 展現選擇或者拍照的壓縮圖片... 109

1.1.4.7 上傳圖片... 109

1.1.4.8 生成報修工單... 112

1.1.4.9 圖片預覽及縮放... 115

第7章 列表和詳情... 117

6.1         工單列表... 117

下拉刷新... 118

上拉加載... 120

7.2 工單詳情... 125

第8章 搶單派工簽到... 132

8.1 搶單... 132

8.2 派工、轉單... 136

8.2.1 派工... 136

8.2.2 轉單... 139

8.3 簽到... 140

8.4 退單... 141

第9章 完工、跟蹤記錄... 145

9.1 完工... 145

6.2         跟蹤記錄... 150

第10章 我的設置... 152

10.1 頭像設置... 152

10.1.1 plus.io. 154

10.1.2 plus.camera. 154

10.1.3 plus.gallery. 155

10.1.4 plus.zip. 158

10.1.5 plus.uploader 160

10.1.6 圖片輪播... 164

10.2 當前版本... 165

第11章 通信錄... 170

11.1 查看通信錄列表... 170

11.2 撥號呼叫... 172

11.2.1 plus.device. 173

第12章 數據統計... 174

12.1 echarts報表介紹... 174

12.1.1 使用步驟... 174

12.2 統計工單完成狀況... 177

第13章 離線操做... 183

13.1 let 和const. 183

13.2 H5本地存儲... 185

13.2.1 Web Storage. 185

13.2.2 Web SQL Database. 186

13.3 js異步編程... 189

13.3.1 回調... 189

13.3.2 promise. 190

13.3.2 generator. 191

13.3.3 es7語法糖async/await. 192

13.4 離線操做表結構... 193

13.5 批量下載工單... 196

13.5 批量上傳工單... 199

13.5.1 上傳簽到操做... 200

13.5.2 上傳完工操做... 202

第14章 發佈應用... 208

14.1 App打包... 208

14.2 發佈到應用市場... 212

1.4.2.1 ios. 212

1.4.2.2 android. 214

第15章 植入廣告... 216

15.1 開屏廣告... 216

15.2 懸浮紅包廣告... 217

15.3 push廣告... 218

15.4 開通步驟... 219

15.5 問題答疑... 220

第16章 消息推送... 222

16.1 使用須知... 222

16.2 個推應用信息申請步驟... 223

16.3 常見問題... 228

參考文獻... 231

DIV高度設置全屏

html:

<div class="full"></div>

css:

.full{ height:100%; position:fixed; }

 在有dom結構變動的狀況下,mui.back要點擊2次才能回退成功

因而我調用了2次back方法,並且第二次調用延時了

            mui.init();
            var old_back = mui.back; mui.back = function() { mui.confirm('完工內容未提交,確認離開嗎?', '離開確認', btnArray, function(e) { if(e.index == 1) { //執行mui封裝好的窗口關閉邏輯;  old_back(); setTimeout(function () { old_back() }, 300);//解決回退不了的問題 console.log('sltImgCount:' + sltImgCount) } }); }

 CSS透明度的問題

在設置div的透明度的時候發現設置了父div的透明度(opacity=0.5),子div的透明度也隨着改變了,而且設置子div的透明度不起做用,這種狀況下可使用rgba來設置父div的透明度:例如設置div黑色半透明,能夠設置div的background:rgba(0,0,0,0.5)

This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.

這是引用組件時,路徑大小寫不對致使的

關於Vue-cli npm run build生產環境打包,本地不能打開問題

問題:

Tip: built files are meant to be served over an HTTP server.

 Opening index.html over file:// won't work.
解釋:

npm run dev是開發環境, npm run build是生產環境, 在開發環境完成代碼和測試, 以後用生產環境生成代碼,執行npm run build 命令後,會生成dist目錄,裏邊包含index.html和static文件夾。

npm run build的時候, 一開始就會提示Built files are meant to be served over an HTTP server. Opening index.html over file:// won't work., 在vue-cli的默認配置中, 把assetsPublicPath: '/'改爲assetsPublicPath: './',dist文件夾裏的文件必須放在服務器的根目錄, 若是你想本地打開的話, 能夠在npm run build完成以後執行如下命令:

npm install -g http-server // 該命令只需執行一次, 安裝過以後, 之後就不須要重複安裝了

再運行:hs

原文:https://blog.csdn.net/zx_p24/article/details/80360312

vue 單文件 樣式寫了scoped 不能覆蓋框架原有樣式的解決辦法

方法一

vue 單文件 樣式寫了scoped 不能覆蓋框架原有樣式的解決辦法

在vue 裏面<style scoped></style> 是爲了讓樣式隻影響自己本身組件的樣式,不改變全局的樣式。

可是存在一個問題組件框架的ui樣式沒辦法覆蓋。

解決辦法:在vue 文件裏面寫兩個style 樣式

例如

<style>

  ///全局的

//全局的這個必定要在要覆蓋的ui樣式以前,在包裹上一層,這樣就不會影響別的組件的樣式

</style>

<style scoped>

//私有的

</style>

全局和私有的style 的順序必定不能變,全局的在最前面,私有的在後面

引用:https://www.cnblogs.com/daiwenru/p/9913179.html

方法二

<style scoped>
</style>
爲了vue頁面樣式模塊化,不對全局形成污染,建議每一個頁面的style標籤加上scoped,表示他的樣式只屬於當前的頁面,父組件的樣式不會泄漏到子組件中。可是scoped也會形成一些額外的負擔,如沒法覆蓋原有組件的樣式。 能夠加 /deep/  。
深度做用選擇器 /deep/  or  >>>
若是但願scoped樣式中的選擇器「深刻」,即影響子組件
例子:

/deep/ .el-table .red-row { background: #ffc2c2; } or .el-table >>> .red-row { background: #ffc2c2; }

引用:https://blog.csdn.net/p930318/article/details/82767401

安裝cnpm

由於npm安裝插件是從國外服務器下載,受網絡影響大,可能出現異常,若是npm的服務器在中國就行了,因此咱們樂於分享的淘寶團隊幹了這事。!來自官網:「這是一個完整 npmjs.org 鏡像,你能夠用此代替官方版本(只讀),同步頻率目前爲 10分鐘 一次以保證儘可能與官方服務同步。」

官方網址:http://npm.taobao.org

安裝:命令提示符執行注意:安裝完後最好查看其版本號cnpm -v或關閉命令提示符從新打開,安裝完直接使用有可能會出現錯誤;

注:cnpm跟npm用法徹底一致,只是在執行命令時將npm改成cnpm(如下操做將以cnpm代替npm)。

npm安裝stylus和stylus-loader

去到 package.json  dependencies 裏面隨便找個地方加上下面這兩句話

    "stylus-loader": "^3.0.1",
    "stylus": "0.52.4",

而後去 cmd  運行

cnpm install  (npm install 同樣的 我用了淘寶鏡像)

Error:Cannot find module 'stylus'

在webpack 裏面用了 stylus-loader,但npm instatll 沒有正確安裝,出現error: Cannot find module ‘stylus’。

解決辦法: 
從新npm install stylus 和 stylus-loader

npm install stylus –save-dev 
npm install stylus-loader –save-dev

npm太慢, 淘寶npm鏡像使用方法

安裝vue-cli

官網地址:https://github.com/vuejs/vue-cli

Git中的bash與CMD的區別

  Windows在使用git工具時,能夠看到有兩個命令輸入窗:

     1. Git CMD

     2. Git Bash

  二者的區別:Bash是基於CMD的,Bash在CMD的基礎上新增了一些命令和功能,故建議使用Bash更方便。

  Git GUI 是一個圖形操做頁面。

Git配置區分文件大小寫

git config core.ignorecase false
相關文章
相關標籤/搜索