微信小程序入門

1. 申請賬號

進入微信公眾平臺,申請小程序賬號

注意用于注冊的郵箱地址必須符合以下條件:

  • 未用于注冊過微信公眾平臺
  • 未用于注冊過微信開放平臺
  • 未用于綁定過個人微信號的郵箱

每個郵箱只能申請一個微信小程序.

image

注冊后需要登記信息,按照引導填寫即可,不再贅述.

完成注冊后登錄,進入登錄界面.此頁面可以完成很多操作,比如修改小程序名稱,修改小程序頭像等

image

2. 下載開發(fā)者工具

下載地址

image

選擇穩(wěn)定版Stable build(穩(wěn)定版的bug已經(jīng)很多了...),根據(jù)系統(tǒng)下載合適的版本

3. 新建小程序項目

打開微信開發(fā)者工具,掃碼登錄后新建項目

image
  • 項目名稱:自己起名字,該名字不會影響用戶看到的小程序的名字(用戶看到的小程序的名字在微信公眾平臺修改)
  • 目錄:項目文件存放的路徑,任意選擇
  • APPID:微信公眾平臺登錄后,在設置-賬號信息中可以找到APPID.如圖:
    image
  • 開發(fā)模式:小程序或者小游戲,開發(fā)小程序時選擇小程序
  • 后端服務:如果自己編寫后端,則選擇不使用云服務;如果不自己搭建,則可以使用云開發(fā)或者騰訊云.后端服務按需選擇.云開發(fā)最為簡單方便.

4. 開發(fā)工具概覽

在上一步中,選擇了不使用云服務后,點擊新建進入如下界面

image

5. 文件介紹

5.1 項目配置文件

每個小程序新建時都會自動生成一個項目配置文件(project.config.json),該文件位于項目根目錄下.其內部代碼可以用來配置小程序的項目名稱,APPID等內容,如圖所示:

項目配置文件

5.2 主體文件

5.2.1 app.json:必填文件,用于描述小程序的公共配置

? 主要包含了小程序的所有頁面的路徑地址缔俄、導航欄樣式等。

? 代碼如下:

{
    "pages": [
        "pages/index/index",
        "pages/logs/logs"
    ],
    "window": {
        "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#fff",
        "navigationBarTitleText": "WeChat",
        "navigationBarTextStyle": "black"
    },
    "sitemapLocation": "sitemap.json"
}
表格_1
5.2.1.1 pages屬性

? pages屬性對應的是所有頁面的路徑數(shù)組.如果要添加頁面,則在pages中寫頁面的路徑,然后會自動生成頁面的基本配置文件.路徑數(shù)組中第一個路徑是小程序的初始頁面.注意添加頁面路徑時,每個路徑之間有,相隔,最后一個路徑元素后沒有,

? 如果要刪除頁面,則需要手動刪除目錄和這里的路徑.

5.2.1.2 window屬性
表格_2

HexColor表示只支持十六進制顏色表示方式.例如#ff0000表示紅色,也可簡寫為#f00,并且大小寫不限

5.2.1.3 tabBar屬性

tabBar表示小程序窗口底部的tab欄.屬性值如下表:


表格_3

其中,list接受一個數(shù)組分瘾,只能配置2-5個tab州藕。tab按數(shù)組的順序排序,每項都是一個對象,其屬性值如表:


表格_4

代碼示例:如下構造了有兩個頁面的tabBar,tab文字內容分別為首頁和設置

"tabBar": {
        "list": [
            {
                "pagePath": "pages/home/home",
                "text": "首頁"
            },
            {
                "pagePath": "pages/settings/setting",
                "text": "設置"
            }
        ]
    }
5.2.1.4 networkTimeout屬性

該屬性用于設置各類網(wǎng)絡請求的超時時間,其屬性值如下表


表格_五

示例代碼:

    "networkTimeout": {
      "request": 20000,
      "connectSocket": 20000,
      "uploadFile": 20000,
      "downloadFile": 20000
    }

5.2.1.5 debug屬性

開啟debug模式,在開發(fā)者工具的控制臺面板中調試信息將以info的形式給出,主要包括Page的注冊篱竭、頁面路由癌刽、數(shù)據(jù)更新

事件觸發(fā)等役首,可以用來快速定位bug
.

5.2.2 app.js:必填文件,用于描述小程序的整體邏輯

app.js是小程序的全局邏輯文件,代碼如下:

//app.js
App({
    onLaunch: function() {
        // 展示本地存儲能力
        var logs = wx.getStorageSync('logs') || []
        logs.unshift(Date.now())
        wx.setStorageSync('logs', logs)

        // 登錄
        wx.login({
            success: res => {
                // 發(fā)送 res.code 到后臺換取 openId, sessionKey, unionId
            }
        })
        // 獲取用戶信息
        wx.getSetting({
            success: res => {
                if (res.authSetting['scope.userInfo']) {
                    // 已經(jīng)授權,可以直接調用 getUserInfo 獲取頭像昵稱显拜,不會彈框
                    wx.getUserInfo({
                        success: res => {
                            // 可以將 res 發(fā)送給后臺解碼出 unionId
                            this.globalData.userInfo = res.userInfo

                            // 由于 getUserInfo 是網(wǎng)絡請求衡奥,可能會在 Page.onLoad 之后才返回
                            // 所以此處加入 callback 以防止這種情況
                            if (this.userInfoReadyCallback) {
                                this.userInfoReadyCallback(res)
                            }
                        }
                    })
                }
            }
        })
    },
    globalData: {
        userInfo: null
    }
})

將其中的方法體刪除,得到以下代碼框架:

//app.js
App({
    onLaunch: function() {
       
    },
    globalData: {
        
    }
})

由此可見,所有內容都寫在App()函數(shù)內部,并且彼此之間用,隔開.App()函數(shù)的用法暫時在后面的文章介紹.

5.2.3 app.wxss:可選文件,小程序公共樣式表

app.wxss是全局樣式文件,內容如下:

/**app.wxss**/
.container {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 200rpx 0;
  box-sizing: border-box;
} 

該文件是可選文件,可以省略不寫.

5.3 頁面文件

小程序建立時默認生成pages文件夾,用來保存頁面文件.每個頁面有自己的二級目錄.如圖所示:

<center><image src="http://r.photo.store.qq.com/psb?/V10hZptb2aUDnK/lTEFjOtrgYBVSOEPomRXsbPcRJX9tPVbtqz9jXPRUng!/r/dMMAAAAAAAAA" /></center>

每個頁面由4個文件構成:

  • wxml文件:構建頁面的結構,包括組件、事件等,用戶最終看到的頁面效果由該文件決定

  • wxss文件:用于設置顯示效果,該文件規(guī)定的顯示效果如果與app.wxss中沖突,則將覆蓋app.wxss.未覆蓋的不受影響.

  • js文件:用于設置當前頁面的邏輯代碼

  • json文件:用來重新設置app.json中window屬性規(guī)定的內容,只對當前頁面有效,不影響其他界面.

    json文件的可用屬性如下表:

表格_6

例如對home頁面的配置如下:

{
  "navigationBarBackgroundColor": "#ffffff",
  "navigationBarTextStyle": "black",
  "navigationBarTitleText": "首頁",
  "backgroundColor": "#ffffff",
  "enablePulDownRefresh": true,
  "backgroundTextStyle": "light"
}

上述配置表示:

  • 導航欄背景顏色白色
  • 導航欄標題顏色黑絲
  • 導航欄標題文字內容為"首頁"
  • 窗口的背景色為白色
  • 開啟下拉刷新
  • 下拉loading的樣式為light

5.4 其他文件

? 除了以上常用文件,小程序允許用戶自定義路徑和文件名創(chuàng)建一些輔助文件.例如在utils文件夾中存放公共JS文件.默認的utils文件夾中有一個util.js文件.該文件可以作為模塊被其他頁面的JS引用.具體方式在以后的文章介紹.

? 除此之外,還可以定義一些文件夾用來存儲圖片等.

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末远荠,一起剝皮案震驚了整個濱河市矮固,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌譬淳,老刑警劉巖档址,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異邻梆,居然都是意外死亡守伸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門确虱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來含友,“玉大人,你說我怎么就攤上這事校辩【轿剩” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵宜咒,是天一觀的道長惠赫。 經(jīng)常有香客問我,道長故黑,這世上最難降的妖魔是什么儿咱? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮场晶,結果婚禮上混埠,老公的妹妹穿的比我還像新娘。我一直安慰自己诗轻,他們只是感情好钳宪,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般吏颖。 火紅的嫁衣襯著肌膚如雪搔体。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天半醉,我揣著相機與錄音疚俱,去河邊找鬼。 笑死缩多,一個胖子當著我的面吹牛呆奕,可吹牛的內容都是我干的。 我是一名探鬼主播瞧壮,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼登馒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了咆槽?” 一聲冷哼從身側響起陈轿,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎秦忿,沒想到半個月后麦射,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡灯谣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年潜秋,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胎许。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡峻呛,死狀恐怖,靈堂內的尸體忽然破棺而出辜窑,到底是詐尸還是另有隱情钩述,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布穆碎,位于F島的核電站牙勘,受9級特大地震影響,放射性物質發(fā)生泄漏所禀。R本人自食惡果不足惜方面,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望色徘。 院中可真熱鬧恭金,春花似錦、人聲如沸褂策。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辙培。三九已至蔑水,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間扬蕊,已是汗流浹背搀别。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留尾抑,地道東北人歇父。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像再愈,于是被迫代替她去往敵國和親榜苫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內容

  • 前言: 前一章簡述了微信小程序的注冊翎冲,既然注冊了垂睬,那么肯定要開發(fā)微信小程序了。 俗話說的好:工欲善其事必先...
    Smile__EveryDay閱讀 3,679評論 1 12
  • 前言: 文中參照官方文檔, 加入一些自己的理解. 入門(一)基礎(二)進階(三)綜合(四) 賬號申請 登錄獲取A...
    夏天然后閱讀 3,022評論 0 8
  • 上一章我們已經(jīng)介紹了微信小程序的目錄的整體了解以及app系列文件的講解,今天我們具體學習下Pages文件夾下的文件...
    Smile__EveryDay閱讀 41,287評論 0 6
  • 如果【原創(chuàng)】 2011-11-26 11:45 如果那個季節(jié) 不到詩歌的綠地踏青 就不會跟著你詩歌的自由風任意東西...
    我是蘭姐閱讀 161評論 0 0
  • 詩曾是歌抗悍。 “關關雎鳩驹饺,在河之洲。窈窕淑女缴渊,君子好逑赏壹。” 河邊游樂的小伙自在的唱著衔沼,逗得大...
    武漢全智賢閱讀 136評論 0 2