dio加入自定义contentType web服务器加入 url token参数
This commit is contained in:
@@ -211,7 +211,7 @@ class ShelfWebServer implements WebServer {
|
||||
addRouter(k, p[0], handler);
|
||||
continue;
|
||||
}
|
||||
addRouter(k, p[0], (req, [a, b, c, d, e, f]) async {
|
||||
addRouter(k, p[0], (Request req, [a, b, c, d, e, f]) async {
|
||||
//从request中获取token并解码传入
|
||||
bool auth = true;
|
||||
if (p.length >= 5) {
|
||||
@@ -223,7 +223,11 @@ class ShelfWebServer implements WebServer {
|
||||
|
||||
if (auth) {
|
||||
String? token = req.headers["token"];
|
||||
if (token == null) {
|
||||
token = req.url.queryParameters["token"];
|
||||
}
|
||||
bool check = true;
|
||||
String checkMsg = "token为空";
|
||||
if (tokenCheck != null) {
|
||||
//自定义token校验函数存在
|
||||
var checkResult = await tokenCheck!(token);
|
||||
@@ -241,7 +245,8 @@ class ShelfWebServer implements WebServer {
|
||||
check = true;
|
||||
} catch (e) {
|
||||
//jwt解码失败
|
||||
print(e);
|
||||
print("token: $token msg: $e");
|
||||
checkMsg = "身份认证失败";
|
||||
check = false;
|
||||
}
|
||||
} else {
|
||||
@@ -250,7 +255,7 @@ class ShelfWebServer implements WebServer {
|
||||
}
|
||||
if (!check) {
|
||||
response =
|
||||
Response.ok(jsonEncode({"code": -10000, "msg": "token为空"}));
|
||||
Response.ok(jsonEncode({"code": -10000, "msg": checkMsg}));
|
||||
return setResponseHeader(response, p[1].type);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user