app.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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, getObjVal } 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. const arr = getArrValue(value)
  12. if (arr.length <= 0) {
  13. const { error, data } = await getProjectAndContract()
  14. if (error) return Promise.reject('error')
  15. const datas = getArrValue(data)
  16. store.setProjectContract(datas)
  17. return Promise.resolve(data)
  18. } else {
  19. return Promise.resolve(value)
  20. }
  21. }
  22. //按钮初始化
  23. export const initButtons = async () => {
  24. const value = getStoreValue('buttons')
  25. if (!getObjVal(value)) {
  26. const { error, data } = await getButtons()
  27. if (error) return Promise.reject('error')
  28. const buttons = getArrValue(data)
  29. const buttonsArr = await setButtonsData(buttons)
  30. store.setButtons(buttonsArr)
  31. return Promise.resolve(true)
  32. } else {
  33. return Promise.resolve(true)
  34. }
  35. }
  36. //设置按钮
  37. const setButtonsData = async (data) => {
  38. let buttonsArr = {}
  39. await ArrToOneObj(data, 'code', buttonsArr)
  40. return buttonsArr
  41. }