零基礎(chǔ)微信小程式開發(fā)及實(shí)例詳解
Feb 28, 2022 pm 05:50 PM本篇文章為大家?guī)砹岁P(guān)於微信小程式的相關(guān)知識(shí),主要介紹了微信小程式的開發(fā)步驟以及主要的過程詳解,希望對(duì)大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程式學(xué)習(xí)教學(xué)】
目前,小程式產(chǎn)業(yè)已成為網(wǎng)路行銷的熱門黑馬之一,依託於各大流量平臺(tái),小程式產(chǎn)業(yè)具有天然的用戶基礎(chǔ)和得天獨(dú)厚的資源優(yōu)勢,憑藉其方便快捷的操作以及簡單通俗的模式,僅短短一年的時(shí)間,就迎來了爆發(fā)性的增長。目前市場上開發(fā)一款小程式幾千到數(shù)萬不等,以騰訊雲(yún)為例,由騰訊官方團(tuán)隊(duì)設(shè)計(jì),上線立即投入營運(yùn)的一款小程式以每年680~3680的價(jià)格出售。複雜的小程式設(shè)計(jì)的暫且不談,從最簡單的說起。
小程式的開發(fā)方式分為兩種,一種是客製化開發(fā),一種是第三方平臺(tái)開發(fā)??脱u化開發(fā)價(jià)格較高,數(shù)萬甚至十幾萬不等,而且開發(fā)週期較長;
第三方平臺(tái)開發(fā)價(jià)格較低,根據(jù)功能幾千就可以開發(fā)好,最主要是開發(fā)週期短,一個(gè)星期左右就可上線營運(yùn)。
#一、微信小程式開發(fā)必備技術(shù)
一、HTML語言
HTML就是超文本標(biāo)記語言的簡寫,HTML主要負(fù)責(zé)網(wǎng)頁的骨架,就如同動(dòng)物的骨架一樣,HTML語言就是支撐網(wǎng)頁佈局的骨架。
二、CSS
CSS,是層疊樣式表的簡寫,主要負(fù)責(zé)網(wǎng)頁樣式,網(wǎng)頁內(nèi)容如何分佈,板塊背景,顏色等外觀問題可以有CSS控制。
三、JavaScript
簡稱js,是一種動(dòng)態(tài)的腳本語言。在以前js只是用於網(wǎng)頁互動(dòng)的腳本語言,隨著Google v8引擎、angular、react等前端框架使得前後端分離的趨勢愈加明顯以及node、js等技術(shù)的開發(fā)使得js在伺服器端也迸發(fā)出非凡的活力,成為當(dāng)前非?;钴S的語言之一。
四、伺服器語言
如果不是專業(yè)的後端開發(fā)者,可能後端有一定的難度其學(xué)習(xí)曲線較陡。但是,仍然建議開發(fā)者學(xué)習(xí)一下後端語言,至少需要了解大致的原因框架,能夠看懂其程式碼邏輯,這樣不僅可以很好的實(shí)作前後端的配合,也能夠在小程式出現(xiàn)bug的時(shí)候扯皮用。伺服器的語言有許多比較常用的是PHP、Java、Python、ASP等技術(shù),建議初學(xué)者根據(jù)具體需求挑選來學(xué)習(xí)。
五、資料庫語言
如果你開發(fā)的小程式資料量不大,架構(gòu)不複雜的話資料庫語言相對(duì)來說是比較簡單的,一般學(xué)會(huì)一些常用的命令以及常出現(xiàn)的問題就能夠應(yīng)付使用。常用的資料庫有免費(fèi)的MySQL、msSQL、MongoDB、Oracle等資料庫。若資料量非常龐大,很容易導(dǎo)緻小程式首屏白頁,這時(shí)就要考慮優(yōu)化。
註:具體落實(shí)到開發(fā)軟體上,大同小異,每款軟體都有他們的特點(diǎn),語言標(biāo)準(zhǔn)規(guī)則有些不同,常見的開發(fā)工具有:微信開發(fā)者工具、位元組跳動(dòng)開發(fā)者工具、Sublime Text 3。這裡我們使用微信開發(fā)者工具。
二、微信開發(fā)者工具
一、下載安裝
百度「微信公眾平臺(tái)”,選擇小程式
在開發(fā)者工具中選擇對(duì)應(yīng)的版本下載
建議安裝64位元穩(wěn)定版
二、新專案
在啟動(dòng)頁填寫項(xiàng)目名稱、目錄、AppID(選擇測試號(hào)碼)
這是基礎(chǔ)架構(gòu)
工具自帶的啟動(dòng)日誌,以下開始了解小程式開發(fā)的框架
pages是用來存放頁面檔案的資料夾;
utils是用來存放公共js的資料夾; 小程式大致分兩塊,首頁和分頁。首頁即登入後展示的第一個(gè)頁面,首頁和分頁分別佔(zhàn)一個(gè)資料夾,且都包含在pages資料夾下,很顯然,初始化的小程式只有兩個(gè)頁面(首頁index和日誌頁logs)
index下又包含首頁介面設(shè)計(jì)所需的檔案(index.js、index.json、index.wxss、index.wxml)
index.js即首頁面的邏輯文件,類似js文檔;
#index.json即首頁面的設(shè)定文件,例如標(biāo)題字,背景之類;
index.wxss即首頁面的樣式表文件,類似CSS文檔;
index.wxml即首頁面的結(jié)構(gòu)文件,類似HTML文檔。 同樣,日誌檔案logs與index基本上類似(若新增的頁面,需在pages檔案下新增資料夾)
而根目錄下的app .js、app.json、app.wxss、project.config.json、sitemap.json即小程式的全域設(shè)定。
app.js即專案的入口文件,用於建立應(yīng)用程式對(duì)象,啟動(dòng)小程式時(shí)首先呼叫;
app.json 即目前小程式的全域變量,包括了小程式的頁面路徑、介面表現(xiàn)、底部tab等;
#app.wxss即小程式的公共樣式表,開發(fā)者可在頁面元件的class屬性上直接使用app.wxss中宣告的樣式規(guī)則;
project.config.json即專案設(shè)定文件,通俗來說就是最開始開發(fā)專案時(shí)的個(gè)人化配置,其中會(huì)包括編輯器的顏色、程式碼上傳時(shí)自動(dòng)壓縮等等一系列選項(xiàng)。
sitemap.json用於配置小程式及其頁面是否允許被微信索引,檔案內(nèi)容為一個(gè)JSON對(duì)象,如果沒有sitemap.json,則預(yù)設(shè)為所有頁面都允許被索引;
#
三、專案實(shí)戰(zhàn)(附核心程式碼)
一、專案介紹
利用微信開發(fā)者工具製作了一個(gè)最基礎(chǔ)的小程式「太行精靈」(微信直接搜尋) ,功能僅為展示,無任何商業(yè)功能。
首頁效果圖如下
二、專案框架
「太行精靈」小程式設(shè)有6個(gè)頁面,分別是首頁index、內(nèi)容頁discovery、個(gè)人主頁setting、登入註冊(cè)頁login、打卡頁Calendar、掃碼付款頁please
1.index
1)index.js
var?api?=?require('../../utils/api.js')var?app?=?getApp()Page({ ??data:?{ ????lists:?[ ??????{ ????????'id':?'1', ????????'image':?'/img/1.jpg', ????????'title':?'太行領(lǐng)秀|?長治·上黨郡?【深度了解長治紅色旅游景點(diǎn)】', ????????'num':'304', ????????'state':'進(jìn)行中', ????????'time':?'4月21日?17:59', ????????'address':?'長治市·潞州區(qū)' ???????? ??????}, ??????{ ????????'id':?'2', ????????'image':?'/img/2.jpg', ????????'title':?'長治·武鄉(xiāng)·革命圣地', ????????'num':'380', ????????'state':'已結(jié)束', ????????'time':?'4月15日?17:39', ????????'address':?'長治市·武鄉(xiāng)縣' ??????}, ??????{ ????????'id':?'3', ????????'image':?'/img/3.jpg', ????????'title':?'沁源之美·靈空山', ????????'num':'500', ????????'state':'進(jìn)行中', ????????'time':?'2月04日?17:31', ????????'address':?'長治市·沁源縣' ??????}, ??????{ ????????'id':?'4', ????????'image':?'/img/4.jpg', ????????'title':?'革命太行邀您“與世界對(duì)話”', ????????'num':'150', ????????'state':'進(jìn)行中', ????????'time':?'5月09日?17:21', ????????'address':?'長治市·潞州區(qū)' ??????}, ??????{ ????????'id':?'5', ????????'image':?'/img/5.jpg', ????????'title':?'紅色太行?·?太行山革命區(qū)', ????????'num':'217', ????????'state':'進(jìn)行中', ????????'time':?'10月09日?16:59', ????????'address':?'長治市·潞州區(qū)' ??????} ????], ????list:?[ ??????{ ????????'id':?'1', ????????'image':?'/img/1.jpg', ????????'title':?'太行領(lǐng)秀|?長治·上黨郡?【深度了解長治紅色旅游景點(diǎn)】', ????????'num':'304', ????????'state':'進(jìn)行中', ????????'time':?'10月09日?17:59', ????????'address':?'長治市·潞州區(qū)' ??????}, ??????{ ????????'id':?'2', ????????'image':?'/img/2.jpg', ????????'title':?'長治·武鄉(xiāng)·革命圣地', ????????'num':'380', ????????'state':'已結(jié)束', ????????'time':?'10月09日?17:39', ????????'address':?'長治市·武鄉(xiāng)縣' ??????}, ??????{ ????????'id':?'3', ????????'image':?'/img/3.jpg', ????????'title':?'沁源之美·靈空山', ????????'num':'500', ????????'state':'進(jìn)行中', ????????'time':?'10月09日?17:31', ????????'address':?'長治市·沁源縣' ??????}, ??????{ ????????'id':?'4', ????????'image':?'/img/4.jpg', ????????'title':?'革命太行邀您“與世界對(duì)話”', ????????'num':'150', ????????'state':'已結(jié)束', ????????'time':?'10月09日?17:21', ????????'address':?'長治市·潞州區(qū)' ??????}, ??????{ ????????'id':?'5', ????????'image':?'/img/5.jpg', ????????'title':?'紅色太行?·?太行山革命區(qū)', ????????'num':'217', ????????'state':'進(jìn)行中', ????????'time':?'10月09日?16:59', ????????'address':?'長治市·潞州區(qū)' ??????} ????], ????imgUrls:?[ ????????'/img/26.jpg', ????????'/img/13.jpg', ????????'/img/28.jpg', ????????'/img/14.jpg', ????????'/img/24.jpg', ????????'/img/15.jpg', ????????'/img/27.jpg', ????????'/img/27.jpg', ????????'/img/16.jpg' ????] ??}, ??onLoad?()?{ ????var?that?=?this ????app.getSystemInfo(function(res)?{ ???? that.setData({ ???????? systemInfo:?res?????? }) ????}) ????that.setData({ ????_api:?api????}) ????this.getSwipers() ????this.pullUpLoad() ??}, ??/** ???* ???*/ ???getSwipers?()?{ ?????api.get(api.SWIPERS) ???????.then(res?=>?{ ?????????this.setData({ ???????????swipers:?res.data.ads?????????}) ???????}) ???}, ??scrollR:?function(e){ ????this.setData({ ??????lists:?this.data.lists.concat(this.data.list), ????}); ??}, ??onLoad:?function?(e)?{ ????this.scrollR(e); ??}, ??scroll:?function(e){ ????this.scrollR(this.data.offset); ??}, ??//頁面跳轉(zhuǎn)函數(shù)(wxml中找bindtap="go2detail) ??go2detail:?function(param){ ????wx.navigateTo({ ? ??????url:?'/pages/discovery/discovery', ? ??????}) ??}})
2)index.json
{ ??"usingComponents":?{}}
3)index.wxml
<scroll-view> ??<view> ????<swiper> ??????<block> ????????<swiper-item> ??????????<image></image> ????????</swiper-item> ??????</block> ????</swiper> ??</view> ??<view> ????<text></text> ????<text>太行精靈為你推薦</text> ??</view> ??<block> ????<view> ??????<view> ????????<image></image> ??????</view> ??????<view> ????????<view><text>{{list.title}}</text></view> ????????<view><view>{{list.state}}</view><view><text>{{list.num}}</text>人報(bào)名</view></view> ????????<view><text>{{list.address}}</text>|<text>{{list.time}}</text></view> ??????</view>? ????</view> ??</block></scroll-view><include></include>
4)index.wxss
/**index.wxss**/page{ height:?100%; background-color:?#efeff4;}scroll-view{ ??height:?100%;}.swiper{ ??top:?0px; ??width:?100%; ??height:?240px; }.swiper?swiper{ height:?240px;}.slide-image{ ??width:?100%;}.mobi_title{ font-size:?15px; color:?#777; ??line-height:?110%; ??font-weight:?normal; width:?100%; ??padding:?10px; ??background-color:?#f3f3f3; ??position:?relative;}.mobi_icon{ padding:?0px?1.5px; ??border-radius:?1.5px; ??background-color:?#ff7777; ??position:?relative; ??margin-right:?5px;}/*list*/.list{ overflow:?hidden; width:?100%; padding:?0?20px?0?0; border-top:?1px?solid?#eeeeee; background-color:?#fff; ??margin-bottom:?15px;}.list-img{ ??position:?relative; float:?left; width:?120px;}.list-img?.video-img{ width:?120px; height:?120px;}.list-detail{ position:?absolute; ??margin-top:?15px; ??margin-left:?135px; ??margin-right:?10px;}.list-title?text{ word-break:?break-all; ??text-overflow:?ellipsis; ??display:?-webkit-box; ??-webkit-box-orient:?vertical; ??-webkit-line-clamp:?2; ??overflow:?hidden; font-size:?17px; ??color:?#333; font-weight:?bold; ??line-height:?120%;}.list-tag?view.state{ ????display:?block; ????font-size:?11px; ????color:?#81aaf7; ????width:?50px; ????padding:?2px; ????border:?1px?solid?#93b9ff; ????border-radius:?2px; ????text-align:?center; ????margin-top:?10px; float:?left;}.list-tag?.join{ font-size:?13px; ??line-height:?120%; ??color:?#bbb; ??position:?absolute; ??display:?inline; ??margin:?10px?0?0?20px;}.list-tag?.list-num{ font-size:?16px; ??color:?#ff6666;}.list-info{ font-size:?13px; ??color:?#bbb; ??line-height:?110%; ??font-weight:?normal; margin-top:?40px;}
2.app.json
{ ??"pages":?[ ????"pages/index/index", ????"pages/setting/setting", ????"pages/login/login", ????"pages/please/please", ????"pages/Calendar/Calendar", ????"pages/discovery/discovery" ??], ??"window":?{ ????"backgroundTextStyle":?"light", ????"navigationBarBackgroundColor":?"#fff", ????"navigationBarTitleText":?"太行精靈", ????"navigationBarTextStyle":?"black" ??}, ??"tabBar":?{ ????"color":?"#a0a0a0", ????"selectedColor":?"#ec5c30", ????"backgroundColor":?"#f2f2f2", ????"borderStyle":?"white", ????"list":?[ ??????{ ????????"pagePath":?"pages/index/index", ????????"text":?"首頁", ????????"iconPath":?"img/shouye.png", ????????"selectedIconPath":?"img/shouye1.png" ??????}, ??????{ ????????"pagePath":?"pages/setting/setting", ????????"text":?"我的", ????????"iconPath":?"img/me.png", ????????"selectedIconPath":?"img/me1.png" ??????} ????]??}, ??"debug":?true, ??"sitemapLocation":?"sitemap.json"}
以上程式碼僅供參考,可以參考以下文件
連結(jié):
微信小程式官方文件
小程式框架
三、專案上線
微信公眾平臺(tái),進(jìn)入小程式進(jìn)行註冊(cè)
註冊(cè)完成後會(huì)有AppID,將先前的測試號(hào)碼用新ID代替,再次開啟微信開發(fā)者工具,編輯區(qū)上方會(huì)出現(xiàn)上傳按鈕
上傳成功後進(jìn)入微信公眾平臺(tái),會(huì)看到開發(fā)版本,提交審核,半小時(shí)左右,通知審核通過之後提交審核版本,10分鐘左右,就能看到自己上線的小程式。
【相關(guān)學(xué)習(xí)推薦:小程式開發(fā)教學(xué)】
以上是零基礎(chǔ)微信小程式開發(fā)及實(shí)例詳解的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

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

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

熱門話題

閒魚官方微信小程式悄悄上線,在小程式中可以發(fā)布閒置與買家/賣家私訊交流、查看個(gè)人資料及訂單、搜尋物品等,有用好奇閒魚微信小程式叫什麼,現(xiàn)在快來看一下。閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價(jià)回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個(gè)人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發(fā)閒置、訊息、我的5項(xiàng)功能;3、想要使用的話必要要開通微信支付才可以購買;

實(shí)現(xiàn)微信小程式中的圖片濾鏡效果隨著社群媒體應(yīng)用程式的流行,人們?cè)絹碓较矚g在照片中應(yīng)用濾鏡效果,以增強(qiáng)照片的藝術(shù)效果和吸引力。在微信小程式中也可以實(shí)現(xiàn)圖片濾鏡效果,為使用者提供更多有趣和創(chuàng)意的照片編輯功能。本文將介紹如何在微信小程式中實(shí)現(xiàn)圖片濾鏡效果,並提供具體的程式碼範(fàn)例。首先,我們需要在微信小程式中使用canvas元件來載入和編輯圖片。 canvas元件可以在頁面

實(shí)現(xiàn)微信小程式中的下拉式選單效果,需要具體程式碼範(fàn)例隨著行動(dòng)互聯(lián)網(wǎng)的普及,微信小程式成為了網(wǎng)路開發(fā)的重要一環(huán),越來越多的人開始關(guān)注和使用微信小程式。微信小程式的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡單快捷,但也需要掌握一定的開發(fā)技巧。在微信小程式的開發(fā)中,下拉式選單是一個(gè)常見的UI元件,實(shí)現(xiàn)了更好的使用者操作體驗(yàn)。本文將詳細(xì)介紹如何在微信小程式中實(shí)現(xiàn)下拉式選單效果,並提供具

閒魚官方微信小程式已經(jīng)悄悄上線,它為用戶提供了一個(gè)便捷的平臺(tái),讓你可以輕鬆地發(fā)布和交易閒置物品。在小程式中,你可以與買家或賣家進(jìn)行私訊交流,查看個(gè)人資料和訂單,以及搜尋你想要的物品。那麼閒魚在微信小程式中究竟叫什麼呢,這篇教學(xué)攻略將為您詳細(xì)介紹,想要了解的用戶們快來跟著本文繼續(xù)閱讀吧!閒魚微信小程式叫什麼答案:閒魚,閒置交易二手買賣估價(jià)回收。 1、在小程式中可以發(fā)布閒置、與買家/賣家私訊交流、查看個(gè)人資料及訂單、搜尋指定物品等功能;2、在小程式的頁面中有首頁、附近、發(fā)閒置、訊息、我的5項(xiàng)功能;3、

微信小程式實(shí)現(xiàn)圖片上傳功能隨著行動(dòng)網(wǎng)路的發(fā)展,微信小程式已經(jīng)成為了人們生活中不可或缺的一部分。微信小程式不僅提供了豐富的應(yīng)用場景,還支援開發(fā)者自訂功能,其中包括圖片上傳功能。本文將介紹如何在微信小程式中實(shí)作圖片上傳功能,並提供具體的程式碼範(fàn)例。一、前期準(zhǔn)備工作在開始編寫程式碼之前,我們需要先下載並安裝微信開發(fā)者工具,並註冊(cè)成為微信開發(fā)者。同時(shí),也需要了解微信

使用微信小程式實(shí)現(xiàn)輪播圖切換效果微信小程式是一種輕量級(jí)的應(yīng)用程序,具有簡單、高效的開發(fā)和使用特點(diǎn)。在微信小程式中,實(shí)作輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程式實(shí)現(xiàn)輪播圖切換效果,並給出具體的程式碼範(fàn)例。首先,在微信小程式的頁面檔案中,新增一個(gè)輪播圖元件。例如,可以使用<swiper>標(biāo)籤來實(shí)現(xiàn)輪播圖的切換效果。在該組件中,可以透過b

實(shí)現(xiàn)微信小程式中的圖片旋轉(zhuǎn)效果,需要具體程式碼範(fàn)例微信小程式是一種輕量級(jí)的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗(yàn)。在小程式中,開發(fā)者可以利用各種元件和API來實(shí)現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見的動(dòng)畫效果,可以為小程式增添趣味性和視覺效果。在微信小程式中實(shí)作圖片旋轉(zhuǎn)效果,需要使用小程式提供的動(dòng)畫API。以下是一個(gè)具體的程式碼範(fàn)例,展示如何在小程

實(shí)作微信小程式中的滑動(dòng)刪除功能,需要具體程式碼範(fàn)例隨著微信小程式的流行,開發(fā)者在開發(fā)過程中經(jīng)常會(huì)遇到一些常見功能的實(shí)作問題。其中,滑動(dòng)刪除功能是常見、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程式中實(shí)現(xiàn)滑動(dòng)刪除功能,並給出具體的程式碼範(fàn)例。一、需求分析在微信小程式中,滑動(dòng)刪除功能的實(shí)作涉及以下要點(diǎn):列表展示:要顯示可滑動(dòng)刪除的列表,每個(gè)列表項(xiàng)目需要包
