微信小程序開發(fā)—— 封裝方法 & wx.request請求 & WXS & 確認框和消息框 & scroll-view滾動條

一馆铁、封裝方法

1、封裝方法并導出

將封裝的方法放到util目錄下的js文件中锅睛〔壕蓿可以新建js文件,也可以直接寫在util.js文件中现拒。
通過export導出封裝的方法辣垒。

(1)確認框方法

在新建的msg.js文件中定義確認框方法,并導出具练。

export let $confirm = (content)=>{
  return new Promise(resolve=>{
    wx.showModal({
      content,
      success:({confirm})=>{
        if(confirm){
          resolve()
        }
      }
    })
  })
}

(2)消息框方法

在新建的msg.js文件中定義消息框方法乍构,并導出甜无。

export let $msg = (title,icon='success',duration=1500)=>{
  wx.showToast({
    title,
    icon,
    duration,
    mask:true
  })
}

(3)獲取事件參數(shù)的方法

在新建的msg.js文件中定義獲取事件參數(shù)方法扛点,并導出。

export let $key = (e)=>{
  return e.currentTarget.dataset
}

2岂丘、導入方法

import是ES6的導入語句陵究。

// 導入msg文件(模塊)中的指定成員
import {$msg,$confirm,$key} from '../../utils/msg'

3、將方法注冊給全局對象wx

直接在頁面使用import導入的方法奥帘,只能在當前頁面使用铜邮。為了實現(xiàn)在所有頁面中都可以使用,可以將方法注冊給全局對象wx寨蹋。
wx對象是微信小程序的全局對象松蒜,在任何地方都可以使用。

(1)注冊語句

wx.$msg = $msg
wx.$confirm = $confirm

(2)在app.js入口文件中導入

注意:注冊給wx對象的方法已旧,需要在app.js文件中導入秸苗,才可使用。這是因為app.js 會先于其他頁面執(zhí)行运褪,所以比較適合處理一些注冊函數(shù)惊楼。

// 導入初始化文件
import './utils/index'

(3)調用方法

wx.方法名(參數(shù))

wx.$msg('刪除成功')

二玖瘸、wx對象發(fā)起請求

1、wx.request() 發(fā)送請求

 wx.request({
      // 請求接口地址
      url: '接口地址',
      // 請求參數(shù)
      data:{},
      // 請求方式 GET/POST
      method:"GET",
      // 請求成功后的回調
      success:({data})=>{
        resolve(data)
      },
      // 請求完成后的回調
      complete:()=>{
         console.log('請求完成');
      }
    })

注意:小程序實際使用中檀咙,請求的接口必須都是已經配置過的接口雅倒,在微信公眾平臺中,選擇 開發(fā)管理-服務器域名 進行配置弧可。

開發(fā)階段蔑匣,可以直接在開發(fā)工具中設置“不校驗合法域名”,暫不配置棕诵。

2殖演、封裝請求方法

為了方便請求,可以對wx.request做一個簡單的封裝年鸳,這樣我們再調用的時候就方便了許多趴久。

(1)定義請求方法

export let $request = (url,data={},method='GET')=>{
  return new Promise((resolve)=>{
    wx.request({
      url,
      data,
      method,
      success:({data})=>{
        resolve(data)
      },
    })
  })
}

(2)定義get請求方法

export let $get = (url,data={})=>{
   return $request(url,data,'GET')
}

(3)定義post請求方法

export let $post = (url,data={})=>{
   return $request(url,data,'POST')
}

三、格式化時間 & WXS

將時間戳進行格式化搔确,轉化成我們需要的時間格式彼棍。
例如:將時間戳 1605010831402 格式化成 2020-11-10 20:20:31

1、在后臺對數(shù)據(jù)里的時間戳進行處理

formatTime是utils.js文件中自帶的格式化時間方法膳算,我們可以將該方法注冊給wx對象座硕,就能直接調用。

let data= await wx.$get('Subject/GetSubjects',{section_id:id})
 data = data.map(r=>{
  return {
    Createtime: wx.$formatTime(new Date(parseInt(r.Createtime)))
  }
})

2涕蜂、WXS

WXS(WeiXin Script)是小程序的一套腳本語言华匾,結合 WXML,可以構建出頁面的結構机隙。
在wxml頁面中蜘拉,只能在插值{{ }}中寫簡單的js表達式,而不能調用方法有鹿。wxs就是為了能在頁面中使用js而存在的旭旭。

(1)語法

① 變量必須使用var聲明,不支持const或者let葱跋。
② 不支持箭頭函數(shù)持寄。
③ 不可以使用模板字符串,字符串連接用+ 娱俺。
④ 每一個 .wxs 文件和 <wxs> 標簽都是一個單獨的模塊稍味。每個模塊都有自己獨立的作用域。
通過 module.exports 導出內部的私有變量與函數(shù)荠卷。
⑤ <wxs> 標簽中模庐,module屬性值定義標簽的模塊名;src屬性值引入.wxs文件的相對路徑僵朗。
⑥ 生成date對象使用 getDate()赖欣,返回一個當前時間的對象屑彻。不使用new Date()。

(2)編寫在wxml文件中的 <wxs> 標簽內

<wxs module="tools">
 var formatTime = function(date) {
    date = getDate(parseInt(date))
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()
    var hour = date.getHours()
    var minute = date.getMinutes()
    var second = date.getSeconds()
    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
var formatNumber =function(n) {
   n = n.toString()
   return n[1] ? n : '0' + n
}
module.exports = {
   formatTime:formatTime  
}
</wxs> 
<!-- 在模板中顶吮,對時間數(shù)據(jù)進行處理 -->
<view>{{tools.formatTime(item.Createtime)}}</view>

(3)編寫在wxs文件中社牲,再導入wxml文件

<!-- 導入wxs文件 -->
<wxs module="tools" src="../../wxs/filter.wxs"></wxs>
<!-- 在模板中,對時間數(shù)據(jù)進行處理 -->
<view>{{tools.formatTime(item.Createtime)}}</view>

四悴了、確認框和消息框

1搏恤、wx.showModal() 確認框

title:提示的標題
content:提示的內容
success:接口調用成功的回調函數(shù)∨冉唬回調函數(shù)中的confirm屬性返回true熟空,表示點擊的是確定按鈕,否則是取消按鈕搞莺。

 wx.showModal({
      content:'是否確定刪除',
      success:({confirm})=>{
      //confirm返回true息罗,表示點擊的是確定按鈕,否則是取消按鈕
        if(confirm){
            console.log("刪除成功");
         }
 }) 

效果圖:

2才沧、wx.showToast() 顯示消息提示框

title:提示的內容
icon:圖標
duration:消息提示框的顯示時間
mask:是否顯示透明蒙層迈喉,防止觸摸穿透

   wx.showToast({
        title: '刪除成功',
        icon:"success",
        duration:1500,
        mask:true
   })

效果圖:

五、scroll-view

可滾動視圖區(qū)域温圆。使用豎向滾動時挨摸,需要給scroll-view一個固定高度,通過 WXSS 設置 height岁歉。組件屬性的長度單位默認為px得运,2.4.0起支持傳入單位(rpx/px)。
scroll-x:允許橫向滾動锅移。
scroll-y:允許縱向滾動熔掺。

 <scroll-view class="left" scroll-y>  </scroll-view>
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市帆啃,隨后出現(xiàn)的幾起案子瞬女,更是在濱河造成了極大的恐慌,老刑警劉巖努潘,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異坤学,居然都是意外死亡疯坤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門深浮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來压怠,“玉大人,你說我怎么就攤上這事飞苇【保” “怎么了蜗顽?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長雨让。 經常有香客問我雇盖,道長,這世上最難降的妖魔是什么栖忠? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任崔挖,我火速辦了婚禮,結果婚禮上庵寞,老公的妹妹穿的比我還像新娘狸相。我一直安慰自己,他們只是感情好捐川,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布脓鹃。 她就那樣靜靜地躺著,像睡著了一般古沥。 火紅的嫁衣襯著肌膚如雪将谊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天渐白,我揣著相機與錄音尊浓,去河邊找鬼。 笑死纯衍,一個胖子當著我的面吹牛栋齿,可吹牛的內容都是我干的。 我是一名探鬼主播襟诸,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瓦堵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了歌亲?” 一聲冷哼從身側響起菇用,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎陷揪,沒想到半個月后惋鸥,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡悍缠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年卦绣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片飞蚓。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡滤港,死狀恐怖,靈堂內的尸體忽然破棺而出趴拧,到底是詐尸還是另有隱情溅漾,我是刑警寧澤山叮,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站添履,受9級特大地震影響屁倔,放射性物質發(fā)生泄漏。R本人自食惡果不足惜缝龄,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一汰现、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧叔壤,春花似錦瞎饲、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至俺亮,卻和暖如春驮捍,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脚曾。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工东且, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人本讥。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓珊泳,卻偏偏與公主長得像,于是被迫代替她去往敵國和親拷沸。 傳聞我的和親對象是個殘疾皇子色查,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容