mpvue 从入门到上手

官网:http://mpvue.com/mpvue/quicks...
1、新建一个mpvue项目vue

$ vue init mpvue/mpvue-quickstart my-project //新建项目
$ cd my-project //切换到项目
$ npm install //安装依赖
$ npm run dev //运行

2、预览web

一、首先,打包vue-router

$ npm run build

二、打开“微信开发者工具”,在‘项目目录’中选择项目的dist文件,APPID能够暂时不写,‘项目名称’自定义。
三、点击‘编译’看效果,点击‘预览’在手机上用微信扫码看效果。npm

3、页面跳转json

<navigator url="../agreement/main">当即报名</navigator>

在最外层app.json中加入路径且从新运行该项目,以下图:
clipboard.png
4、分享微信

<button open-type='share'>分享</button>

若是须要自定义分享,则重写如下方法(注意,此方法不该放在methods中,应该与methods同级)微信开发

onShareAppMessage: function (res) {
    // 分享程序
    var title = ''
    var path = 'pages/index/main'
    var imageUrl = ''
    return {
      title,
      path,
      imageUrl,
      success: (res) => {
        console.log('res', res)
      },
      fail: (res) => {
        console.log('res', res)
      }
    }
  }

5、图片预览app

<img src="/static/images/second_11.jpg" style="width:60rpx;height:60rpx" @click='previewImg'>
    previewImg () {
      // 预览图片
      wx.previewImage({
        // current: '/static/images/second_3.jpg', // 当前显示图片的http连接,只有一张时,能够不写
        urls: ['http://bak-img.oss-cn-shenzhen.aliyuncs.com/20181204111744.jpg'], // 须要预览的图片http连接列表
        success (res) {
          console.log(res)
        },
        fail () {
          wx.showToast({
            title: '预览失败!',
            icon: 'none',
            duration: 1000
          })
        }
      })
    }

6、请求接口工具

wx.request({
    url: myUrl,
    data: {
      type: 'k'
    },
    success: function (res) {
      console.log(res.data)
    }
  })

7、图片上传到阿里云(OSS)
请参考这位大佬的博客:https://blog.csdn.net/qq_2337...
点击调皮效果(加入addscale便可):ui

.addscale {
    -webkit-transform-origin: 50% 50%;
      transform-origin: 50% 50%;
    -webkit-animation: addscale;
      animation: addscale 0.4s;
    -webkit-transition-timing-function: cubic-bezier(0.6, 4, 0.3, 0.8);
      transition-timing-function: cubic-bezier(0.6, 4, 0.3, 0.8);
  }
@-webkit-keyframes addscale {
  from,
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
  }
  25% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  50% {
      -webkit-transform: scale(1.05, 0.95);
              transform: scale(1.05, 0.95);
  }
  75% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  from,
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
  }
  25% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  50% {
      -webkit-transform: scale(1.05, 0.95);
              transform: scale(1.05, 0.95);
  }
  75% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  }
  @keyframes addscale {
  from,
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
  }
  25% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  50% {
      -webkit-transform: scale(1.05, 0.95);
              transform: scale(1.05, 0.95);
  }
  75% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  from,
    to {
      -webkit-transform: scale(1, 1);
              transform: scale(1, 1);
  }
  25% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
  50% {
      -webkit-transform: scale(1.05, 0.95);
              transform: scale(1.05, 0.95);
  }
  75% {
      -webkit-transform: scale(0.95, 1.05);
              transform: scale(0.95, 1.05);
  }
}

8、普通选择器
效果图:

clipboard.png

<picker mode = selector @change="bindPickerChange($event)" :value="sexVal" :range="sexArray">
  <div class="picker">
    当前选择:{{sexVal}} 
   </div>
</picker>
  data () {
    return {
      sexArray: ['女', '男'],
      sexVal: '选择'
    }
  },
  methods: {
    bindPickerChange(e) {
      let index = Number(e.mp.detail.value)
      this.sexVal = this.sexArray[index] 
    }
  }

9、单页面的配置
请参考此大佬:https://blog.csdn.net/qq_3543...

10、页面跳转

一、行内跳转
    a、navigator、vue-router均可以
二、js跳转(标签为<a>)
    *普通跳转 navigateTo
        const url = '../result/main'
        wx.navigateTo({url})
    *底部导航跳转 switchTab
        const url = '../result/main'
        wx.switchTab({url})
相关文章
相关标签/搜索