@phaoerjs/jsweb

1.1.4 • Public • Published

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);

Package Sidebar

Install

npm i @phaoerjs/jsweb

Weekly Downloads

0

Version

1.1.4

License

MIT

Unpacked Size

273 kB

Total Files

9

Last publish

Collaborators

  • phaoer