ivinwu / werequest Goto Github PK
View Code? Open in Web Editor NEW解决繁琐的小程序会话管理,一款自带登录态管理的网络请求组件。
License: MIT License
解决繁琐的小程序会话管理,一款自带登录态管理的网络请求组件。
License: MIT License
目前看session只支持通过data的方式传递
但实际很多情况下登录凭证是放在header和后端通信的
希望可以支持一下
在小程序中登录后,webview中如何同步登录态
目前weRequest
的promise写法设置了catchErr
时会对错误信息进行处理,开发者无法得到原始的错误信息
weRequest
catchErr
时的错误信息逻辑 break change现在默认是弹框,后续希望支持可配置
如果我只需要获取页面数据,不需要登录,怎样发送请求?
估计会出错吧
在有session的情况下,weRequest.login不执行回调,不会调起默认登录,参数doNotCheckSession配置true,false都一样。
嗨,很好的一个框架。
不过现在把 401 当做错误在处理,感觉这样处理会理会更妥当:如果收到 401,清理缓存 再次请求
公司业务需要UnionID来做,只能通过session_key,iv和encryptedData来解密,最佳实践是什么?
目前的问题是如果自己写封装,会造成前端团队的代码“不可维护”,所以现在选择使用这个库,但是因为缺少UnionID,反而是后端要在每次调用登录的时候根据AppID和OpenID来换UnionID,还需要额外的接口来做绑定AppID OpenID和UnionID,以及要在小程序的状态维护里多考虑一个UnionID的。能否考虑提供一个用getUserInfo来获取iv和encryptedData发到后端直接拿到UnionID的接口?
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 之中呢?
目前配置文件中的loginTrigger和successTrigger仅支持StatusCode200 res.data的条件,灵活性不够,大部分框架未授权返回401导致无法直接处理.
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回调进行处理。
如题,现在是默认通过 url query string 来传session的。没有找到配置到 header 里的选项。
期望可以配置成
header : {
'Authroization': JWT,
}
谢谢
cache能力目前只在回调模式下生效,需要考虑同步请求模式下,如果兼容和支持
如下代码,我想把 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会错乱。
我在开发自己的小程序,感觉这个项目很方便,非常感谢您们的贡献。我想了解一下如果用户还没有授权登录,可以自动弹出授权的页面吗,还是说这部分需要我来实现?
如果需要获取用户敏感信息如何处理??
请问weRequest这个webpack库框架是使用了什么地方的脚手架生成的?还是您手动编写的webpack框架,我觉着这个结构非常棒也想以后用这个模版编写,静待您的回答谢谢。
组件需根据使用方的习惯,可支持Promise和回调两种形式
如果在header中加入了session处理,data中再自动增加session字段,就多余了(有后端要求session放header)
可不可以,有选项关闭在data中自动增加session字段的处理
beforeSend(obj, session) { obj.header.session = session; return obj; },
感谢您的开源项目!
我有个疑问是,无论是使用POST还是GET请求,URL默认都会携带session值。请问是否有可用的参数来禁用这一行为?
在进行POST业务接口请求时,data参数中也包含了session信息,而这些信息在后端并非必需。
用的 jwt 认证,在请求中加入 header:
setHeader:{'Authorization':'Bearer '+session},
但是在 init 中,好像无法获取到 session,如果在 init 中不能这么做的话,setHeader 好像用处也不大啊,在 request 中也可以直接加入硬编码的 header。
登陆后,get请求强制把session附在query上,post请求强制把session附在body里不合理
wx.login获取code后,调用登录接口获取token存下来,然后调用其他接口token支持放在请求的header头吗?
mm_oauth: "{"session_key":"06c2c1b7e08765820020add44e23f52e","user_code":"is0vfmMpuhS07-2GbQ0IAd_kmxJDYLUnH6","machine_key":"050831c76f2ffaa71318b3a64f9051ec"}"
request接口不支持timeout、enableHttp2、enableQuic等入参
在代码中导入
import weRequest from 'we-request'
编辑器 报错 :找不到模块“we-request”或其相应的类型声明
请问是砸回事呢
cgi.yaml => cgi.js
暴露业务接口,直接入参,即可返回接口结果
这个init不能在主页做,因为有可能从分享界面进来的,所以不进主页
也许可以在
App({
onLaunch: ()
})
里call 这个init?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.