開始制作
  • 做app就上應用公園
  • 小程序如何開發(fā)

    2021-03-29 21:00:00 來自于應用公園

    一.注冊小程序賬號,下載IDE
    1.官網(wǎng)注冊https://mp.weixin.qq.com/,并下載IDE。
    2.官方文檔一向都是較好的學習資料。
    留意:
    (1)注冊賬號之后會有一個appid,新建項目的時分需求填上,否則很多功用是用不了的,比方不能預覽,不能上傳代碼等等。
    (2)假如你注冊過微信大眾號話,必定要留意,微信大眾號和微信小程序是兩個賬號,二者的appid也是不同,小程序開發(fā)必須運用小程序的appid哦。
    二.小程序結構介紹和運行機制
    1.咱們建立了“普通快速發(fā)動模板”,然后整個項目目錄如下:
    2.app.js
    整個項目的發(fā)動文件,如注釋寫的onlaunch辦法有三大功用,瀏覽器緩存進行存和取數(shù)據(jù);用登陸成功的回調;獲取用戶信息。
    globalData是界說整個項目的大局變量或許常量哦。
    3.app.json
    整個項目的裝備文件,比方注冊頁面,裝備tab頁,設置整個項目的款式,頁面標題等等;
    !留意:小程序發(fā)動默認的為數(shù)不多個頁面,便是app.json的pages中的為數(shù)不多個頁面哦。
    4.pages
    小程序的頁面組件,有幾個頁面就會有幾個子文件夾。比方快速發(fā)動模板,就有兩個頁面,index和logs
    5.翻開index目錄
    能夠看到有三個文件,其實和咱們web開發(fā)的文件是一一對應的。
    index.wxml對應index.html;
    index.wxss對應index.css;
    index.js便是js文件哦。
    一般咱們還會給每個頁面組件添加一個.json文件,作為該頁面組件的裝備文件,設置頁面標題等功用
    6.雙擊index.js文件
    (1)var app = getApp();
    引入整個項目的app.js文件,用來取期中的公共變量等信息。
    假如要運用util.js東西庫中的某個辦法,在util.js中module.exports導出,然后在需求的頁面中require即可得到哦。
    (2)比方,咱們要獲取豆瓣電影的時分,咱們需求調用豆瓣的api;咱們先在app.js中的gloabData中界說doubanBase
    然后在index.js中運用app.globaData.doubanBase即可取到這個值。
    當然這些常量你也能夠在頁面需求的時分,再用寫死的值,可是為了整個項目的維護,仍是主張把這種共用參數(shù)一致寫在裝備文件中哦。
    (3)接下來在整個page({})中,為數(shù)不多個data,便是本頁面組件的內部數(shù)據(jù),會烘托到該頁面的wxml文件中,類似于vue、react哦~
    經(jīng)過setData修改data數(shù)據(jù),驅動頁面烘托
    (4)一些生命周期函數(shù)
    比方(), onready(), onshow(), onhide()等等,監(jiān)聽頁面加載、頁面初度烘托、頁面顯示、頁面躲藏等等
    更多的能夠查官網(wǎng)API哦。其中用的多的便是()辦法,和onShareAppMessage()辦法(設置頁面分享的信息)
    7 .wxml模板的運用。
    比方本項目電影頁面,便是以小的星級點評組件wxml作為模板,star到movie到movie-list,一級一級的嵌套運用。
    star-template.wxml頁面寫好name特點;然后import引入的時分經(jīng)過name取得即可
    8.常用的wxml標簽
    view,text,icon,swiper,block,scroll-view等等,這些標簽直接查官網(wǎng)文檔即可
    三.小程序結構、各個頁面以及發(fā)布上線的留意點
    1.整個結構中的一些留意點
    (1)整個wxml頁面,比較底層的標簽是哦。
    (2) 每個頁面頂部欄的顏色,title在本頁面的json中裝備,假如沒有裝備的話,取app.json中的總裝備哦。
    (3)json中不能寫注釋哦,否則會報錯的。
    (4)路由相關
    1)運用wx.SwitchTab跳轉tab頁的話,在app.json中除了注冊pages頁面,還需求在tabBar中注冊tab頁,才干收效哦。
    留意:tab多5個,也便是咱們說的頭部或許底部多5個菜單。其他的頁面只能經(jīng)過其他路由辦法翻開哦。
    2)navigateTo是跳到某個非tab頁,比方歡迎頁,電影詳情頁,城市選擇頁;在app.json中注冊后,不能在tabBar里注冊哦,否則相同也是不能跳轉的哦。
    3)reLaunch跳轉,新開的頁面左上角是沒有退回按鈕的,本項目只用了一次,切換城市的時分哦。
    (5)頁面之間傳遞參數(shù)
    參數(shù)寫在跳轉的url之中,然后另一個頁面在辦法中的傳參option接收到。如下傳遞和獲取id
    (6)data-開頭的自界說特點的運用
    比方wxml中咱們怎樣寫
    點擊的事情對象能夠這么取,var postId = event.currentTarget.dataset.postid;
    留意: 大寫會轉換成小寫,帶_符號會轉成駝峰方式
    (7)事情對象event,event.target和event.currentTarget的差異:
    target指的是當時點擊的組件 和currentTarget 指的是事情捕獲的組件。
    比方,輪播圖組件,點擊事情應該要綁定到swiper上,這樣才干監(jiān)控恣意一張圖片是否被點擊,
    這時target這里指的是image(因為點擊的是圖片),而currentTarget指的是swiper(因為綁定點擊事情在swiper上)
    (8)運用免費的網(wǎng)絡接口:
    本項目中用到了 和風氣候api,騰訊地圖api,百度地圖api,豆瓣電影api,聚合頭條新聞api等,詳細用法能夠看各自官網(wǎng)的接口文檔哦,很詳細的
    留意:免費接口是有拜訪限制的,所以假如用別人的組件用了這種接口的話,較好仍是自己注冊一個新的key替換上哦
    附上一個免費接口大全:
    https://github.com/jokermonn/-Api
    ?。×硗膺€要留意,要把這些接口的域名裝備到小程序的合法域名中,否則也是拜訪不了的
    (8)wxss有一個坑:無法讀取本地資源,比方背景圖片用本地就會報錯哦。
    把本地圖片弄成網(wǎng)絡圖片的幾種方式: 上傳到個人網(wǎng)站;QQ空間相冊等等也是能夠的哦
    2.切換城市頁面:
    (1)主頁運用navigateTo跳轉到切換城市頁,由于主頁并沒有封閉,導致切換了城市返回來,氣候信息仍是舊的。
    正確的處理邏輯如下:
    1)運用reLaunch跳轉到切換城市頁面,實質是封閉一切頁面翻開新的頁面哦。
    2)切換城市頁面,更新公共變量中城市信息為手動切換的城區(qū),再switchTab回到主頁,觸發(fā)主頁從頭加載。
    3)主頁獲取城市信息的時分加一個判斷,大局沒有才取定點的,大局有(比方方才設置了)就用大局的哦。
    (2)城市列表的翻滾和回到頂部
    根據(jù)scroll-view組件的scroll-top特點,初始便是0,翻滾就會添加的;點擊回到頂部給它置為0即可回到頂部
    3.氣候頁
    (1)初始化頁面,氣候顯示的邏輯
    首先調用小程序的wx.getLocation辦法取得當時的經(jīng)緯度,然后調用騰訊地圖取得當時的城市稱號和區(qū)縣稱號,并存到公共變量中,
    再調用查詢氣候和空氣質量的辦法哦。
    (2)容錯處理
    城市的稱號長短不一,有點姓名特別長,比方巴彥淖爾市這種,需求動態(tài)的獲取完好的城市稱號;
    有些偏遠的城市暫時沒有氣候信息,咱們需求對返回的成果進行判斷,沒有信息的需求給用戶一個杰出的提示信息。
    4.周邊-地圖服務頁面
    (1)調用百度地圖的各種服務,查詢酒店,美食,生活服務三種信息,更多信息能夠看百度地圖的文檔
    (2)點擊時給被點中的圖標加個邊框,數(shù)據(jù)驅動視圖,所以運用一個長度為3的數(shù)組保存三個圖標當時是否被點中的狀況
    然后wxml再根據(jù)數(shù)據(jù)來動態(tài)添加class,添加邊框款式
    5.豆瓣電影頁
    (1)電影詳情頁的預覽圖片,用小程序本身的previewImage完成。
    (2)詳情頁運用onReachBottom()辦法,監(jiān)控用戶上拉觸底事情,然后發(fā)送懇求持續(xù)取得數(shù)據(jù),完成懶加載的效果
    (3)用戶體驗方面的優(yōu)化,js中將整數(shù)評分比方7分一致改為7.0分,然后wxml模板再判斷分數(shù)是否為0顯示“暫無評分”
    (4)搜索之后清空搜索框
    因為小程序中不能運用getelementbyId這種方式取得元素,只能用數(shù)據(jù)來操控了
    在data中加一個特點searchText來保存搜索框的內容并和 input的value特點綁定,搜索完成或許點擊X時,searchText變量清空即可完成清空輸入框的效果哦。
    6.新聞頁面
    (1)聚合頭條新聞的免費接口,只返回了新聞的基本信息,新聞的主體內容是沒有的哦。
    我找了好多新聞類的接口,如同都是沒有新聞主體內容的。假如誰知道更好的接口歡迎留言告訴我哈~
    (2)當然,也能夠自己去爬新聞網(wǎng)站的數(shù)據(jù)哦
    7.更多頁面
    (1)小程序目前開放外鏈的功用僅僅給公司安排的小程序開放了,個人開發(fā)仍是不能運用外鏈的哦。
    (2)彩蛋頁面,取得用戶信息
    經(jīng)過 wx.setStorageSync('userInfos', userInfos); 能夠取得登陸小程序的用戶的個人信息,能夠發(fā)送給后臺存到數(shù)據(jù)庫中,便利對用戶進行分析
    我這里僅僅存儲到瀏覽器緩存中哦,較大應該是10M緩存;假如用戶把這個小程序從小程序列表中刪除去,就會清空這個緩存。
    8.發(fā)布留意
    (1) 新版本小程序發(fā)布的限制為2M,一般都是圖片占空間,所以盡量運用網(wǎng)絡圖片
    詳細怎樣把本地圖片變成網(wǎng)絡圖片,上面有講哦。
    (2)在開發(fā)者東西上預覽測驗沒問題,點擊上傳;網(wǎng)頁版小程序個的人中心的左邊“開發(fā)辦理”菜單,第三塊--開發(fā)版本就有了內容。
    (3)點擊提交,填寫小程序相關信息,就能夠提交審閱了哦。
    留意:分類較好填寫精確,這樣才干更快的經(jīng)過審閱哦。我這個小程序一天半時間過審上線的。

粵公網(wǎng)安備 44030602002171號      粵ICP備15056436號-2

在線咨詢

立即咨詢

售前咨詢熱線

0755-27805158

[關閉]
應用公園微信

官方微信自助客服

[關閉]