前言
9月份,開始開發微信小程序,也曾調研過wepy
/mpvue
,考慮到后期跨端的需求,最終選擇使用了uni-app
,本文主要介紹如何使用uni-app
搭建小程序項目,以及自己對框架的補充,包括封裝request
接口,引用color-ui
,動態設置底部tab
頁等,詳情見下文
uni-app 介紹(官網)
uni-app
是一個使用Vue.js
開發所有前端應用的框架,開發者編寫一套代碼,可發布到iOS
、Android
、H5
、以及各種小程序(微信/支付寶/百度/頭條/QQ/釘釘)等多個平臺。
即使不跨端,uni-app
同時也是更好的小程序開發框架。詳見評測
好處如圖:
我使用uni-app
框架主要用來開發微信小程序,我使用過程中感覺的好處是:
開發工具(HBuilderX)
HBuilderX
: 官網IDE下載地址;HBuilderX
是通用的前端開發工具,但為uni-app
做了特別強化。HBuilderX
提供了一些插件,可直接下載安裝,具體如下圖: 工具
> 插件安裝
項目結構
首先我們通過HBuilderx
> 文件
> 項目
,選擇uni-app
項目,模板我選擇的是默認模板,當然你也可選擇其他模板,接著確認創建,如果你選擇的是默認模板,此時你的文件夾應該如下圖:
接著我根據自己的項目需求,以及為了與vue
的pc
項目結構保持一下,分別添加如下文件夾
具體代碼可參考GitHub:weixin-start
+-- api -- (頁面接口路徑) | +-- login.js | +-- tools.js +-- colorui -- (color-ui 樣式) +-- common -- (通用的js方法) +-- components -- (通用的組件) +-- pages -- (主要頁面) +-- services -- (通用的服務) | +-- auth.service.js -- (主要封裝了一些保存用戶的token方法) | +-- config.service.js -- (存放全局通用的變量) | +-- request.service.js -- (封裝了uni.request的方法) +-- static -- (靜態文件) +-- unpackage -- (在小程序模擬器運行的文件) +-- App.vue -- (應用配置,用來配置App全局樣式以及監聽 ) +-- main.js -- ( Vue初始化入口文件) +-- manifest.json -- (配置應用名稱、appid、logo、版本等打包信息) +-- pages.json -- (配置頁面路由、導航條、選項卡等頁面類信息) +-- uni.scss -- (這里是uni-app內置的常用樣式變量)
主要文件介紹:
如何自定義底部tab導航欄
本人項目中需要根據不同的角色顯示不同的底圖tab頁
,那么原來在pages.json
設置的tab
頁,不夠靈活,也不好擴展,因此自定義tab
頁,具體如下
在pages
文件夾中,新建一個index
文件夾并創建一個index.vue
頁面,在這個頁面可布局底部tab
, 根據點擊不同的tab
顯示對應的tab頁, 如圖:
注意:
如果每個tab點擊是切換不同的view,這個就相當于單頁應用了,當頁面比較復雜時,切換過程可能存在卡。所以使用自定義組件的tabbar就盡量避免太多復雜頁面。
當然原生tabbar雖然體驗好,但自定義性不足。這個需要開發者根據自己的需求來平衡選擇。
如何使用colorui
引入
ColorUI是一個css庫?。?!在你引入樣式后可以根據class來調用組件
下載源碼解壓獲得/Colorui-UniApp文件夾,復制目錄下的 /colorui 文件夾到你的項目根目錄
App.vue
引入關鍵Css
main.css
icon.css
<style> @import "colorui/main.css"; @import "colorui/icon.css"; @import "app.css"; /* 你的項目css */ .... </style>
此時你可以使用colorUI提供的css樣式了,
因為colorUI的文檔說明正在完善中,具體樣式對應的類名可能不清楚,那么你可將color-ui下載下來,使用HBuilderX
運行在瀏覽器中,打開調試工具,找到對應的節點即可獲取對應的類名,(當然你也可能會有其他好的方法)。
使用colorui自定義導航欄
pages.json
配置取消系統導航欄
"globalStyle": { "navigationStyle": "custom" },
App.vue
獲得系統信息
"globalStyle": { "navigationStyle": "custom" },
在main.js
引入cu-custom
組件
import cuCustom from './colorui/components/cu-custom.vue' Vue.component('cu-custom',cuCustom)
在需要的頁面可以直接使用了,如下:
<cu-custom bgColor="bg-gradual-blue" :isBack="true"> <block slot="backText">返回</block> <block slot="content">導航欄</block> </cu-custom>
跨端兼容(如何你只是開發小程序,就不需要考慮)
根據平臺特性,uni-app
提供了條件編譯手段,在一個工程里優雅的完成了平臺個性化實現。
<view class="content"> <! -- #ifdef APP-PLUS --> <view>僅出現在 5+App 平臺下的代碼</view> <! -- #endif --> <! -- #ifndef H5 --> <view>除了 H5 平臺,其它平臺均存在的代碼</view> <! -- #endif --> <! -- #ifdef H5 || MP-WEIXIN --> <view>僅在 H5 平臺或微信小程序平臺存在的代碼</view> <! -- #endif --> </view>
發布微信小程序
服務器域名必須是https
合法域名
進入開發頁面 開發
> 開發設置
,設置服務器域名, 如圖
發布小程序之前需要配置appid
,應用名稱、logo,可登錄微信公眾平臺進入設置頁,設置小程序的基本信息
使用HBuilderx
找到發行
> 小程序-微信
,點擊后稍等片刻會啟動微信開發工具,點擊微信開發工具上傳
,填寫上傳信息即可,此時上傳到微信公共平臺是體驗版,需要在版本管理
>提交審核
,等待后臺審核,審核完成后,小程序也就上線成功了,如圖:
總結
本文主要介紹了使用uni-app框架開發微信小程序,自己對默認模板的補充,包括封裝request
接口,引用color-ui
,動態設置底部tab
頁,還有通過color-ui
提供的導航欄組件,自定義導航欄。本人才疏學淺,表達能力有限,書寫過程如有錯誤歡迎指正,也請點贊評論鼓勵(ps: 內心怕怕的)
關于uni-app
更多信息可參考官方文檔 https://uniapp.dcloud.io
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。