小程序開(kāi)發(fā)文檔說(shuō)明

小程序開(kāi)發(fā)說(shuō)明文檔

一铲掐、 目錄結(jié)構(gòu):

  • pages目錄 (小程序頁(yè)面的集合)

    • index 目錄(index頁(yè)面)

      • index.js (頁(yè)面的私有程序)

        存在一個(gè)Page對(duì)象, 其指定頁(yè)面的初始數(shù)據(jù)拾弃、生命周期回調(diào)、事件處理函數(shù)等

        參數(shù)示例:
        data: 頁(yè)面的初始數(shù)據(jù)
        onLoad: 監(jiān)聽(tīng)頁(yè)面加載
        onShow: 監(jiān)聽(tīng)頁(yè)面顯示
        onReady: 監(jiān)聽(tīng)頁(yè)面初次渲染完成
        onHide: 監(jiān)聽(tīng)頁(yè)面隱藏
        onUnload: 監(jiān)聽(tīng)頁(yè)面卸載
        onPullDownRefresh: 監(jiān)聽(tīng)用戶(hù)下拉動(dòng)作
        onReachBottom: 頁(yè)面上拉觸底事件的處理函數(shù)
        onShareAppMessage: 用戶(hù)點(diǎn)擊右上角轉(zhuǎn)發(fā)


      • index.json (頁(yè)面的私有配置)

        權(quán)重高于全局配置,在頁(yè)面有特殊需求時(shí),可以覆蓋全局配置
        基本參數(shù)與全局配置相同(部分特殊的全局參數(shù)除外)

      • index.wxml (頁(yè)面的dom結(jié)構(gòu))

        WXML(WeiXin Markup Language)是框架設(shè)計(jì)的一套標(biāo)簽語(yǔ)言
        - 基本標(biāo)簽:
        view 與div等價(jià),都是無(wú)意義的盒子容器,但在瀏覽器中還是會(huì)以dv渲染


        - 數(shù)據(jù)綁定:
        > 小程序的基本語(yǔ)法與vue相似,數(shù)據(jù)綁定也是類(lèi)似

        1. 通過(guò) {{ }} 來(lái)定義,會(huì)直接綁定 page 對(duì)象中, data 里面的值.也可以叫做文本插值
        2. 在屬性中,即便是 ''"" 內(nèi)的 {{ }},也是可以進(jìn)行數(shù)據(jù)綁定的.
        3. 小程序定義了關(guān)鍵字 truefalse,可以在 {{ }} 內(nèi)直接使用該布爾值
        4. 可以在 {{ }} 中進(jìn)行運(yùn)算,包括:三元運(yùn)算 算術(shù)運(yùn)算 邏輯判斷 字符串運(yùn)算 操作數(shù)組 操作對(duì)象

          示例代碼:
        // .wxml
        <view> {{message}} </view>
        <view id="item-{{id}}"> </view>
        <checkbox checked="{{false}}"> </checkbox>
        <view hidden="{{flag ? true : false}}"> Hidden </view>
        
        // .js
        Page({
          data: {
            message: 'Hello MINA!',
            id: 0
          }
        })
        


        • 列表渲染:

          在組件上使用 wx:for 控制屬性綁定一個(gè)數(shù)組摆霉,即可使用數(shù)組中各項(xiàng)的數(shù)據(jù)重復(fù)渲染該組件豪椿。

          示例代碼:

          // .wxml 文件
          
          // block是一個(gè)無(wú)意義的盒子,可以承載wx:for等指令,區(qū)別于view,該標(biāo)簽不會(huì)在頁(yè)面中顯示
          <block wx:for="{{array}}">
            // index是小程序返回的當(dāng)前循環(huán)的索引值, item為當(dāng)前值
            <view>{{index}}: {{item.message}}</view>
          </block>
          
          // .js 文件
          Page({
              data: {
                array: [
                  {message: 'foo'}, 
                  {message: 'bar'}
                ]
              }
            })
          //------------------------------------------------
          // .wxml 文件
          
          // wx:for 也可以嵌套,下邊是一個(gè)九九乘法表:
          // 循環(huán)嵌套會(huì)導(dǎo)致 item名 或 index名 的重復(fù),可以手動(dòng)修改: wx:for-item wx:for-index
          <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="i">
            <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="j">
              <view wx:if="{{i <= j}}">
                {{i}} * {{j}} = {{i * j}}
              </view>
            </view>
          </view>
          


        • 條件渲染:

          • wx:if(新增或刪除)

            wx:if 來(lái)判斷是否需要渲染該代碼塊,具體表現(xiàn)為新增和刪除 dom 結(jié)構(gòu)

            示例代碼:

            <view wx:if="{{true}}}"> True </view>
            
            // wx:if 有額外的 wx:else,和 js里的 if elseif else 一樣
            <view wx:if="{{length == 1}}"> 1 </view>
            <view wx:elif="{{length == 2}}"> 2 </view>
            <view wx:else> 3 </view>
              
            
          • hidden(顯示或隱藏)

            hidden 來(lái)判斷是否需要顯示該代碼塊,具體表現(xiàn)為顯示或隱藏 dom 結(jié)構(gòu)

            示例代碼:

            <view hidden="{{false}}}"> False </view>
            


        • 模板(template):

          WXML提供模板功能携栋,可以在模板中定義代碼片段搭盾,然后在不同的地方調(diào)用。
          模板擁有自己的作用域婉支,只能使用 data 傳入的數(shù)據(jù)以及模板定義文件中定義的 <wxs /> 模塊鸯隅。

          示例代碼:

          // 定義模板
          // 使用 name 屬性,作為模板的名字,然后在<template/>內(nèi)定義代碼片段
          // .wxml
          <template name="msgItem">
            <view>
              <text> {{index}}: {{msg}} </text>
              <text> Time: {{time}} </text>
            </view>
          </template>
          
          // 使用模板
          // 使用 is 屬性向挖,聲明需要的使用的模板蝌以,然后將模板所需要的 data 傳入
          // .wxml
          <template is="msgItem" data="{{...item}}"/>
          
          // .js
          Page({
            data: {
              item: {
                index: 0,
                msg: 'this is a template',
                time: '2016-09-15'
              }
            }
          })
          


        • 引用文件:

          WXML 提供兩種文件引用方式 importinclude

          • import:

            import可以將整個(gè)文件引入,同時(shí)也就可以在該文件中使用被引入文件定義的模板
            但是只能使用被引入文件的模板,如果被引入文件也同時(shí)引入了其他文件及模板,該文件不可以使用

            示例代碼:

            <import src="item.wxml"/>
            <template is="item" data="{{text: 'forbar'}}"/>
            
          • include:

            include 可以將被引入文件的 dom 直接渲染在 include 標(biāo)簽內(nèi),但是不包括 模板和樣式

            示例代碼:

            // header.wxml
            <view> header </view>
            // footer.wxml
            <view> footer </view>
            
            // index.html
            <include src="header.wxml"/>
            <view> body </view>
            <include src="footer.wxml"/>
            
            // 渲染后
            <view> header </view>
            <view> body </view>
            <view> footer </view>
            


      • index.wxss 頁(yè)面的私有樣式表

        和css無(wú)區(qū)別


  • utils 公共函數(shù)目錄(相當(dāng)于公共組件,方法)

    • utils.js 公共函數(shù)文件

      常用的公共函數(shù)封裝,例如: date


  • app.js 小程序主體程序(也可以當(dāng)做啟動(dòng)程序)

    • App(注冊(cè)小程序)

    App 對(duì)象指定小程序的生命周期回調(diào)等,必須在 app.js 中調(diào)用,必須調(diào)用且只能調(diào)用一次何之。不然會(huì)出現(xiàn)無(wú)法預(yù)期的后果跟畅。

    示例代碼

    App({
      onLaunch (options) {
        // 生命周期回調(diào)——監(jiān)聽(tīng)小程序初始化
      },
      onShow (options) {
        // 生命周期回調(diào)——監(jiān)聽(tīng)小程序啟動(dòng)或切前臺(tái)
      },
      onHide () {
        // 生命周期回調(diào)——監(jiān)聽(tīng)小程序切后臺(tái)
      },
      onError (msg) {
        // 錯(cuò)誤監(jiān)聽(tīng)函數(shù)
        console.log(msg)
      }
    })
    


  • app.json 小程序主體配置(全局配置,權(quán)重低于私有頁(yè)面配置)

    小程序根目錄下的 app.json 文件用來(lái)對(duì)微信小程序進(jìn)行全局配置
    app.json中不能有注釋,會(huì)報(bào)錯(cuò)

    • 配置項(xiàng):
      • pages

        小程序頁(yè)面的集合數(shù)組,數(shù)組的第一項(xiàng)代表小程序的初始頁(yè)面。
        小程序中新增/減少頁(yè)面, 都需要對(duì) pages 數(shù)組進(jìn)行修改溶推。

      • window

        用于設(shè)置小程序的狀態(tài)欄徊件、導(dǎo)航條、標(biāo)題悼潭、窗口背景色庇忌。

        navigationBarBackgroundColor: 導(dǎo)航欄背景顏色
        navigationBarTextStyle: 導(dǎo)航欄標(biāo)題顏色, 僅支持 black white
        navigationBarTitleText: 導(dǎo)航欄標(biāo)題文字內(nèi)容
        navigationStyle: 導(dǎo)航欄樣式, custom 為自定義樣式
        backgroundColor: 窗口的背景色
        backgroundTextStyle: 下拉 loading 的樣式舞箍,僅支持 dark light:
        onReachBottomDistance: 頁(yè)面上拉觸底事件觸發(fā)時(shí)距頁(yè)面底部距離舰褪,單位為 px

      • tabBar

        配置項(xiàng)指定 tab 欄的表現(xiàn), 以及 tab 切換時(shí)顯示的對(duì)應(yīng)頁(yè)面

        color: 按鈕上的文字默認(rèn)顏色, 僅支持十六進(jìn)制顏色
        selectedColor: 按鈕上的文字選中時(shí)的顏色, 僅支持十六進(jìn)制顏色
        backgroundColor: 按鈕的背景色,僅支持十六進(jìn)制顏色
        borderStyle: 按鈕邊框的顏色, 僅支持 black white

        • list (tab的列表)

          接受一個(gè)數(shù)組疏橄,只能配置最少 2 個(gè)占拍、最多 5 個(gè) tab, 每個(gè)項(xiàng)都是一個(gè)對(duì)象

          pagePath: 頁(yè)面路徑, 必須在 pages 中先定義
          text: 按鈕內(nèi)容
          iconPath: 圖片路徑, icon 大小限制為40kb,建議尺寸為 81px * 81px,不支持網(wǎng)絡(luò)圖片略就。
          selectedIconPath: 選中時(shí)的圖片路徑
          position: tabBar 的位置, 僅支持 bottom / top
          position: 為 top 時(shí), tabicon 不顯示
          custom: 自定義 tabBar

      • networkTimeout

        各類(lèi)網(wǎng)絡(luò)請(qǐng)求的超時(shí)時(shí)間,單位均為毫秒。
        - plugins
        > 聲明小程序需要使用的插件晃酒。

      • navigateToMiniProgramAppIdList:

        當(dāng)小程序需要使用 wx.navigateToMiniProgram 接口跳轉(zhuǎn)到其他小程序時(shí)
        需要先在配置文件中聲明需要跳轉(zhuǎn)的小程序 appId 列表表牢,最多允許填寫(xiě) 10 個(gè)。

      • usingComponents:

        在此處聲明的自定義組件視為全局自定義組件贝次,
        在小程序內(nèi)的頁(yè)面或自定義組件中可以直接使用而無(wú)需再聲明崔兴。

      • PermissionObject:

        小程序獲取權(quán)限時(shí)展示的接口用途說(shuō)明。最長(zhǎng) 30 個(gè)字符

      • style:

        app.json 中配置 "style": "v2"可表明啟用新版的組件樣式蛔翅。


  • app.wxss 小程序公共樣式表

    全局樣式表,可以設(shè)置全局的初始樣式

  • package.json 項(xiàng)目描述文件

    項(xiàng)目的相關(guān)描述,例如: 項(xiàng)目名稱(chēng),版本號(hào),作者等

  • project.config.json 項(xiàng)目配置文件(微信開(kāi)發(fā)者工具配置文件)

    用來(lái)配置小程序及其頁(yè)面是否允許被微信索引敲茄。


二、 數(shù)據(jù)請(qǐng)求(wx.request)

小程序有自帶的請(qǐng)求方法,使用也很簡(jiǎn)單

示例代碼:

// .js
wx.request({
  url: 'test.php', //請(qǐng)求地址, 僅為示例山析,并非真實(shí)的接口地址
  data: { //請(qǐng)求參數(shù)
    x: '',
    y: ''
  },
  header: { //請(qǐng)求頭
    'content-type': 'application/json' // 默認(rèn)值
  },
  success (res) {
    // 成功回調(diào)
    console.log(res.data)
  },
  fail (res) {
    // 失敗回調(diào)
    console.log(res.data)
  },
  complete () {
    // 接口調(diào)用結(jié)束的回調(diào)函數(shù)(只要請(qǐng)求就會(huì)觸發(fā),無(wú)論請(qǐng)求的結(jié)果是成功還是失敗)
    // todo...
  }
})

三堰燎、請(qǐng)求封裝

  • 封裝 wx.request 請(qǐng)求
    思路:

    1. utils 中,新建 request.js文件,用于封裝 wx.request
    2. 封裝 request 方法,通過(guò)傳參的方式,改變請(qǐng)求的 地址:url 方法:method 參數(shù):data 來(lái)滿(mǎn)足不同的請(qǐng)求需求
    3. 對(duì)請(qǐng)求的 成功回調(diào):success 失敗回調(diào):fail 進(jìn)行 Promise 操作
    4. 拋出封裝后的請(qǐng)求,讓 api.js 調(diào)用
    5. utils 中,新建 api.js文件,所有的請(qǐng)求都在該文件下執(zhí)行
    6. api.js 中引入 request.js文件
      調(diào)用 request.js 拋出的封裝方法,傳入對(duì)應(yīng)的參數(shù)
      return 出請(qǐng)求,將請(qǐng)求拋出給需求頁(yè)面
    7. 在需求頁(yè)面中引入 api.js 文件,以及 api.js 拋出的方法,進(jìn)行后續(xù)的邏輯處理

    示例代碼(request.js):

    //封裝請(qǐng)求: 統(tǒng)一調(diào)用request方法,并且將所有api請(qǐng)求放在 api.js 中完成,方便后續(xù)接口維護(hù).
    
    //第一步: 定義 baseUrl(項(xiàng)目服務(wù)器域名)
    const baseUrl = "http://127.0.0.1:7300/mock/5de5fb2e027f08151b7ad1c8/example"
    
    //優(yōu)化2: 單次請(qǐng)求未完成,避免用戶(hù)再次請(qǐng)求,此處定義一個(gè) 變量
    var hasClick = false;
    
    //第二步: 拋出 封裝的請(qǐng)求,傳入基本參數(shù): api(地址), method(請(qǐng)求方式), data(請(qǐng)求參數(shù))
    export default function request(api, method, data) {
    
      //第三步: return Promise 異步對(duì)象
      //Promise 是異步編程的一種解決方案,比傳統(tǒng)的解決方案——回調(diào)函數(shù)和事件——更合理和更強(qiáng)大笋轨。
      //所謂Promise秆剪,簡(jiǎn)單說(shuō)就是一個(gè)容器,里面保存著某個(gè)未來(lái)才會(huì)結(jié)束的事件(通常是一個(gè)異步操作)的結(jié)果爵政。
      return new Promise((reslove, reject) => {
        
        //優(yōu)化2: 用戶(hù)第一次操作時(shí),變量為 false,繼續(xù)進(jìn)行
        if (hasClick) {
          return
        }
    
        //優(yōu)化2: 此時(shí)將變量改寫(xiě)為 true,如果此時(shí)用戶(hù)再次操作,那么此時(shí)變量為 true,上面的操作會(huì)終止此次請(qǐng)求
        hasClick = true
    
        //優(yōu)化1: 發(fā)起請(qǐng)求時(shí),彈出 加載框,在請(qǐng)求完成后關(guān)閉
        wx.showLoading({
          title: '加載中...',
          mask: true
        })
        
        //第四步: 調(diào)用小程序內(nèi)置api進(jìn)行數(shù)據(jù)請(qǐng)求
        wx.request({
          
          //第五步: 傳入所需參數(shù)
          url: baseUrl + '/' + api,
          method: method || 'GET',
          header: {
            'content-type': 'application/json'
            // 'token': wx.getStorageSync("token")
          },
          data: data || {},
          success: (res) => {
            //第六步: 成功回調(diào):將現(xiàn)有對(duì)象轉(zhuǎn)為 Promise 對(duì)象
            reslove(res.data, res)
          },
          fail: (msg) => {
            //第七步: 失敗回調(diào):返回一個(gè)新的 Promise 實(shí)例
            reject('請(qǐng)求失敗');
          },
          complete: info => {
            //優(yōu)化1: 請(qǐng)求完成后,關(guān)閉 加載框
            wx.hideLoading();
    
            //優(yōu)化2: 當(dāng)請(qǐng)求完成后,將變量還原為 false,使下次可以繼續(xù)請(qǐng)求
            hasClick = false
          }
        })
      });
    }
    
    //第八步: 根據(jù)請(qǐng)求方式的不同,改變參數(shù) method ,使之對(duì)應(yīng)
    ['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
      request[method] = (api, data, opt) => request(api, method, data, opt || {})
    });
    

    示例代碼(api.js):

    import request from 'request.js'
    //獲取首頁(yè)初始化數(shù)據(jù)
    export function getIndexData() {
      return request.get("index", {});
    }
    

    示例代碼(index.js):

    // 引入 api.js 中的 getIndexData, other1, other2 方法
    import { getIndexData, other1, other2 } from '../../utils/api.js'
    
    // 調(diào)用這些方法
    getIndexData().then(res => {
      // 成功回調(diào)
      console.log(res)
    }).catch((e) => {
      // 失敗回調(diào)
      console.log(e) 
    })
    

四仅讽、公共方法庫(kù)的完善

公共方法庫(kù)主要是在根目錄下 utils 目錄中的 utils.js 文件中完成

  • date時(shí)間戳處理
// date時(shí)間戳處理 開(kāi)始
const formatTime = date => {
  var date = new Date(date)
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : '0' + n
}
// date時(shí)間戳處理 結(jié)束


  • 表單正則驗(yàn)證
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钾挟,隨后出現(xiàn)的幾起案子何什,更是在濱河造成了極大的恐慌,老刑警劉巖等龙,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件处渣,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡蛛砰,警方通過(guò)查閱死者的電腦和手機(jī)罐栈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)泥畅,“玉大人荠诬,你說(shuō)我怎么就攤上這事∥蝗剩” “怎么了柑贞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)聂抢。 經(jīng)常有香客問(wèn)我钧嘶,道長(zhǎng),這世上最難降的妖魔是什么琳疏? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任有决,我火速辦了婚禮闸拿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘书幕。我一直安慰自己新荤,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布台汇。 她就那樣靜靜地躺著苛骨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苟呐。 梳的紋絲不亂的頭發(fā)上智袭,一...
    開(kāi)封第一講書(shū)人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音掠抬,去河邊找鬼吼野。 笑死,一個(gè)胖子當(dāng)著我的面吹牛两波,可吹牛的內(nèi)容都是我干的瞳步。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼腰奋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼单起!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起劣坊,我...
    開(kāi)封第一講書(shū)人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嘀倒,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后局冰,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體测蘑,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年康二,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了碳胳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沫勿,死狀恐怖挨约,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情产雹,我是刑警寧澤诫惭,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站蔓挖,受9級(jí)特大地震影響夕土,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜时甚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一隘弊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧荒适,春花似錦梨熙、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至陕壹,卻和暖如春质欲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背糠馆。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工嘶伟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人又碌。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓九昧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親毕匀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铸鹰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 微信小程序在無(wú)論在功能、文檔及相關(guān)支持方面皂岔,都是優(yōu)于前面幾種微信賬號(hào)類(lèi)型蹋笼,它提供了很多原生程序才有的接口,使得我們...
    未央大佬閱讀 2,290評(píng)論 0 12
  • 小程序面試題 小程序授權(quán)登錄流程 0躁垛、如何獲得用戶(hù)信息...
    X秀秀閱讀 1,806評(píng)論 0 8
  • 每天的學(xué)習(xí)記錄剖毯,可能有的地方寫(xiě)的不對(duì),因?yàn)閯倢W(xué)教馆,以后發(fā)現(xiàn)錯(cuò)的話會(huì)回來(lái)改掉整體流程 https://develope...
    有點(diǎn)健忘閱讀 4,626評(píng)論 0 7
  • 因新工作主要負(fù)責(zé)微信小程序這一塊速兔,最近的重心就移到這一塊,該博客是對(duì)微信小程序整體的整理歸納以及標(biāo)明一些細(xì)節(jié)點(diǎn)活玲,初...
    majun00閱讀 7,315評(píng)論 0 9
  • 讓我寫(xiě)文章實(shí)在文筆匱乏涣狗,于是決定先從翻譯古文打基礎(chǔ),也可從內(nèi)里提升文學(xué)素養(yǎng)∈婧叮現(xiàn)做史記翻譯開(kāi)頭附原文 原文 黃帝者,...
    璞玉_閱讀 316評(píng)論 1 1