注冊(cè)登錄

小程序官方示例demo學(xué)習(xí)兩大功能點(diǎn)

2017-06-14
導(dǎo)讀:2017年6月14日,小程序官方示例demo已經(jīng)是當(dāng)下最熱門(mén)的話題,下面將從多方面來(lái)談?wù)勑〕绦蚬俜绞纠齞emo學(xué)習(xí)兩大功能點(diǎn)相關(guān)的內(nèi)容。...

2017年6月14日,小程序官方示例demo已經(jīng)是當(dāng)下最熱門(mén)的話題,下面將從多方面來(lái)談?wù)勑〕绦蚬俜绞纠齞emo學(xué)習(xí)兩大功能點(diǎn)相關(guān)的內(nèi)容。

6月14日消息,據(jù)彭博社報(bào)道,為了與新東家沃爾瑪(Walmart)融合得更加順暢,Jet.com(去年8月被沃爾瑪以33億美元收購(gòu))正計(jì)劃逐步剔除自己平臺(tái)上所售的Costco旗下品牌產(chǎn)品。

6月18日,永輝將在福州開(kāi)出第一家永輝生活店。值得注意的是,這也是永輝首家24小時(shí)營(yíng)業(yè)門(mén)店。據(jù)了解,這家24小時(shí)門(mén)店商品由永輝物流統(tǒng)一配送,沒(méi)有熟食但提供蔬菜水果以及冷凍冰鮮類商品。

這個(gè)demo,應(yīng)該是作者的練習(xí)demo,表面上并沒(méi)有展示完全;

結(jié)構(gòu)圖:

小程序官方示例demo學(xué)習(xí)兩大功能點(diǎn)

其中微信涂鴉部分預(yù)覽圖:

小程序官方示例demo學(xué)習(xí)兩大功能點(diǎn)

其中微信涂鴉部分預(yù)覽圖:

示例代碼:

Page({

 data:{

   pen : 3, //畫(huà)筆粗細(xì)默認(rèn)值

   color : '#cc0033' //畫(huà)筆顏色默認(rèn)值

 },

 startX: 0, //保存X坐標(biāo)軸變量

 startY: 0, //保存Y坐標(biāo)軸變量

 isClear : false, //是否啟用橡皮擦標(biāo)記

 //手指觸摸動(dòng)作開(kāi)始

 touchStart: function (e) {

     //得到觸摸點(diǎn)的坐標(biāo)

     this.startX = e.changedTouches[0].x

     this.startY = e.changedTouches[0].y

     this.context = wx.createContext()

 

     if(this.isClear){ //判斷是否啟用的橡皮擦功能  ture表示清除  false表示畫(huà)畫(huà)

        this.context.setStrokeStyle('#FFFFFF') //設(shè)置線條樣式 此處設(shè)置為畫(huà)布的背景顏色  橡皮擦原理就是:利用擦過(guò)的地方被填充為畫(huà)布的背景顏色一致 從而達(dá)到橡皮擦的效果

        this.context.setLineCap('round') //設(shè)置線條端點(diǎn)的樣式

        this.context.setLineJoin('round') //設(shè)置兩線相交處的樣式

        this.context.setLineWidth(20) //設(shè)置線條寬度

        this.context.save();  //保存當(dāng)前坐標(biāo)軸的縮放、旋轉(zhuǎn)、平移信息

        this.context.beginPath() //開(kāi)始一個(gè)路徑

        this.context.arc(this.startX,this.startY,5,0,2*Math.PI,true);  //添加一個(gè)弧形路徑到當(dāng)前路徑,順時(shí)針繪制  這里總共畫(huà)了360度  也就是一個(gè)圓形

        this.context.fill();  //對(duì)當(dāng)前路徑進(jìn)行填充

        this.context.restore();  //恢復(fù)之前保存過(guò)的坐標(biāo)軸的縮放、旋轉(zhuǎn)、平移信息

     }else{

        this.context.setStrokeStyle(this.data.color)

        this.context.setLineWidth(this.data.pen)

        this.context.setLineCap('round') // 讓線條圓潤(rùn)

        this.context.beginPath()

       

     }

 },

 //手指觸摸后移動(dòng)

 touchMove: function (e) {

     

     var startX1 = e.changedTouches[0].x

     var startY1 = e.changedTouches[0].y

 

     if(this.isClear){ //判斷是否啟用的橡皮擦功能  ture表示清除  false表示畫(huà)畫(huà)

 

       this.context.save();  //保存當(dāng)前坐標(biāo)軸的縮放、旋轉(zhuǎn)、平移信息

       this.context.moveTo(this.startX,this.startY);  //把路徑移動(dòng)到畫(huà)布中的指定點(diǎn),但不創(chuàng)建線條

       this.context.lineTo(startX1,startY1);  //添加一個(gè)新點(diǎn),然后在畫(huà)布中創(chuàng)建從該點(diǎn)到最后指定點(diǎn)的線條

       this.context.stroke();  //對(duì)當(dāng)前路徑進(jìn)行描邊

       this.context.restore()  //恢復(fù)之前保存過(guò)的坐標(biāo)軸的縮放、旋轉(zhuǎn)、平移信息

         

       this.startX = startX1;

       this.startY = startY1;

       

     }else{

       this.context.moveTo(this.startX, this.startY)

       this.context.lineTo(startX1, startY1)

       this.context.stroke()

 

       this.startX = startX1;

       this.startY = startY1;

       

     }

     //只是一個(gè)記錄方法調(diào)用的容器,用于生成記錄繪制行為的actions數(shù)組。context跟不存在對(duì)應(yīng)關(guān)系,一個(gè)context生成畫(huà)布的繪制動(dòng)作數(shù)組可以應(yīng)用于多個(gè)

     wx.drawCanvas({

        canvasId: 'myCanvas',

        reserve: true,

        actions: this.context.getActions() // 獲取繪圖動(dòng)作數(shù)組

     })

 },

 //手指觸摸動(dòng)作結(jié)束

 touchEnd: function () {

     

 },

 //啟動(dòng)橡皮擦方法

 clearCanvas: function(){

     if(this.isClear){

       this.isClear = false;

     }else{

       this.isClear = true;

     }

 },

 penSelect: function(e){ //更改畫(huà)筆大小的方法

   console.log(e.currentTarget);

   this.setData({pen:parseInt(e.currentTarget.dataset.param)});

   this.isClear = false;

 },

 colorSelect: function(e){ //更改畫(huà)筆顏色的方法

   console.log(e.currentTarget);

   this.setData({color:e.currentTarget.dataset.param});

   this.isClear = false;

 },

 // 下拉刷新

 onPullDownRefresh: function(){

   wx.stopPullDownRefresh()

 },

 // 頁(yè)面分享

 onShareAppMessage: function () {

   return {

     title: '微信小程序',

     desc: '這是微信小程序的分享功能',

     path: '/page/canvas'

   }

 }

})

 

 

  • 小程序官方示例demo學(xué)習(xí)兩大功能點(diǎn)

    微信小程序商城系統(tǒng)開(kāi)發(fā)其實(shí)很簡(jiǎn)單

    微信小程序商城系統(tǒng)開(kāi)發(fā)其實(shí)很簡(jiǎn)單,只需要五步就可以完成,整個(gè)過(guò)程包括開(kāi)發(fā)、上線、發(fā)布都可以輕松搞定...詳情

  • 小程序官方示例demo學(xué)習(xí)兩大功能點(diǎn)

    微信小程序商城系統(tǒng)免費(fèi)注冊(cè)體驗(yàn)

    微信小程序商城系統(tǒng)免費(fèi)注冊(cè)體驗(yàn),接下來(lái)是微信小程序的時(shí)代,這一波紅利在不抓住互聯(lián)網(wǎng)就再也沒(méi)什么機(jī)會(huì)了...詳情

想了解更多微信小程序開(kāi)發(fā)和微信小程序大全都可以進(jìn)入微信小程序商城系統(tǒng)開(kāi)發(fā)了解。

重磅推薦:小程序開(kāi)店目錄

第一部分:小商店是什么

第二部分:如何開(kāi)通一個(gè)小商店

第三部分:如何登錄小商店

第四部分:開(kāi)店任務(wù)常見(jiàn)問(wèn)題

第五部分:小商店可以賣(mài)什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開(kāi)發(fā)

電話咨詢 微信咨詢 預(yù)約演示 0元開(kāi)店