• <fieldset id="qg8cq"></fieldset>
  • <ul id="qg8cq"></ul>
  • <fieldset id="qg8cq"><menu id="qg8cq"></menu></fieldset>
  • <ul id="qg8cq"></ul>
    開始制作
    • 做app就上應(yīng)用公園
    • 小程序如何開發(fā)

      2021-03-29 21:00:00 來自于應(yīng)用公園

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

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

    在線咨詢

    立即咨詢

    售前咨詢熱線

    13590461663

    [關(guān)閉]
    應(yīng)用公園微信

    官方微信自助客服

    [關(guān)閉]