//网络类

//封装网络请求

const ajax = (ajaxData, method) => {

wx.showLoading({

title: '加载中',

mask: true

});

console.log('use ajax', ajaxData.url)

return new Promise((resolve, reject) => wx.request({

url: ajaxData.url,

method: method || 'GET',

data: ajaxData.data,

success(e) {

// console.log('ajax',e);

if(e.data.retcode == 0) {

resolve(e)

wx.hideLoading();

} else {

wx.showToast({

title: e.data.message,

icon: 'none'

})

reject(e)

}

},

fail(e) {

wx.showLoading({

title: '网络错误'

})

}

}))

}

调用:

对应的JS页面头部引入

let util = require('../../utils/util')

var url = "https://api.map.baidu.com/geocoder/v2/";

var params = {

ak: "btdLALhz2PRv8iqW6oT95l6p", //免费去百度地图上申请一个

output: "json",

location: latitude + "," + longitude

}

util.ajax({

url,

data: params

}).then(res => {

console.log(res);

})

或者将数据交互和逻辑分离开来,需要用的时候再调用

var url = "https://api.map.baidu.com/geocoder/v2/";

var params = {

ak: "btdLALhz2PRv8iqW6oT95l6p", //免费去百度地图上申请一个

output: "json",

location: latitude + "," + longitude

}

let planAjax = util.ajax({

url,

data: params

})

planAjax.then(res => {

console.log(res);

})

//判断是否登录

const checkLogin = () => {

return new Promise((resolve, reject) => {

let token = wx.getStorageSync('token');

let userId = wx.getStorageSync('userId');

//验证token是否存在

if(token && userId) {

//验证token是否过期

ajax({

url: API + 'account/checktoken',

data: {

userId,

token

}

}).then(e => {

//未过期 开始执行业务逻辑

resolve();

}).catch(e => {

// 过期 清空本地所有存储 返回到登录页面

if(e.data.retcode == 99) {

wx.removeStorageSync('token');

wx.removeStorageSync('userId');

wx.reLaunch({

url: '../login/login'

})

}

})

} else {

// token 不存在 未登录过 返回到登录页面

// 执行清空 保证正确

wx.reLaunch({

url: '../login/login'

})

}

});

}

微信小程序与微信公众号同一用户登录问题

微信小程序与微信公众号同一用户登录问题 最近在做微信小程序与微信公众号登录合并的接口.整理相关资料以及个人认识的心得写了这篇文章与大家一起分享. 首先,简单说下我遇到的问题是我们的程序调用微信小程序得 ...

微信小程序使用场景延伸:扫码登录、扫码支付

微信小程序使用场景延伸:扫码登录.扫码支付 小程序最适合的使用场景有哪些?相比大家能列举出来很多,但这个场景,大家可能多数没想到_^ 笔者团队近期接到了一个PC项目:转转游戏租号PC官网,该项目要求在 ...

微信小程序,超能装的实例教程

序言 开始开发应用号之前,先看看官方公布的「小程序」教程吧!(以下内容来自微信官方公布的「小程序」开发指南) 本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果.这个小程序 ...

基于promise对小程序http请求方法封装

原因是我不想每次请求都复制粘贴那么长的请求地址,所以我把前边那一坨请求地址作为基础地址,只传后台给的路由就ok,而且,并不是每次请求都要显示正在加载,这对小程序体验很差,所以,我加了个形参,用来判断是 ...

超简单入门Vuex小示例

写在前面 本文旨在通过一个简单的例子,练习vuex的几个常用方法,使初学者以最快的速度跑起来一个vue + vuex的示例. 学习vuex需要你知道vue的一些基础知识和用法.相信点开本文的同学都具备 ...

浅析微信支付:微信支付简单介绍(小程序、公众号、App、H5)

本文是[浅析微信支付]系列文章的第二篇,主要讲解一下普通商户接入的支付方式以及其中的不同之处. 上篇文章讲了本系列的大纲,没有看过的朋友们可以看一下. 浅析微信支付:前篇大纲 微信支付是集成在微信客户 ...

2015.11.27初识java一集简单的java小程序

JAVA配置环境变量方法: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_ ...

Linux下简单C语言小程序的反汇编分析

韩洋原创作品转载请注明出处MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...

【原创】1、简单理解微信小程序

先看下网站的运行方式: 而小程序是这样: what?就这样?是的,就这样.那小程序官方提供的Wafer,还有Wafer2...想太多了,抛弃它们吧.不应当为了解决一个简单的旧问题而去整一个复杂的新问题 ...

随机推荐

一个线上运营着3000+人的游戏,因为我不小心一个DROP DATABASE,全没了。 怎么办??跟我HOLD住!!!

前言 今天下午3点,我按照惯例,打开游戏服务器,开新服部署嘛,游戏在腾讯开放平台,简单.闭着眼睛都OK.于是一轮子的复制黏贴拷贝,把服务器加起来,然后启动查看日志. ....突然发现不断的有Excep ...

linux 磁盘管理学习笔记

磁盘管理命令:fdisk df du fdisk #查看硬盘分区表 df #查看分区使用情况 du #查看文件占用空间情况lvdisplay #逻辑分区 [1] 李洋.df.du.fdisk:Linu ...

老式浏览器兼容HTML5和CSS3的问题

1.让老式浏览器支持HTML5   HTML5能为我们做的事儿很多,最为可口的就是语义化标签的应用,如果你已经在Chrome或者其他支持HTML5的浏览器上用过它的牛x,那这篇文章对你一定有用,因 ...

【原】Spark中Client源码分析(二)

继续前一篇的内容.前一篇内容为: Spark中Client源码分析(一)http://www.cnblogs.com/yourarebest/p/5313006.html DriverClient中的 ...

Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)

Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...

五、oracle 表的管理

一.表名和列名的命名规则1).必须以字母开头2).长度不能超过30个字符3).不能使用oracle的保留字4).只能使用如下字符 a-z,a-z,0-9,$,#等 二.数据类型1).字符类char 长 ...

关于CPU 架构与指令集的一些个人理解

关于CPU 架构与指令集的一些个人理解 (理解不一定正确,只是目前的理解) 1.一般所说的X86,是指基于Intel X86架构处理器的一套指令集,即X86指令集: 2.CPU的架构是最底层的,是处理 ...

Spring MVC 的国际化和本地化

国际化: i18n 本地化: l10n java.util.Locale 类表示一个语言区域.一个 Locale 对象包含 3 个主要元件:language.country.variant java. ...

android---笔记 AppContext extends Application

package com.fuda; import org.apache.http.client.CookieStore; import com.fuda.model.StudentInfoModel; ...

小程序公共封装ajax,超简单 Promise封装小程序ajax 超好用 以及封装登录相关推荐

  1. zblog小程序导航主题模板,简单好用小程序商城主题设置方法

    小程序现在非常的火爆,大家的手游内存是有限的,无需下载的小程序就能为大家提供和app相同的服务,非常的受欢迎.不过由于小程序数量太多,怎么才能顺利找到想要找到的小程序呢?小程序导航站就应运而生,如何做 ...

  2. cxfreeze打包pyqt5程序_基于PyQt5的简单RMSE计算小工具研究

    最近经常做地波测试,工作流程就不啰嗦了,就是把n个测量值和理论值进行比较,计算均方根误差(RMSE) 往年都是大冷天的先用手抄下来,一抄就是几百条,然后回去又填1遍excel慢慢算,纯粹体力活 趁着周 ...

  3. Windows Sysinternals Desktops v1.0 发布 - 超简单的虚拟桌面程序

    图形界面中的可切换桌面机制一直是Linuxer们的骄傲,但很明显,微软开发出了更好的程序. 强悍的Sysinternals团队发布了一个多桌面工具,它不但可以完成类似于Linux虚拟桌面这样的任务,还 ...

  4. 超简单的wf日记程序

    namespace MonthCalender     {             public partial class Form1 : Form             {     // 声明一 ...

  5. 【Python】超简单的华容道小游戏制作+保姆级讲解(附源码)

    前言 华容道游戏是一个历史悠久的经典游戏,玩法就是将已经打乱的数字重新调整顺序,使其成为正序排列 正好昨天一个朋友的python老师留下了这道华容道的题目,今天就来学习一下吧 注意!!! 以下内容不包 ...

  6. 网页爬虫(超超简单的一个小例子)

    (一) 目标:   在Uniprot中查询一系列基因编号(如图中第二列gene)对应的详细信息,基因编号以csv格式存储,输出的详细信息也存入csv中 (二) 思路:   查询了几个基因编号之后发现, ...

  7. vs怎么建java的控制台程序_像VS一样简单的打包“控制台”程序

    对于我一个不了解JAVA,没有相关生态圈的C#er, 自己要研究Scala真是困难重重,尤其在项目构建上真是感觉半瓶子醋难以入门. 一个VS控制台程序,build之后甚至不需要了解 ms build就 ...

  8. 50行以上c语言程序代码,C语言非常简单的字符统计程序50行

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 该程序用于实现linux系统中wc命令的最简单模式 wc 命令用于统计文件中字符信息. [xx@localhost 1.5]$ wc 01.c 02.c ...

  9. c语言定时开关程序,C语言写的简单的定时关机程序

    写一个定时关机的小程序,可以立即关闭计算机,也可以一段时间后关闭计算机. 这里主要考察system()命令. 代码实现: #include #include #include int main() { ...

最新文章

  1. 异步IO(协程,消息循环队列)
  2. SAP QM 执行事务代码QP01,系统报错 -Material type FOOD is not defined for task list type Q-
  3. python3 信号量和线程池 semaphore ThreadPollExector
  4. 使用python的eval()函数循环调用某些模块中的一些方法和属性
  5. Spring IOC和MVC基础知识
  6. 2020年日历_2020年《故宫日历》发布 纪念紫禁城建成六百年
  7. FILA之后又有Amer,安踏能成为“世界的安踏”吗?
  8. andorid 自定义seekbar
  9. MySQL——高阶语句(中)
  10. WCF三种通信模式(转)
  11. C#的未来:简化参数空值验证
  12. java中,在一个有序数组中插入元素,使得数组保持有序排列
  13. 中国移动国际英国数据中心正式启动
  14. 春考本科2018招计算机的学校,山东2018春季高考本科普通批一志愿院校投档情况统计表...
  15. 草根站长的创业路:说说这两年的创业经历
  16. Java实现常用的三种加密算法详解
  17. 替换class文件,重启Tomcat不生效
  18. 数据库--根据日期查询
  19. C++多线程匿名聊天室(控制台)
  20. Java春招和秋招的区别_国企招聘,春招与秋招有何区别?错过秋招我该怎么办?...

热门文章

  1. python字节流分割_python字节流处理
  2. python封面 老鼠_pygame老鼠过街-配音与封面版本
  3. pyton读取xlsx表格数据报错:xlrd.biffh.XLRDError: Excel xlsx file; not supported
  4. 基于javaweb+jsp的医院住院管理系统(JavaWeb JSP MySQL Servlet SSM SpringBoot Layui Ajax)
  5. Bootstrap使用及环境搭建详解
  6. mysql mklink_普及一下junction和mklink,让你的c盘空闲起来
  7. java jta事务_JTA -- Java分布式事务管理
  8. B站百万up主,分享软件测试学习宝典,数万测试人员3连(附系列学习视频)
  9. 关于疑问 - 求解答
  10. 【转】ConcurrentHashMap分段锁原理