提交 818d7791 作者: ZhangLingKun

功能:购买商品,请先登录

上级 e9ca783b
流水线 #7688 已通过 于阶段
in 4 分 58 秒
......@@ -2,9 +2,11 @@ import React, { useEffect, useState } from 'react';
import { ReloadOutlined } from '@ant-design/icons';
import { message, Modal } from 'antd';
import Cookies from 'js-cookie';
import { useDispatch } from 'react-redux';
import { useDispatch, useSelector } from 'react-redux';
import styled from 'styled-components';
import { CommonAPI } from '@/api';
import { RootState } from '@/store';
import { GlobalDataState } from '@/store/module/globalData';
import { setSystem } from '@/store/module/system';
import { setUserInfo } from '@/store/module/userInfo';
......@@ -93,6 +95,10 @@ const LoginModalView = ({
open: boolean;
onCancel: () => void;
}) => {
// system
const globalData = useSelector(
(state: RootState) => state.globalData,
) as GlobalDataState;
// store
const dispatch = useDispatch();
// 获取小程序二维码唯一标识
......@@ -196,7 +202,9 @@ const LoginModalView = ({
return (
<Modal open={open} footer={null} onCancel={handleClose}>
<LoginModalWrap>
<div className="title">微信扫码登录</div>
<div className="title">
{globalData?.loginModalTitle || `微信扫码登录`}
</div>
<div className="qrcode">
{qrCodeData && (
<img src={qrCodeData} alt="登录二维码" className="image" />
......@@ -212,7 +220,11 @@ const LoginModalView = ({
</div>
<div className="text">微信扫一扫,打开小程序</div>
<div className="text">即可登录/注册</div>
<div className="action" onClick={handleBackEnd}>
<div
className="action"
onClick={handleBackEnd}
style={{ visibility: 'hidden' }}
>
管理平台登录 {'>'}
</div>
<div className="text">「云享飞,让天空为世界所用」</div>
......
......@@ -132,6 +132,7 @@ const ProductHeadView: React.FC<{ detail: DetailType }> = ({ detail }) => {
dispatch(
setGlobalData({
loginModalVisible: true,
loginModalTitle: '购买商品,请先登录',
}),
);
return;
......
import React from 'react';
import { CheckCircleOutlined } from '@ant-design/icons';
import { Modal } from 'antd';
import { useRouter } from 'next/router';
import { useSelector } from 'react-redux';
import styled from 'styled-components';
import { RootState } from '@/store';
import { GlobalDataState } from '@/store/module/globalData';
const ToastModalView: React.FC<{
open: boolean;
onCancel: () => void;
}> = ({ open, onCancel }) => {
// 路由钩子
const router = useRouter();
// system
const globalData = useSelector(
(state: RootState) => state.globalData,
) as GlobalDataState;
// 关闭弹窗
const handleClose = () => {
onCancel?.();
// 如果需要返回
if (globalData.toastModalBack) router.back();
};
return (
<Modal
open={open}
title={'提示'}
onCancel={onCancel}
onCancel={handleClose}
width={400}
footer={null}
>
......
......@@ -83,6 +83,7 @@ const MallCartSubmitView: React.FC<{
dispatch(
setGlobalData({
toastModalVisible: true,
toastModalBack: true,
loadingSpinnerVisible: false,
}),
);
......
......@@ -8,6 +8,7 @@ import { UserAddressSelectList } from '@/api/interface/user';
export type GlobalDataState = {
loadingSpinnerVisible: boolean;
loginModalVisible: boolean;
loginModalTitle?: string;
qrcodeModalVisible: boolean;
qrcodeModalPath?: string;
qrcodeModalScene?: string;
......@@ -16,6 +17,7 @@ export type GlobalDataState = {
productSpecNum?: number;
priceUnitList?: InterDataType<ListInspectionPriceUnit>;
toastModalVisible: boolean;
toastModalBack: boolean;
};
const initialState: GlobalDataState = {
......@@ -23,6 +25,7 @@ const initialState: GlobalDataState = {
loginModalVisible: false,
qrcodeModalVisible: false,
toastModalVisible: false,
toastModalBack: false,
};
const globalDataSlice = createSlice({
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论