注册登录

小程序官方示例demo学习两大功能点

2017-06-14
导读:2017年6月14日,小程序官方示例demo已经是当下最热门的话题,下面将从多方面来谈谈小程序官方示例demo学习两大功能点相关的内容。...

2017年6月14日,小程序官方示例demo已经是当下最热门的话题,下面将从多方面来谈谈小程序官方示例demo学习两大功能点相关的内容。

6月14日消息,据彭博社报道,为了与新东家沃尔玛(Walmart)融合得更加顺畅,Jet.com(去年8月被沃尔玛以33亿美元收购)正计划逐步剔除自己平台上所售的Costco旗下品牌产品。

6月18日,永辉将在福州开出第一家永辉生活店。值得注意的是,这也是永辉首家24小时营业门店。据了解,这家24小时门店商品由永辉物流统一配送,没有熟食但提供蔬菜水果以及冷冻冰鲜类商品。

这个demo,应该是作者的练习demo,表面上并没有展示完全;

结构图:

小程序官方示例demo学习两大功能点

其中微信涂鸦部分预览图:

小程序官方示例demo学习两大功能点

其中微信涂鸦部分预览图:

示例代码:

Page({

 data:{

   pen : 3, //画笔粗细默认值

   color : '#cc0033' //画笔颜色默认值

 },

 startX: 0, //保存X坐标轴变量

 startY: 0, //保存Y坐标轴变量

 isClear : false, //是否启用橡皮擦标记

 //手指触摸动作开始

 touchStart: function (e) {

     //得到触摸点的坐标

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

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

     this.context = wx.createContext()

 

     if(this.isClear){ //判断是否启用的橡皮擦功能  ture表示清除  false表示画画

        this.context.setStrokeStyle('#FFFFFF') //设置线条样式 此处设置为画布的背景颜色  橡皮擦原理就是:利用擦过的地方被填充为画布的背景颜色一致 从而达到橡皮擦的效果

        this.context.setLineCap('round') //设置线条端点的样式

        this.context.setLineJoin('round') //设置两线相交处的样式

        this.context.setLineWidth(20) //设置线条宽度

        this.context.save();  //保存当前坐标轴的缩放、旋转、平移信息

        this.context.beginPath() //开始一个路径

        this.context.arc(this.startX,this.startY,5,0,2*Math.PI,true);  //添加一个弧形路径到当前路径,顺时针绘制  这里总共画了360度  也就是一个圆形

        this.context.fill();  //对当前路径进行填充

        this.context.restore();  //恢复之前保存过的坐标轴的缩放、旋转、平移信息

     }else{

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

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

        this.context.setLineCap('round') // 让线条圆润

        this.context.beginPath()

       

     }

 },

 //手指触摸后移动

 touchMove: function (e) {

     

     var startX1 = e.changedTouches[0].x

     var startY1 = e.changedTouches[0].y

 

     if(this.isClear){ //判断是否启用的橡皮擦功能  ture表示清除  false表示画画

 

       this.context.save();  //保存当前坐标轴的缩放、旋转、平移信息

       this.context.moveTo(this.startX,this.startY);  //把路径移动到画布中的指定点,但不创建线条

       this.context.lineTo(startX1,startY1);  //添加一个新点,然后在画布中创建从该点到最后指定点的线条

       this.context.stroke();  //对当前路径进行描边

       this.context.restore()  //恢复之前保存过的坐标轴的缩放、旋转、平移信息

         

       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;

       

     }

     //只是一个记录方法调用的容器,用于生成记录绘制行为的actions数组。context跟不存在对应关系,一个context生成画布的绘制动作数组可以应用于多个

     wx.drawCanvas({

        canvasId: 'myCanvas',

        reserve: true,

        actions: this.context.getActions() // 获取绘图动作数组

     })

 },

 //手指触摸动作结束

 touchEnd: function () {

     

 },

 //启动橡皮擦方法

 clearCanvas: function(){

     if(this.isClear){

       this.isClear = false;

     }else{

       this.isClear = true;

     }

 },

 penSelect: function(e){ //更改画笔大小的方法

   console.log(e.currentTarget);

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

   this.isClear = false;

 },

 colorSelect: function(e){ //更改画笔颜色的方法

   console.log(e.currentTarget);

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

   this.isClear = false;

 },

 // 下拉刷新

 onPullDownRefresh: function(){

   wx.stopPullDownRefresh()

 },

 // 页面分享

 onShareAppMessage: function () {

   return {

     title: '微信小程序',

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

     path: '/page/canvas'

   }

 }

})

 

 

  • 小程序官方示例demo学习两大功能点

    微信小程序商城系统开发其实很简单

    微信小程序商城系统开发其实很简单,只需要五步就可以完成,整个过程包括开发、上线、发布都可以轻松搞定...详情

  • 小程序官方示例demo学习两大功能点

    微信小程序商城系统免费注册体验

    微信小程序商城系统免费注册体验,接下来是微信小程序的时代,这一波红利在不抓住互联网就再也没什么机会了...详情

想了解更多微信小程序开发和微信小程序大全都可以进入微信小程序商城系统开发了解。

重磅推荐:小程序开店目录

第一部分:小商店是什么

第二部分:如何开通一个小商店

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

第四部分:开店任务常见问题

第五部分:小商店可以卖什么

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

第七部分:小程序直播

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

第九部分:小程序怎么结算

第十部分:小程序客服

第十一部分:电商创业

第十二部分:小程序游戏开发

电话咨询 微信咨询 预约演示 0元开店