熱門標簽
微信小程序開發/小程序開發教程/小程序制作
一、小程序開發教程
1、注冊微信小程序賬號
2、獲取APPID
APPID在哪里獲取呢,根據第一步注冊的小程序帳號,然后登陸上,找到左側“設置”,“開發設置”,就看到APPID啦,把APPID復制下來,留作備用。
3、綁定開發者
如果在第一步注冊小程序帳號的時候,你不是管理員,那么這個時候,還需要綁定個開發者,直接登錄小程序后臺,點左側“用戶身份”-點右側“編輯”添加成員,出現個二維碼,管理員掃描二維碼后,然后輸入開發者微信號,勾選權限,確定,就可以了。
4、下載微信小程序開發者工具
直接在微信小程序官方下載即可,根據不同的電腦系統下載對應的版本,安裝即可。
5、創建微信小程序項目
打開步驟4中安裝好的小程序開發工具,然后用開發者(或者管理員)掃碼登錄,選擇創建“新項目”,填入步驟2獲取到的AppID,設置一個本地項目的名稱,并選擇一個本地的文件夾作為代碼存儲的目錄,點擊「新建項目」就可以了。
6、編寫微信小程序代碼
編寫代碼對新手來說有點難度,不過我們可以從微信小程序官方上直接下載代碼實例,下載后,直接解壓到步驟5代碼存儲目錄內即可。這時我們會發現,有三個后綴的文件,分別為app.js、app.json、app.wxss。其中,.js后綴的是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件。
app.js是小程序的腳本代碼。我們可以在這個文件中監聽并處理小程序的生命周期函數、聲明全局變量。調用MINA提供的豐富的API,如本例的同步存儲及同步讀取本地數據。
app.json是對整個小程序的全局配置。我們可以在這個文件中配置小程序是由哪些頁面組成,配置小程序的窗口背景色,配置導航條樣式,配置默認標題。注意該文件不可添加任何注釋。
app.wxss是整個小程序的公共樣式表。我們可以在頁面組件的class屬性上直接使app.wxss中聲明的樣式規則。
7、創建微信小程序頁面
微信小程序中的每一個頁面的【路徑+頁面名】都需要寫在app.json的pages中,且pages中的第一個頁面是小程序的首頁。
每一個小程序頁面是由同路徑下同名的四個不同后綴文件的組成,如:index.js、index.wxml、index.wxss、index.json。.js后綴的文件是腳本文件,.json后綴的文件是配置文件,.wxss后綴的是樣式表文件,.wxml后綴的文件是頁面結構文件。
8、手機預覽
開發者工具左側菜單欄選擇"項目",點擊"預覽",掃碼后即可在微信客戶端中體驗。
9、上傳小程序代碼
開發者工具左側菜單欄選擇"項目",點擊"上傳"即可將代碼上傳到微信小程序服務器。
10、提交微信審核及小程序發布
步驟9上傳好小程序代碼后,提交微信進行審核。審核現在也很快,一把幾個小時就審核過了,慢的話估計2-5天吧,等審核通過后,就可以在小程序后臺,進行發布上線了。
1、友好禮貌
為了避免用戶在微信中使用小程序服務時,注意力被周圍復雜環境干擾,小程序在設計時應該注意減少無關的設計元素對用戶目標的干擾,禮貌地向用戶展示程序提供的服務,友好地引導用戶進行操作。
每個頁面都應有明確的重點,以便于用戶每進入一個新頁面的時候都能快速地理解頁面內容。在確定了重點的前提下,應盡量避免頁面上出現其它與用戶的決策和操作無關的干擾因素。
2、流程明確
為了讓用戶順暢地使用頁面,在用戶進行某一個操作流程時,應避免出現用戶目標流程之外的內容而打斷用戶。
3、便捷優雅
從PC時代的物理鍵盤鼠標到移動端時代手指,雖然輸入設備極大精簡,但是手指操作的準確性卻大大不如鍵盤鼠標精確。為了適應這個變化,需要開發者在設計過程中充分利用手機特性,讓用戶便捷優雅的操控界面。
4、統一穩定
除了以上所提到的種種原則,建議接入微信的小程序還應該時刻注意不同頁面間的統一性和延續性,在不同的頁面盡量使用一致的控件和交互方式。
統一的頁面體驗和有延續性的界面元素都將幫助用最少的學習成本達成使用目標,減輕頁面跳動所造成的不適感。正因如此,小程序可根據需要使用微信提供的標準控件,以達到統一穩定的目的。
5、字體
微信內字體的使用與所運行的系統字體保持一致,常用字號為20,18,17,16,14 13,11(pt),主內容Black黑色,次要內容Grey灰色;時間戳與表單缺省值Light灰色;大段的說明內容而且屬于主要內容用Semi黑。藍色為鏈接用色,綠色為完成字樣色,紅色為出錯用色Press與Disable狀態分別降低透明度為20%與10%。
微信小程序開發(超詳細保姆式教程)
微信小程序介紹
微信里面app;16年推出
競品:支付寶小程序,釘釘,美團,頭條,抖音qq小程序
優點
1,在微信里面自由分享,2,不用下載app,3,能快速的開發,使用微信的api接口開發者
內存,源碼,圖片,存儲,接口與數據都有限制
一,注冊微信小程序
如果你還沒有微信公眾平臺的賬號,請先進入微信公眾平臺首頁,點擊 “立即注冊” 按鈕進行注冊。注冊的賬號類型可以是訂閱號、服務號、小程序以及企業微信,我們選擇 “小程序” 即可。
接著填寫賬號信息,需要注意的是,填寫的郵箱必須是未被微信公眾平臺注冊、未被個人微信號綁定的郵箱,而且每個郵箱僅能申請一個小程序。
激活郵箱之后,選擇主體類型為 “個人類型”,并按要求登記主體信息。主體信息提交后不可修改,該主體將成為你使用微信公眾平臺各項服務和功能的唯一法律主體與締約主體,在后續開通其他業務功能時不得變更或修改。
二,微信開發者工具
下載微信web開發者工具,根據自己的操作系統下載對應的安裝包進行安裝即可。
1,新建項目
![在這里插入圖片描述](https://img-blog.csdnimg.cn/bf3c52e9bdc643ab9b1370e5ab87fc0f.png
2,頁面介紹
3,項目組成
4,page.json 文件
pages 注冊頁面
window 窗口信息
5,新建頁面
在pages文件夾右鍵建立新的文件夾
在文件中右鍵新建頁面
哪個page在最上面,默認顯示哪頁
json要求嚴格語法,不能有多余的注釋和逗號
這樣新的頁面就建好了我們來看看都有什么
ceshi.wxml 模板文件
ceshi.js 業務邏輯
ceshi.wxss 樣式
ceshi.json 頁面配置
把新建的文件路徑調到最上面那就是主頁了,意思就是,第一個路徑就是首頁的路徑!
頁面配置:
"enablePullDownRefresh": true, 允許下拉刷新"backgroundTextStyle": "dark", 背景文字顏色"backgroundColor":"#f70", 背景顏色"usingComponents":{} 組件
三,基本語法
小程序的模板語法約等于vue的模板語法
1,文本渲染
{{ msg}}可以執行簡單的js表達式 {{2+3}} {{msg.length}}
2,條件渲染
wx:if="" wx:elif="" wx:else
3,列表渲染
wx:for="{{list}}" wx:key="index" {{item}} {{index}}
4,自定義列表渲染
定義item與index的名稱 wx:for="{{list}}}" wx:for-item="myitem" wx:for-index="myidx" {{myidx}} {{myitem}}
5,導入
(不常用)
import
只能導入template內容
template/utils.wxml
< template name=“userCart”> 用戶名:{{name}} < /temlate>
home.wxml
< import src=“/template/utils.wxml”>
< tempate is=“userCart” data=“{{…u1}}”>
include
只能導入非template內容
template/foot.wxml < view> {{內容}} </ view>
home.wxml < include src=“/template/foot.wxml”>
6,wxss
默認單位是rpx 750rpx 等于一個屏幕的寬 375就是50%的寬
7,事件
bindInput 表單輸入時 bindconfirm 表單輸入確認 bindtap 點擊時候
8,內置組件
view 組件塊組件 text 組件行內組件 button 組件按鈕 input 組件表單
9,事件的傳參
<button data-msg="xxx" bindtap="tapHd"> 獲取事件的參數 e.target.dataset.msg
10,表單的綁定
<input value="{{s1}}" bindinput="inputHd"> inputHd(e){ this.setData({s1:e.detail.value}) } 表單的值獲取:e.detail.value
11,內置的api
顯示提示
showToast
本地存儲
wx.setStorageSync(key,value)
本地取
wx.getStorageSync(key)
wx.request 網絡請求
12,生命周期
onLoad 頁面加載完畢 onPullDownRefresh 下拉刷新 onReachBottom 觸底更新
四,頁面切換
1,< navigator></ navigator >標簽
這是最常見的一種跳轉方式,相當于html里的a標簽.但需要注意的是 該方法不能跳轉tabbar頁面.
格式為:
<navigator url="........"></navigator> <navigator url="/pages/event/event">前往event</navigator>
2,wx.navigateTo.
通過構造js函數,在函數中調用該接口可實現頁面跳轉的效果.但該接口同樣不能跳轉tabbar頁面.跳轉后左上角有返回小箭頭,點擊可返回原本頁面.
格式為:
//<!**wxml文件**><view class="select_calculator" bindtap="next_calculator">//js文件next_calculator:function () { wx.navigateTo({ url: '/pages/calculator/calculator', })
3,wx.redirectTo.
關閉當前頁面,跳轉到應用內的某個頁面(不能跳轉tabbar頁面)。類似于html中的 window.open(‘…’);
跳轉后左上角出現返回小箭頭,點擊后可返回原本頁面.
格式為:
<view> <navigator open-type="redirect" url="/pages/event/event">跳轉并替換</navigator></view>
4,wx.switchTab.
跳轉到 tabBar 頁面,并關閉其他所有非 tabBar 頁面;該方法只能跳轉tabbar頁面.
wxml
js
post_calculator:function () { wx.switchTab({ url: '/pages/calculator/calculator', }) }, })
5,wx.reLaunch.
關閉所有頁面,打開到應用內的某個頁面。 跟 wx.redirectTo 一樣左上角不會出現返回箭頭,但兩者卻不完全相同;
格式為:
<view> <navigator open-type="reLaunch">重啟</navigator></view>
五 ,tabBar 全局配置
tabBar 是移動端應用常見的頁面效果, 用于實現多頁面 的快速切換 。
小程序中通常將其分為:
1,底部 tabBar
2,頂部 tabBar
1, 注意:
tabBar中只能配置最少 2 個、最多 5 個 tab 頁簽
當渲染頂部 tabBar 時,不顯示 icon,只顯示文本
2,tabBar 的 6 個組成部分
① backgroundColor: tabBar 的背景色 ② selectedIconPath: 選中時的圖片路徑 ③ borderStyle: tabBar 上邊框的顏色 ④ iconPath: 未選中時的圖片路徑 ⑤ selectedColor: tab 上的文字選中時的顏色 ⑥ color: tab 上文字的默認(未選中)顏色
3. tabBar 節點的配置項
4. 每個 tab 項的配置選項
5,全局配置 - 案例:配置 tabBar
配置 tabBar 選項
① 打開 app.json 配置文件,和 pages、window 平級,新增 tabBar 節點
② tabBar 節點中,新增 list 數組 ,這個數組中存放的,是每個 tab 項的配置對象
③ 在 list 數組中, 新增每一個 tab 項的配置對象 。對象中包含的屬性如下: pagePath 指定當前 tab 對應的頁面路徑 【 必填 】
text 指定當前 tab 上按鈕的文字【 必填】
iconPath 指定當前 tab 未選中時候的圖片路徑【可選】
selectedIconPath 指定當前 tab 被選中后高亮的圖片路徑【可選】
代碼如下:
{ "pages": [ "pages/hone/hone", "pages/Profile/Profile", "pages/experience/experience", "pages/skill/skill", "pages/index/index", "pages/logs/logs" ], "tabBar":{ "color": "#777", "selectedColor": "#1cb9ce", "list":[ {"pagePath": "pages/hone/hone","text":"簡歷信息","iconPath": "/pages/img/icon08.png","selectedIconPath": "/pages/img/icon08.png"}, {"pagePath": "pages/skill/skill","text":"個人技能","iconPath": "/pages/img/icon04.png","selectedIconPath": "/pages/img/icon04.png"}, {"pagePath": "pages/experience/experience","text":"項目經歷","iconPath": "/pages/img/icon02.png","selectedIconPath": "/pages/img/icon02.png"}, {"pagePath": "pages/Profile/Profile","text":"自我評價","iconPath": "/pages/img/icon06.png","selectedIconPath": "/pages/img/icon06.png"} ] }, "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "Weixin", "navigationBarTextStyle": "black" }, "style": "v2", "sitemapLocation": "sitemap.json"}
六,頁面傳參
wxml 代碼如下:
<view> <navigator open-type="navigate" url="/pages/event/event?name=mumu&age=18">事件event</navigator></view><view> <navigator open-type="redirect" url="/pages/event/event?name=曾慶林&age=33">跳轉并替換</navigator></view>
js 代碼如下:
/** * 頁面的初始數據 */ data: { num:null, }, goEvent(e){ // 獲取到傳遞的參數type var type = e.target.dataset.type; // 如果type值是redirect 替換跳轉 if(type=="redirect"){ wx.redirectTo({ url: "/pages/event/event", }) }else{ // 否則就普通跳轉 wx.navigateTo({ url: '/pages/event/event', }) } }, /** * 生命周期函數--監聽頁面加載 */ onLoad(options) { // 更新導航欄的標題 wx.setNavigationBarTitle({ title: '導航與跳轉', }) }, /** * 生命周期函數--監聽頁面顯示 */ onShow() { this.setData({num:app.globalData.num}) },
頁面傳遞的參數
<view>頁面傳遞的參數</view><view>姓名:{{name}},年齡{{age}}</view>
七,封裝 request
文件路徑: utils/request.js
// 基礎的urlconst URI = { baseURL:"http://dida100.com"}// {name:"mumu",age:18} => name=mumu&age=18function tansParams(obj){ var str = ""; for(var k in obj){ str+=k+"="+obj[k]+"&"; } //移除最后一個& return str.slice(0,-1);}function request(option){ var url = option.url; // 01 可以添加baseURL // 是不是以http開頭的,是用url不是加上baseURL url = url.startsWith("http")?url:URI.baseURL+url; // 選項里面有params(get傳入的參數) if(option.params){ // 如果有參數,把參數轉換為url編碼形式加入 url+="?"+tansParams(option.params); } // 02 可以添加請求頭 var header = option.header||{}; header.Authorization ="Bearer "+wx.getStorageSync('token'); // 03 可以添加加載提示 if(option.loading){ wx.showToast({ title: option.loading.title, icon:option.loading.icon, }) } // 返回一個promise return new Promise((resolve,reject)=>{ wx.request({ // 請求的地址如果一http開頭直接用url不是http開頭添加我們 baseUrL url: url, method:option.method||"GET",//請求的方法 默認get data:option.data, //post出入的參數 header, success(res){ // 請求成功 resolve(res.data); }, fail(err){ // 04 對錯誤進行處理 wx.showToast({title:"加載失敗",icon:"none"}) // 請求失敗 reject(err); }, complete(){ // 關閉加載提示 wx.hideToast(); } }) })} // 定義get簡易方法request.get= (url,config)=>{ return request({url,method:"get",...config})}// 定義post簡易方法request.post= (url,data,config)=>{ return request({url,method:"post",data,...config})}// 導入requestmodule.exports={request}
八, 內置api
顯示提示 showToast 本地存儲 wx.setStorageSync(key,value)本地取 wx.getStorageSync(key)wx.request 網絡請求
九,Vant Weapp 輕量、可靠的小程序 UI 組件庫
介紹
Vant 是一個輕量、可靠的移動端組件庫,于 2017 年開源。
目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社區團隊維護 React 版本和支付寶小程序版本。
1,安裝
步驟一 通過 npm 安裝
使用 npm 構建前,請先閱讀微信官方的 npm 支持
# 通過 npm 安裝 npm i @vant/weapp -S --production # 通過 yarn 安裝 yarn add @vant/weapp --production # 安裝 0.x 版本 npm i vant-weapp -S --production
步驟二 修改 app.json
開發者工具創建的項目,miniprogramRoot 默認為 miniprogram,package.json 在其外部,npm 構建無法正常工作。
需要手動在 project.config.json 內添加如下配置,使開發者工具可以正確索引到 npm 依賴的位置。
{ ... "setting": { ... "packNpmManually": true, "packNpmRelationList": [ { "packageJsonPath": "./package.json", "miniprogramNpmDistDir": "./miniprogram/" } ] }}
注意:
由于目前新版開發者工具創建的小程序目錄文件結構問題,npm構建的文件目錄為miniprogram_npm,并且開發工具會默認在當前目錄下創建miniprogram_npm的文件名,所以新版本的miniprogramNpmDistDir配置為 ‘./’ 即可
步驟四 構建 npm 包
打開微信開發者工具,點擊 工具 -> 構建 npm,并勾選 使用 npm 模塊 選項,構建完成后,即可引入組件。
步驟五 typescript 支持
如果你使用 typescript 開發小程序,還需要做如下操作,以獲得順暢的開發體驗。
安裝 miniprogram-api-typings
# 通過 npm 安裝 npm i -D miniprogram-api-typings # 通過 yarn 安裝 yarn add -D miniprogram-api-typings
在 tsconfig.json 中增加如下配置,以防止 tsc 編譯報錯。
請將path/to/node_modules/@vant/weapp修改為項目的 node_modules 中 @vant/weapp 所在的目錄。
{ ... "compilerOptions": { ... "baseUrl": ".", "types": ["miniprogram-api-typings"], "paths": { "@vant/weapp/*": ["path/to/node_modules/@vant/weapp/dist/*"] }, "lib": ["ES6"] }}
2,使用
引入組件
以 Button 組件為例,只需要在app.json或index.json中配置 Button 對應的路徑即可。
所有組件文檔中的引入路徑均以 npm 安裝為例,如果你是通過下載源代碼的方式使用 @vant/weapp,請將路徑修改為項目中 @vant/weapp 所在的目錄。
// 通過 npm 安裝// app.json"usingComponents": { "van-button": "@vant/weapp/button/index"}
// 通過下載源碼使用 es6版本// app.json"usingComponents": { "van-button": "path/to/@vant/weapp/dist/button/index"}
// 通過下載源碼使用 es5版本// app.json"usingComponents": { "van-button": "path/to/@vant/weapp/lib/button/index"}
使用組件
引入組件后,可以在 wxml 中直接使用組件
<van-button type="primary">按鈕</van-button>
3,其他
在開發者工具中預覽示例小程序
# 將項目克隆到本地 git clone git@github.com:youzan/vant-weapp.git # 安裝項目依賴 cd vant-weapp && npm install # 執行組件編譯 npm run dev
接著打開微信開發者工具,導入example目錄的項目就可以預覽示例了。
文章來源:https://blog.csdn.net/m0_64875238/article/details/127796691 版權歸作者所有
http://www.bangwork.net/xiaochengxukaifa/9136.html 微信小程序開發/小程序開發教程/小程序制作