Giter Site home page Giter Site logo

werequest's People

Contributors

cong-min avatar dlhandsome avatar evannalikeyou avatar gcaufy avatar godbasin avatar iuyes avatar ivinwu avatar mwindson avatar qiaoin avatar swen624 avatar xdyangxiaorong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

werequest's Issues

登录凭证不支持放在header

目前看session只支持通过data的方式传递
但实际很多情况下登录凭证是放在header和后端通信的
希望可以支持一下

Promise方式不对错误信息进行处理

问题

目前weRequest的promise写法设置了catchErr时会对错误信息进行处理,开发者无法得到原始的错误信息

建议

  1. 暂时采用回调的方式使用weRequest
  2. 修改promise在设置了catchErr时的错误信息逻辑 break change

无法强制登录

在有session的情况下,weRequest.login不执行回调,不会调起默认登录,参数doNotCheckSession配置true,false都一样。

建议支持 401 状态码

嗨,很好的一个框架。

不过现在把 401 当做错误在处理,感觉这样处理会理会更妥当:如果收到 401,清理缓存 再次请求

UnionID支持?

公司业务需要UnionID来做,只能通过session_key,iv和encryptedData来解密,最佳实践是什么?
目前的问题是如果自己写封装,会造成前端团队的代码“不可维护”,所以现在选择使用这个库,但是因为缺少UnionID,反而是后端要在每次调用登录的时候根据AppID和OpenID来换UnionID,还需要额外的接口来做绑定AppID OpenID和UnionID,以及要在小程序的状态维护里多考虑一个UnionID的。能否考虑提供一个用getUserInfo来获取iv和encryptedData发到后端直接拿到UnionID的接口?

mockJson问题

sdk uncaught third Error 
can't find module : ./../../mock.json 
Error: can't find module : ./../../mock.json

使用mockJson就会报上面的错误。

如何获取安装最新版本

NPM 官方仓库的 we-request 最新版本为 1.2.11

但是我看到 README 已经为 1.2.13 了,我该如何获得最新版本呢,除了离线下载之外。

因为我需要自定义 Header,所以需要升级版本。另外,我该如何把 SessionName 放入 Header 之中呢?

可以在init配置中支持StatusCode吗?

目前配置文件中的loginTrigger和successTrigger仅支持StatusCode200 res.data的条件,灵活性不够,大部分框架未授权返回401导致无法直接处理.

mock模式下complete回调没有处理

function mock(obj) {
    var res = {
        data: mockJson[obj.url]
    };
    if (successTrigger(res.data) && typeof obj.success == "function") {
        // 接口返回成功码
        obj.success(successData(res.data));
    } else {
        // 接口返回失败码
        fail(obj, res);
    }
}

实际使用时,mock模式下的complete回调没有生效。貌似mock模式下没有对complete回调进行处理。

cache缓存能力改善

  1. 当前 cache 是针对请求 url 进行的,但是其实接口数据很多时候与参数也相关,需要结合 url + data 的方式一起缓存。
  2. 缓存达到上限时,需要做过期清理,否则会导致报错。

第一次请求的时候,无法获取到 storage 中的 session

如下代码,我想把 storage 中存储的 session 值带入到 header 来做服务端鉴权:
weRequest.request({ url: 'order/detail', header: {'Authorization':'Bearer ' + wx.getStorageSync('session')}, data: { id: '107B7615E04AE64CFC10' }, success: function (data) { // 省略... } })
初次登录,weRequest.init会初始化,然后获取到了 session,存到 storage 中,但是在接下来的请求 order/detail 的时候,获取不到 storage 中的 session 值。
或许我的操作步骤不正确,应该怎么让他把 storage 中的 session 值带入到 header 中?

对于并发请求如何解决?

一个页面需要一开始同时需要发出三个异步请求,假如登录状态已经过期了,那么这三个请求都会去调用wx.login()去后台登录,然后session会错乱。

需要支持Promise

组件需根据使用方的习惯,可支持Promise和回调两种形式

功能需求:关闭在data中自动增加session字段

如果在header中加入了session处理,data中再自动增加session字段,就多余了(有后端要求session放header)
可不可以,有选项关闭在data中自动增加session字段的处理
beforeSend(obj, session) { obj.header.session = session; return obj; },

请问如何禁止session的值加上URL后面

感谢您的开源项目!
我有个疑问是,无论是使用POST还是GET请求,URL默认都会携带session值。请问是否有可用的参数来禁用这一行为?
在进行POST业务接口请求时,data参数中也包含了session信息,而这些信息在后端并非必需。

setHeader中怎么把 session 带进去呢?

用的 jwt 认证,在请求中加入 header:
setHeader:{'Authorization':'Bearer '+session},
但是在 init 中,好像无法获取到 session,如果在 init 中不能这么做的话,setHeader 好像用处也不大啊,在 request 中也可以直接加入硬编码的 header。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.