?JavaScript设计模式的学习,同时会自己封装一些如adapter request classes、time classes 等
JavaScript 设计模式的学习,会跟着《JavaScript 设计模式》这本书进行一些 demo 的记录,当然除了设计模式,还会记录自己封装的一些小玩意。
如果觉得对您有帮助的话,点个 ⭐star 再走?
axios
进行封装的统一请求文件 ✅url
进行判断处理,✅http code
的状态处理 ✅数据状态码
处理 ✅👉 了解更多,请点击这里 Adapter Request Classses
import React from 'react';
import adapter from './adapter';
export class requestComponent extends React.PureComponent {
componentWillMount() {
// 发送请求
adapter
.requestCallAPI({
url: '/erek-vue-manage/user/retriveList',
headers: { 'X-Requested-With': 'XMLHttpRequest' }
})
.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
}
}
import { retrieveFileType, downloadFile } from 'utils/Download';
// 下载资源
downloadClick = () => {
for (let i = 0; i <= resourceList.length - 1; i++) {
downloadFile({
...resourceList[i],
// 如果本身无fileType,需要加入自定义默认的类型
fileType: retrieveFileType(resourceList[i].resourceType)
});
}
};
import { getBrowserVersionName } from 'utils/Browser';
const browser_name = getBrowserVersionName();
import { fullScreen, cancelFullScreen, isFullScreen } from '@common/fullscreen';
function TuPu() {
const domRef = useRef(null);
function openFullScreen() {
fullScreen(domRef.current); // 浏览器进入全屏
}
function closeFullScreen() {
cancelFullScreen(); // 退出浏览器全屏
}
// 这才是重点 ❗❗❗
// fullscreenchange 一定会被触发,监听这个,盘它!
useEffect(() => {
function exitHandler() {
if (!isFullScreen()) {
// 当前处于全屏下
cancelFullScreen();
}
}
document.addEventListener('webkitfullscreenchange', exitHandler, false);
document.addEventListener('mozfullscreenchange', exitHandler, false);
document.addEventListener('fullscreenchange', exitHandler, false);
document.addEventListener('MSFullscreenChange', exitHandler, false);
return () => {
document.removeEventListener('webkitfullscreenchange', exitHandler, false);
document.removeEventListener('mozfullscreenchange', exitHandler, false);
document.removeEventListener('fullscreenchange', exitHandler, false);
document.removeEventListener('MSFullscreenChange', exitHandler, false);
};
});
return (
<div ref={domRef}>
<EchartsCanvas ></EchartsCanvas>
</div>
);
}
Copyright © 2019 - 2020 by PDK
If you have any questions, please contact me 1063137960@qq.com