This commit is contained in:
syuilo 2020-04-12 19:57:18 +09:00
parent f07047d1e8
commit e7da10ae58
2 changed files with 13 additions and 2 deletions

View file

@ -72,7 +72,9 @@ export default Vue.extend({
methods: {
async run() {
this.logs = [];
const aiscript = new AiScript(createAiScriptEnv(this), {
const aiscript = new AiScript(createAiScriptEnv(this, {
storageKey: 'scratchpad'
}), {
in: (q) => {
return new Promise(ok => {
this.$root.dialog({

View file

@ -1,6 +1,6 @@
import { utils, values } from '@syuilo/aiscript';
export function createAiScriptEnv(vm) {
export function createAiScriptEnv(vm, opts) {
return {
USER_ID: values.STR(vm.$store.state.i.id),
USER_USERNAME: values.STR(vm.$store.state.i.username),
@ -24,5 +24,14 @@ export function createAiScriptEnv(vm) {
const res = await vm.$root.api(ep.value, utils.valToJs(param), token || null);
return utils.jsToVal(res);
}),
'Mk:save': values.FN_NATIVE(([key, value]) => {
utils.assertString(key);
localStorage.setItem('aiscript:' + opts.storageKey + ':' + key.value, JSON.stringify(utils.valToJs(value)));
return values.NULL;
}),
'Mk:load': values.FN_NATIVE(([key]) => {
utils.assertString(key);
return utils.jsToVal(JSON.parse(localStorage.getItem('aiscript:' + opts.storageKey + ':' + key.value)));
}),
};
}