Merge remote-tracking branch 'origin/main' into dev/chat

dev/chat
Lei OT 1 year ago
commit 36d14a4d28

@ -0,0 +1,2 @@
export const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server'
export const DATE_FORMAT = 'YYYY-MM-DD'

@ -12,10 +12,11 @@ import DingdingQRCode from '@/views/DingdingQRCode'
import AccountProfile from '@/views/AccountProfile' import AccountProfile from '@/views/AccountProfile'
import ErrorPage from '@/components/ErrorPage' import ErrorPage from '@/components/ErrorPage'
import Conversations from '@/views/Conversations/ChatWindow' import Conversations from '@/views/Conversations/ChatWindow'
import useAuthStore from '@/stores/AuthStore' import useAuthStore from '@/stores/AuthStore'
import '@/assets/index.css' import '@/assets/index.css'
useAuthStore.getState().loadUserSession()
const router = createBrowserRouter([ const router = createBrowserRouter([
{ {
path: '/', path: '/',
@ -40,8 +41,6 @@ const router = createBrowserRouter([
}, },
]) ])
console.info(useAuthStore.getState().loadUserSession())
ReactDOM.createRoot(document.getElementById('root')).render( ReactDOM.createRoot(document.getElementById('root')).render(
// <React.StrictMode> // <React.StrictMode>
<ThemeContext.Provider value={{ colorPrimary: '#1ba784', borderRadius: 4 }}> <ThemeContext.Provider value={{ colorPrimary: '#1ba784', borderRadius: 4 }}>

@ -2,32 +2,19 @@ import { create } from 'zustand'
import { devtools } from 'zustand/middleware' import { devtools } from 'zustand/middleware'
import { fetchJSON, postJSON } from '@/utils/request' import { fetchJSON, postJSON } from '@/utils/request'
const API_HOST = 'https://p9axztuwd7x8a7.mycht.cn/whatsapp_server'
const useAuthStore = create((set, get) => ({ const useAuthStore = create((set, get) => ({
// GLOBAL_SALES_LOGIN_USER // GLOBAL_SALES_LOGIN_USER
// {"userId":"383","username":"廖一军","avatarUrl":"https://static-legacy.dingtalk.com/media/lALPBDDrhXr716HNAoDNAoA_640_640.png","mobile":"+86-18777396951","email":"lyj@hainatravel.com","openId":"iioljiPmZ4RPoOYpkFiSn7IKAiEiE","accountList":[{"OPI_SN":383,"OPI_Code":"LYJ","OPI_NameCN":"廖一军","OPI_DEI_SN":7,"OPI_NameEN":"Jimmy Liow"},{"OPI_SN":609,"OPI_Code":"LYJAH","OPI_NameCN":"廖一军ah","OPI_DEI_SN":28,"OPI_NameEN":"Jimmy Liow"}]} // {"userId":"383","username":"廖一军","avatarUrl":"https://static-legacy.dingtalk.com/media/lALPBDDrhXr716HNAoDNAoA_640_640.png","mobile":"+86-18777396951","email":"lyj@hainatravel.com","openId":"iioljiPmZ4RPoOYpkFiSn7IKAiEiE","accountList":[{"OPI_SN":383,"OPI_Code":"LYJ","OPI_NameCN":"廖一军","OPI_DEI_SN":7,"OPI_NameEN":"Jimmy Liow"},{"OPI_SN":609,"OPI_Code":"LYJAH","OPI_NameCN":"廖一军ah","OPI_DEI_SN":28,"OPI_NameEN":"Jimmy Liow"}]}
loginUser: { loginUser: {},
userId: -1,
// username: '廖一军',
// avatarUrl: 'https://static-legacy.dingtalk.com/media/lALPBDDrhXr716HNAoDNAoA_640_640.png',
// mobile: '86-18777396951',
// email: 'lyj@hainatravel.com',
// openId: 'iioljiPmZ4RPoOYpkFiSn7IKAiEiE',
// accountList: ['LYJ', 'LYJAH', 'LYJGH'],
// permissionList: ['view_chat', 'send_msg'],
},
loginStatus: 0, loginStatus: 0,
fetchUser: async (authCode) => { authenticate: async (authCode) => {
const { saveUserSession } = get() const { saveUserSession, updateLoginStatus } = get()
set(() => ({ updateLoginStatus(200)
loginStatus: 200
}))
const json = await fetchJSON(`https://p9axztuwd7x8a7.mycht.cn/dingtalk/dingtalkwork/WhatsAppAuth`, { authCode }) const json = await fetchJSON(`https://p9axztuwd7x8a7.mycht.cn/dingtalk/dingtalkwork/WhatsAppAuth`, { authCode })
@ -45,21 +32,22 @@ const useAuthStore = create((set, get) => ({
} }
})) }))
saveUserSession() saveUserSession()
updateLoginStatus(302)
set(() => ({
loginStatus: 302
}))
} else { } else {
updateLoginStatus(403)
}
},
updateLoginStatus: (code) => {
set(() => ({ set(() => ({
loginStatus: 403 loginStatus: code
})) }))
}
}, },
loadUserSession: () => { loadUserSession: () => {
const sessionData = window.sessionStorage.getItem('GLOBAL_SALES_LOGIN_USER') const sessionData = window.sessionStorage.getItem('GLOBAL_SALES_LOGIN_USER')
let userData = { let userData = {
userId: 0, userId: -1,
username: '', username: '',
avatarUrl: '', avatarUrl: '',
mobile: '', mobile: '',
@ -70,10 +58,10 @@ const useAuthStore = create((set, get) => ({
} }
if (sessionData !== null) { if (sessionData !== null) {
userData = JSON.parse(sessionData) userData = JSON.parse(sessionData)
}
set(() => ({ set(() => ({
loginUser: userData loginUser: userData
})) }))
}
return userData return userData
}, },

@ -24,9 +24,6 @@ function AuthApp() {
const { colorPrimary, borderRadius } = useThemeContext() const { colorPrimary, borderRadius } = useThemeContext()
const { loginUser } = useAuthStore() const { loginUser } = useAuthStore()
console.info(loginUser)
let userId = loginUser.userId
const href = useHref() const href = useHref()
useEffect(() => { useEffect(() => {
@ -39,8 +36,8 @@ console.info(loginUser)
useEffect(() => { useEffect(() => {
if (loginUser.userId > 0) { if (loginUser.userId > 0) {
useConversationStore.getState().connectWebsocket(userId); useConversationStore.getState().connectWebsocket(loginUser.userId);
useConversationStore.getState().fetchInitialData(userId); useConversationStore.getState().fetchInitialData(loginUser.userId);
} }
return () => { return () => {
useConversationStore.getState().disconnectWebsocket(); useConversationStore.getState().disconnectWebsocket();

@ -12,7 +12,7 @@ function DingdingQRCode() {
const navigate = useNavigate() const navigate = useNavigate()
const { loginStatus, fetchUser } = useAuthStore() const { loginStatus, authenticate } = useAuthStore()
useEffect (() => { useEffect (() => {
if (location.search === '?out') { if (location.search === '?out') {
@ -39,29 +39,10 @@ function DingdingQRCode() {
}, },
(loginResult) => { (loginResult) => {
const { authCode } = loginResult const { authCode } = loginResult
fetchUser(authCode) authenticate(authCode)
// setLoginStatus(200)
// fetchJSON(`https://p9axztuwd7x8a7.mycht.cn/dingtalk/dingtalkwork/WhatsAppAuth`, { authCode })
// .then(json => {
// if (json.errcode === 0) {
// loginUser.userId = json.result.opisn
// loginUser.accountName = json.result.opicode
// loginUser.username = json.result.nick
// loginUser.avatarUrl = json.result.avatarUrl
// loginUser.mobile = '+' + json.result.stateCode + '-' + json.result.mobile
// loginUser.email = json.result.email
// loginUser.openId = json.result.openId
// loginUser.accountList = json.result.accountlist
// window.sessionStorage.setItem('GLOBAL_SALES_LOGIN_USER', JSON.stringify(loginUser))
// setLoginStatus(302)
// } else {
// setLoginStatus(403)
// }
// })
}, },
(errorMsg) => { (errorMsg) => {
// setLoginStatus(403) updateLoginStatus(403)
console.error(`Login Error: ${errorMsg}`) console.error(`Login Error: ${errorMsg}`)
}, },
) )

@ -8,6 +8,7 @@ import dayjs from 'dayjs'
import { Conditional } from '@/components/Conditional' import { Conditional } from '@/components/Conditional'
import useAuthStore from '@/stores/AuthStore' import useAuthStore from '@/stores/AuthStore'
import { prepareUrl, isNotEmpty } from '@/utils/commons' import { prepareUrl, isNotEmpty } from '@/utils/commons'
import { API_HOST } from '@/config'
const { RangePicker } = DatePicker const { RangePicker } = DatePicker
@ -205,7 +206,7 @@ function OrderList({ formValues }) {
const [orderData, setOrderData] = useState([]) const [orderData, setOrderData] = useState([])
const [loading, setLoading] = useState(false) const [loading, setLoading] = useState(false)
const { loginUser } = useAuthStore() const { loginUser } = useAuthStore()
let fetchOrderUrl = `https://p9axztuwd7x8a7.mycht.cn/whatsapp_server/getwlorder?opisn=${loginUser.userId}&otype=${formValues.type}` let fetchOrderUrl = `${API_HOST}/getwlorder?opisn=${loginUser.userId}&otype=${formValues.type}`
if (formValues.type === 'advance') { if (formValues.type === 'advance') {
const fromDate = formValues.startDateRange[0].format('YYYY-MM-DD') const fromDate = formValues.startDateRange[0].format('YYYY-MM-DD')

Loading…
Cancel
Save