feat: login

This commit is contained in:
eleanor.mao
2025-05-22 18:08:31 +08:00
parent 8ebd3363b8
commit 6762973e14
9 changed files with 176 additions and 132 deletions

View File

@ -1,23 +1,76 @@
import { Image } from '@tarojs/components';
import { useLoad } from '@tarojs/taro';
import { switchDefaultTab } from '@/utils/app';
import { useLoad } from '@tarojs/taro';
import Slogan from '@/components/slogan';
import { PageUrl, RoleType } from '@/constants/app';
import { ANCHOR_TAB_LIST, COMPANY_TAB_LIST } from '@/hooks/use-config';
import store from '@/store';
import { changeHomePage } from '@/store/actions';
import { getRoleType, switchDefaultTab, switchRoleType } from '@/utils/app';
import { switchTab } from '@/utils/route';
import './index.less';
const PREFIX = 'page-start';
export default function Start() {
const mode = getRoleType();
useLoad(() => {
switchDefaultTab();
});
const handleAnchor = async () => {
await switchRoleType(RoleType.Anchor);
store.dispatch(changeHomePage(ANCHOR_TAB_LIST[0].type));
await switchTab(ANCHOR_TAB_LIST[0].pagePath as PageUrl);
};
const handleCompany = async () => {
await switchRoleType(RoleType.Company);
store.dispatch(changeHomePage(COMPANY_TAB_LIST[0].type));
await switchTab(COMPANY_TAB_LIST[0].pagePath as PageUrl);
};
return (
<div className={PREFIX}>
<div className={`${PREFIX}__app`}>
<Image className={`${PREFIX}__icon`} mode="aspectFit" src={require('@/statics/svg/slogan.svg')} />
<div className={`${PREFIX}__text`}> </div>
</div>
<div className={`${PREFIX} ${mode ? '' : 'color-bg'}`}>
{mode && (
<div className={`${PREFIX}__app`}>
<Image className={`${PREFIX}__icon`} mode="aspectFit" src={require('@/statics/svg/slogan.svg')} />
<div className={`${PREFIX}__text`}> </div>
</div>
)}
{!mode && (
<>
<div className={`${PREFIX}__role-app`}>
<div className={`${PREFIX}__greet`}>Hi</div>
<div className={`${PREFIX}__title`}></div>
<div className={`${PREFIX}__card`} onClick={handleAnchor}>
<Image
className={`${PREFIX}__avatar anchor`}
src="https://publiccdn.neighbourhood.com.cn/img/avatar_f.png"
mode="aspectFill"
/>
<div className={`${PREFIX}__content`}>
<div className="title"></div>
<div className="desc"></div>
</div>
<Image src={require('@/statics/svg/arrow-right.svg')} mode="aspectFill" className={`${PREFIX}__arrow`} />
</div>
<div className={`${PREFIX}__card`} onClick={handleCompany}>
<Image
className={`${PREFIX}__avatar company`}
src="https://publiccdn.neighbourhood.com.cn/img/avatar_m.png"
mode="aspectFill"
/>
<div className={`${PREFIX}__content`}>
<div className="title"></div>
<div className="desc"></div>
</div>
<Image src={require('@/statics/svg/arrow-right.svg')} mode="aspectFill" className={`${PREFIX}__arrow`} />
</div>
</div>
<Slogan />
</>
)}
</div>
);
}