Skip to content

phaoer/jsweb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jsweb - A collection of tools for JavaScript

Installation

npm i @phaoerjs/jsweb

Usage

  • CommonJs
const jsweb = require("@phaoerjs/jsweb");
  • ESM
import { Request } from "@phaoerjs/jsweb";
  • Html
<script src="dist/index.js"></script>
<script>
	console.log(jsweb);
</script>

Api

  • Request

    http request client base on axios

    • Configuring

      • Request.config({ baseURL = "", headers = {}, succCodeName = "code", succCode, errMsgName = "msg" }); When baseURL and headers are configured, each Request instance will be automatically equipped with this configuration. By default, as long as the HTTP status is 200, the complete data from the API will be returned. You can set succCode to define the status code indicating a successful interface response. The default name for the interface status code, succCodeName, is code, and the default name for the interface information is errMsgName, which is msg.
    • Creating a Request Instance

      parameter type default isrequired
      url string '' true
      method string get false
      data object {} false
      cancel_tip boolean false false
      option axios.option {} false
      ...
      useEffect(() => {
        const req = new Request({
            url: "xxxxxxx",
            data: {
                page: 1,
                page_size: 10
            },
            cancel_tip: true
        });
      
        const getData = async () => {
            try {
                const res = await req.send();
                // When a request is canceled, by default, the console will print 'request is canceled'. When cancel_tip is set to true, it will return { request_is_cancel: true }.
                if(res.request_is_cancel) {
                    console.log("request cancel");
                } else if(res.code === 200) {
                    //do something
                } else {
                    throw new Error(res.msg);
                }
            } catch (error) {
                message.error(catchErrorHandle(error));
            }
        }
      
        getData();
      
        return () => {
            req.cancel();
        }
      }, [])
      ...
  • catchErrorHandle

    you can use this method to resolve all error types

    catchErrorHandle(error, customErrorProperty || "message");
  • getParam

    getParam("id", "https://xxxxxxxxxxxxxxx?id=123" || window.location.href);
    // 123
  • getTerminal

    getTerminal();
    // { mobile: true, ios: true, android: false, ....}
  • dateFormate

    dateFormate("yyyy-MM-dd HH:mm:ss", date || null);
    // 2023-xx-xx xx:xx:xx
  • getEndTime

    getEndTime("2023-xx-xx xx:xx:xx", timestamp || null);
    // { str: "x天x时x分x秒", day: "x", hour: "x", min: "x", sec: "x" }
  • Base64Encode

    Base64Encode(1111);
    // MTExMTE=
  • Base64Decode

    Base64Decode("MTExMTE=");
    // 11111
  • throttle

    throttle(fn, wait);
  • debounce

    debounce(fn, wait, immediate);

About

A collection of tools for JavaScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published