微信小程式也已經出來有一段時間了,最近寫了幾款微信小程式項目,今天來說說感受。
首先開發一款微信小程序,最主要的就是針對於公司來運營的,因為,在申請appid(微信小程序ID號)時候,需要填寫相關的公司認證資訊如,營業執照等等
再次就是用一個未曾開通過公眾號的QQ號或微訊號來註冊一個微信小程式號碼。
最後,下載微信小程式開發工具。
由於這裡,我們更多的關注如何去開發一些app,而不是科譜微信小程序,故在此不在過多的解釋,詳細的說明,可以去官網幫助文檔。
首先,我們拿自己的專案在一步一步的說明並開發吧,下面是一個微信app的截圖
在看到上圖,小夥伴們大致上有一個了解,這個是調試工具中的,一些效果沒有在真機上好看。
由於在開發中,本以為畫面不是很流利,實際上完全出乎我的意料,動畫效果很流暢,可以與ios,andriod app相媲美,以後有時間講講開發其它app的相關例子。
在介紹這篇文章前,假設使用者都已經看過微信小程式的相關文件。
這個項目基本上是按照微信原有的文件結構來的,並沒有額外的去添加特別多的文件結構,因為微信小程序規定,項目文件大小不能超過1M,要求我們盡可能的壓縮小程式程式碼或其它圖片檔案等,以下是微信app檔案結構整體截圖
#
1.app.js 主要是全域公共的js方法宣告及呼叫所在的文件
2.app.json 是小程式整個的設定文件,所以有的頁面都在要此註冊,不然不允許存取(如下圖所示)
3.app.wxss 是小程式全域的css文件,公共css寫在此最好不過的了
4.pages下是對應著所有頁面,每個頁面,可以添加四種類型的文件,.json,.wxss,.wxml,.js (如下圖所示)
#5.utils 是我們公共的js存放的地方,因為微信小程式要求,每個js文件裡的方法不可以直接引用或調用,必須用module.exports方法導出,這樣pages 下的.js檔案才可以調用到我們在此寫的js方法。這點特別要注意
1)app.json頁面設定及註冊:
#
##2)pages頁面結構:1)接下來看看橫向捲動的banner,
類型 | #預設值 | ||
---|---|---|---|
#說明 | |||
indicator-dots | #Boolean | false | 是否顯示面板指示點 |
autoplay | Boolean | false | 是否自動切換 |
current | |||
注意:其中只可放置<swiper-item></swiper-item>
元件,其他節點會自動刪除。
swiper-item
僅可放置在<swiper></swiper>
元件中,寬高自動設定為100%。
1 示例代码: 2 3 <swiper indicator-dots="{{indicatorDots}}" 4 autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> 5 <block wx:for="{{imgUrls}}"> 6 <swiper-item> 7 <image src="{{item}}" class="slide-image" width="355" style="max-width:90%"/> 8 </swiper-item> 9 </block>10 </swiper>11 <button bindtap="changeIndicatorDots"> indicator-dots </button>12 <button bindtap="changeAutoplay"> autoplay </button>13 <slider bindchange="intervalChange" show-value min="500" max="2000"/> interval14 <slider bindchange="durationChange" show-value min="1000" max="10000"/> duration15 Page({16 data: {17 imgUrls: [18 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',19 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',20 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'21 ],22 indicatorDots: false,23 autoplay: false,24 interval: 5000,25 duration: 100026 },27 changeIndicatorDots: function(e) {28 this.setData({29 indicatorDots: !this.data.indicatorDots30 })31 },32 changeAutoplay: function(e) {33 this.setData({34 autoplay: !this.data.autoplay35 })36 },37 intervalChange: function(e) {38 this.setData({39 interval: e.detail.value40 })41 },42 durationChange: function(e) {43 this.setData({44 duration: e.detail.value45 })46 }47 })
View Code
#看了上面的官方文檔,就可以清楚的知道,這個就是我們類似在寫html裡用到的banner滑動插件一樣,拿過來就可以使用,多麼的方便。
我們的專案中同樣用參數綁定的方式,輸出的相關參數
參數定義在index.js pages({...})方法中
#
為什麼要綁定參數?為什麼不直接寫入參數呢?好處太多,圖片我們不可能寫死,從伺服器請求圖片,同時可以方便的控制我們的相關參數來改變swiper的行為等。
至於參數綁定,官網說的也很清楚,這裡不在解釋。
2)城市選擇及切換
這塊看起來很簡單,其實很麻煩,如果對動畫不熟悉的朋友,可以會苦惱一番的。
上面的動畫很流暢,可能是因為抓取工具不太好,這點大可不用關心。
我們點擊中間的「交換圓」的時候,」出發城市「與」到達城市「相互交換,他們不是立即變化,而是中間有一個"位移"效果,同時,那個「交換的圓」也要旋轉180度。
這樣體驗感立刻"高上大"。呵呵,不是嗎?下面我們詳細的來實現它。
我們先來溫習下,官網動畫相關的文檔說明
wx.createAnimation(OBJECT)
建立一個動畫實例animation。呼叫實例的方法來描述動畫。最後透過動畫實例的export
方法匯出動畫資料傳遞給元件的animation
屬性。
注意: export
方法每次呼叫後會清除先前的動畫操作
OBJECT參數說明:
必填 | 說明 | ||
Integer | |||
動畫持續時間,單位ms,預設值400 | timingFunction | String |
transformOrigin | String | |
---|---|---|
animation | ||
樣式: | 方法 | |
##說明 | ||
#opacity | value | |
backgroundColor | color | |
width | length | |
height | length |
旋轉:
方法 | 參數 | #說明 |
---|---|---|
rotate | deg | deg的範圍-180~180,從原點順時針旋轉一個deg角度 |
rotateX | deg | deg的範圍-180~180,在X軸旋轉一個deg角度 |
rotateY | deg | # deg的範圍-180~180,在Y軸旋轉一個deg角度 |
rotateZ | deg | deg的範圍-180~180,在Z軸旋轉一個deg角度 |
rotate3d | (x,y,z,deg) | 同transform-function rotate3d |
縮放:
方法 | 說明 | |
---|---|---|
#scale | sx,[sy] | 一個參數時,表示在X軸、Y軸同時縮放sx倍數;兩個參數時表示在X軸縮放sx倍數,在Y軸縮放sy倍數 |
scaleX | sx | 在X軸縮放sx倍數 |
scaleY | sy | 在Y軸縮放sy倍數 |
scaleZ | sz | #在Z軸縮放sy倍數 |
scale3d | #(sx,sy,sz) | 在X軸縮放sx倍數,在Y軸縮放sy倍數,在Z軸縮放sz倍數 |
偏移:
方法 | ##參數說明 | |
---|---|---|
tx,[ty] | 一個參數時,表示在X軸偏移tx,單位px;兩個參數時,表示在X軸偏移tx,在Y軸偏移ty,單位px。 | |
tx | 在X軸偏移tx,單位px | |
ty | 在Y軸偏移tx,單位px | |
tz | #在Z軸偏移tx,單位px | |
(tx,ty,tz) | 在X軸偏移tx,在Y軸偏移ty ,在Z軸偏移tz,單位px |
#參數 | 說明 | |
---|---|---|
#ax,[ay] | 參數範圍-180~180;一個參數時,Y軸座標不變,X軸座標延順時針傾斜ax度;兩個參數時,分別在X軸傾斜ax度,在Y軸傾斜ay度 | |
ax | 參數範圍-180~180;Y軸座標不變,X軸座標延順時針傾斜ax度 | |
ay | 參數範圍-180~180;X軸座標不變,Y軸座標延順時針傾斜ay度 |
參數 | #說明 | |
---|---|---|
(a,b,c,d,tx,ty) | 同transform-function matrix | ##matrix3d |
同transform-function matrix3d | # |
以上是分享一個本人的小程式開發心得的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 Linux新版
SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載
最受歡迎的的開源編輯器