import defaultsDeep from 'lodash/defaultsDeep'; import { parseQuery } from '@doctorwork/write-easy/utils'; import hybrid, { isHybrid } from '@doctorwork/write-easy/lib/hybrid'; const isFunc = (obj: any) => typeof obj === 'function'; /** * 设置 hyrid header * @param {object} options */ export function setHybridHeader(options: any) { if (!options || options.skipHybrid || options.skip) { return; } options = defaultsDeep( { headerStyle: {} }, options ); const [title, background, color] = [ options.title, options.headerStyle.backgroundColor, options.headerTintColor ]; if (!isHybrid && window) { // updateTitle(); return (document.title = title); } hybrid('header', { title, background, color }); } export const getNavigationOptions = (navigationOptions: any, props: any) => { const query = parseQuery(props.location.search); const params = props.match.params; // prettier-ignore const options = isFunc(navigationOptions) ? navigationOptions({ navigation: { state: { ...props.match, params: { ...params, ...query } } } }) : navigationOptions; return options || { skip: true }; };