️ 微信小程序专栏:小程序系统API调用
个人简介:一个不甘平庸的平凡人
✨ 个人主页:CoderHing的个人主页
格言: ☀️ 路漫漫其修远兮,吾将上下而求索☀️
你的一键三连是我更新的最大动力❤️
目录
一、网络请求API和封装
网络请求 – API参数
网络请求 – API使用
网络请求 – API封装
网络请求域名配置
二、展示弹窗和页面分享
展示弹窗效果
分享功能
三、设备信息和位置信息
获取设备信息
获取位置信息
四、小程序Storage存储
Storage存储
五、页面跳转和数据传递
界面跳转的方式
页面跳转 - navigateTo
页面返回 - navigateBack
页面跳转 - 数据传递(一)
页面跳转 - 数据传递(二)
界面跳转的方式
六、小程序登录流程演练
小程序登录解析
小程序用户登录的流程
一、网络请求API和封装
网络请求 – API参数
- 微信提供了专属的API接口,用于网络请求: wx.request
网络请求 – API使用
![微信小程序 | 小程序系统API调用_第2张图片](http://img.e-com-net.com/image/info8/91bd2a39bb464c4b82d07a0ee1869e07.jpg)
网络请求 – API封装
封装类 ![微信小程序 | 小程序系统API调用_第3张图片](http://img.e-com-net.com/image/info8/4f15854ec1c744a5bf233542862aea55.jpg) |
封装函数 ![微信小程序 | 小程序系统API调用_第4张图片](http://img.e-com-net.com/image/info8/272f2a3dca7a46a0a6d5b03ba6740355.jpg) |
网络请求域名配置
- 每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信.
- 小程序登录后台 – 开发管理 – 开发设置 – 服务器域名
- 服务器域名请在 「小程序后台 - 开发 - 开发设置 - 服务器域名」 中进行配置,配置时需要注意:
- 域名只支持 https (wx.request、wx.uploadFile、wx.downloadFile) 和 wss (wx.connectSocket) 协议
- 域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost
- 可以配置端口,如 https://myserver.com:8080.但是配置后只能向 https://myserver.com:8080 发起请求.如果向https://myserver.com、https://myserver.com:9091 等 URL 请求则会失败
- 如果不配置端口.如 https://myserver.com,那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以.如果 向 https://myserver.com:443 请求则会失败
- 出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关 API 也不能在小程序内调用..开发者应将 AppSecret 保存到后台服务器中,通过服务器使用 getAccessToken 接口获取 access_token,并调用相关 API.
二、展示弹窗和页面分享
展示弹窗效果
- 小程序中展示弹窗有四种方式: showToast、showModal、showLoading、showActionSheet
分享功能
- 分享是小程序扩散的一种重要方式,它有两种分享方式:
- 当我们转发给好友一个小程序时,通常小程序中会显示一些信息:
- 如何决定这些信息的展示呢?通过 onShareAppMessage
- 监听用户点击页面内 转发按钮(button 组件 open-type="share")或右上角菜单“转发”按钮的行为,并自定义转发内容
- 此事件处理函数需要 return 一个 Object,用于自定义转发内容
![微信小程序 | 小程序系统API调用_第14张图片](http://img.e-com-net.com/image/info8/6d74c560b5354bb2aba8b721a2e1abb9.jpg)
三、设备信息和位置信息
获取设备信息
- 在开发中,需要经常获取当前设备的信息,用于收集信息或者进行一些适配
- 小程序提供了一个API: wx:getSystemInfo()
![微信小程序 | 小程序系统API调用_第15张图片](http://img.e-com-net.com/image/info8/d895ac39466148bd9a326b453cb5e502.jpg)
![微信小程序 | 小程序系统API调用_第16张图片](http://img.e-com-net.com/image/info8/1c9d07700e3641e383efc6c56de4014b.jpg)
获取位置信息
- 开发中我们需要经常获取用户的位置信息.以方便给用户提供相关的服务
在app.json中配置 ![微信小程序 | 小程序系统API调用_第17张图片](http://img.e-com-net.com/image/info8/c2acc093dfa04e1f9a4d2f68f861ca43.jpg) |
![微信小程序 | 小程序系统API调用_第18张图片](http://img.e-com-net.com/image/info8/8e6e923afeb944fdb20161227449d9fd.jpg) |
- 对于用户的关键信息,需要获取用户的授权后才能获得:
![微信小程序 | 小程序系统API调用_第19张图片](http://img.e-com-net.com/image/info8/fe50cba3c01a43cc8866caa3a7d53d0f.jpg)
四、小程序Storage存储
Storage存储
- 在开发中,我们需要将一部分数据存储在本地:比如token 用户信息等
- 对比之前我们需要存 需要先JSON.stringfiy 之后取出来得 json.parse转回来
![微信小程序 | 小程序系统API调用_第20张图片](http://img.e-com-net.com/image/info8/85776fb09add440ab435d37df02f73e2.jpg)
![微信小程序 | 小程序系统API调用_第21张图片](http://img.e-com-net.com/image/info8/46001fdd9afd48fb9da95c5d0b00d7f5.jpg)
五、页面跳转和数据传递
界面跳转的方式
- 界面的跳转有两种方式:通过navigator组件 和 通过wx的API跳转
![微信小程序 | 小程序系统API调用_第22张图片](http://img.e-com-net.com/image/info8/36e6d7eaf47d4983adb7507bb53280b3.jpg)
页面跳转 - navigateTo
![微信小程序 | 小程序系统API调用_第23张图片](http://img.e-com-net.com/image/info8/07e4c54495144adbbff9847e05638d6f.jpg)
页面返回 - navigateBack
![微信小程序 | 小程序系统API调用_第25张图片](http://img.e-com-net.com/image/info8/bafe78e78af34801b730fbb648d2d087.jpg)
页面跳转 - 数据传递(一)
- 在界面跳转过程中 需要相互传递一些数据,应该如何完成?
- 首页 => 详情页 : 使用URL中的query字段
- 详情页 => 首页: 在详情页内部拿到首页的页面对象,直接修改数据
![微信小程序 | 小程序系统API调用_第26张图片](http://img.e-com-net.com/image/info8/429505e3dd664b42b957ac80826475ae.jpg)
这里给大家两种写法:
页面跳转 - 数据传递(二)
- 前面一种数据的传递方式只能通过上面两张图的方式来进行,在现在的小程序已经开始支持events参数,可以用于数据传递
![](http://img.e-com-net.com/image/info8/5367823d8d714ccda9af22dd1f087920.jpg)
界面跳转的方式
- navigator组件主要就是用于界面的跳转的,也可以跳转到其他小程序中:
![微信小程序 | 小程序系统API调用_第30张图片](http://img.e-com-net.com/image/info8/758d4754a5a54e0fbea928366321339d.jpg)
六、小程序登录流程演练
小程序登录解析
- openid和unionid(在微信中,判断 是不是同一个用户 登录不同的产品)
小程序用户登录的流程
![微信小程序 | 小程序系统API调用_第31张图片](http://img.e-com-net.com/image/info8/d8660bcce37946d283e0f35a35198d5a.jpg)