微信小程序之接口验证问题与处理onLaunch与onload异步同步问题

为了微信小程序接口的安全,我们需要通过一种方法,使得每次请求都需要验证一个key.但是因为异步处理的问题,我们需要先获得这个key存储后才进入下一步

1、获取开发服务器生成的key

//app.js
App({

    userLogin:function()
    {
      var that = this;
      //定义promise方法
      return new Promise(function (resolve, reject)
        {
        // that.getUserLocation(that,null);
        /*获取当前用户的地理位置 */
        wx.login({
          success(res) {
            if (res.code) {
              //发起网络请求
              wx.request({
                url: ‘***/index/zzcxe/getuserinfo‘,
                data: {
                  code: res.code
                },
                success: res => {
                  console.log(res.data);
                  if (res.data.openid) {
                    wx.setStorageSync(‘open_id‘, res.data.openid);
                   /*session_key为服务器通过code及其它组合成生的一个token*/
                    wx.setStorageSync(‘session_key‘, res.data.session_key);
                  }
                }
              })
            } else {
              console.log(‘登录失败!‘ + res.errMsg)
            }
            resolve(res);
          },fail:function()
          {
            reject();
          }
        });
      });

    },

2、在页面中使用:

//获取应用实例
const app = getApp();

onLoad: function () {
   var that=this;
   app.userLogin().then(res=>{console.log(‘sucess‘);});

3、在请求是提前key

wx.request({
    url: webUrl + model.url,
    data: model.param,
    header: {
      "Content-Type": "application/json",
      "token": wx.getStorageSync(‘session_key‘)
    },

原文地址:https://www.cnblogs.com/fogwang/p/12641132.html

时间: 2024-11-09 17:49:39

微信小程序之接口验证问题与处理onLaunch与onload异步同步问题的相关文章

微信小程序API接口

微信小程序API接口 wx.request(OBJECT)   wx.request发起的是 HTTPS 请求. OBJECT参数说明: url->开发者服务器接口地址->String; data->请求的参数->Object.String; header->设置请求的 header , header 中不能设置 Referer->Object; method->默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE,

微信小程序之----接口调用方式

最近开发了一个微信小程序版的任务管理系统,在向Java后台发送接口时遇到了一些问题,在这里做一个简单的总结. 官方接口 官方给出的接口叫做wx.request,请求方式比较简单,下面是官网给出的请求实例. wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 data: { x: '' , y: '' }, header: { 'content-type': 'application/json' }, success: function(res) { co

微信小程序HTTP接口请求封装

1.方法封装(新建文件夹util,工具文件,在文件夹下创建request.js文件,用于对方法封装)request.js: var app = getApp(); //项目URL相同部分,减轻代码量,同时方便项目迁移 //这里因为我是本地调试,所以host不规范,实际上应该是你备案的域名信息 var host = 'http://localhost:8081/demo/'; /** * POST请求, * URL:接口 * postData:参数,json类型 * doSuccess:成功的回调

?微信小程序?----支付接口

==文档== 流程搞清楚就行  我就直接丢代码了 ==文档== # 支付接口 class Pay(APIView): def post(self, request, *args, **kwargs): login_key = request.data.get('login_key') if not login_key: return Response({'status': 400, 'msg': '参数错误'}) data_list = cache.get(login_key) if not d

使用php进行微信小程序图片安全验证

想用到微信公众平台的图片识别系统,结果报错{"errcode":41005,"errmsg":"media data missing hint: [xScHza03164711]"}" 代码如下: <?php   class getImgSecCheck{function get_data(){    $url = "https://api.weixin.qq.com/wxa/img_sec_check?access_t

微信小程序学习指南

作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 微信小程序正式公测, 张小龙全面阐述小程序,定档1月9日上线(附90分钟演讲全文) ... 前言:新人第一坑,跳坑指南:修改后,必须保存:ctrl+S: 1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教

微信小程序正确的异步request请求,根据经纬度获取地理位置信息

微信小程序的所有request请求都是异步的,不支持同步.但是在请求时可能会耗费一定时间,这样的话在获取返回数据时可能方法还没有执行完就已经进行赋值操作了.我遇到的就是拿到的数据为undefined. 解决办法,使用回调函数,等操作完成后再更改原来的值. 贴代码:(这是根据经纬度获取地理位置的一个方法) function GetAddress(latitude, longtitude, callback, errorCallback) { var geturl = 'https://api.ma

微信小程序之模板消息推送

最近在用sanic框架写微信小程序,其中写了一个微信消息推送,还挺有意思的,写了个小demo 具体见官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/template-message/sendTemplateMessage.html 文档其实写的很详细清除了,包括返回数据的类型,报错信息 大致流程就是:调用微信小程序的接口,获取access_token,然后再调用发送模板信息的接口,发送消息 获取access_t

微信小程序支付代码asp源码下载

昨天晚上给朋友写了一个asp的微信小程序支付接口,我这朋友的小程序服务器端用的asp做的,以前没有支付,非让我给写一个支付,因为必须是asp来写,他不会,所以我就帮他写了,顺便还写了一个asp获取用户资料头像和微信名入库的代码,也是asp源码,数据库用的是mdb的格式,还可以比较好用,微信小程序用asp做服务器端估计很少,应该有朋友需要,下载这个代码:ly.ftphn.com/wxpay.rar ============================================= 互相学习