@ywfe/fe-tools 1.2.1-beta.22 → 1.2.1-beta.23

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@ywfe/fe-tools",
4
- "version": "1.2.1-beta.22",
4
+ "version": "1.2.1-beta.23",
5
5
  "description": "工具函数库",
6
6
  "main": "./lib/ywfe-tools.cjs",
7
7
  "module": "./lib/ywfe-tools.esm.js",
package/request.ts CHANGED
@@ -1,49 +1,55 @@
1
1
  // Ctrl-S保存代码
2
- import {querystring} from '@ywfe/utils'
2
+ import { querystring } from "@ywfe/utils";
3
3
  interface RequestOptions {
4
- url:string,
5
- method?:string,
6
- params?:any
4
+ url: string;
5
+ method?: string;
6
+ params?: any;
7
7
  }
8
- async function request({input}:{input:RequestOptions}){
9
- const method = input.method || 'GET';
8
+ async function request({ input }: { input: RequestOptions }) {
9
+ const method = input.method || "GET";
10
10
  const basePathMap = new Map([
11
- ['prod', 'https://gateway.ywwl.com'],
12
- ['test', 'https://test-gateway.ywwl.com'],
13
- ['test2', 'https://test2-gateway.ywwl.com'],
14
- ['dev', 'https://dev-gateway.ywwl.com'],
15
- ])
11
+ ["prod", "https://gateway.ywwl.com"],
12
+ ["test", "https://test-gateway.ywwl.com"],
13
+ ["test2", "https://test2-gateway.ywwl.com"],
14
+ ["dev", "https://dev-gateway.ywwl.com"],
15
+ ]);
16
16
  const getBasePath = () => {
17
- const env = '{{env}}';
18
- return basePathMap.get(env);
17
+ const env = "{{env}}";
18
+ return basePathMap.get(env);
19
19
  };
20
- const isValidURL = (url)=> {
20
+ const isValidURL = (url:string) => {
21
21
  var pattern = new RegExp(
22
- '^(https?:\\/\\/)?' + // protocol
23
- '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name
24
- '((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
25
- '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
26
- '(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
27
- '(\\#[-a-z\\d_]*)?$','i'); // fragment locator
22
+ "^(https?:\\/\\/)?" + // protocol
23
+ "((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|" + // domain name
24
+ "((\\d{1,3}\\.){3}\\d{1,3}))" + // OR ip (v4) address
25
+ "(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*" + // port and path
26
+ "(\\?[;&a-z\\d%_.~+=-]*)?" + // query string
27
+ "(\\#[-a-z\\d_]*)?$",
28
+ "i"
29
+ ); // fragment locator
28
30
  return !!pattern.test(url);
29
- }
30
- const prefix = getBasePath()
31
- let requestUrl = isValidURL(input.url) ? input.url :`${prefix}${input.url}`
32
- const fetchOption: {[key:string]:any} = {
31
+ };
32
+ const prefix = getBasePath();
33
+ let requestUrl = isValidURL(input.url) ? input.url : `${prefix}${input.url}`;
34
+ const fetchOption: { [key: string]: any } = {
33
35
  method: method,
34
36
  headers: {
35
- 'Content-type': 'application/json',
36
- 'x-token': '{{token}}',
37
+ "Content-type": "application/json",
38
+ "x-token": "{{token}}",
37
39
  },
38
40
  };
39
- if (method.toUpperCase() === 'POST') {
40
- fetchOption.body = JSON.stringify(input.params);
41
- }else if(method.toUpperCase() === 'GET'){
42
- requestUrl = `${requestUrl}?${querystring.stringify(input.params || {})}`
43
-
41
+ if (method.toUpperCase() === "POST") {
42
+ fetchOption.body = JSON.stringify(input.params);
43
+ } else if (method.toUpperCase() === "GET") {
44
+ requestUrl = `${requestUrl}?${querystring.stringify(input.params || {})}`;
45
+ }
46
+ const response = await fetch(requestUrl, fetchOption);
47
+ if (!response.ok) {
48
+ const message = `An error has occured: ${response.status}`;
49
+ return { success: false, message };
44
50
  }
45
-
46
- const res = await fetch(requestUrl, fetchOption);
47
- return res.json();
51
+ const result = await response.json();
52
+ return result;
48
53
  }
54
+
49
55
  export default request
@@ -1,17 +1,24 @@
1
1
  import {request} from './index'
2
2
  // Ctrl-S保存代码
3
3
  interface userInput {
4
- userInput?:string,
5
- rules?:string,
4
+ userInput?: string;
5
+ rules?: string;
6
6
  }
7
- async function userInputToJson({input}:{input:userInput}){
8
- const {userInput, rules} = input
9
- const res = await request({
10
- input:{
11
- url:"https://fc-typechat.ywwl.com/userInputToJson",
12
- method:"GET"
13
- }
14
- })
15
- return res;
7
+ async function userInputToJson({ input }: { input: userInput }) {
8
+ console.log("input", input);
9
+ const res: { message: string; success: boolean; data: any } =
10
+ await request({
11
+ input: {
12
+ url: "https://fc-typechat.ywwl.com/userInputToJson",
13
+ method: "GET",
14
+ params: input,
15
+ },
16
+ });
17
+ if (res.success) {
18
+ const result = res.data;
19
+ return result.success ? result.data : result;
20
+ } else {
21
+ return res.success ? res.data : res;
22
+ }
16
23
  }
17
24
  export default userInputToJson