更新前端静态网页获取方式,放弃使用后端获取api

This commit is contained in:
2025-09-09 10:47:51 +08:00
parent 6889ca37e5
commit 44a4f1bae1
25558 changed files with 2463152 additions and 153 deletions

View File

@@ -0,0 +1,39 @@
import { ReactWrapper } from 'enzyme';
import { IStyledComponent } from '../src/types';
function assertElement(element: any) {
if (!(element instanceof HTMLElement)) {
throw new Error('Must pass a DOM element to find/findAll(element, styledComponent)"');
}
}
function assertStyledComponent(styledComponent: any) {
if (
!styledComponent?.styledComponentId ||
typeof styledComponent.styledComponentId !== 'string'
) {
throw new Error(
`${
styledComponent.displayName || styledComponent.name || 'Component'
} is not a styled component.`
);
}
}
export function enzymeFind(wrapper: ReactWrapper, styledComponent: IStyledComponent<'web', any>) {
assertStyledComponent(styledComponent);
return wrapper.find(`.${styledComponent.styledComponentId}`);
}
export function find(element: Element, styledComponent: IStyledComponent<'web', any>) {
assertElement(element);
assertStyledComponent(styledComponent);
return element.querySelector(`.${styledComponent.styledComponentId}`);
}
export function findAll(element: Element, styledComponent: IStyledComponent<'web', any>) {
assertElement(element);
assertStyledComponent(styledComponent);
return element.querySelectorAll(`.${styledComponent.styledComponentId}`);
}

View File

@@ -0,0 +1,26 @@
const consoleError = console.error;
const suppressedErrors = [
'Error: Could not parse CSS stylesheet',
'Warning: Use the `defaultValue` or `value` props instead of setting children on <textarea>',
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
];
beforeEach(() => {
// Suppress errors from JSDOM CSS parser
// See: https://github.com/jsdom/jsdom/issues/2177
console.error = (logged: any) => {
const message = logged.stack || logged;
if (
typeof message !== 'string' ||
!suppressedErrors.some(suppressedError => message.includes(suppressedError))
) {
consoleError(logged);
}
};
});
afterEach(() => {
console.error = consoleError;
});