|
- import fs from 'node:fs';
- import assert from 'node:assert/strict';
- import {login,call} from './role-permissions-live.mjs';
- import {introductionPages} from '../../unreal_tran_web/src/features/training/introduction.js';
- const dir='reports/bridge-introduction-narration-20260924';fs.mkdirSync(dir,{recursive:true});
- const session=await login('root'),pages=[];
- for(const id of [86,87,88,89]){
- const response=await call('tran/v1/teaching/assignments/'+id,session.accessToken);assert.equal(response.status,200);
- const task=response.data;
- for(const [index,page] of introductionPages(task.definitionSnapshot.introduction).entries()){
- assert.equal(page.format,'image-text');assert.ok(page.body);
- const text=page.body.replace(/\n\s*/g,'\n').trim();
- assert.ok(!/原稿|未展开|没有展开/.test(text));
- pages.push({key:task.code+'-intro-'+String(index).padStart(2,'0'),code:task.code,scriptId:task.definitionSnapshot.runtime.scriptId,
- assignmentId:String(id),contentVersionId:task.contentVersionId,pageId:page.id,title:page.title,body:page.body,format:page.format,text});
- }
- }
- fs.writeFileSync(dir+'/sources.json',JSON.stringify(pages,null,2));
- console.log(pages.map(p=>({key:p.key,title:p.title,characters:p.text.length})));
|