From f3c818f549bce53f01abc778e1f8dbe8c11c35e3 Mon Sep 17 00:00:00 2001
From: czm <2192718639@qq.com>
Date: Mon, 9 May 2022 18:52:08 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E5=AE=8C=E6=B7=BB=E5=8A=A0?=
=?UTF-8?q?=E8=B4=AD=E7=89=A9=E8=BD=A6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/shopCart.ts | 11 ++
src/api/user.ts | 2 +-
src/common/constant.js | 4 +-
src/common/util.js | 2 +-
src/components/checkbox/index.module.scss | 14 +--
src/components/checkbox/index.tsx | 2 +-
src/components/shopCart/index.module.scss | 3 +-
src/components/shopCart/index.tsx | 43 +++++---
src/constants/userInfo.ts | 4 +-
.../details/components/orderCount/index.tsx | 101 ++++++++++++++----
src/reducers/hooks.ts | 8 ++
src/reducers/index.ts | 2 +-
src/reducers/userInfo.ts | 70 ++++++++----
src/use/useLogin.ts | 16 ++-
src/use/useUserInfo.ts | 9 +-
15 files changed, 212 insertions(+), 79 deletions(-)
create mode 100644 src/reducers/hooks.ts
diff --git a/src/api/shopCart.ts b/src/api/shopCart.ts
index 8d292bf..86368b8 100644
--- a/src/api/shopCart.ts
+++ b/src/api/shopCart.ts
@@ -9,4 +9,15 @@ export const GetShoppingCartApi = () => {
url: `/v1/mall/shoppingCart/productColor`,
method: "get",
})
+}
+
+/**
+ * 批量添加面料颜色到物车列表
+ * @returns
+*/
+export const AddShoppingCartApi = () => {
+ return useRequest({
+ url: `/v1/mall/shoppingCart/productColor/list`,
+ method: "post",
+ })
}
\ No newline at end of file
diff --git a/src/api/user.ts b/src/api/user.ts
index c97e29e..c131c2f 100644
--- a/src/api/user.ts
+++ b/src/api/user.ts
@@ -13,7 +13,7 @@ import { useRequest } from "@/use/useHttp"
/**
* 获取后台返回的用户信息
*/
- export const GetSelfUserInfoApi = () => {
+ export const GetAdminUserInfoApi = () => {
return useRequest({
url: `/v1/mall/user/info`,
method: "get",
diff --git a/src/common/constant.js b/src/common/constant.js
index 4ce9f4c..21be554 100644
--- a/src/common/constant.js
+++ b/src/common/constant.js
@@ -5,11 +5,11 @@
// export const BASE_URL = `http://192.168.0.89:40001/lymarket`
// export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞
// export const BASE_URL = `https://test.zzfzyc.com/lymarket` // 测试环境
-// export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发
+export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发
// export const BASE_URL = `https://dev.zzfzyc.com/lymarket` // 开发环境
// export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境
// export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞
-export const BASE_URL = `http://192.168.1.224:50001/lymarket` // 添
+// export const BASE_URL = `http://192.168.1.224:50001/lymarket` // 添
// CDN
// 生成密钥
diff --git a/src/common/util.js b/src/common/util.js
index 9929638..6c131c9 100644
--- a/src/common/util.js
+++ b/src/common/util.js
@@ -42,7 +42,7 @@ export const throttle = (fn, delay) => {
export const getFilterData = (val = {}, arr = []) => {
let res = {}
for(let key in val) {
- if(val[key]!=undefined&&val[key]!=null&&val[key]!=''&&(!arr.includes(key))){
+ if(val[key]!==undefined&&val[key]!==null&&val[key]!==''&&(!arr.includes(key))){
if(val[key] instanceof Number){
if(!isNaN(val[key])) {
res[key] = val[key]
diff --git a/src/components/checkbox/index.module.scss b/src/components/checkbox/index.module.scss
index 72809eb..fbd781e 100644
--- a/src/components/checkbox/index.module.scss
+++ b/src/components/checkbox/index.module.scss
@@ -1,13 +1,13 @@
.checkbox_main{
- width: 60px;
- height: 60px;
+ width: 40px;
+ height: 40px;
display: flex;
justify-content: center;
align-items: center;
}
.checkbox_item{
- width: 40px;
- height: 40px;
+ width: 30px;
+ height: 30px;
border: 1px solid #707070;
border-radius: 50%;
text-align: center;
@@ -17,10 +17,10 @@
background-color: $color_main;
border: 0;
color: #fff;
- width: 44px;
- height: 44px;
+ width: 30px;
+ height: 30px;
text-align: center;
- line-height: 44px;
+ line-height: 30px;
.miconfont{
font-size: 26px;
}
diff --git a/src/components/checkbox/index.tsx b/src/components/checkbox/index.tsx
index ec557d5..31f1839 100644
--- a/src/components/checkbox/index.tsx
+++ b/src/components/checkbox/index.tsx
@@ -26,7 +26,7 @@ export default ({onSelect, onClose, status = false}: params) => {
<>
onSelectEven()}>
- {selected&&}
+ {selected&&}
>
diff --git a/src/components/shopCart/index.module.scss b/src/components/shopCart/index.module.scss
index 61142a4..73c6cd7 100644
--- a/src/components/shopCart/index.module.scss
+++ b/src/components/shopCart/index.module.scss
@@ -59,7 +59,6 @@
.checkbox{
display: flex;
align-items: center;
-
}
.img{
width: 126px;
@@ -80,6 +79,7 @@
.title{
font-size: $font_size;
color: $color_font_one;
+ @include common_ellipsis;
}
.subtitle{
color: $color_font_two;
@@ -101,6 +101,7 @@
display: flex;
flex-direction: column;
justify-content: space-between;
+ align-items: flex-end;
.price{
font-size: $font_size;
font-weight: 700;
diff --git a/src/components/shopCart/index.tsx b/src/components/shopCart/index.tsx
index 5dba441..ee199fa 100644
--- a/src/components/shopCart/index.tsx
+++ b/src/components/shopCart/index.tsx
@@ -5,17 +5,24 @@ import MCheckbox from "@/components/checkbox";
import LoadingCard from "@/components/loadingCard";
import InfiniteScroll from "@/components/infiniteScroll";
import styles from "./index.module.scss"
-import { useEffect, useState } from "react";
+import { useCallback, useEffect, useState } from "react";
import Taro from "@tarojs/taro";
import { goLink } from "@/common/common";
import {GetShoppingCartApi} from "@/api/shopCart"
+import { formatHashTag, formatMillionYuan } from "@/common/fotmat";
type param = {
show?: true|false,
onClose?: () => void
}
export default ({show = false, onClose}: param) => {
- const selectList = ['不限', '剪板', '散剪', '大货']
+ const selectList = [
+ {title:'不限', unit:'', eunit:''},
+ {title:'大货', unit:'件', eunit:'kg'},
+ {title:'剪板', unit:'米', eunit:'m'},
+ {title:'散剪', unit:'米', eunit:'kg'},
+ ]
+
const [selectIndex, setSelectIndex] = useState(0)
const selectProduct = (index:number) => {
setSelectIndex(index)
@@ -28,7 +35,8 @@ export default ({show = false, onClose}: param) => {
const getShoppingCart = async () => {
setLoading(true)
const {data} = await fetchData()
- setList(data)
+ console.log('color_list::', data)
+ setList(data.color_list)
setLoading(false)
}
@@ -94,7 +102,16 @@ export default ({show = false, onClose}: param) => {
})
}
-
+ //格式化金额
+ const formatPirce = useCallback((price) => {
+ const {num} = formatMillionYuan(price, 100)
+ return Number(num)
+ }, [])
+
+ //格式化数量
+ const formatCount = useCallback((item) => {
+ return item.sale_mode == 0? item.roll + '件': item.length + 'm'
+ }, [])
return (
@@ -109,15 +126,15 @@ export default ({show = false, onClose}: param) => {
{selectList.map((item, index) => {
- return selectProduct(index)} className={classnames(styles.search_item, (selectIndex==index)&&styles.search_item_select)}>{item}
+ return selectProduct(index)} className={classnames(styles.search_item, (selectIndex==index)&&styles.search_item_select)}>{item.title}
})}
{loading&&}
- {!loading&&list.length > 0&& {console.log('触底了')}} paddingBottom={100}>
+ {!loading&&list?.length > 0&&
- {list.map((item, index) => {
+ {list?.map((item, index) => {
return
selectCallBack(item)} onClose={() => colseCallBack(item)}/>
@@ -126,19 +143,19 @@ export default ({show = false, onClose}: param) => {
- {item.title}
- 07703# 21S单面平纹(食毛)
- 剪板
+ {formatHashTag(item.product_code, item.product_name)}
+ {item.product_color_code +' ' + item.product_color_name}
+ {item.sale_mode_name}
- ¥40.5/kg
- ×12m
+ ¥{formatPirce(item.sale_price)}/kg
+ ×{formatCount(item)}
})}
}
- {!loading&&list.length == 0 &&
+ {!loading&&list?.length == 0 &&
暂未选择商品
去选购
}
diff --git a/src/constants/userInfo.ts b/src/constants/userInfo.ts
index 77585a2..b2f5338 100644
--- a/src/constants/userInfo.ts
+++ b/src/constants/userInfo.ts
@@ -1,6 +1,8 @@
export const SET_USERINFO = 'setUserInfo'
+export const SET_ADMINUSERINFO = 'setAdminUserInfo'
export const SET_TOKEN = 'setToken'
export const SET_SESSIONKEY = 'setSessionkey'
export const CLEAR_TOKEN = 'clearToken'
export const CLEAR_SESSIONKEY = 'clearSessionkey'
-export const CLEAR_USERINFO = 'clearUserInfo'
\ No newline at end of file
+export const CLEAR_USERINFO = 'clearUserInfo'
+export const CLEAR_ADMINUSERINFO = 'clearAdminUserInfo'
\ No newline at end of file
diff --git a/src/pages/details/components/orderCount/index.tsx b/src/pages/details/components/orderCount/index.tsx
index 6ca9a5b..1efa7e7 100644
--- a/src/pages/details/components/orderCount/index.tsx
+++ b/src/pages/details/components/orderCount/index.tsx
@@ -8,12 +8,16 @@ import Big from 'big.js'
import classnames from "classnames";
import styles from "./index.module.scss"
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
+import { useSelector } from "@/reducers/hooks"
import {GetColorList} from "@/api/materialColor"
-import { useRouter } from "@tarojs/taro";
+import {AddShoppingCartApi} from "@/api/shopCart"
+import Taro, { useRouter } from "@tarojs/taro";
import UseLogin from "@/use/useLogin"
import { formatHashTag, formatMillionYuan } from "@/common/fotmat";
import { getFilterData } from "@/common/util";
+
+
type param = {
show?: true|false,
onClose?: () => void,
@@ -21,6 +25,8 @@ type param = {
productId?: number
}
export default memo(({show = false, onClose, title = '', productId = 0}: param) => {
+ const {adminUserInfo} = useSelector(state => state.userInfo)
+
const selectList = [
{id: 0, step:1, digits:0, maxNum:100000, defaultNum:1, title:'大货', unit:'件', eunit:'kg'},
{id: 1, step:1, digits:2, maxNum:9.99, defaultNum:1, title:'剪板', unit:'米', eunit:'m'},
@@ -28,32 +34,53 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
]
const [selectIndex, setSelectIndex] = useState(0)
const selectProduct = (index:number) => {
- setSelectIndex(index)
+ console.log('number::',index)
+ setSelectIndex(() => index)
}
//获取面料颜色列表
- const {fetchData:colorFetchData} = GetColorList()
+ const {fetchData:colorFetchData, state: colorState} = GetColorList()
const [list, setList] = useState([])
const [loading, setLoading] = useState(false)
- const condition = useRef({physical_warehouse:1, sale_mode:selectIndex, product_id:0, code_or_name:null})
+ const condition = useRef({physical_warehouse:adminUserInfo.physical_warehouse, sale_mode:selectIndex, product_id:0, code_or_name:null})
const getColorList = async () => {
setLoading(() => true)
console.log('数据:::',getFilterData(condition.current))
let {data} = await colorFetchData(getFilterData(condition.current))
- setList([...data.list])
+ const list = initList(data.list)
+ setList([...list])
setLoading(() => false)
}
const [showPopup, setShowPopup] = useState(false)
+
+ useEffect(() => {
+ console.log('colorState::',colorState)
+ }, [colorState])
+
//显示获取
useEffect(() => {
if(show) {
+ setSelectIndex(0)
+ condition.current.code_or_name = null
+ setSearchShow(false)
+
condition.current.product_id = productId
getColorList()
}
setShowPopup(show)
}, [show])
- //卸载清空
+ //初始化列表数据
+ const initList = useCallback((list) => {
+ const newList = list.map(item => {
+ item.count = 0
+ item.show = false
+ return item
+ })
+ return newList
+ }, [])
+
+ //卸载数据
useEffect(() => {
return () => {
setList([])
@@ -64,22 +91,28 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
const closePopup = () => {
onClose?.()
setShowPopup(false)
+ setList([])
}
//计算总数量和总米/件数
- const [selectCount, setSelectCount] = useState({
+ const [selectCount, setSelectCount] = useState<{sumCount:number, kindCount:number, color_list:any[]}>({
sumCount: 0,
- kindCount: 0
+ kindCount: 0,
+ color_list: []
})
useEffect(() => {
- let sumCount = 0, kindCount = 0
+ let sumCount = 0, kindCount = 0, color_list:any[] = []
+ let color_list_info = {}
list.map(item => {
if(item.count > 0) {
sumCount = Big(sumCount).add(item.count).toNumber()
kindCount ++
+ color_list_info = selectIndex == 0? {product_color_id:item.id, roll:item.count}:{product_color_id:item.id, length:item.count}
+ color_list.push(color_list_info)
+
}
})
- setSelectCount({sumCount, kindCount})
+ setSelectCount({...selectCount, sumCount, kindCount, color_list})
}, [list])
//计数组件
@@ -92,7 +125,6 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
const onAdd = (item) => {
item.show = true
item.count = selectList[selectIndex].defaultNum
- console.log('aa:::',item.count)
setList((list) => [...list])
}
@@ -104,8 +136,32 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
//添加购物车
const {getSelfUserInfo} = UseLogin()
- const addShopCart = () => {
- getSelfUserInfo()
+ const {fetchData:addFetchData} = AddShoppingCartApi()
+ const addShopCart = async () => {
+ if(selectCount.sumCount == 0) {
+ Taro.showToast({
+ icon:'none',
+ title:'请选择面料颜色!'
+ })
+ return false
+ }
+ await getSelfUserInfo()
+ const state = await addFetchData({
+ "sale_mode": selectIndex,
+ color_list: selectCount.color_list
+ })
+ if(state.success) {
+ Taro.showToast({
+ title:'添加成功'
+ })
+ onClose?.()
+ } else {
+ Taro.showToast({
+ icon:'none',
+ title: state.msg
+ })
+ }
+
}
//显示金额
@@ -123,12 +179,10 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
//重置数据
useEffect(() => {
- const newList = list.map(item => {
- item.count = 0
- item.show = false
- return item
- })
+ const newList = initList(list)
setList([...newList])
+ // condition.current.code_or_name = null
+ // setSearchShow(false)
}, [selectIndex])
//筛选数据
@@ -147,7 +201,7 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
return (
- closePopup()}>
+ closePopup()} >
{title}
@@ -165,12 +219,13 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
clearSearch()}>取消
}
- 颜色分类 (13) {list.length}
+ 颜色分类 (13)
{!searchShow&& changeSearchShow()}>}
- {list.length > 0&&
+ {(list.length <= 0 && colorState.loading)&&}
+ {(list.length > 0&& !colorState.loading)&&
{list.map(item => {
return
@@ -199,8 +254,8 @@ export default memo(({show = false, onClose, title = '', productId = 0}: param)
})}
- ||
- 暂无此商品}
+ }
+ {(list.length <= 0 && !colorState.loading)&&暂无此商品}
diff --git a/src/reducers/hooks.ts b/src/reducers/hooks.ts
new file mode 100644
index 0000000..b882f8f
--- /dev/null
+++ b/src/reducers/hooks.ts
@@ -0,0 +1,8 @@
+
+//该方法纯粹只是个Ts类型定义文件
+import { useSelector as useReduxSelector, TypedUseSelectorHook } from 'react-redux';
+import { DataParam } from './userInfo';
+type Params = {
+ userInfo: DataParam
+}
+export const useSelector: TypedUseSelectorHook = useReduxSelector;
\ No newline at end of file
diff --git a/src/reducers/index.ts b/src/reducers/index.ts
index 8964c5d..2af35af 100644
--- a/src/reducers/index.ts
+++ b/src/reducers/index.ts
@@ -2,5 +2,5 @@ import { combineReducers } from 'redux'
import userInfo from './userInfo'
export default combineReducers({
- userInfo
+ userInfo
})
\ No newline at end of file
diff --git a/src/reducers/userInfo.ts b/src/reducers/userInfo.ts
index 107eab3..5fe0ff5 100644
--- a/src/reducers/userInfo.ts
+++ b/src/reducers/userInfo.ts
@@ -2,11 +2,13 @@
import Taro from '@tarojs/taro'
import {
SET_USERINFO,
+ SET_ADMINUSERINFO,
SET_TOKEN,
SET_SESSIONKEY,
CLEAR_TOKEN,
CLEAR_USERINFO,
- CLEAR_SESSIONKEY
+ CLEAR_SESSIONKEY,
+ CLEAR_ADMINUSERINFO,
} from '../constants/userInfo'
export type UserParam = {
@@ -18,13 +20,28 @@ export type UserParam = {
province?: string,
gender?: number,
language?: string,
- timestamp?: number
+ timestamp?: number,
+ physical_warehouse?: number,
+ physical_warehouse_name?: string,
+}
+
+export type UserAdminParam = {
+ avatar_url?: string,
+ open_id?: string,
+ physical_warehouse?: number,
+ physical_warehouse_name?: string,
+ union_id?: string,
+ user_code?: string,
+ user_id?: number,
+ user_name?: string,
+ wechat_user_open_id?: number
}
export type DataParam = {
token?: string
session_key?: string,
- userInfo: UserParam
+ userInfo: UserParam,
+ adminUserInfo: UserAdminParam
}
type Action = {
@@ -36,6 +53,7 @@ type Action = {
const INIT_USER = {
userInfo: Taro.getStorageSync('userInfo')?JSON.parse(Taro.getStorageSync('userInfo')):null,
+ adminUserInfo: Taro.getStorageSync('adminUserInfo')?JSON.parse(Taro.getStorageSync('adminUserInfo')):null,
token: Taro.getStorageSync('token')||'',
session_key: Taro.getStorageSync('session_key')||'',
}
@@ -43,25 +61,31 @@ const INIT_USER = {
export default function counter (state = INIT_USER, action: Action) {
const {type, data} = action
switch (type) {
- case SET_USERINFO:
- Taro.setStorageSync('userInfo',JSON.stringify(data?.userInfo))
- return {...state,...data}
- case SET_TOKEN:
- Taro.setStorageSync('token',data?.token)
- return {...state,...data}
- case SET_SESSIONKEY:
- Taro.setStorageSync('session_key',data?.session_key)
- return {...state,...data}
- case CLEAR_TOKEN:
- Taro.removeStorageSync('token')
- return {...state, token:''}
- case CLEAR_SESSIONKEY:
- Taro.removeStorageSync('session_key')
- return {...state, session_key:''}
- case CLEAR_USERINFO:
- Taro.removeStorageSync('userInfo')
- return {...state, userInfo: null}
- default:
- return state
+ case SET_USERINFO:
+ Taro.setStorageSync('userInfo',JSON.stringify(data?.userInfo))
+ return {...state,...data}
+ case SET_ADMINUSERINFO:
+ Taro.setStorageSync('adminUserInfo',JSON.stringify(data?.adminUserInfo))
+ return {...state,...data}
+ case SET_TOKEN:
+ Taro.setStorageSync('token',data?.token)
+ return {...state,...data}
+ case SET_SESSIONKEY:
+ Taro.setStorageSync('session_key',data?.session_key)
+ return {...state,...data}
+ case CLEAR_TOKEN:
+ Taro.removeStorageSync('token')
+ return {...state, token:''}
+ case CLEAR_SESSIONKEY:
+ Taro.removeStorageSync('session_key')
+ return {...state, session_key:''}
+ case CLEAR_USERINFO:
+ Taro.removeStorageSync('userInfo')
+ return {...state, userInfo: null}
+ case CLEAR_ADMINUSERINFO:
+ Taro.removeStorageSync('adminUserInfo')
+ return {...state, adminUserInfo: null}
+ default:
+ return state
}
}
\ No newline at end of file
diff --git a/src/use/useLogin.ts b/src/use/useLogin.ts
index 386657d..73377c0 100644
--- a/src/use/useLogin.ts
+++ b/src/use/useLogin.ts
@@ -3,12 +3,12 @@ import { WX_APPID } from "@/common/constant"
import useUserInfo from "./useUserInfo"
import Taro, { useRouter } from "@tarojs/taro"
import { LoginApi } from "@/api/login"
-import { GetWxUserInfoApi } from "@/api/user"
+import { GetWxUserInfoApi, GetAdminUserInfoApi } from "@/api/user"
import qs from 'qs';
export default () => {
- const {setToken, setSessionKey, setUserInfo, userInfo} = useUserInfo()
-
+ const {setToken, setSessionKey, setUserInfo, setAdminUserInfo, userInfo} = useUserInfo()
+
useEffect(() => {
console.log('userInfo::',userInfo.token)
}, [userInfo])
@@ -16,6 +16,7 @@ export default () => {
const router = useRouter()
//登录请求
const {fetchData} = LoginApi()
+
//微信登录
const wxLogin = () => {
return new Promise((reslove, reject) => {
@@ -40,6 +41,9 @@ export default () => {
url: router.path +'?' + qs.stringify(params)
})
}
+ getAdminUserInfo()
+
+ //todo 删除本地授权用户信息,获取最新授权信息
} else {
Taro.showToast({
@@ -62,6 +66,12 @@ export default () => {
}
+ //获取用户信息
+ const {fetchData: useFetchData} = GetAdminUserInfoApi()
+ const getAdminUserInfo = async () => {
+ let res = await useFetchData()
+ setAdminUserInfo(res.data)
+ }
//登录加checkLogin检查
const checkLogin = () => {
diff --git a/src/use/useUserInfo.ts b/src/use/useUserInfo.ts
index 690a8ce..9e03fc7 100644
--- a/src/use/useUserInfo.ts
+++ b/src/use/useUserInfo.ts
@@ -1,6 +1,6 @@
import { useDispatch, useSelector } from 'react-redux'
-import { CLEAR_SESSIONKEY, SET_USERINFO, SET_TOKEN, SET_SESSIONKEY, CLEAR_USERINFO, CLEAR_TOKEN} from '@/constants/userInfo'
-import {DataParam, UserParam} from '@/reducers/userInfo'
+import { CLEAR_SESSIONKEY, SET_USERINFO, SET_TOKEN, SET_SESSIONKEY, CLEAR_USERINFO, CLEAR_TOKEN, SET_ADMINUSERINFO} from '@/constants/userInfo'
+import {DataParam, UserParam, UserAdminParam} from '@/reducers/userInfo'
export default () => {
const userInfo = useSelector((state:DataParam) => state.userInfo) as DataParam
const dispatch = useDispatch()
@@ -17,6 +17,10 @@ export default () => {
dispatch({type:SET_USERINFO, data:{userInfo}})
}
+ const setAdminUserInfo = (adminUserInfo: UserAdminParam) => {
+ dispatch({type:SET_ADMINUSERINFO, data:{adminUserInfo}})
+ }
+
const removeUserInfo = () => {
dispatch({type:CLEAR_USERINFO})
}
@@ -32,6 +36,7 @@ export default () => {
return {
setToken,
setUserInfo,
+ setAdminUserInfo,
setSessionKey,
removeUserInfo,
removeToken,