小程序开发-7-访问api数据与ES6在小程序中的应用
访问API数据与ES6在小程序中的应用
看待组件的两种观点
组件复用
代码分离-(特别重要)
- 不能在一个页面写所有的代码,代码分离具有很强的可读性、可维护性
Blink Api 介绍与测试API
url前缀以bl.7yue.pro/v1开头
使用开发者key(appkey)访问API
- 在请求头的header里面携带appkey
- 将appkey做为请求参数
状态码和错误码
生命周期函数
小程序内部自己调用
名字是固定的
page({
data: {},
onLoad: function(option){},//监听页面加载,用于获取服务器数据
onReady: function(){},//监听初次渲染完成
onShow(){},//监听页面显示
onHide: function(),//监听页面隐藏
onUnload: function(){},//监听页面卸载
onPullDownRefresh: function(){},//监听用户下拉动作
onReachBottom: function(),//上拉触底事件的处理函数
onShareAppMessage: function(){}//分享操作函数
})
wx.request-4xx状态码不会执行fail
注意:服务器返回的数据都会是success,当网络中断时才会走fail
访问API获取数据
wx.request({
url: 'xxx',
header: {
appkey: 'xxx'
}
})
同步、异步与回调函数
小程序里面的request都是异步的,它的优势是性能很高,但调试编程都比较难
ES6箭头函数与this指代
success:(res)=>{
console.log(this.data.count);
}
let that = this;
...
success: function(){
console.log(that.data.count);
}
正确理解Promise
正确的使用场景:异步嵌套
ES6 const常量
配置文件一般用const定义
const config = 2;
config = 3;//报错
config.appkey = 1;//不报错,因为没有修改config的内存地址
ES6 Module export 与 import
在类里面定义方法的写法
import {config} from 'xxx';
class HTTP{
request(param){ }
}
export const config = { } 或
const config = {}
export {config}
HTTP类的封装与ES6 startsWith与异常处理
startsWith的用法
success: (res)=>{
let code = res.statusCode.toString();
if(code.startsWith('2')){ }else {
//错误处理
}
}
错误处理
const tips = {
1: '抱歉,出现一个错误'
1005: 'appkey无效',
3000: '期刊不存在'
}
class HTTP{
request(param){
...
}
_show_error(error_code){
if(!error_code){
error_code = 1;
}
wx.showToast({
title: tips[error_code],
icon: 'none',
duration: 2000
})
}
}
小程序开发-7-访问api数据与ES6在小程序中的应用的更多相关文章
- 支付宝小程序开发——获取位置API没有城市区号的最佳处理方案
前言: 需要对城市区号进行判断,但是支付宝小程序提供的my.getLocation() API返回的数据中只有6位的城市行政代码,诸如:深圳(440300),并没有区号(0755),那么怎么办呢? 需 ...
- 小程序开发总结一:mpvue框架及与小程序原生的混搭开发
mpvue-native:小程序原生和mpvue代码共存 问题描述 mpvue和wepy等框架是在小程序出来一段时间之后才开始有的,所以会出现的问题有:需要兼容已有的老项目,有些场景对小程序的兼容要求 ...
- Facebook再现丑闻,约100位应用程序开发人员偷看用户数据
Facebook今天披露了另一起安全事件,承认大约100名应用程序开发人员可能不正确地访问了某些Facebook组中的用户数据,包括他们的姓名和个人资料图片. 在周二发布的博客文章中,Facebook ...
- 【Abode Air程序开发】移动设备、桌面和浏览器应用程序开发的差异
移动设备.桌面和浏览器应用程序开发的差异 在移动设备应用程序中使用 Spark 和 MX 组件的限制 移动设备应用程序在性能方面的注意事项 浏览器 将应用程序部署为 SWF 文件,以用于在浏览器中运 ...
- 为小程序开发创建本地mock数据服务器
开发时使用easy-mock的服务,不是大厂就不是大厂,实在恶心,每天都会有卡的这么一段时间 于是,自己建个本地mock服务算了,想使用express 但是必须把json数据里面的不同对象,分配到不同 ...
- 微信小程序开发-易源API的调用
起因:在开发一款旅游类微信小程序时,需要接入大量的景点信息,此时可以选择自己新建数据库导入数据并读取,但是对于我来说,因为只有一个人,数据库还涉及到需要维护方面,选择调用已有API. 过程:首先查阅微 ...
- 微信小程序开发3之保存数据及页面跳转
第一 保存本地数据 1.异步保存本地数据 wx.setStorage({ key:keyStr, data:dataStr, success: function(e){}, fail: functi ...
- python web开发-flask访问请求数据request
Request对象在web应用的开发中是一个非常重要的对象,主要用来获取用户发来的请求数据. 常用属性参考:http://docs.jinkan.org/docs/flask/api.html#fla ...
- AIR 程序开发系列 之五 保存数据的几种方式
Local SharedObject 这种方法比较简单方便的保存少的数据到到设备中.你不用自己去管理这些数据,设备会自动管理他. SharedObject 在 flash.net 包中,继承自Even ...
随机推荐
- Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
严重: StandardWrapper.Throwableorg.springframework.beans.factory.BeanCreationException: Error creating ...
- IEEP-网络实施-项目交付流程
1.项目交付流程 1.1 定义 项目交付流程规定了对项目实施的管理和作业控制要求,保证了工程项目实施按照规定的程序进行 1.2 重要性 1.2.1提高客户满意度 1.2.2 提高工程效率,节约成本 1 ...
- mysql修改管理员密码
mysql修改管理员密码杀掉mysql进程kill `cat /data/mysqldata/3306/mysql.pid`禁止连接禁止验证方式启动mysqlmysqld_safe --default ...
- python中的 if __name__ == “__main__”: 有什么用
https://stackoverflow.com/questions/419163/what-does-if-name-main-do# 问题: What does if name == " ...
- Git 版本管理器学习笔记
难点:使用 git revert <commit_id> 操作实现以退为进, git revert 不同于 git reset 它不会擦除"回退"之后的 commit_ ...
- python UI自动化实战记录二:请求接口数据并提取数据
该部分记录如何获取预期结果-接口响应数据,分成两步: 1 获取数据源接口数据 2 提取后续页面对比中要用到的数据 并且为了便于后续调用,将接口相关的都封装到ProjectApi类中. 新建python ...
- redux创建store,处理更新数据
如果我们想使用redux,第一步需要通过 yarn add redux 来安装redux 安装成功后就需要去创建一个store,怎么创建呢,非常的简单,在src下面创建一个文件夹,这个文件夹名字就叫做 ...
- 围绕react衍生出来的思考
优势一.声明式开发 首先react是声明式的开发方式,这个与之对应的是命令式开发方式,之前在用jquery写代码的时候,都是直接来操作dom,直接操作dom的这种编程方式,我们把他叫做命令式的编程,也 ...
- 2018中国大学生程序设计竞赛 - 网络选拔赛 1001 - Buy and Resell 【优先队列维护最小堆+贪心】
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6438 Buy and Resell Time Limit: 2000/1000 MS (Java/O ...
- 2018.12.14 Mac的Matlab2018a软件及其安装步骤
软件百度云链接:https://pan.baidu.com/s/1q3EO5up-1YuAQ4gEi7sTwQ 密码:p6mf MATLAB R2018a for Mac破解说明 1.MATLAB R ...