微信小程序开发

微信小程序开发
Tom微信小程序开发
小程序web前端
必须运行在浏览中
微信小程序开发流程
微信小程序设计指南
- 友好礼貌
- 重点突出
- 流程明确
- 清晰明确
- 导航明确,来去自如
- 减少等待,反馈及时
- 异常可控,有路可退
- 便捷优雅
- 减少输入
- 避免误操作
- 利用接口提升性能
- 统一稳定
- - 视觉规范
- 字体
- 字体颜色
- 列表
- 表单输入
- 按钮
- 图标
项目目录结构
pages存储小程序页面utils全局的功能函数app.jsjs主入口app.json主配置文件- 小程序中所有页面都必须在
app.jsonpages中进行配置 - 小程序会默认显示
pages第一个成员
- 小程序中所有页面都必须在
app.wxss公共样式project.config.json项目配置
小程序配置
- 全局配置 :配置所有页面及小程序相关设置
- 页面配置 :只在当前页面配置。
基础语法
- 数据绑定:
{{}}- 组件内容插入数据
- 属性中插入数据,(
{{}}必须使用引号引起来)
- 条件渲染:
wx:ifwx:elifwx:else - 列表渲染:
wx:forwx:for-itemwx:for-indexwx:key="unique" - 模板:
- 定义模板
<template name="tempName" data="{{}}"> - 使用模板
<template is="tempName">
- 定义模板
- 引用
- 可以将模板定义在独立的文件中
<import src="" />
- 事件
- 事件是视图层到逻辑层的通讯方式。
- 事件可以将用户的行为反馈到逻辑层进行处理。
- 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。
- 事件对象可以携带额外信息,如
id,dataset,touches。要给事件传递数据可以使用dataset - 事件分类
给标签元素添加事件时需要在事件类型前添加一个前缀:
bindcatch
bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。
页面生命周期
1 | // 获取应用实例 |
页面路由
在小程序中所有页面的路由全部由框架进行管理,框架以栈的形式维护了当前的所有页面,小程序中页面栈最多十层。
组件式导航
<navigator>open-type='navigate'跳转到指定页面open-type='redirect'将页面栈,栈顶替换为指定页面open-type='navigateBack'返回上一页面
编程式导航
wx.navigateTo()跳转到指定页面wx.redirectTo()将页面栈,栈顶替换为指定页面wx.navigateBack()返回指定页面(页面栈出栈)
- 开发者可以使用
getCurrentPages()函数获取当前页面栈。
tabBar 中使用的页面如果在路由也使用了,那么路由导航中将不能正确的跳转到该页面。
如果要跳转到tabBar请使用open-type="switchTab",跳转之前会将页面栈中数据全部出栈。
用户交互
wx.showToast(Object object)会自动消失和弹窗wx.showModal(Object object)显示模态对话框wx.showLoading(Object object)不会自动消失 ,调用wx.hideLoading(Object object)隐藏。wx.showActionSheet(Object object)显示操作菜单
网络请求
不支持 原生ajax 进行网络请求,必须使用api中提供的网络请求方法。
向服务器请求数据时,服务器必须先在小程序后台中进行配置,(必须支持 https ,必须备案)
如果在本地服务器测试时请在项目设置中勾选 不校验合法域名。
云开发
云服务器(免费使用)
- 云函数
- 云调用
- 数据库: json类型的数据库
- 存储:文件存储
项目目录结构
* cloudfunctions 云开发服务器(后台)相关代码
- 该目录存储的全部都是云函数。调用云函数可以访问到数据库、存储…
- 云函数必须要部署到云端才能调用。
- 该目录下创建云函数时目录名称就是云函数名称。
*miniprogram小程序客户端(前端)代码
wx.cloud.init()调用云开发各 API 前,需先调用初始化方法 init 一次(全局只需一次,多次调用时只有第一次生效)- 请使用 2.2.3 或以上的基础库以使用云能力











