小程序(如何創建、基本組成結構、頁面組成、常見組件使用、協同開發和發布)


項目結構

pages用來存放所有小程序的頁面
utils用來存放工具性質的模塊(例如:格式化時間的自定義模塊)
app.js小程序項目的入口文件
app.json小程序項目的全局配置文件
app.wxss小程序項目的全局樣式文件
project.config.json項目的配置文件
sitemap.json用來配置小程序及其頁面是否允許被微信索引

其中,每個頁面由4個基本文件組成,它們分別是:
①js文件(頁面的腳本文件,存放頁面的數據、事件處理函數等)
②json 文件(當前頁面的配置文件,配置窗口的外觀、表現等)
③.wxml文件(頁面的模板結構文件)
④.Wxss文件(當前頁面的樣式表文件)

JSON是一-種數據格式,在實際開發中, JSON總是以配置文件的形式出現。小程序項目中也不例外:通過不同的json配置文件,可以對小程序項目進行不同級別的配置。小程序項目中有4種json配置文件,分別是:

①項目根目錄中的app.json配置文件:app.json是當前小程序的全局配置,包括了小程序的所有頁面路徑、窗口外觀、界面表現、底部tab等。

pages: 用來記錄當前小程序所有頁面的路徑
window: 全局定義小程序所有頁面的背景色、文字顏色等
style: 全局定義小程序組件所使用的樣式版本
sitemapLocation: 用來指明sitemap.json的位置

②項目根目錄中的project.config.json配置文件:project.config.json是項目配置文件,用來記錄我們對小程序開發工具所做的個性化配置,例如:

setting中保存了編譯相關的配置
projectname中保存的是項目名稱
appid 中保存的是小程序的賬號ID

③項目根目錄中的sitemap.json配置文件

微信現已開放小程序內搜索,效果類似於PC網頁的SEO。sitemap.json文件用來配置小程序頁面是否允許
微信索引。當開發者允許微信索引時,微信會通過爬蟲的形式,為小程序的頁面內容建立索引。當用戶的搜索關鍵字和頁
面的索引匹配成功的時候,小程序的頁面將可能展示在搜索結果中。注意: sitemap的索引提示是默認開啟的,如需要關閉sitemap的索引提示,可在小程序項目配置文件
project.configjson的setting中配置字段checkSiteMap為false

④每個頁面文件夾中的.json 配置文件

小程序中的每一個頁面,可以使用json文件來對本頁面的窗口外觀進行配置,頁面中的配置項會覆蓋app.json的window中相同的配置項。

創建新頁面

只需要在app.json -> pages中新增頁面的存放路徑,小程序開發者工具即可幫我們自動創建對應的頁面文件

什么是WXML

WXML ( WeiXin Markup Language)是小程序框架設計的一套標簽語言,用來構建小程序頁面的結構,其作用類似於網頁開發中的HTML。

XML和HTML的區別

①標簽名稱不同

HTML (div, span, img, a)
WXML (view, text, image, navigator)

②屬性節點不同

<a href="#">超鏈接</a> <navigator url="/pages/home/home"></ navigator>

③提供了類似於Vue中的模板語法

數據綁定
列表渲染
條件渲染

什么是WXSS

WXSS (WeiXin Style Sheets)是一套樣式語言,用於描述WXML的組件樣式,類似於網頁開發中的CSS。

wXSS和CSS的區別

①新增了rpx尺寸單位

CSS中需要手動進行像素單位換算,例如rem
WXSS 在底層支持新的尺寸單位rpx,在不同大小的屏幕.上小程序會自動進行換算

②提供了全局的樣式和局部樣式

項目根 目錄中的app.wxss會作用於所有小程序頁面
局部頁面的.wxss樣式僅對當前頁面生效

③WXSS 僅支持部分CSS選擇器

.class 和#id
element
並集選擇器、后代選擇器
::after和::before等偽類選擇器

小程序中的js文件

一個項目僅僅提供界面展示是不夠的,在小程序中,我們通過js文件來處理用戶的操作。例如:響應用戶的點擊、獲取用戶的位置等等。

小程序中js文件的分類

①app.js

是整個小程序項目 的入口文件,通過調用App()函數來啟動整個小程序

②頁面的js文件

是頁面的入口文件, 通過調用Page()函數來創建並運行頁面

③普通的.js文件

是普通的功能模塊文件, 用來封裝公共的函數或屬性供頁面使用

什么是宿主環境

宿主環境(host environment)指的是程序運行所必須的依賴環境。例如:Android系統和ios系統是兩個不同的宿主環境。安卓版的微信App是不能在ios環境下運行的,所以,Android是安卓軟件的宿主環境,脫離了宿主環境的軟件是沒有任何意義的!

小程序宿主環境包含的內容

①通信模型

小程序中的通信模型分為兩部分:
①渲染層和邏輯層之間的通信
●由微信客戶端進行轉發
②邏輯層和第三方服務 器之間的通信
●由微信客戶端進行轉發

②運行機制

③組件

④API

通信的主體

小程序中通信的主體是渲染層和邏輯層,其中:
①WXML模板和WXSS樣式工作在渲染層
②JS 腳本工作在邏輯層

小程序啟動的過程

①把小程序的代碼包下載到本地
②解析app.json全局配置文件
③執行appjs小程序入口文件,調用App()創建小程序實例
④渲染小程序首頁
⑤小程序啟動完成

頁面渲染的過程

①加載解析頁面的jison配置文件
②加載頁面的.wxml模板和.WXss樣式
③執行頁面的js文件,調用Page()創建頁面實例
④頁面渲染完成

小程序中組件的分類

小程序中的組件也是由宿主環境提供的,開發者可以基於組件快速搭建出漂亮的頁面結構。官方把小程序的組件分為了9大類,分別是:
①視圖容器
②基礎內容
③表單組件
④導航組件
⑤媒體組件
⑥map地圖組件
⑦canvas 畫布組件
⑧開放能力
⑨無障礙訪問

常用的視圖容器類組件

①view普通視圖區域
類似於 HTML中的div,是一個塊級元素 常用來實現頁面的布局效果
②scroll-view可滾動的視圖區域
常用來實現滾動列表效果
③swiper 和swiper-item
輪播圖容器組件 和輪播圖item組件

實例:滾動盒子效果

wxml文件
<!--pages/list/list.wxml-->
<!-- scroll-y屬性:允許縱向滾動 -->
<!-- scroll-x屬性:允許橫向滾動 -->
<!-- ps:使用豎向滾動時,必須給scroll-view一個固定高度 -->
<scroll-view class="container1" scroll-y>
<view>A</view>
<view>B</view>
<view>c</view>
</scroll-view>

wxss文件
/* pages/list/list.wxss */
.container1 view{
width: 100px;
height: 100px;
text-align: center;
line-height: 100px;
}
.container1 view:nth-child(1){
    background-color: lightgreen;
}
.container1 view:nth-child(2){
    background-color: lightskyblue;
}.container1 view:nth-child(3){
    background-color: lightpink;
}
.container1{
    /* 給scroll-view一個固定高度 */
    border: 1px solid #000;
    height: 120px;
    width: 100px;
}

輪播圖寫法

wxml文件
<!-- 輪播圖區域 -->
<!-- indicator-dots顯示面板指示點 -->
<swiper class="swiper-container" indicator-dots>
<swiper-item>
    <view class="item">A</view>
</swiper-item>
<swiper-item>
    <view class="item">B</view>
</swiper-item><swiper-item>
    <view class="item">C</view>
</swiper-item>
</swiper>
wxss文件
.swiper-container{
    height: 150px;
}
.item{
    height: 100%;
    line-height: 150px;
    text-align: center;
}
swiper-item:nth-child(1){
    background-color: lightgreen;
}
swiper-item:nth-child(2){
    background-color: lightblue;
}
swiper-item:nth-child(3){
    background-color: lightpink;
}

常用的基礎內容組件

①text
●文本組件
●類似於 HTML中的span標簽,是一一個行內元素
②rich-text
●富文本組件
●支持把 HTML字符串渲染為WXML結構

常用的基礎內容組件 text和和rich-text的用法
<!-- 常用的基礎內容組件 text和和rich-text的用法 -->
<view>
    手機號支持長按選中效果
    <text user-select>136554654646</text>
</view>
<rich-text nodes="<h1 style='color:red'>標題</h1>"></rich-text>

其它常用組件

①button
按鈕組件
● 功能比HTML中的button按鈕豐富
●通過 open-type屬性可以調用微信提供的各種功能(客服、轉發、獲取用戶授權、獲取用戶信息等)
②image
圖片組件
●image 組件默認寬度約300px、高度約240px
③navigator
頁面導航組件
●類似於HTML中的a鏈接

按鈕組件的基本使用
<!-- 按鈕組件的基本使用 -->
<!-- 通過type屬性指定按鈕顏色類型 -->
<button>普通按鈕</button>
<button type="primary">主色調按鈕</button>
<button type="warn">警告按鈕</button>
<!-- size="mini"小尺寸按鈕 -->
<button size="mini">普通按鈕</button>
<button type="primary" size="mini">主色調按鈕</button>
<button type="warn" size="mini">警告按鈕</button>
<!-- plain鏤空按鈕 -->
<button size="mini" plain="true">普通按鈕</button>
<button type="primary" size="mini" plain="true">主色調按鈕</button>
<button type="warn" size="mini" plain="true">警告按鈕</button>
image組件使用wxml
<!-- 空圖片 -->
<image></image>
<image src=""></image>
image組件使用wxss
image{
    /* 通過邊框線證明image有默認的寬和高 */
    border: 1px solid red;
}

小程序API概述

小程序中的API是由宿主環境提供的,通過這些豐富的小程序API,開發者可以方便的調用微信提供的能力,例如:獲取用戶信息、本地存儲、支付功能等。

小程序API的3大分類

小程序官方把API分為了如下3大類:
1.事件監聽API
特點:以on開頭,用來監聽某些事件的觸發
舉例: wx.onWindowResize(function callback)監聽窗口尺寸變化的事件

2.同步API
特點1∶以Sync結尾的API都是同步API
特點2:同步API的執行結果,可以通過函數返回值直接獲取,如果執行出錯會拋出異常
舉例:wx.setStorageSync('key' , 'value')向本地存儲中寫入內容

3.異步API
特點:類似於jQuery 中的$.ajax(options)函數,需要通過success、fail、complete接收調用的結果舉例: wx.request()發起網絡數據請求,通過success回調函數接收數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM