微信小程序开发前后端交互快速入门

这篇具有很好参考价值的文章主要介绍了微信小程序开发前后端交互快速入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第 1 章 小程序特点

1.1 小程序特点概述

1.2 小程序配置

全局配置: app.json

页面配置: 页面名称.json

sitemap 配置: sitemap.json

1.3 小程序框架接口

App

Page

第 2 章 wxml 语法

 2.1 数据绑定

初始化数据

使用数据

修改数据

2.2 事件绑定

事件分类

绑定事件

向事件对象传参

2.3 列表渲染

语法说明

注意事项

2.4 条件渲染

语法说明

wx:if VS hidden  

2.5 模板使用

定义模板

 引入模板

使用模板

向模板导入数据并使用数据

2.6 生命周期

对应阶段说明

官网图示说明

第 3 章 小程序 API

3.1 API 使用说明

3.2 常用 API

3.3 快速查找技巧

第 4 章 小程序重点知识汇总

4.1 小程序本地存储

语法说明

注意事项  

官网对应地址

4.2 小程序前后端交互

语法说明

相关配置

注意事项

官网对应地址

4.3 小程序页面通信

路由传参

消息订阅发布

eventChannel 事件通道

4.4 小程序自定义组件 

创建组件

使用组件

4.5 小程序使用 npm 包

初始化 package.json

勾选允许使用 npm

下载 npm 包

构建 npm

4.6 小程序获取用户基本信息

授权之后获取

4.7 小程序获取用户唯一标识(openId)

官网图解

获取流程

获取接口地址

4.8 小程序分包流程

为什么要分包

分包形式

常规分包

 独立分包

分包预下载

官网对应地址

4.9 小程序转发分享

分享实现

自定义分享内容

设置体验权限

 文章来源地址https://www.toymoban.com/news/detail-840422.html


第 1 章 小程序特点

1.1 小程序特点概述

1. 没有 DOM
2. 组件化开发: 具备特定功能效果的代码集合
3. 体积小,单个压缩包体积不能大于 2M ,否则无法上线
4. 小程序的四个重要的文件
a) *.js
b) *.wxml ---> view 结构 ----> html
c) *.wxss ---> view 样式 -----> css
d) *. json ----> view 数据 -----> json 文件
5. 小程序适配方案 : rpx (responsive pixel 响应式像素单位 )
a) 小程序适配单位: rpx
b) 规定任何屏幕下宽度为 750rpx
c) 小程序会根据屏幕的宽度不同自动计算 rpx 值的大小
d) Iphone6 下: 1rpx = 1 物理像素 = 0.5px
微信开发者工具后端,微信小程序,微信小程序,小程序

 

1.2 小程序配置

全局配置: app.json

1. 作用: 用于为整个应用进行选项设置
2. 链接:https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app. html

3. 配图:

微信开发者工具后端,微信小程序,微信小程序,小程序

页面配置: 页面名称.json

1. 作用 : 用于为指定的页面进行配置
2. 链接 : https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app. html
3. 注意事项 : 页面配置的优先级高于全局配置
4. 配图 :
微信开发者工具后端,微信小程序,微信小程序,小程序

 

sitemap 配置: sitemap.json

1. 作用:用于被微信搜索爬取页面
2. 链接 :https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/app. html
3. 配图 :
微信开发者工具后端,微信小程序,微信小程序,小程序

 

1.3 小程序框架接口

App

1. 全局 app.js 中执行 App()
2. 生成当前应用的实例对象
3. getApp() 获取全局应用实例

Page

1. 页面 .js 中执行 Page()
2. 生成当前页面的实例
3. 通过 getCurrentPages 获取页面实例

第 2 章 wxml 语法

 2.1 数据绑定

初始化数据

页面 .js data 选项中
微信开发者工具后端,微信小程序,微信小程序,小程序

 

使用数据

1. 模板结构中使用双大括号 {{message}}
2. 注意事项 : 小程序中为单项数据流 model ---> view
微信开发者工具后端,微信小程序,微信小程序,小程序

修改数据

微信开发者工具后端,微信小程序,微信小程序,小程序 

 

2.2 事件绑定

事件分类

1) 冒泡事件
a) 定义:冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
b) 冒泡事件列表: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html
2) 非冒泡事件
a) 定义:当一个组件上的事件被触发后,该事件不会向父节点传递。
b) 非冒泡事件:表单事件和自定义事件通常是非冒泡事件
https://mp.weixin.qq.com/debug/wxadoc/dev/framework/view/wxml/event.html

绑定事件

1. bind 绑定: 事件绑定不会阻止冒泡事件向上冒泡
<view bindtap="handleTap" class='start_container'>
 <text class='start'>开启小程序之旅</text>
</view>
2. catch 绑定 : 事件绑定可以阻止冒泡事件向上冒泡
<view catchtap="handleTap" class='start_container'>
 <text class='start'>开启小程序之旅</text>
</view>

向事件对象传参

1. 语法: data-key=value
微信开发者工具后端,微信小程序,微信小程序,小程序

 2. 获取: event.target.dataset.key || event.currentTarget.dataset.key

微信开发者工具后端,微信小程序,微信小程序,小程序

3. Event.target 和 event.currentTarget 的区别

a) Event.target 是触发事件的对象,但不一样是绑定事件的对象,如: 事件委托, 冒泡

b) currentTarget 触发时间的对象一定是绑定事件的对象, 没有事件委托

2.3 列表渲染

语法说明

1. wx:for=’{{arr}}’
2. wx:key=’{{ 唯一值 }}’

注意事项

1. 默认的个体 : item
2. 默认的下标 : index
3. 自定义个体变量名称: wx:for-item=’myItem’
4. 自定义下标变量名称: wx:for-index=’myIndex’

2.4 条件渲染

语法说明

1. wx:if=’ 条件
2. wx:elif=’ 条件
3. wx:else
微信开发者工具后端,微信小程序,微信小程序,小程序

wx:if VS hidden  

1. hidden 用法 : <view hidden=’{{true}}’ ></view>
2. 区别: wx:if 是遇 true 显示,hidden 是遇 false 显示。 wx:if 在隐藏的时候不渲染,而 hidden 在隐藏时仍然渲染,只是不呈现。

2.5 模板使用

定义模板

微信开发者工具后端,微信小程序,微信小程序,小程序

 引入模板

1. 引入模板结构 : <import src=’ 模板结构相对路径 ’ />
2. 引入模板样式 : @Import ‘ 模板样式路径

使用模板

微信开发者工具后端,微信小程序,微信小程序,小程序

 

向模板导入数据并使用数据

微信开发者工具后端,微信小程序,微信小程序,小程序

 微信开发者工具后端,微信小程序,微信小程序,小程序

 

2.6 生命周期

对应阶段说明

1. onLoad(Object query)
a) 页面加载时触发。一个页面只会调用一次,可以在 onLoad 的参数中获取打开
当前页面路径中的参数。
b) 参数:
名称     类型                    说明
query  Object     打开当前页面路径中的参数
2. onShow()
a) 页面显示 / 切入前台时触发
b) 会执行多次
3. onReady()
a) 页面初次渲染完成时触发。一个页面只会调用一次,代表页面已经准备妥当,
可以和视图层进行交互。
4. onHide()
a) 页面隐藏 / 切入后台时触发。
wx.navigateTo 或底部 tab 切换到其他页面,小 程序切入后台等。
5. onUnload()
a) 页面卸载时触发。如 wx.redirectTo wx.navigateBack 到其他页面时。

官网图示说明

https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page-life-cycle. html

第 3 章 小程序 API

3.1 API 使用说明

1. 小程序提供了很多实用的方法供开发者使用
2. 小程序全局对象是 : wx
3. 所有的 API 都保存在 wx 对象中
微信开发者工具后端,微信小程序,微信小程序,小程序

 

3.2 常用 API

1. 界面交互
a) 显示消息提示框 : wx.showToast()
b) 显示消息加载框 : wx.showLoading()
c) 关闭消息提示框 : wx.hideToast()
d) 关闭消息加载框 : wx.hideLoading()
2. 路由跳转
a) wx.navigateTo()
b) wx.redirectTo()
c) wx.switchTab()
3. 网络请求
a) wx.request()
4. 本地存储
a) wx.setStorage()
b) wx.setStorageSync()
c) wx.getStorage()
d) wx.getStorageSync()
5. 媒体
a) wx.getBackgroundAudioManager()
b) wx.playVoice()

3.3 快速查找技巧

1. 小程序的初学者可能对于小程序的官网的众多内容一时毫无头绪,无从下手不知道从哪
来找想要的内容
2. 当在小程序中想要实现某一种布局,查看:组件
3. 当在小程序中想要实现某一个功能,查看 : API
4. 当在小程序中想要进行某一个配置或者某一种页面语法,查看 : 框架 + 指南
5. 查看小程序官网的时候要细心,最好是将要使用的 API 的相关内容看完整,因为 API
配置及限制较多

第 4 章 小程序重点知识汇总

4.1 小程序本地存储

语法说明

1. 存入数据
a) wx.setStorage() 异步
b) wx.setStorageSync() 同步
微信开发者工具后端,微信小程序,微信小程序,小程序

 

2. 读取数据
a) wx.getStorage() 异步
b) wx.getStorageSync() 同步
微信开发者工具后端,微信小程序,微信小程序,小程序

 

3. 删除数据
a) wx.removeStorage() 异步
b) wx.removeStroageSync() 同步
微信开发者工具后端,微信小程序,微信小程序,小程序

 

4. 清空数据
a) wx.clearStorage() 异步
b) wx.clearStorageSync() 同步
微信开发者工具后端,微信小程序,微信小程序,小程序

注意事项  

1. 除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用
2. 单个 key 允许存储的最大数据长度为 1MB
3. 所有数据存储上限为 10MB

官网对应地址

https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html

4.2 小程序前后端交互

语法说明

1. wx.request()

微信开发者工具后端,微信小程序,微信小程序,小程序

 

相关配置

1. 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信
2. 服务器域名请在 「小程序后台 - 开发 - 开发设置 - 服务器域名」 中进行配置
3. 默认超时时间和最大超时时间都是 60s
4. 超时时间可以在 app.json 中通过 networktimeout 配置

注意事项

1. 小程序为了安全起见只支持 Https 请求
2. wx.request 最大并发限制 10

官网对应地址

https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorage.html

4.3 小程序页面通信

路由传参

1. 传参方式
a) 路由地址中 + query 传参数
b) 示例: url?a=123
2. 获取参数
a) 跳转目标页面的 onLoad 函数中的 options 实参中获取
微信开发者工具后端,微信小程序,微信小程序,小程序

 

消息订阅发布

1. 使用第三方库 : pubsub-js
2. 安装 : npm install pubsub-js
3. 使用:
a) Import PubSub from ‘pubsub-js’
b) 订阅消息 : PubSub.subscribe(‘eventName’, callback)
c) 发布消息 : PubSub.publish(‘eventName’, data)
d) 取消订阅 : PubSub.unsubscribe(‘eventName’)

eventChannel 事件通道

1. 订阅事件
a) wx.navigateTo() 跳转的时候在 events 选项中定义事件名及事件对应的回调
微信开发者工具后端,微信小程序,微信小程序,小程序

 

2. 获取事件总线对象
a)
目标页面中通过 : 实例 .getOpenerEventChannel()
b) 示例 : const eventChannel = this.getOpenerEventChannel()
3. 触发事件
a) eventChannel.emit(‘ 事件名 ’, data)
微信开发者工具后端,微信小程序,微信小程序,小程序

4.4 小程序自定义组件 

创建组件

1. 开发工具中右键新建组件
2. 组件对应的 json 文件中设置 : component: true
微信开发者工具后端,微信小程序,微信小程序,小程序

 

使用组件

1. 使用组件的页面的 json 文件中注册使用组件
微信开发者工具后端,微信小程序,微信小程序,小程序

 

4.5 小程序使用 npm 包

初始化 package.json

npm init

勾选允许使用 npm

当前最新版本微信开发者工具不需要

微信开发者工具后端,微信小程序,微信小程序,小程序

 

下载 npm

npm install packageName

构建 npm

1. 开发工具 ---> 工具 ---> 构建 npm
2. 会将 node_modules 中的包打包到 miniprogram_npm

4.6 小程序获取用户基本信息

1. Button 组件设置 open-type 属性为 getUserInfo
2. <button open-type=’getUserInfo’></button>
3. 设置后首次登陆点击 button 可以弹出授权窗口
4. 注意: 授权的动作只发生一次,除非清除缓存,点击 butotn 授权一次之后再点击
失效,不会弹出授权窗口
5. 官网对应地址 https://developers.weixin.qq.com/miniprogram/dev/component/button.html

授权之后获取

1. wx.getUserInfo()
2. 官网对应地址 :https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUse rInfo.html
微信开发者工具后端,微信小程序,微信小程序,小程序

 

4.7 小程序获取用户唯一标识(openId)

官网图解

微信开发者工具后端,微信小程序,微信小程序,小程序

 

获取流程

1. wx.login()
微信开发者工具后端,微信小程序,微信小程序,小程序

 

2. 发送 code 给服务器端

3. 服务器端发送请求携带参数(code, appSecret, appId)给微信服务器获取 openId

a) 接口地址 :
4. appSecret, appId 在小程序首页获取
微信开发者工具后端,微信小程序,微信小程序,小程序

 5. 服务器获取 openId 后进行加密返回给前端

获取接口地址

请求方法: GET
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECR
ET&js_code=JSCODE&grant_type=authorization_code

4.8 小程序分包流程

为什么要分包

1. 小程序要求压缩包体积不能大于 2M ,否则无法发布
2. 实际开发中小程序体积如果大于 2M 就需要使用分包机制进行发布上传
3. 分包后可解决 2M 限制,并且能分包加载内容,提高性能
4. 分包后单个包的体积不能大于 2M
5. 分包后所有包的体积不能大于 16M

分包形式

1. 常规分包
2. 独立分包
3. 分包预下载

常规分包

1. 开发者通过在 app.json subpackages 字段声明项目分包结构
2. 特点:
a) 加载小程序的时候先加载主包,当需要访问分包的页面时候才加载分包内容
b) 分包的页面可以访问主包的文件,数据,图片等资源
c) 主包:
i.
主包来源: 除了分包以外的内容都会被打包到主包中
ii.
通常放置启动页 /tabBar 页面
微信开发者工具后端,微信小程序,微信小程序,小程序

 微信开发者工具后端,微信小程序,微信小程序,小程序

 微信开发者工具后端,微信小程序,微信小程序,小程序

 独立分包

1. 设置 independent true
2. 特点 :
a) 独立分包可单独访问分包的内容,不需要下载主包
b) 独立分包不能依赖主包或者其他包的内容
3. 使用场景
a) 通常某些页面和当前小程序的其他页面关联不大的时候可进行独立分包
b) 如:临时加的广告页 || 活动页
微信开发者工具后端,微信小程序,微信小程序,小程序

 

分包预下载

1. 配置
a) app.json 中设置 preloadRule 选项
b) key( 页面路径 ): {packages: [ 预下载的包名 || 预下载的包的根路径 ])}
微信开发者工具后端,微信小程序,微信小程序,小程序

微信开发者工具后端,微信小程序,微信小程序,小程序 

2. 特点 :
a) 在加载当前包的时候可以设置预下载其他的包
b) 缩短用户等待时间,提高用户体验

官网对应地址

https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages.html

4.9 小程序转发分享

分享实现

1. Button 组件设置 open-type share
2. <button open-type=’share’ ></button>

自定义分享内容

1. 生命周期回调中 onShareAppMessage 回调中 return 对象设置自定义内容
微信开发者工具后端,微信小程序,微信小程序,小程序

 

设置体验权限

1. 开发阶段分享给微信好友,默认没有体验权限,无法打开分享小程序,需要在开发
页面设置
2. 最多添加 15 个微信好友

 

到了这里,关于微信小程序开发前后端交互快速入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【uniapp】uniapp微信小程序开发:启动微信开发者工具提示no such file or directory错误...

    当使用uniapp运行微信小程序模拟的时候,遇到这样的错误: #initialize-error: Error: ENOENT: no such file or directory  开启安全服务端口

    2024年02月16日
    浏览(35)
  • 快速上手微信小程序(纯原生)基于微信开发者工具+云开发

    最近开发一个小程序。因为体量实在不大,两张表,几个接口。便打算写原生的代码。没有使用uniapp等框架。记录一下一个小程序从搭建到审核发布的那些坑和经验做为学习笔记。 几个网站请收藏 你的小程序需要开发工具: 保姆级传送门 你的小程序需要一个身份证: 微信公

    2024年02月10日
    浏览(49)
  • 微信小程序 ---在Vscode上编辑,微信开发者工具上预览,快速上手

    成功 导入一个已经在开发中项目 设置高亮 拷贝到 settings.json 重启 vscode 打开 wxml 文件 观察 有没有高亮 安装小程序开发插件 全局配置 app.json pages 字段 只能在微信开发者工具中 编辑 pages字段,按下保存 才生效!!! pages 快速创建页面的时候 在里面创建即可 作用 : 快速创

    2024年02月01日
    浏览(62)
  • 小程序开发--开发者工具的插件推荐

    写在前面: 用官方的开发者工具真的是,emm不是很好用。加上这些插件可以帮助更加舒服的进行开发。除了wxml,建议其他的都可以安装。 这个开发者工具感觉是嵌套了vscode。安装插件、命令什么的都和vscode一样。 安装步骤: 1.在vscode里面安装插件 2.打开插件目录 3.安装,这

    2024年02月09日
    浏览(54)
  • 【智能交互】OPPO接入小布语音技能通关教程:个人开发者实现接口调用

    适用人群:本教程适合大赛接入小布语音技能的同学以及初次使用小布助手的开发者 本篇文章是博主弄了多次测试才勉强弄明白的,OPPO的开发文档和没有没啥区别 很多人会问:“为啥有更成熟的其他语音技能平台放着不用?” 答:“因为我在参加的比赛是由oppo主办方举办

    2024年02月16日
    浏览(144)
  • 微信小程序前后端开发快速入门(完结篇)

    这篇是微信小程序前后端快速入门完结篇了,今天利用之前学习过的所有知识做一个新的项目「群登记助手v1.0」小程序。 整体技术架构:小程序原生前端+小程序云开发。 经历了前面教程的学习,大家有了一定的基础,所以本次分享重心主要是带着大家理清楚逻辑相关的云开

    2024年02月12日
    浏览(31)
  • 🔥🔥Java开发者的Python快速进修指南:函数基础

    话不多说,今天我们要介绍的是函数。本系列文章追求短而精,今天我们将重点讨论函数以及与Java方法的区别。与Java方法不同,函数不需要像Java方法一样讲究修饰符等其他特性,它只需要使用\\\"def\\\"进行声明。另外,函数的参数也与Java方法有所不同,Java方法中不存在默

    2024年02月05日
    浏览(50)
  • 🔥🔥Java开发者的Python快速进修指南:文件操作

    Python提供的文件操作相对于Java来说,确实简单方便许多。不仅操作简单,代码可读性也相对较高。然而,我们需要注意的不仅仅是文件操作的简单性,还有文件操作的各种模式。在Java中,我们并不经常使用像Python中那样的操作模式。 另外,我们还需要注意文件指针的移动。

    2024年02月05日
    浏览(59)
  • 快速尝鲜Oracle 23c免费开发者版,惊喜多多

    📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜😜😜 中国DBA联盟(ACDU)成员,目前服务于工业互联网 擅长主流Oracle、MySQL、PG、高斯及GP 运维开发,备份恢复,安装迁移,性能优化、

    2023年04月09日
    浏览(36)
  • 🔥🔥Java开发者的Python快速进修指南:函数进阶

    在上一篇文章中,我们讲解了函数最基础常见的用法,今天我想在这里简单地谈一下函数的其他用法。尽管这些用法可能不是非常常见,但我认为它们仍然值得介绍。因此,我将单独为它们开设一个章节,并探讨匿名函数和装饰器函数这两种特殊的用法。 在Python中,匿名函数

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包