@kevisual/api 0.0.52 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/query-ai.js +16 -3
- package/dist/query-app.js +16 -3
- package/dist/query-config.js +14 -1
- package/dist/query-login-node.d.ts +340 -0
- package/dist/query-login-node.js +1374 -0
- package/dist/query-login.js +17 -1
- package/dist/query-mark.js +14 -1
- package/dist/query-proxy.js +134 -76
- package/dist/query-resources.js +1 -1
- package/dist/query-secret.js +14 -1
- package/dist/query-shop.js +16 -3
- package/dist/store-mark.js +13 -0
- package/package.json +7 -6
- package/query/query-login/login-node-cache.ts +50 -25
- package/query/query-login/query-login-node.ts +8 -3
- package/query/query-login/query-login.ts +3 -0
package/dist/query-login.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// node_modules
|
|
1
|
+
// node_modules/@kevisual/query/dist/query-browser.js
|
|
2
2
|
var isTextForContentType = (contentType) => {
|
|
3
3
|
if (!contentType)
|
|
4
4
|
return false;
|
|
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
|
|
|
118
118
|
|
|
119
119
|
class Query {
|
|
120
120
|
adapter;
|
|
121
|
+
baseURL;
|
|
121
122
|
url;
|
|
122
123
|
beforeRequest;
|
|
123
124
|
afterResponse;
|
|
@@ -134,6 +135,11 @@ class Query {
|
|
|
134
135
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
135
136
|
const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
|
|
136
137
|
this.url = opts?.url || defaultURL;
|
|
138
|
+
if (this.url.startsWith("http")) {
|
|
139
|
+
const urlObj = new URL(this.url);
|
|
140
|
+
this.baseURL = urlObj.origin;
|
|
141
|
+
}
|
|
142
|
+
this.baseURL = opts?.baseURL || this.baseURL;
|
|
137
143
|
this.headers = opts?.headers || {
|
|
138
144
|
"Content-Type": "application/json"
|
|
139
145
|
};
|
|
@@ -177,6 +183,13 @@ class Query {
|
|
|
177
183
|
timeout: _timeout,
|
|
178
184
|
...rest
|
|
179
185
|
};
|
|
186
|
+
const isStartsWithHttp = req.url.startsWith("http");
|
|
187
|
+
if (!isStartsWithHttp) {
|
|
188
|
+
if (this.baseURL) {
|
|
189
|
+
const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
|
|
190
|
+
req.url = baseURL + req.url;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
180
193
|
try {
|
|
181
194
|
if (_beforeRequest) {
|
|
182
195
|
const res = await _beforeRequest(req);
|
|
@@ -864,6 +877,9 @@ class QueryLogin extends BaseQuery {
|
|
|
864
877
|
this.init();
|
|
865
878
|
this.onLoad = opts?.onLoad;
|
|
866
879
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
880
|
+
if (!this.storage) {
|
|
881
|
+
throw new Error("storage is required");
|
|
882
|
+
}
|
|
867
883
|
}
|
|
868
884
|
setQuery(query) {
|
|
869
885
|
this.query = query;
|
package/dist/query-mark.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// node_modules
|
|
1
|
+
// node_modules/@kevisual/query/dist/query-browser.js
|
|
2
2
|
var isTextForContentType = (contentType) => {
|
|
3
3
|
if (!contentType)
|
|
4
4
|
return false;
|
|
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
|
|
|
118
118
|
|
|
119
119
|
class Query {
|
|
120
120
|
adapter;
|
|
121
|
+
baseURL;
|
|
121
122
|
url;
|
|
122
123
|
beforeRequest;
|
|
123
124
|
afterResponse;
|
|
@@ -134,6 +135,11 @@ class Query {
|
|
|
134
135
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
135
136
|
const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
|
|
136
137
|
this.url = opts?.url || defaultURL;
|
|
138
|
+
if (this.url.startsWith("http")) {
|
|
139
|
+
const urlObj = new URL(this.url);
|
|
140
|
+
this.baseURL = urlObj.origin;
|
|
141
|
+
}
|
|
142
|
+
this.baseURL = opts?.baseURL || this.baseURL;
|
|
137
143
|
this.headers = opts?.headers || {
|
|
138
144
|
"Content-Type": "application/json"
|
|
139
145
|
};
|
|
@@ -177,6 +183,13 @@ class Query {
|
|
|
177
183
|
timeout: _timeout,
|
|
178
184
|
...rest
|
|
179
185
|
};
|
|
186
|
+
const isStartsWithHttp = req.url.startsWith("http");
|
|
187
|
+
if (!isStartsWithHttp) {
|
|
188
|
+
if (this.baseURL) {
|
|
189
|
+
const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
|
|
190
|
+
req.url = baseURL + req.url;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
180
193
|
try {
|
|
181
194
|
if (_beforeRequest) {
|
|
182
195
|
const res = await _beforeRequest(req);
|
package/dist/query-proxy.js
CHANGED
|
@@ -194,7 +194,7 @@ var require_eventemitter32 = __commonJS((exports, module) => {
|
|
|
194
194
|
}
|
|
195
195
|
});
|
|
196
196
|
|
|
197
|
-
// node_modules
|
|
197
|
+
// node_modules/@kevisual/query/dist/query-browser.js
|
|
198
198
|
var isTextForContentType = (contentType) => {
|
|
199
199
|
if (!contentType)
|
|
200
200
|
return false;
|
|
@@ -506,6 +506,7 @@ var wrapperError = ({ code, message }) => {
|
|
|
506
506
|
|
|
507
507
|
class Query {
|
|
508
508
|
adapter;
|
|
509
|
+
baseURL;
|
|
509
510
|
url;
|
|
510
511
|
beforeRequest;
|
|
511
512
|
afterResponse;
|
|
@@ -522,6 +523,11 @@ class Query {
|
|
|
522
523
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
523
524
|
const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
|
|
524
525
|
this.url = opts?.url || defaultURL;
|
|
526
|
+
if (this.url.startsWith("http")) {
|
|
527
|
+
const urlObj = new URL(this.url);
|
|
528
|
+
this.baseURL = urlObj.origin;
|
|
529
|
+
}
|
|
530
|
+
this.baseURL = opts?.baseURL || this.baseURL;
|
|
525
531
|
this.headers = opts?.headers || {
|
|
526
532
|
"Content-Type": "application/json"
|
|
527
533
|
};
|
|
@@ -565,6 +571,13 @@ class Query {
|
|
|
565
571
|
timeout: _timeout,
|
|
566
572
|
...rest
|
|
567
573
|
};
|
|
574
|
+
const isStartsWithHttp = req.url.startsWith("http");
|
|
575
|
+
if (!isStartsWithHttp) {
|
|
576
|
+
if (this.baseURL) {
|
|
577
|
+
const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
|
|
578
|
+
req.url = baseURL + req.url;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
568
581
|
try {
|
|
569
582
|
if (_beforeRequest) {
|
|
570
583
|
const res = await _beforeRequest(req);
|
|
@@ -672,7 +685,7 @@ class QueryClient extends Query {
|
|
|
672
685
|
}
|
|
673
686
|
}
|
|
674
687
|
|
|
675
|
-
// node_modules
|
|
688
|
+
// node_modules/@kevisual/router/dist/router-browser.js
|
|
676
689
|
var __create2 = Object.create;
|
|
677
690
|
var __getProtoOf2 = Object.getPrototypeOf;
|
|
678
691
|
var __defProp2 = Object.defineProperty;
|
|
@@ -880,18 +893,18 @@ class CustomError extends Error {
|
|
|
880
893
|
code;
|
|
881
894
|
data;
|
|
882
895
|
message;
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
this.
|
|
896
|
+
constructor(code, opts) {
|
|
897
|
+
if (typeof code === "object" && code !== null) {
|
|
898
|
+
opts = code;
|
|
899
|
+
code = opts.code || 500;
|
|
900
|
+
}
|
|
901
|
+
let message = opts?.message || String(code);
|
|
902
|
+
const cause = opts?.cause;
|
|
903
|
+
super(message, { cause });
|
|
904
|
+
this.name = "RouterError";
|
|
905
|
+
let codeNum = opts?.code || (typeof code === "number" ? code : undefined);
|
|
906
|
+
this.code = codeNum ?? 500;
|
|
907
|
+
this.message = message;
|
|
895
908
|
Error.captureStackTrace(this, this.constructor);
|
|
896
909
|
}
|
|
897
910
|
static fromCode(code) {
|
|
@@ -906,13 +919,24 @@ class CustomError extends Error {
|
|
|
906
919
|
return {
|
|
907
920
|
code: e?.code,
|
|
908
921
|
data: e?.data,
|
|
909
|
-
message: e?.message
|
|
910
|
-
tips: e?.tips
|
|
922
|
+
message: e?.message
|
|
911
923
|
};
|
|
912
924
|
}
|
|
913
925
|
static isError(error) {
|
|
914
926
|
return error instanceof CustomError || typeof error === "object" && error !== null && "code" in error;
|
|
915
927
|
}
|
|
928
|
+
static throw(...args) {
|
|
929
|
+
const [args0, args1] = args;
|
|
930
|
+
if (args0 && typeof args0 === "object") {
|
|
931
|
+
throw new CustomError(args0);
|
|
932
|
+
}
|
|
933
|
+
if (args1 && typeof args1 === "object") {
|
|
934
|
+
throw new CustomError(args0, args1);
|
|
935
|
+
} else if (args1) {
|
|
936
|
+
throw new CustomError(args0, { message: args1 });
|
|
937
|
+
}
|
|
938
|
+
throw new CustomError(args0);
|
|
939
|
+
}
|
|
916
940
|
parse(e) {
|
|
917
941
|
if (e) {
|
|
918
942
|
return CustomError.parseError(e);
|
|
@@ -921,8 +945,7 @@ class CustomError extends Error {
|
|
|
921
945
|
return {
|
|
922
946
|
code: e2?.code,
|
|
923
947
|
data: e2?.data,
|
|
924
|
-
message: e2?.message
|
|
925
|
-
tips: e2?.tips
|
|
948
|
+
message: e2?.message
|
|
926
949
|
};
|
|
927
950
|
}
|
|
928
951
|
}
|
|
@@ -14525,6 +14548,90 @@ var nanoid3 = customAlphabet("abcdefghijklmnopqrstuvwxyz", 16);
|
|
|
14525
14548
|
var randomId = (length = 8, affix = "") => {
|
|
14526
14549
|
return affix + nanoid3(length);
|
|
14527
14550
|
};
|
|
14551
|
+
var extractArgs = (args) => {
|
|
14552
|
+
if (args && typeof args === "object" && typeof args.shape === "object") {
|
|
14553
|
+
return args.shape;
|
|
14554
|
+
}
|
|
14555
|
+
return args || {};
|
|
14556
|
+
};
|
|
14557
|
+
var toJSONSchema2 = (args, opts) => {
|
|
14558
|
+
const mergeObject = opts?.mergeObject ?? false;
|
|
14559
|
+
if (!args)
|
|
14560
|
+
return {};
|
|
14561
|
+
const _override = ({ jsonSchema, path, zodSchema }) => {
|
|
14562
|
+
if (Array.isArray(path) && path.length > 0) {
|
|
14563
|
+
return;
|
|
14564
|
+
}
|
|
14565
|
+
const isOptional = zodSchema.isOptional?.();
|
|
14566
|
+
if (isOptional) {
|
|
14567
|
+
jsonSchema.optional = true;
|
|
14568
|
+
}
|
|
14569
|
+
};
|
|
14570
|
+
const isError = (keys2) => {
|
|
14571
|
+
const errorKeys = ["toJSONSchema", "def", "type", "parse"];
|
|
14572
|
+
const hasErrorKeys = errorKeys.every((key) => keys2.includes(key));
|
|
14573
|
+
return hasErrorKeys;
|
|
14574
|
+
};
|
|
14575
|
+
const override = opts?.override || _override;
|
|
14576
|
+
if (mergeObject) {
|
|
14577
|
+
if (typeof args === "object" && typeof args.toJSONSchema === "function") {
|
|
14578
|
+
return args.toJSONSchema();
|
|
14579
|
+
}
|
|
14580
|
+
if (isError(Object.keys(args))) {
|
|
14581
|
+
return {};
|
|
14582
|
+
}
|
|
14583
|
+
const schema = exports_external.object(args);
|
|
14584
|
+
return schema.toJSONSchema();
|
|
14585
|
+
}
|
|
14586
|
+
args = extractArgs(args);
|
|
14587
|
+
let keys = Object.keys(args);
|
|
14588
|
+
if (isError(keys)) {
|
|
14589
|
+
console.error(`[toJSONSchema error]: 解析到的 schema 可能不正确,包含了zod默认的value的schema. 请检查输入的 schema 是否正确。`);
|
|
14590
|
+
args = {};
|
|
14591
|
+
keys = [];
|
|
14592
|
+
}
|
|
14593
|
+
if (mergeObject) {}
|
|
14594
|
+
let newArgs = {};
|
|
14595
|
+
for (let key of keys) {
|
|
14596
|
+
const item = args[key];
|
|
14597
|
+
if (item && typeof item === "object" && typeof item.toJSONSchema === "function") {
|
|
14598
|
+
newArgs[key] = item.toJSONSchema({ override });
|
|
14599
|
+
} else {
|
|
14600
|
+
newArgs[key] = args[key];
|
|
14601
|
+
}
|
|
14602
|
+
}
|
|
14603
|
+
return newArgs;
|
|
14604
|
+
};
|
|
14605
|
+
var fromJSONSchema2 = (args = {}, opts) => {
|
|
14606
|
+
let resultArgs = null;
|
|
14607
|
+
const mergeObject = opts?.mergeObject ?? false;
|
|
14608
|
+
if (args["$schema"] || args.type === "object" && args.properties && typeof args.properties === "object") {
|
|
14609
|
+
const objectSchema = exports_external.fromJSONSchema(args);
|
|
14610
|
+
const extract = extractArgs(objectSchema);
|
|
14611
|
+
const keys = Object.keys(extract);
|
|
14612
|
+
const newArgs = {};
|
|
14613
|
+
for (let key of keys) {
|
|
14614
|
+
newArgs[key] = extract[key];
|
|
14615
|
+
}
|
|
14616
|
+
resultArgs = newArgs;
|
|
14617
|
+
}
|
|
14618
|
+
if (!resultArgs) {
|
|
14619
|
+
const keys = Object.keys(args);
|
|
14620
|
+
const newArgs = {};
|
|
14621
|
+
for (let key of keys) {
|
|
14622
|
+
const item = args[key];
|
|
14623
|
+
newArgs[key] = exports_external.fromJSONSchema(item);
|
|
14624
|
+
if (item.optional) {
|
|
14625
|
+
newArgs[key] = newArgs[key].optional();
|
|
14626
|
+
}
|
|
14627
|
+
}
|
|
14628
|
+
resultArgs = newArgs;
|
|
14629
|
+
}
|
|
14630
|
+
if (mergeObject) {
|
|
14631
|
+
resultArgs = exports_external.object(resultArgs);
|
|
14632
|
+
}
|
|
14633
|
+
return resultArgs;
|
|
14634
|
+
};
|
|
14528
14635
|
var pickValue = ["path", "key", "id", "description", "type", "middleware", "metadata"];
|
|
14529
14636
|
class Route {
|
|
14530
14637
|
path;
|
|
@@ -14536,7 +14643,6 @@ class Route {
|
|
|
14536
14643
|
metadata;
|
|
14537
14644
|
middleware;
|
|
14538
14645
|
type = "route";
|
|
14539
|
-
data;
|
|
14540
14646
|
isDebug;
|
|
14541
14647
|
constructor(path = "", key = "", opts) {
|
|
14542
14648
|
if (!path) {
|
|
@@ -14628,53 +14734,19 @@ class Route {
|
|
|
14628
14734
|
addTo(router, opts) {
|
|
14629
14735
|
router.add(this, opts);
|
|
14630
14736
|
}
|
|
14631
|
-
setData(data) {
|
|
14632
|
-
this.data = data;
|
|
14633
|
-
return this;
|
|
14634
|
-
}
|
|
14635
14737
|
throw(...args) {
|
|
14636
|
-
throw
|
|
14738
|
+
CustomError.throw(...args);
|
|
14637
14739
|
}
|
|
14638
14740
|
}
|
|
14639
|
-
var
|
|
14741
|
+
var toJSONSchemaRoute = (route) => {
|
|
14640
14742
|
const pickValues = pick(route, pickValue);
|
|
14641
14743
|
if (pickValues?.metadata?.args) {
|
|
14642
|
-
|
|
14643
|
-
if (args && typeof args === "object" && args.toJSONSchema && typeof args.toJSONSchema === "function") {
|
|
14644
|
-
pickValues.metadata.args = args.toJSONSchema();
|
|
14645
|
-
return pickValues;
|
|
14646
|
-
}
|
|
14647
|
-
const keys = Object.keys(args);
|
|
14648
|
-
const newArgs = {};
|
|
14649
|
-
for (let key of keys) {
|
|
14650
|
-
const item = args[key];
|
|
14651
|
-
if (item && typeof item === "object" && typeof item.toJSONSchema === "function") {
|
|
14652
|
-
newArgs[key] = item.toJSONSchema();
|
|
14653
|
-
} else {
|
|
14654
|
-
newArgs[key] = args[key];
|
|
14655
|
-
}
|
|
14656
|
-
}
|
|
14657
|
-
pickValues.metadata.args = newArgs;
|
|
14744
|
+
pickValues.metadata.args = toJSONSchema3(pickValues?.metadata?.args, { mergeObject: false });
|
|
14658
14745
|
}
|
|
14659
14746
|
return pickValues;
|
|
14660
14747
|
};
|
|
14661
|
-
var
|
|
14662
|
-
|
|
14663
|
-
if (!args)
|
|
14664
|
-
return route;
|
|
14665
|
-
if (args["$schema"] || args.type === "object" && args.properties && typeof args.properties === "object") {
|
|
14666
|
-
route.metadata.args = exports_external.fromJSONSchema(args);
|
|
14667
|
-
return route;
|
|
14668
|
-
}
|
|
14669
|
-
const keys = Object.keys(args);
|
|
14670
|
-
const newArgs = {};
|
|
14671
|
-
for (let key of keys) {
|
|
14672
|
-
const item = args[key];
|
|
14673
|
-
newArgs[key] = exports_external.fromJSONSchema(item);
|
|
14674
|
-
}
|
|
14675
|
-
route.metadata.args = newArgs;
|
|
14676
|
-
return route;
|
|
14677
|
-
};
|
|
14748
|
+
var toJSONSchema3 = toJSONSchema2;
|
|
14749
|
+
var fromJSONSchema3 = fromJSONSchema2;
|
|
14678
14750
|
|
|
14679
14751
|
class QueryRouter {
|
|
14680
14752
|
appId = "";
|
|
@@ -14928,20 +15000,6 @@ class QueryRouter {
|
|
|
14928
15000
|
getList(filter) {
|
|
14929
15001
|
return this.routes.filter(filter || (() => true)).map((r) => {
|
|
14930
15002
|
const pickValues = pick(r, pickValue);
|
|
14931
|
-
if (pickValues?.metadata?.args) {
|
|
14932
|
-
const args = pickValues.metadata.args;
|
|
14933
|
-
const keys = Object.keys(args);
|
|
14934
|
-
const newArgs = {};
|
|
14935
|
-
for (let key of keys) {
|
|
14936
|
-
const item = args[key];
|
|
14937
|
-
if (item && typeof item === "object" && typeof item.toJSONSchema === "function") {
|
|
14938
|
-
newArgs[key] = item.toJSONSchema();
|
|
14939
|
-
} else {
|
|
14940
|
-
newArgs[key] = args[key];
|
|
14941
|
-
}
|
|
14942
|
-
}
|
|
14943
|
-
pickValues.metadata.args = newArgs;
|
|
14944
|
-
}
|
|
14945
15003
|
return pickValues;
|
|
14946
15004
|
});
|
|
14947
15005
|
}
|
|
@@ -14975,7 +15033,7 @@ class QueryRouter {
|
|
|
14975
15033
|
this.importRoutes(router.routes);
|
|
14976
15034
|
}
|
|
14977
15035
|
throw(...args) {
|
|
14978
|
-
throw
|
|
15036
|
+
CustomError.throw(...args);
|
|
14979
15037
|
}
|
|
14980
15038
|
hasRoute(path, key = "") {
|
|
14981
15039
|
return this.routes.find((r) => r.path === path && r.key === key);
|
|
@@ -15013,7 +15071,7 @@ class QueryRouter {
|
|
|
15013
15071
|
ctx.body = {
|
|
15014
15072
|
list: list.map((item) => {
|
|
15015
15073
|
const route = pick(item, ["id", "path", "key", "description", "middleware", "metadata"]);
|
|
15016
|
-
return
|
|
15074
|
+
return toJSONSchemaRoute(route);
|
|
15017
15075
|
}),
|
|
15018
15076
|
isUser
|
|
15019
15077
|
};
|
|
@@ -15029,8 +15087,8 @@ class QueryRouter {
|
|
|
15029
15087
|
}
|
|
15030
15088
|
return listenProcess({ app: this, params, ...opts });
|
|
15031
15089
|
}
|
|
15032
|
-
toJSONSchema =
|
|
15033
|
-
fromJSONSchema =
|
|
15090
|
+
toJSONSchema = toJSONSchema3;
|
|
15091
|
+
fromJSONSchema = fromJSONSchema3;
|
|
15034
15092
|
}
|
|
15035
15093
|
|
|
15036
15094
|
class QueryRouterServer extends QueryRouter {
|
package/dist/query-resources.js
CHANGED
|
@@ -446,7 +446,7 @@ var require_spark_md5 = __commonJS((exports, module) => {
|
|
|
446
446
|
});
|
|
447
447
|
});
|
|
448
448
|
|
|
449
|
-
// node_modules
|
|
449
|
+
// node_modules/@kevisual/query/dist/query-browser.js
|
|
450
450
|
var isTextForContentType = (contentType) => {
|
|
451
451
|
if (!contentType)
|
|
452
452
|
return false;
|
package/dist/query-secret.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// node_modules
|
|
1
|
+
// node_modules/@kevisual/query/dist/query-browser.js
|
|
2
2
|
var isTextForContentType = (contentType) => {
|
|
3
3
|
if (!contentType)
|
|
4
4
|
return false;
|
|
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
|
|
|
118
118
|
|
|
119
119
|
class Query {
|
|
120
120
|
adapter;
|
|
121
|
+
baseURL;
|
|
121
122
|
url;
|
|
122
123
|
beforeRequest;
|
|
123
124
|
afterResponse;
|
|
@@ -134,6 +135,11 @@ class Query {
|
|
|
134
135
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
135
136
|
const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
|
|
136
137
|
this.url = opts?.url || defaultURL;
|
|
138
|
+
if (this.url.startsWith("http")) {
|
|
139
|
+
const urlObj = new URL(this.url);
|
|
140
|
+
this.baseURL = urlObj.origin;
|
|
141
|
+
}
|
|
142
|
+
this.baseURL = opts?.baseURL || this.baseURL;
|
|
137
143
|
this.headers = opts?.headers || {
|
|
138
144
|
"Content-Type": "application/json"
|
|
139
145
|
};
|
|
@@ -177,6 +183,13 @@ class Query {
|
|
|
177
183
|
timeout: _timeout,
|
|
178
184
|
...rest
|
|
179
185
|
};
|
|
186
|
+
const isStartsWithHttp = req.url.startsWith("http");
|
|
187
|
+
if (!isStartsWithHttp) {
|
|
188
|
+
if (this.baseURL) {
|
|
189
|
+
const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
|
|
190
|
+
req.url = baseURL + req.url;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
180
193
|
try {
|
|
181
194
|
if (_beforeRequest) {
|
|
182
195
|
const res = await _beforeRequest(req);
|
package/dist/query-shop.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// node_modules
|
|
1
|
+
// node_modules/@kevisual/query/dist/query-browser.js
|
|
2
2
|
var isTextForContentType = (contentType) => {
|
|
3
3
|
if (!contentType)
|
|
4
4
|
return false;
|
|
@@ -118,6 +118,7 @@ var wrapperError = ({ code, message }) => {
|
|
|
118
118
|
|
|
119
119
|
class Query {
|
|
120
120
|
adapter;
|
|
121
|
+
baseURL;
|
|
121
122
|
url;
|
|
122
123
|
beforeRequest;
|
|
123
124
|
afterResponse;
|
|
@@ -134,6 +135,11 @@ class Query {
|
|
|
134
135
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
135
136
|
const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
|
|
136
137
|
this.url = opts?.url || defaultURL;
|
|
138
|
+
if (this.url.startsWith("http")) {
|
|
139
|
+
const urlObj = new URL(this.url);
|
|
140
|
+
this.baseURL = urlObj.origin;
|
|
141
|
+
}
|
|
142
|
+
this.baseURL = opts?.baseURL || this.baseURL;
|
|
137
143
|
this.headers = opts?.headers || {
|
|
138
144
|
"Content-Type": "application/json"
|
|
139
145
|
};
|
|
@@ -177,6 +183,13 @@ class Query {
|
|
|
177
183
|
timeout: _timeout,
|
|
178
184
|
...rest
|
|
179
185
|
};
|
|
186
|
+
const isStartsWithHttp = req.url.startsWith("http");
|
|
187
|
+
if (!isStartsWithHttp) {
|
|
188
|
+
if (this.baseURL) {
|
|
189
|
+
const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
|
|
190
|
+
req.url = baseURL + req.url;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
180
193
|
try {
|
|
181
194
|
if (_beforeRequest) {
|
|
182
195
|
const res = await _beforeRequest(req);
|
|
@@ -273,7 +286,7 @@ class Query {
|
|
|
273
286
|
}
|
|
274
287
|
}
|
|
275
288
|
|
|
276
|
-
// node_modules
|
|
289
|
+
// node_modules/@kevisual/router/dist/router-define.js
|
|
277
290
|
class Chain {
|
|
278
291
|
object;
|
|
279
292
|
app;
|
|
@@ -422,7 +435,7 @@ var shopDefine = QueryUtil.create({
|
|
|
422
435
|
}
|
|
423
436
|
});
|
|
424
437
|
|
|
425
|
-
// node_modules
|
|
438
|
+
// node_modules/@kevisual/query/dist/query.js
|
|
426
439
|
class BaseQuery {
|
|
427
440
|
query;
|
|
428
441
|
queryDefine;
|
package/dist/store-mark.js
CHANGED
|
@@ -121,6 +121,7 @@ var wrapperError = ({ code, message }) => {
|
|
|
121
121
|
|
|
122
122
|
class Query {
|
|
123
123
|
adapter;
|
|
124
|
+
baseURL;
|
|
124
125
|
url;
|
|
125
126
|
beforeRequest;
|
|
126
127
|
afterResponse;
|
|
@@ -137,6 +138,11 @@ class Query {
|
|
|
137
138
|
this.storage = opts?.storage || globalThis?.localStorage;
|
|
138
139
|
const defaultURL = opts?.isClient ? "/client/router" : "/api/router";
|
|
139
140
|
this.url = opts?.url || defaultURL;
|
|
141
|
+
if (this.url.startsWith("http")) {
|
|
142
|
+
const urlObj = new URL(this.url);
|
|
143
|
+
this.baseURL = urlObj.origin;
|
|
144
|
+
}
|
|
145
|
+
this.baseURL = opts?.baseURL || this.baseURL;
|
|
140
146
|
this.headers = opts?.headers || {
|
|
141
147
|
"Content-Type": "application/json"
|
|
142
148
|
};
|
|
@@ -180,6 +186,13 @@ class Query {
|
|
|
180
186
|
timeout: _timeout,
|
|
181
187
|
...rest
|
|
182
188
|
};
|
|
189
|
+
const isStartsWithHttp = req.url.startsWith("http");
|
|
190
|
+
if (!isStartsWithHttp) {
|
|
191
|
+
if (this.baseURL) {
|
|
192
|
+
const baseURL = new URL(this.baseURL || globalThis?.location?.origin).origin;
|
|
193
|
+
req.url = baseURL + req.url;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
183
196
|
try {
|
|
184
197
|
if (_beforeRequest) {
|
|
185
198
|
const res = await _beforeRequest(req);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kevisual/api",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.54",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "mod.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -18,25 +18,25 @@
|
|
|
18
18
|
"keywords": [],
|
|
19
19
|
"author": "abearxiong <xiongxiao@xiongxiao.me> (https://www.xiongxiao.me)",
|
|
20
20
|
"license": "MIT",
|
|
21
|
-
"packageManager": "pnpm@10.30.
|
|
21
|
+
"packageManager": "pnpm@10.30.1",
|
|
22
22
|
"type": "module",
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@kevisual/cache": "^0.0.5",
|
|
25
25
|
"@kevisual/code-builder": "^0.0.6",
|
|
26
|
-
"@kevisual/query": "^0.0.
|
|
26
|
+
"@kevisual/query": "^0.0.49",
|
|
27
27
|
"@kevisual/remote-app": "^0.0.4",
|
|
28
|
-
"@kevisual/router": "^0.0.
|
|
28
|
+
"@kevisual/router": "^0.0.83",
|
|
29
29
|
"@kevisual/types": "^0.0.12",
|
|
30
30
|
"@kevisual/use-config": "^1.0.30",
|
|
31
31
|
"@types/bun": "^1.3.9",
|
|
32
|
-
"@types/node": "^25.
|
|
32
|
+
"@types/node": "^25.3.0",
|
|
33
33
|
"@types/spark-md5": "^3.0.5",
|
|
34
34
|
"dotenv": "^17.3.1",
|
|
35
35
|
"fast-glob": "^3.3.3",
|
|
36
36
|
"ws": "npm:@kevisual/ws"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@kevisual/context": "^0.0.
|
|
39
|
+
"@kevisual/context": "^0.0.8",
|
|
40
40
|
"@kevisual/js-filter": "^0.0.5",
|
|
41
41
|
"@kevisual/load": "^0.0.6",
|
|
42
42
|
"@paralleldrive/cuid2": "^3.3.0",
|
|
@@ -58,6 +58,7 @@
|
|
|
58
58
|
"./secret": "./query/query-secret/index.ts",
|
|
59
59
|
"./resources": "./query/query-resources/index.ts",
|
|
60
60
|
"./utils-node": "./dist/utils-node.js",
|
|
61
|
+
"./query-login-node": "./dist/query-login-node.js",
|
|
61
62
|
"./utils": "./dist/utils.js",
|
|
62
63
|
"./query-secret": "./dist/query-secret.js",
|
|
63
64
|
"./query-mark": "./dist/query-mark.js",
|