Loading...
Loading...
Compare original and translation side by side
@sasjs/cli@sasjs/adapter_webout@sasjs/cli@sasjs/adapter_weboutsasjs/
sasjsconfig.json # project + target configuration
macros/ # project-specific macros (macroFolders)
services/ # web services called from the frontend
jobs/ # jobs (scheduled / flow / long-running)
programs/ # plain programs (initProgram, termProgram, utilities)
db/ # DDL + static data per library (sasjs db)
tests/ # tests run by `sasjs test`
mocks/ # mock responses for offline frontend dev (syncFolder)
doxy/ # extra doxygen content for `sasjs doc`sasjs/
sasjsconfig.json # 项目 + 目标环境配置
macros/ # 项目专属宏(macroFolders)
services/ # 前端调用的Web服务
jobs/ # 任务(可调度/流式/长时间运行)
programs/ # 普通程序(initProgram、termProgram、工具类)
db/ # 每个库对应的DDL + 静态数据(sasjs db)
tests/ # 通过`sasjs test`运行的测试用例
mocks/ # 供前端离线开发使用的模拟响应(syncFolder)
doxy/ # 用于`sasjs doc`的额外doxygen内容targets[]macroFoldersbinaryFoldersserviceConfig.serviceFoldersinitProgramjobConfig.jobFoldersprogramFoldersstreamConfigstreamWeb: truewebSourcePathsyncFoldertestConfigsasjs testtargets[]serverUrlserverTypeSAS9SASVIYASASJSappLoc/Public/app/myapptargets/viya/macros_viyahttpsAgentOptionsdeployConfigsasjsconfig-schema.json"$schema": "https://cli.sasjs.io/sasjsconfig-schema.json"targets[]macroFoldersbinaryFoldersserviceConfig.serviceFoldersinitProgramjobConfig.jobFoldersprogramFoldersstreamConfigstreamWeb: truewebSourcePathsyncFoldertestConfigsasjs testtargets[]serverUrlserverTypeSAS9SASVIYASASJSappLoc/Public/app/myapptargets/viya/macros_viyahttpsAgentOptionsdeployConfigsasjsconfig-schema.json"$schema": "https://cli.sasjs.io/sasjsconfig-schema.json"services/<folder>/<name>initProgram_webout/**
@file
@brief Example service returning data
<h4> SAS Macros </h4>
@li mp_jsonout.sas
@li mp_abort.sas
**/
/* validation / logic here */
%mp_jsonout(OPEN)
%mp_jsonout(OBJ,results,dslabel=results)
%mp_jsonout(CLOSE)%mp_abort(...)mf_abort%mp_abort%if/%elseiftrue=%mp_abort(iftrue= (%mf_existds(work.results)=0)
,mac=&_program
,msg=%str(No results found)
)%include_webout%mp_abort(mode=INCLUDE)work.mp_abort_errdsservices/<folder>/<name>initProgram_webout/**
@file
@brief 返回数据的示例服务
<h4> SAS宏 </h4>
@li mp_jsonout.sas
@li mp_abort.sas
**/
/* 验证/逻辑代码写在这里 */
%mp_jsonout(OPEN)
%mp_jsonout(OBJ,results,dslabel=results)
%mp_jsonout(CLOSE)%mp_abort(...)mf_abort%if/%else%mp_abortiftrue=%mp_abort(iftrue= (%mf_existds(work.results)=0)
,mac=&_program
,msg=%str(未找到结果)
)%include_webout%mp_abort(mode=INCLUDE)work.mp_abort_errdstargets/<name>/macros_*mm_*mv_*ms_*targets/<name>/macros_*mm_*mv_*ms_*sasjs lint.sas/* ... */sasjs/testssasjs testsasjs/mocks.sassasjs lint/* ... */sasjs/testssasjs testsasjs/mockssasjsconfig.jsondcdwp_frsplatosasjsconfig.jsondcdwp_frsplato