更新 'SrcJyPublic.js'

master
src48597962 8 months ago
parent c33b2b2953
commit 925e59042d
  1. 48
      SrcJyPublic.js

@ -355,4 +355,52 @@ function getHistory(){
})
return h;
}
//drpy运行环境
function drpySandBox() {
const MAX_ENVIRONMENTS = 10;
let environments = {};
let nextId = 0;
function createOrGetEnvironment(id) {
if (id === undefined) {
// 如果没有提供ID,创建一个新环境并分配ID
id = nextId++;
}
if (environments[id]) {
// 如果环境已存在,直接返回
return environments[id];
}
// 如果环境数量达到上限,销毁最早的环境
if (Object.keys(environments).length >= MAX_ENVIRONMENTS) {
const oldestId = Object.keys(environments).sort((a, b) => a - b)[0];
environments[oldestId].destroy();
delete environments[oldestId];
}
// 创建新环境
environments[id] = (function() {
let data = {};
return {
id,
execute: function(code) {
const fn = new Function('data', code);
fn(data);
},
getVariable: function(name) {
return data[name];
},
setVariable: function(name, value) {
data[name] = value;
},
destroy: function() {
delete environments[id];
}
};
})();
return environments[id];
}
}

Loading…
Cancel
Save