config.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import { defineStore } from 'pinia'
  2. import { getConfig } from '@/app/api/auth'
  3. interface loginConfig {
  4. is_username: number | boolean,
  5. is_mobile: number | boolean,
  6. is_auth_register: number | boolean,
  7. is_bind_mobile: number | boolean,
  8. agreement_show: number | boolean
  9. }
  10. interface Config {
  11. login: loginConfig
  12. }
  13. const useConfigStore = defineStore('config', {
  14. state: (): Config => {
  15. return {
  16. login: {
  17. is_username: 0,
  18. is_mobile: 0,
  19. is_auth_register: 0,
  20. is_bind_mobile: 0,
  21. agreement_show: 0
  22. }
  23. }
  24. },
  25. actions: {
  26. async getLoginConfig() {
  27. await getConfig().then(({ data }) => {
  28. this.login.is_username = parseInt(data.is_username)
  29. this.login.is_mobile = parseInt(data.is_mobile)
  30. this.login.is_auth_register = parseInt(data.is_auth_register)
  31. this.login.is_bind_mobile = parseInt(data.is_bind_mobile)
  32. this.login.agreement_show = parseInt(data.agreement_show)
  33. }).catch(() => {
  34. })
  35. }
  36. }
  37. })
  38. export default useConfigStore