溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何創(chuàng)建微信小程序

發(fā)布時間:2022-01-10 17:41:19 來源:億速云 閱讀:118 作者:柒染 欄目:移動開發(fā)

如何創(chuàng)建微信小程序,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

準備工作

  1. 下載開發(fā)工具:微信小程序開發(fā)工具

創(chuàng)建項目

  1. 添加項目
    如何創(chuàng)建微信小程序

  2. 如果沒有AppID可以選擇無AppID,項目名稱可以隨便起,因為入門教程我想教大家都比較想學(xué)的商城,所以直接叫商城啦,項目目錄中的shopping是自己創(chuàng)建的新文件夾,空文件夾系統(tǒng)就會自動在shopping文件夾中創(chuàng)建整個項目架構(gòu),記得勾選quick start項目
    如何創(chuàng)建微信小程序

項目架構(gòu)分析

  1. 整體架構(gòu):自動創(chuàng)建的項目就會以下架構(gòu)目錄

    • 紅框1 :菜單欄

    • 紅框2:界面效果顯示

    • 紅框3 :代碼架構(gòu)目錄

    • 紅框4 :代碼欄
      如何創(chuàng)建微信小程序

  2. 著重對代碼架構(gòu)目錄做介紹:app.js、app.json、app.wxss,這三個中前兩個是必看的,前兩個相當于目錄,就好比你讀一本書,都要先看一下目錄,所以以后看別人項目的時候,首先先看app.js和app.json

    • app.js是小程序的腳本代碼。我們可以在這個文件中監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量。調(diào)用框架提供的豐富的 API,如本例的同步存儲及同步讀取本地數(shù)據(jù)。

    • app.json 是對整個小程序的全局配置。我們可以在這個文件中配置小程序是由哪些頁面組成,配置小程序的窗口背景色,配置導(dǎo)航條樣式,配置默認標題。注意該文件不可添加任何注釋。

    • app.wxss 是整個小程序的公共樣式表。我們可以在頁面組件的 class 屬性上直接使用 app.wxss 中聲明的樣式規(guī)則。

  3. app.json解析:首先既然是.json所以一定是json格式,這里面包含兩部分pageswindow,固定字段,pages就是整個小程序包含的頁面,可以根據(jù)路徑查找到對應(yīng)的頁面,window就是設(shè)置一些窗口樣式,依次是配置小程序的窗口  背景字體樣式,配置導(dǎo)航條背景樣式,配置默認標題,及顏色
    如何創(chuàng)建微信小程序
    現(xiàn)學(xué)現(xiàn)用

    • 我要設(shè)置導(dǎo)航欄的標題為商城,字體為白色,背景為黑色要怎么做吶? 很簡單吧,找到app.json把下面的代碼替換到window里面就可以啦,要解釋一下navigationBarBackgroundColor和navigationBarTextStyle都是支持rgb的,也就是說設(shè)置字體顏色navigationBarTextStyle為白色填入white其實也可以填入#fff,都是一樣的效果

      "window":{
      "backgroundTextStyle":"light",
      "navigationBarBackgroundColor": "#000",
      "navigationBarTitleText": "商城",
      "navigationBarTextStyle":"white"
      }
    • 我要增加一個界面怎么辦吶?   同理只需在app.json里的pages屬性加入你要的路徑pages/addPage/addPage,你寫好路徑后系統(tǒng)會自動給你建好文件的

      "pages":[
      "pages/index/index",
      "pages/logs/logs",
      "pages/addPage/addPage"
      ]

      下圖是解決以上兩個問題的效果圖,app.json就暫時解析到這里,記著我們在這里面有新添加一個界面addPage,后面會詳細介紹這個界面的,篇幅限制,這個先擱置一下
      如何創(chuàng)建微信小程序

  4. app.js解析:看后綴名.js就知道是JavaScript的代碼,首先看一下App里面包含的幾個方法onLaunch、getUserInfo、getUserInfo
    如何創(chuàng)建微信小程序

    • onLaunch方法是小程序啟動的時候執(zhí)行的方法

      var logs = wx.getStorageSync('logs') || [] 
      logs.unshift(Date.now())
      wx.setStorageSync('logs', logs)

      看一下里面的代碼,wx.以這個開頭的都是系統(tǒng)封裝好的方法,我們都可以直接調(diào)用,輸入wx.,系統(tǒng)會自動提示出自帶的方法,查詢更多系統(tǒng)定義的方法請看微信API文檔,這里篇幅限制不能全部介紹
      如何創(chuàng)建微信小程序
      好,回歸正題,看著三句話代碼,wx.getStorageSync是獲取本地緩存的logs字段,logs.unshift代碼是什么意思吶?unshift是js的知識,unshift() 方法可向數(shù)組的開頭添加一個或更多元素,并返回新的長度。所以大概能理解這三句話代碼啦,大致是取本地緩存數(shù)據(jù)logs字段,插入最新時間,然后存儲再次存入到緩存中的logs字段里,說了這么多,那Storage存儲的數(shù)據(jù)在哪里吶,請看下圖,會更好理解,找到菜單欄里的調(diào)試->Storage下就可以看到本地緩存的logs字段及數(shù)據(jù),你也可以自行添加數(shù)據(jù),然后調(diào)用wx.getStorageSync('key值') ,就可以獲取數(shù)據(jù)啦
      如何創(chuàng)建微信小程序

    • globalData全局變量數(shù)據(jù),

    • getUserInfo自定義的方法用于獲取用戶信息,整體的代碼意思就是如果用戶信息為空就去調(diào)用微信的登錄接口,登錄成功后存儲在全局變量globalData里,分析兩處代碼第一處var that = this,that=this,這個是js語法屬性,this應(yīng)該是引用本實例的一個值,它將它賦值給that的原因從下面的代碼中可以判斷出來js的一些特性。每一個方法是一個封閉函數(shù),它的上一層實例即為this,所以如果一個方法A包含另一個方法B,在A中使用this指的是A的實例,在B中使用this應(yīng)該是B的實例,即擁有B的A,所以在這里我們?yōu)榱四玫紸中的實例this,必須要賦一個值給that,讓B能使用A的實例。在此demo中,上面的this指的是app這個實例,為了在下面的方法中可以使用app的實例,所以賦了that給this。還不明白that=this可以參考此文獻,第二處是typeof cb == "function" && cb(this.globalData.userInfo),代碼中兩次調(diào)用此代碼所以要剖析一下,cb是callback的縮寫,翻譯代碼意思就是cb==function,要求cb為方法,并且回調(diào)cb方法,剩下的wx.login猜都能猜出來是微信封裝好的登錄方法啦

      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
      }


關(guān)于如何創(chuàng)建微信小程序問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI