注册小程序账号
小程序开发_其他分类

小程序开发_微信小程序开发_02

安装开发者工具
开发者工具下载地址:微信开发者工具

WeUI 有两个版本,一个是普通的 HTML5 版本,另外是小程序版本

[小程序开发_微信小程序开发_03

小程序开发_其他分类_04

.json 后缀的 JSON 配置文件
.wxml 后缀的 WXML 模板文件
.wxss 后缀的 WXSS 样式文件
.js 后缀的 JS 脚本逻辑文件

小程序开发_其他分类_05
自定义组件
小程序开发_微信小程序开发_06

插件

小程序开发_微信小程序开发_07

小程序开发_其他分类_08

小程序开发_微信小程序开发_09

小程序开发_其他分类_10

bind 不会阻止冒泡
catch 会阻止事件继续冒泡

捕获是先于冒泡的触发

在下面的代码中,点击 inner view 会先后调用 handleTap2、handleTap4、handleTap3、handleTap1。

小程序开发_微信小程序开发_11

如果将上面代码中的第一个 capture-bind 改为 capture-catch,将只触发 handleTap2

小程序开发_微信小程序开发_12

<view class="life-style">
    <view class="item" wx:for="{{lifeStyle}}" data-name="{{item.name}}" data-detail="{{item.detail}}" bindtap="indexDetail">
      <view class="title">
        <icon type="{{item.icon}}"></icon>
        {{item.name}}
      </view>
      <view class="content">{{item.info}}</view>
    </view>
</view>
// weather/index.js
// 响应事件的处理函数
indexDetail(e) {
  const {name, detail} = e.currentTarget.dataset
  wx.showModal({
    title: name,
    content: detail,
    showCancel: false
  })
}

小程序开发_微信小程序开发_13

小程序开发_其他分类_14

小程序开发_其他分类_15

路由

<navigator url="跳转页面URL" >跳转到新页面</navigator>
<view bindtap="gotoUrl">跳转页面</view>

Page({
  gotoUrl(){
    let url = 'pages/another/url'
    wx.navigateTo({
      url
    })
  }
})

flex 布局

小程序·云开发提供数据库、云函数和静态存储三大功能

小程序开发_微信小程序开发_16

需要先调用 wx.cloud.init 对云开发进行初始化:

wx.cloud.init({
  env: 'tianqi-xxx'
})

需要传入 env 参数,该参数为创建小程序·云开发时的环境 ID
// 初始化
wx.cloud.init({
  env: 'tianqi-xxx'
})
// 获取数据库实例
const db = wx.cloud.database()
// 增
db.collection('集合名称').add({
  data: {} // 插入的数据
}).then(res => {
  // 可以通过 res._id 获取创建的记录的 id
  console.log(res._id)
})
// 删
db.collection('集合名称').doc('文档 ID').remove().then(res => {
  console.log('removed')
})
// 改
db.collection('集合名称').doc('文档 ID').update({
  data: {
    title: '我的第 1 篇文章', // 只更新 title 字段,其他不更新
  }
}).then(res => {
  // 可以通过 res._id 获取创建的记录的 id
  console.log(res._id)
})
// 查
db.collection('集合名称').doc('文档 ID').get().then(res => {
  // 打印结果,res.data 即为记录的数据
  console.log(res)
})
const _ = db.command // 取指令
db.collection('集合名称').where({
  // 查找条件
  category: 'computer',
  properties: {
    memory: _.gt(8), // 表示大于 8
  }
})

小程序开发_其他分类_17

// 上传,上传后会返回资源的 ID
wx.cloud.uploadFile
// 下载
wx.cloud.downloadFile
// 根据资源 ID 获取资源访问地址
wx.cloud.getTempFileURL
// 根据资源 ID 列表删除某资源
wx.cloud.removeFile

小程序开发_微信小程序开发_18

具有扎实的前端语言基础,良好的ES6基础

有完整的微信小程序项目经验

熟悉掌握至少一种前端框架

熟悉GIT

小程序架构解密

小程序开发_微信小程序开发_19

小程序开发_微信小程序开发_20

小程序生命周期
小程序生命周期包括应用的生命周期(逻辑层 App Service)和页面的生命周期(视图层 View),两者支持的事件不同,详见官方文档中的这张配图。

小程序开发_其他分类_21

小程序开发_微信小程序开发_22

小程序开发_其他分类_23

Gulp 和 webpack
Gulp 来搭建小程序开发环境

小程序开发_微信小程序开发_24

小程序开发_微信小程序开发_25

小程序开发_微信小程序开发_26

小程序开发_其他分类_27

小程序开发_微信小程序开发_28

Gulp构建的微信小程序开发

全局安装gulp-cli

$ npm install --global gulp-cli
import wepy from 'wepy';

// 通过继承自wepy.page的类创建页面逻辑
export default class Index extends wepy.page {
    //可用于页面模板绑定的数据
    data = {
      motto: 'Hello World',
      userInfo: {}
    };

    //事件处理函数(集中保存在methods对象中)
    methods = {
      bindViewTap () {
        console.log('button clicked');
      }
    };

    //页面的生命周期函数
    onLoad () {
      console.log('onLoad');
    };
}

小程序开发_微信小程序开发_29

基于gulp+less构建的微信小程序工程项目
项目图片自动压缩
ESLint代码检查
使用命令行快速创建page、template和component

小程序开发_微信小程序开发_30

小程序开发_其他分类_31

小程序开发_其他分类_32

Tasks:
  dev              开发编译,同时监听文件变化
  build            整体编译

  clean            清空产出目录
  wxml             编译wxml文件(仅仅copy)
  js               编译js文件,同时进行ESLint语法检查
  json             编译json文件(仅仅copy)
  wxss             编译less文件为wxss
  img              编译压缩图片文件
  watch            监听开发文件变化
  
  auto             自动根据模板创建page,template或者component(小程序自定义组件)

gulp auto 

选项:
  -s, --src        copy的模板                     [字符串] [默认值: "_template"]
  -p, --page       生成的page名称                                       [字符串]
  -t, --template   生成的template名称                                   [字符串]
  -c, --component  生成的component名称                                  [字符串]
  --msg            显示帮助信息                                           [布尔]

示例:
  gulp auto -p mypage           创建名为mypage的page文件
  gulp auto -t mytpl            创建名为mytpl的template文件
  gulp auto -c mycomponent      创建名为mycomponent的component文件
  gulp auto -s index -p mypage  复制pages/index中的文件创建名称为mypage的页面

因为你的鼓励是我写作的最大动力!

小程序开发_微信小程序开发_33