store.enterStory = id => { var story = stories.find(obj => { return obj.id == id }); if (isEmpty(story)) { store.emit('error', 404, "星球无故事"); } else { store.$set('story', story); } return story; }
store.enterScene = (step, storyId = undefined) => { if (storyId != undefined) { store.enterStory(storyId); } if (isEmpty(store.story)) { store.emit('error', 404, "星球无故事"); return undefined; } let scene = store.story.scene[step]; if (isEmpty(scene)) { store.emit('error', 404, "星球无场景"); return undefined; } scene.title = doCheck(scene.title); scene.sub = doCheck(scene.sub); scene.content = doCheck(scene.content); store.$set('scene', scene); return scene; }
store.$get = (key, defaultValue = undefined, parser = JSON.parse, setDefault = false) => { console.log("get", key, defaultValue, setDefault); let cache = localStorage.getItem(key); if (isEmpty(cache)) { if (setDefault == true) { store.$set(key, defaultValue); } return defaultValue; } else { if (parser != undefined) { cache = parser(cache); } } if (isObject(cache) && isObject(store[key])) { Object.assign(store[key], cache); } else { store[key] = cache; } return store[key]; }
store.setStep = (id, step) => { store.$set('_step_' + id, step); }