11import { ref } from 'vue'
22import { defineStore } from 'pinia'
3+ import axios from 'axios'
34
4- import { IS_DEV } from '@/utils/env'
5+ import { HOST , IS_DEV , USER_CONFIG_PATH } from '@/utils/env'
56
67import { useLikeStore } from '@/store/like'
78
@@ -10,7 +11,7 @@ interface LikeModel {
1011}
1112
1213const getDef = ( ) : LikeModel => ( {
13- dir : IS_DEV ? [ '/Users/flex/Downloads' , '/Users/flex/Downloads/code.editor' ] : [ '/vol1/1000' ] ,
14+ dir : IS_DEV ? [ '/Users/flex/Downloads' ] : [ '/vol1/1000' ] ,
1415} )
1516
1617export const useUserStore = defineStore ( 'user' , ( ) => {
@@ -21,18 +22,35 @@ export const useUserStore = defineStore('user', () => {
2122 const cfg = ref ( getDef ( ) )
2223
2324 const load = async ( ) => {
24- // todo api
25+ const { data : result1 } = await axios . get ( HOST , {
26+ params : { _api : 'read' , path : USER_CONFIG_PATH } ,
27+ } )
28+
29+ if ( result1 . code === 404 ) {
30+ await update ( )
31+ } else {
32+ cfg . value = result1 as LikeModel
33+ }
2534
2635 like . cfg . folderActive = like . cfg . folderDefOpen || cfg . value . dir [ 0 ] || ''
2736
2837 initialized . value = true
2938 }
3039
31- return {
32- initialized,
33-
34- cfg,
35-
36- load,
40+ const update = async ( ) => {
41+ await axios . post (
42+ HOST ,
43+ {
44+ encode : 'utf8' ,
45+ path : USER_CONFIG_PATH ,
46+ value : JSON . stringify ( cfg . value ) ,
47+ force : 1 ,
48+ } ,
49+ {
50+ params : { _api : 'save' } ,
51+ } ,
52+ )
3753 }
54+
55+ return { initialized, cfg, load, update }
3856} )
0 commit comments