最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于加快微信小程序開發(fā)的一些小建議

 更新時間:2021年05月25日 09:37:25   作者:小の白菜  
微信小程序是一種全新的連接用戶與服務的方式,下面這篇文章主要給大家介紹了關于加快微信小程序開發(fā)的一些小建議,需要的朋友可以參考下

1.使用 app.json創(chuàng)建頁面

​ 按照我們平常的開發(fā)習慣,創(chuàng)建一個新的頁面,一般都會先創(chuàng)建文件夾,再創(chuàng)建對應page的形式,創(chuàng)建完成后,app.json中會自動注冊該頁面。實際上,我們還可以通過直接在app.json中注冊頁面來生成對應的page。

"pages": [
    "pages/index/index",
    "pages/newpage/newpage"
 ],

​ 如上所示,在配置文件中注冊該路徑,小程序就會自動創(chuàng)建該對應路徑。

2.善用編譯模式

​ 我們想要調(diào)試某個頁面時,相當一部分開發(fā)者習慣于直接修改app.json來調(diào)整首個入棧頁面,實際上完全可以使用編譯模式添加編譯頁面,來代替修改配置文件的行為。

3.組件復用小程序樣式

​ 這一點經(jīng)常被遺忘,因為新建component的時候,小程序并不會展示該配置項。配置options如下,組件可以使用全局樣式(app.wxss)

Component({
  //繼承colorui樣式
  options: {
    addGlobalClass: true,
    multipleSlots: true
  },
  ...
 }

4.app.js初始化內(nèi)容函數(shù)化

​ 很多小程序onLaunch中寫著大量的內(nèi)容,混亂不堪,后期調(diào)試尤為痛苦。可以將不同的初始化內(nèi)容寫為不同的函數(shù),函數(shù)化、模塊化。

onLaunch: function(options) {
    //此處需要有對進入小程序方式的處理
    this.InitCloud(); //初始化云服務 / ESC
    this.InitCustom(); //初始化custom所需配置信息
    this.InitEdu(); //初始化教務系統(tǒng)配置
 },

5.善用template

​ 對于內(nèi)容大量重復的wxml內(nèi)容,可以將之抽離為template模板文件,使用時直接導入使用即可。

<import src="template/NexuTemplate.wxml"/>
<view wx:for="{{dirlist}}" wx:key="item">
 <template is="dirshow" data="{{item}}"></template>
</view>

6.云開發(fā)混合開發(fā)

​ 內(nèi)容安全識別,openid獲取,圖片鑒黃,支付流程,內(nèi)容推送這些東西如果使用自己的后臺實現(xiàn),并不是這么簡單,但是如果使用了云開發(fā)的技術替換這一部分,自己專注于業(yè)務邏輯,你會打開一片新天地。

云開發(fā)部分功能(后面我會專門寫一篇文章介紹云開發(fā)混合開發(fā)的內(nèi)容):

const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})


// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
  // console.log(event)
  switch (event.action) {
    case 'getWXACode': {
      return getWXACode(event)
    }
    case 'getOpenData': {
      return getOpenData(event)
    }
    case 'msgSecCheck': {
      return msgSecCheck(event)
    }
    case 'imgSecCheck': {
      return imgSecCheck(event)
    }
    case 'submitPages': {
      return submitPages(event)
    }
    default: {
      return
    }
  }
}

//獲取小程序碼
async function getWXACode(event) {
  console.log(event.url)
  // 此處將獲取永久有效的小程序碼,并將其保存在云文件存儲中,最后返回云文件 ID 給前端使用

  const wxacodeResult = await cloud.openapi.wxacode.get({
    path: event.url || 'pages/index/index',
  })

  const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/)
  const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'

  const uploadResult = await cloud.uploadFile({
    // 云文件路徑,此處為演示采用一個固定名稱
    cloudPath: `wxCode/wxCode${Math.random() * 9999999}.${fileExtension}`,
    // 要上傳的文件內(nèi)容可直接傳入圖片 Buffer
    fileContent: wxacodeResult.buffer,
  })

  if (!uploadResult.fileID) {
    throw new Error(`上傳失敗,文件為空,存儲服務器狀態(tài)代碼為空 ${uploadResult.statusCode}`)
  }

  return uploadResult.fileID
}

// 獲取openid
async function getOpenData(event) {
  // 需 wx-server-sdk >= 0.5.0
  const wxContext = cloud.getWXContext()

  return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}

// 檢測文本是否合規(guī)
async function msgSecCheck(event) {
  // 需 wx-server-sdk >= 0.5.0
  return cloud.openapi.security.msgSecCheck({
    content: event.content,
  })
}

// 檢測圖片是否合規(guī)
async function imgSecCheck(event) {
  return cloud.openapi.security.imgSecCheck({
    media: {
      contentType: event.contentType,
      value: Buffer.from(event.value)
    }
  })
}

// 收錄頁面
async function submitPages(event) {
  return cloud.openapi.search.submitPages({
    pages: [{
      path: event.path,
      query: event.query
    }]
  })
}




//獲取日期
function getDateTime(sj) {
  var now = new Date(sj * 1000);
  var year = now.getFullYear();
  var month = now.getMonth() + 1;
  var date = now.getDate();
  var hour = now.getHours();
  var minute = now.getMinutes();
  // var second = now.getSeconds();
  return year + "年" + month + "月" + date + "日";
}

7.將個人配置數(shù)據(jù)集中到一個文件中

​ 比如說服務器域名、接口令牌這些可能會變化,但經(jīng)常使用的數(shù)據(jù),集中到一個文件中。

module.exports={
  UseCloud:true,
  CloudId:'',      //云開發(fā)環(huán)境id
  TraceUser:true,           //記錄用戶訪問日志
  AdaptStorge:true,         //允許緩存用戶數(shù)據(jù)
  SevDomain:'http://localhost'     //服務器的域名
}

8.善用開發(fā)者工具的版本管理工具

總結(jié)

到此這篇關于關于加快微信小程序開發(fā)的一些小建議的文章就介紹到這了,更多相關微信小程序開發(fā)建議內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • CocosCreator入門教程之用TS制作第一個游戲

    CocosCreator入門教程之用TS制作第一個游戲

    這篇文章主要介紹了CocosCreator入門教程之用TS制作第一個游戲,對TypeScript感興趣的同學,一定要看一下
    2021-04-04
  • 網(wǎng)頁禁用右鍵菜單和鼠標拖動選擇方法小結(jié)

    網(wǎng)頁禁用右鍵菜單和鼠標拖動選擇方法小結(jié)

    本文主要給大家總結(jié)了一下在網(wǎng)頁中禁用鼠標右鍵和鼠標拖動選擇的幾種常用的方法,十分的實用,有需要的小伙伴參考下。
    2015-02-02
  • js confirm()方法的使用方法實例

    js confirm()方法的使用方法實例

    今天學習了js 中confirm的使用方法,confirm() 方法用于顯示一個帶有指定消息和 OK 及取消按鈕的對話框。
    2013-07-07
  • js實現(xiàn)3D旋轉(zhuǎn)相冊

    js實現(xiàn)3D旋轉(zhuǎn)相冊

    這篇文章主要為大家詳細介紹了js實現(xiàn)3D旋轉(zhuǎn)相冊,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • js獲取USB掃碼槍數(shù)據(jù)的方法

    js獲取USB掃碼槍數(shù)據(jù)的方法

    這篇文章主要為大家詳細介紹了js獲取USB掃碼槍數(shù)據(jù)的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 詳解使用webpack構建多頁面應用

    詳解使用webpack構建多頁面應用

    這篇文章主要介紹了詳解使用webpack構建多頁面應用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • JS 數(shù)字轉(zhuǎn)換為大寫金額的簡單實例

    JS 數(shù)字轉(zhuǎn)換為大寫金額的簡單實例

    下面小編就為大家?guī)硪黄狫S 數(shù)字轉(zhuǎn)換為大寫金額的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • JavaScript中二分查找的例題詳解

    JavaScript中二分查找的例題詳解

    二分查找在我們學習算法中是很重要的一部分,而且面試的時候會經(jīng)常的讓我們手寫一些算法。所以這篇文章將通過三個場景帶大家深入了解二分查找算法
    2023-03-03
  • 準確獲得頁面、窗口高度及寬度的JS

    準確獲得頁面、窗口高度及寬度的JS

    準確獲得頁面、窗口高度及寬度的JS...
    2006-11-11
  • 寫給小白的JavaScript引擎指南

    寫給小白的JavaScript引擎指南

    有時編寫 Web 應用的代碼會感覺充滿魔力,因為我們只是寫了一系列字符,就能在瀏覽器里看到效果了。但是理解魔法背后的技術,可以幫助你更好地提高編程技巧
    2015-12-12

最新評論

肃南| 长垣县| 建平县| 临沭县| 黄梅县| 浦县| 陈巴尔虎旗| 孝感市| 铜梁县| 建平县| 礼泉县| 上思县| 贵南县| 来凤县| 吐鲁番市| 永定县| 内江市| 阿拉善左旗| 江津市| 大姚县| 咸阳市| 永年县| 康保县| 无极县| 垣曲县| 吴桥县| 奇台县| 积石山| 台东县| 宜良县| 米林县| 贵南县| 临桂县| 广州市| 舒城县| 祁连县| 浑源县| 丹棱县| 梅河口市| 广灵县| 阳朔县|