小程序官方示例demo學(xué)習(xí)兩大功能點(diǎn)
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)圖:
其中微信涂鴉部分預(yù)覽圖:
其中微信涂鴉部分預(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'
}
}
})
-
微信小程序商城系統(tǒng)開(kāi)發(fā)其實(shí)很簡(jiǎn)單
微信小程序商城系統(tǒng)開(kāi)發(fā)其實(shí)很簡(jiǎn)單,只需要五步就可以完成,整個(gè)過(guò)程包括開(kāi)發(fā)、上線、發(fā)布都可以輕松搞定...詳情
-
微信小程序商城系統(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)通一個(gè)小商店