Improve MisskeyPages

This commit is contained in:
syuilo
2019-04-30 12:15:41 +09:00
parent 59782973be
commit 759719d124
21 changed files with 520 additions and 93 deletions

View File

@ -97,6 +97,7 @@ type PageVar = { name: string; value: any; type: Type; };
const envVarsDef = {
AI: 'string',
URL: 'string',
VERSION: 'string',
LOGIN: 'boolean',
NAME: 'string',
@ -120,7 +121,7 @@ export class AiScript {
public static blockDefs = blockDefs;
public static funcDefs = funcDefs;
private opts: {
randomSeed?: string; user?: any; visitor?: any;
randomSeed?: string; user?: any; visitor?: any; page?: any; url?: string;
};
constructor(variables: Variable[] = [], pageVars: PageVar[] = [], opts: AiScript['opts'] = {}) {
@ -131,6 +132,7 @@ export class AiScript {
this.envVars = {
AI: 'kawaii',
VERSION: version,
URL: opts.page ? `${opts.url}/@${opts.page.user.username}/pages/${opts.page.name}` : '',
LOGIN: opts.visitor != null,
NAME: opts.visitor ? opts.visitor.name : '',
USERNAME: opts.visitor ? opts.visitor.username : '',

View File

@ -2,10 +2,22 @@ export function collectPageVars(content) {
const pageVars = [];
const collect = (xs: any[]) => {
for (const x of xs) {
if (x.type === 'input') {
if (x.type === 'textInput') {
pageVars.push({
name: x.name,
type: x.inputType,
type: 'string',
value: x.default
});
} else if (x.type === 'textareaInput') {
pageVars.push({
name: x.name,
type: 'string',
value: x.default
});
} else if (x.type === 'numberInput') {
pageVars.push({
name: x.name,
type: 'number',
value: x.default
});
} else if (x.type === 'switch') {