app.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import pinia from '~src/store/init'
  2. import { useAppStore } from '~src/store'
  3. import { getButtons } from '~api/menu'
  4. import { getProjectAndContract } from '~api/user'
  5. import { ArrToOneObj, getArrValue } from 'js-fast-way'
  6. import { getStoreValue } from '~src/utils/storage'
  7. const store = useAppStore(pinia)
  8. //项目合同段初始化
  9. export const initProjectContract = async () => {
  10. const value = getStoreValue('projectContract')
  11. if (!value) {
  12. const { error, data } = await getProjectAndContract()
  13. if (error) return Promise.reject('error')
  14. const datas = getArrValue(data)
  15. store.setProjectContract(datas)
  16. return Promise.resolve(data)
  17. } else {
  18. return Promise.resolve(value)
  19. }
  20. }
  21. //按钮初始化
  22. export const initButtons = async () => {
  23. const value = getStoreValue('buttons')
  24. if (!value) {
  25. const { error, data } = await getButtons()
  26. if (error) return Promise.reject('error')
  27. const buttons = getArrValue(data)
  28. const buttonsArr = await setButtonsData(buttons)
  29. store.setButtons(buttonsArr)
  30. return Promise.resolve(true)
  31. } else {
  32. return Promise.resolve(true)
  33. }
  34. }
  35. //设置按钮
  36. const setButtonsData = async (data) => {
  37. let buttonsArr = {}
  38. await ArrToOneObj(data, 'code', buttonsArr)
  39. return buttonsArr
  40. }