1.1.4 • Published 2 years ago
@phaoerjs/jsweb v1.1.4
jsweb - A collection of tools for JavaScript
Installation
npm i @phaoerjs/jswebUsage
- 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(); } }, []) ...
- Configuring
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); // 123getTerminal
getTerminal(); // { mobile: true, ios: true, android: false, ....}dateFormate
dateFormate("yyyy-MM-dd HH:mm:ss", date || null); // 2023-xx-xx xx:xx:xxgetEndTime
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="); // 11111throttle
throttle(fn, wait);debounce
debounce(fn, wait, immediate);