index.ts 812 B

1234567891011121314151617181920212223242526272829303132
  1. import { getAccessorType } from 'nuxt-typed-vuex'
  2. import * as learning from './learning'
  3. import * as gradientDescent from './gradient-descent'
  4. export const state = () => ({
  5. locale: 'zh',
  6. drawer: true,
  7. userType: 'student',
  8. miniDrawer: true
  9. })
  10. type RootState = ReturnType<typeof state>
  11. export const mutations = {
  12. setLocale(state: RootState, value: string) {
  13. state.locale = value
  14. },
  15. setDrawer(state: RootState, value: boolean) {
  16. state.drawer = value
  17. },
  18. setUserType(state: RootState, value: string) {
  19. if (value in ['student', 'teacher']) state.userType = value
  20. },
  21. setMiniDrawer(state: RootState, value: boolean) {
  22. state.miniDrawer = value
  23. }
  24. }
  25. export const accessorType = getAccessorType({ state, mutations, modules: { learning, 'gradient-descent': gradientDescent } })