摘要:注意如果我們不是用注冊(cè)時(shí)綁定的管理員微信號(hào),在手機(jī)上體驗(yàn)該小程序。微信小程序會(huì)讀取這些文件,并生成小程序?qū)嵗O旅嫖覀兒?jiǎn)單了解這三個(gè)文件的功能,方便修改以及從頭開發(fā)自己的微信小程序。
獲取微信小程序的AppID
首先,我們需要擁有一個(gè)帳號(hào),如果你能看到該文檔,我們應(yīng)當(dāng)已經(jīng)邀請(qǐng)并為你創(chuàng)建好一個(gè)帳號(hào)。注意不可直接使用服務(wù)號(hào)或訂閱號(hào)的AppID。 利用提供的帳號(hào),登錄https://mp.weixin.qq.com ,就可以在網(wǎng)站的“設(shè)置”-“開發(fā)者設(shè)置”中,查看到微信小程序的AppID了。
注意:如果我們不是用注冊(cè)時(shí)綁定的管理員微信號(hào),在手機(jī)上體驗(yàn)該小程序。那么我們還需要操作“綁定開發(fā)者”。即在“用戶身份”-“開發(fā)者”模塊,綁定上需要體驗(yàn)該小程序的微信號(hào)。本教程默認(rèn)注冊(cè)帳號(hào)、體驗(yàn)都是使用管理員微信號(hào)。
創(chuàng)建項(xiàng)目
? 我們需要通過開發(fā)者工具,來(lái)完成小程序創(chuàng)建和代碼編輯。
? 開發(fā)者工具安裝完成后,打開并使用微信掃碼登錄。選擇創(chuàng)建“項(xiàng)目”,填入上文獲取到的AppID,設(shè)置一個(gè)本地項(xiàng)目的名稱(非小程序名稱),比如“我的第一個(gè)項(xiàng)目”,并選擇一個(gè)本地的文件夾作為代碼存儲(chǔ)的目錄,點(diǎn)擊“新建項(xiàng)目”就可以了。
? 為方便初學(xué)者了解微信小程序的基本代碼結(jié)構(gòu),在創(chuàng)建過程中,如果選擇的本地文件夾是個(gè)空文件夾,開發(fā)者工具會(huì)提示,是否需要?jiǎng)?chuàng)建一個(gè)quick start項(xiàng)目。選擇“是”,開發(fā)者工具會(huì)幫助我們?cè)陂_發(fā)目錄里生成一個(gè)簡(jiǎn)單的demo。
? 項(xiàng)目創(chuàng)建成功后,我們就可以點(diǎn)擊該項(xiàng)目,進(jìn)入并看到完整的開發(fā)者工具界面,點(diǎn)擊左側(cè)導(dǎo)航,在“編輯”里可以查看和編輯我們的代碼,在“調(diào)試”里可以測(cè)試代碼并模擬小程序在微信客戶端效果,在“項(xiàng)目”里可以發(fā)送到手機(jī)里預(yù)覽實(shí)際效果。
編寫代碼
創(chuàng)建小程序?qū)嵗?/p>
? 點(diǎn)擊開發(fā)者工具左側(cè)導(dǎo)航的“編輯”,我們可以看到這個(gè)項(xiàng)目,已經(jīng)初始化并包含了一些簡(jiǎn)單的代碼文件。最關(guān)鍵也是必不可少的,是app.js、app.json、app.wxss這三個(gè)。其中,.js后綴的是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件。微信小程序會(huì)讀取這些文件,并生成小程序?qū)嵗?/p>
? 下面我們簡(jiǎn)單了解這三個(gè)文件的功能,方便修改以及從頭開發(fā)自己的微信小程序。
? app.js是小程序的腳本代碼。我們可以在這個(gè)文件中監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量。調(diào)用MINA提供的豐富的API,如本例的同步存儲(chǔ)及同步讀取本地?cái)?shù)據(jù)。想了解更多可用API,可參考API文檔
//app.js App({ onLaunch: function () { //調(diào)用API從本地緩存中獲取數(shù)據(jù) var logs = wx.getStorageSync("logs") || [] logs.unshift(Date.now()) wx.setStorageSync("logs", logs) }, getUserInfo:function(cb){ var that = this; if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ //調(diào)用登錄接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo; typeof cb == "function" && cb(that.globalData.userInfo) } }) } }); } }, globalData:{ userInfo:null } })
? app.json是對(duì)整個(gè)小程序的全局配置。我們可以在這個(gè)文件中配置小程序是由哪些頁(yè)面組成,配置小程序的窗口背景色,配置導(dǎo)航條樣式,配置默認(rèn)標(biāo)題。注意該文件不可添加任何注釋。更多可配置項(xiàng)可參考配置詳解
{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "WeChat", "navigationBarTextStyle":"black" } }
? app.wxss是整個(gè)小程序的公共樣式表。我們可以在頁(yè)面組件的class屬性上直接使用app.wxss中聲明的樣式規(guī)則。
/**app.wxss**/ .container { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: space-between; padding: 200rpx 0; box-sizing: border-box; }
創(chuàng)建頁(yè)面
? 在這個(gè)教程里,我們有兩個(gè)頁(yè)面,index頁(yè)面和logs頁(yè)面,即歡迎頁(yè)和小程序啟動(dòng)日志的展示頁(yè),他們都在pages目錄下。微信小程序中的每一個(gè)頁(yè)面的【路徑+頁(yè)面名】都需要寫在app.json的pages中,且pages中的第一個(gè)頁(yè)面是小程序的首頁(yè)。
? 每一個(gè)小程序頁(yè)面是由同路徑下同名的四個(gè)不同后綴文件的組成,如:index.js、index.wxml、index.wxss、index.json。.js后綴的文件是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件,.wxml后綴的文件是頁(yè)面結(jié)構(gòu)文件。
? index.wxml是頁(yè)面的結(jié)構(gòu)文件:
{{userInfo.nickName}} {{motto}}
? 本例中使用了
? index.js是頁(yè)面的腳本文件,在這個(gè)文件中我們可以監(jiān)聽并處理頁(yè)面的生命周期函數(shù)、獲取小程序?qū)嵗暶鞑⑻幚頂?shù)據(jù),響應(yīng)頁(yè)面交互事件等。
//index.js //獲取應(yīng)用實(shí)例 var app = getApp() Page({ data: { motto: "Hello World", userInfo: {} }, //事件處理函數(shù) bindViewTap: function() { wx.navigateTo({ url: "../logs/logs" }) }, onLoad: function () { console.log("onLoad") var that = this //調(diào)用應(yīng)用實(shí)例的方法獲取全局?jǐn)?shù)據(jù) app.getUserInfo(function(userInfo){ //更新數(shù)據(jù) that.setData({ userInfo:userInfo }) }) } }) ? index.wxss是頁(yè)面的樣式表: /**index.wxss**/ .userinfo { display: flex; flex-direction: column; align-items: center; } .userinfo-avatar { width: 128rpx; height: 128rpx; margin: 20rpx; border-radius: 50%; } .userinfo-nickname { color: #aaa; } .usermotto { margin-top: 200px; }
? 頁(yè)面的樣式表是非必要的。當(dāng)有頁(yè)面樣式表時(shí),頁(yè)面的樣式表中的樣式規(guī)則會(huì)層疊覆蓋app.wxss中的樣式規(guī)則。如果不指定頁(yè)面的樣式表,也可以在頁(yè)面的結(jié)構(gòu)文件中直接使用app.wxss中指定的樣式規(guī)則。
? index.json是頁(yè)面的配置文件:
? 頁(yè)面的配置文件是非必要的。當(dāng)有頁(yè)面的配置文件時(shí),配置項(xiàng)在該頁(yè)面會(huì)覆蓋app.json的window中相同的配置項(xiàng)。如果沒有指定的頁(yè)面配置文件,則在該頁(yè)面直接使用app.json中的默認(rèn)配置。
? logs的頁(yè)面結(jié)構(gòu)
{{index + 1}}. {{log}}
? logs頁(yè)面使用
//logs.js var util = require("../../utils/util.js") Page({ data: { logs: [] }, onLoad: function () { this.setData({ logs: (wx.getStorageSync("logs") || []).map(function (log) { return util.formatTime(new Date(log)) }) }) } })
運(yùn)行結(jié)果如下:
手機(jī)預(yù)覽
? 開發(fā)者工具左側(cè)菜單欄選擇"項(xiàng)目",點(diǎn)擊"預(yù)覽",掃碼后即可在微信客戶端中體驗(yàn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/80452.html
摘要:微信小程序應(yīng)用號(hào)開發(fā)資源匯總文檔工具教程代碼插件組件文檔從搭建一個(gè)微信小程序開始小程序開發(fā)文檔小程序設(shè)計(jì)指南工具小程序開發(fā)者工具官方支持微信小程序?qū)崟r(shí)預(yù)覽的支持的微信小程序組件化開發(fā)框架轉(zhuǎn)在線工具小程序云端增強(qiáng)社區(qū)微信小程序 微信(小程序or應(yīng)用號(hào))開發(fā)資源匯總-文檔-工具-教程-代碼-插件-組件 文檔 從搭建一個(gè)微信小程序開始 小程序開發(fā)文檔 小程序設(shè)計(jì)指南 工具 小程序開發(fā)者...
摘要:微信小程序框架結(jié)構(gòu)目前了解到的信息里發(fā)現(xiàn)微信小程序框架的結(jié)構(gòu)和特點(diǎn)跟之前用的很像,但是如何做到與后端服務(wù)器通信,如何建立數(shù)據(jù)庫(kù)并與數(shù)據(jù)庫(kù)通信還是需要新的探索。微信小程序網(wǎng)絡(luò)通信相關(guān)接口發(fā)起的是請(qǐng)求。 微信小程序框架結(jié)構(gòu):showImg(https://segmentfault.com/img/bVKi86?w=1430&h=942); 目前了解到的信息里發(fā)現(xiàn)微信小程序框架的結(jié)構(gòu)和特點(diǎn)跟...
摘要:為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí)一微信小程序的特點(diǎn)張小龍張小龍全面闡述小程序,推薦通讀此文小程序是一種不需要下載安裝即可使用的應(yīng)用,它出現(xiàn)了觸手可及的夢(mèng)想,用戶掃一掃或者搜一下即 為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí); 一:微信小程序的特點(diǎn) 張小龍:張小龍全面闡述小程...
摘要:為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí)一微信小程序的特點(diǎn)張小龍張小龍全面闡述小程序,推薦通讀此文小程序是一種不需要下載安裝即可使用的應(yīng)用,它出現(xiàn)了觸手可及的夢(mèng)想,用戶掃一掃或者搜一下即 為了方便大家了解并入門微信小程序,我將一些可能會(huì)需要的知識(shí),列在這里,讓大家方便的從零開始學(xué)習(xí); 一:微信小程序的特點(diǎn) 張小龍:張小龍全面闡述小程...
閱讀 2741·2023-04-25 21:26
閱讀 1528·2021-11-25 09:43
閱讀 1961·2019-08-30 15:52
閱讀 942·2019-08-30 14:05
閱讀 2627·2019-08-29 16:10
閱讀 425·2019-08-29 13:48
閱讀 1870·2019-08-29 12:47
閱讀 1310·2019-08-23 18:04