微信小程序

注册小程序账号

安装微信开发者工具

  • 想要开发微信小程序,必须去微信公众平台,先下载微信开发者工具,下载之后,一路 下一步 安装。

初始化小程序

  • 双击打开微信开发者工具
  • 填写项目信息
    • 填写小程序名称、存放目录、AppID,填写完成后,点击新建
    • 项目名称: 可以任意设置
    • 目录: 设置本地空目录
    • AppID: 注册小程序账号之后, 点击左侧导航中的“设置”,查看账号信息
    • 开发模式: 小程序
    • 后端服务: 选择”不使用云服务” (不会创建服务器端目录或者文件)

全局文件

  • app.js 是小程序启动后,加载的入口文件
  • app.json 是整个小程序项目的配置文件
  • app.wxss 是整个小程序项目的全局样式文件

在小程序中,每个具体的页面都由四个文件组成。页面的四个文件必须具有相同的路径与文件名

如何生成页面文件

与其他项目不同,小程序中的页面文件无需自己创建。

如果要新建页面文件,只需要在 app.json 中的 pages 字段中指定,然后保存 app.json。

 "pages":[
    "pages/qweather/index",
    "pages/index/index",
    "pages/logs/logs",
    "pages/test/test",
    "pages/test/camera"
  ],

生命周期

小程序的生命周期是指小程序生命的不同阶段。这里的周期主要指两个循环状态: 前台到后台; 初始化到销毁。

在小程序生命的不同阶段, 都会自动触发函数,可以在生命周期函数中, 添加相应业务逻辑。小程序的生命周期可以分为两类:

  • 项目生命周期:描述小程序整个项目的不同阶段
  • 页面生命周期:描述页面的不同阶段

项目生命周期
官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/app.html

App({
	onLaunch (options) {
	// Do something initial when launch.
	},
	onShow (options) {
	// Do something when show.
	},
	onHide () {
	// Do something when hide.
	},
	onError (msg) {
	console.log(msg)
	},
	globalData: 'I am global data'
})
  • onLaunch: 全局只调用一次(逻辑只执行一次)
  • onShow: 应用初始化完成; 从后台切换到前台
  • onHide: 从前台切换到后台(小程序应用转到别的应用)

页面生命周期
官网文档:https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html

//index.js
Page({
	data: {
		text: "This is page data."
	},
	onLoad: function(options) {
	// 页面创建时执行
	},
	onShow: function() {
	// 页面出现在前台时执行
	},
	onReady: function() {
	// 页面首次渲染完毕时执行
	},
	onHide: function() {
	// 页面从前台变为后台时执行
	},
	onUnload: function() {
	// 页面销毁时执行
	}
})
  • onLoad: 小程序注册完成后,加载页面,一个页面只会调用一次
  • onShow: 页面载入后,显示页面,每次打开页面都会调用一次
  • onReady: 首次显示页面,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次
  • onHide: 小程序后台运行或跳转到其他页面时,触发onHide方法
  • onUnload: 当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack(),触发onUnload, 页面卸载(内存释放)

小程序的启动流程
在这里插入图片描述
1、小程序初始化完成后,页面首次加载触发onLoad,只会触发一次。
2、当小程序进入到后台,先执行页面onHide方法再执行应用onHide方法。
3、当小程序从后台进入到前台,先执行应用onShow方法再执行页面onShow方法。

解读初始化项目

app 代码
一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下:
在这里插入图片描述

云 API
云 API,是微信公众平台提供的,供小程序调用的接口。在示例程序中,用到的云 API 有:
在这里插入图片描述
其他云 API,请参考官方文档
官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/

页面跳转
在小程序中做页面跳转,主要有以下三种方式

  • 链接方式
    通过 navigator 组件来实现

    # 相对地址
    <navigator url="/pages/me/my-page">my-page</navigator>
    # URL地址
    <navigator url="https://www.baidu.com/">百度</navigator>
    

    链接详情:https://developers.weixin.qq.com/miniprogram/dev/component/navigator.html

  • 事件方式

    • 在 .wxml 中,通过 bindtap 属性绑定 bindViewTap 事件

      <image bindtap="bindViewTap" class="userinfo-avatar" src="
      {{userInfo.avatarUrl}}" mode="cover"></image>
      
    • 在 .js 文件中声明事件

      Page({
      	bindViewTap: function(event) {
      		// console.log(event)
      		wx.navigateTo({
      			url: '../logs/logs'
      		})
      	}
      })
      
  • tabBar
    在 app.json 中,通过 tabBar 字段指定。
    详情查看:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/custom-tabbar.html

    "tabBar": {
        "list": [{
          "pagePath": "pages/qweather/index",
          "iconPath": "static/images/featured.png",
          "selectedIconPath": "static/images/featured-actived.png",
          "text": "首页"
        }, {
          "pagePath": "pages/test/test",
          "iconPath": "static/images/search.png",
          "selectedIconPath": "static/images/search-actived.png",
          "text": "测试"
        },{
          "pagePath": "pages/index/index",
          "iconPath": "static/images/profile.png",
          "selectedIconPath": "static/images/profile-actived.png",
          "text": "用户"
        }]
      },
    

数据绑定

事件触发

通过组件的 bindtap 属性,可以绑定触碰事件。

事件详情:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxml/event.html

组件

小程序中的组件,对应HTML中的标签。

小程序不是运行在浏览器上,所以 HTML 标签不能使用。小程序中,展示页面内容的标签,称之为组件

在这里插入图片描述
官网提供了功能丰富的组件。详情查看官方文档
官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值