프로젝트 열기 · 변경
모든 메서드는 init()이 반환한 editor 객체로 호출하며, 콜백은 function(err, data) 형태입니다. 성공 시 err는 null입니다.
create_project — 새 상품 만들기
섹션 제목: “create_project — 새 상품 만들기”새 상품을 편집기에 엽니다. ps_code, template_uri, token이 필요합니다.
editor.create_project(params, callback);| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
parent_element * | HTMLElement | — | 편집기 iframe이 추가될 DOM node |
partner | string | — | 부여받은 partner-id |
token * | string | — | 서버를 통해 받은 access key(JWT) |
ps_code * | string | — | 사이즈코드 + 상품 코드 (예: 90x50@NC) |
template_uri * | string | — | 리소스 템플릿 uri |
mobile | boolean | string | false | 모바일 UI 여부. false / true(기존) / "m2"(신규, 2026.4 추가) |
div | string | host | division code |
lang | string | ko | "ko" / "ja" / "en" |
ui_locale | string | lang와 동일 | "ko" / "ja" / "en" |
title | string | — | 제목 |
run_mode | string | standard | 패시브 모드로 열 때 passive |
edit_mode | string | standard | 디자이너 모드로 열 때 design |
num_page | number | — | 포토북 내지 스프레드 장수. 없으면 템플릿 그대로 생성. |
max_page | number | — | 내지 스프레드 최대 장수. 기본은 paging rule을 따름. |
min_page | number | — | 내지 스프레드 최소 장수. 기본은 paging rule을 따름. |
cal_date | string | — | 달력 날짜 생성 커맨드. 예: 2019-1(2019년 1월부터 12개월), 2019-1-14-0-0(14개월). |
private_css | string | — | CSS 오버라이드 값 |
clear_src | string | — | item default src 삭제(현재 cell만 가능) |
no_update | boolean | false | true면 종료 버튼이 "나가기"로 바뀌고, 저장 없이 바로 goto-cart 전송 |
콜백 케이스
섹션 제목: “콜백 케이스”| action | 타입 | 설명 |
|---|---|---|
project-id-created | — | 생성 성공. info.project_id에 프로젝트 id. |
close | — | 편집기 종료(또는 goto-cart) |
request-user-token | — | 인증이 만료되어 새 토큰이 필요함 → send-user-token으로 대응 |
request-help-message | — | 모바일 사진선택 탭의 도움말 버튼 클릭. info.case: "photo-import" |
editor.create_project( { parent_element, ps_code, template_uri, token }, function (err, data) { if (err == null && data.action == 'goto-cart') { self.close.emit(false); } else if (data.action == 'request-user-token') { // Edicus로부터 토큰 요청을 받으면 send-user-token으로 대응 getCustomTokenFromServer(client_env.uid, function (err, res) { editor.post_to_editor('send-user-token', { token: res.token }); }); } });open_project — 저장된 프로젝트 열기
섹션 제목: “open_project — 저장된 프로젝트 열기”저장된 프로젝트를 편집기로 엽니다.
editor.open_project(params, callback);create_project와 대부분 동일하며, template_uri·ps_code 대신 prjid(프로젝트 id)를 사용합니다.
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
prjid * | string | — | 프로젝트 id |
run_mode | string | standard | passive / preview(사진인화 상품만) |
edit_template — 템플릿 수정 모드
섹션 제목: “edit_template — 템플릿 수정 모드”템플릿 수정 모드로 편집기를 엽니다. Staff 권한 토큰이 필요합니다.
editor.edit_template(params, callback);| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
parent_element * | HTMLElement | — | 편집기 iframe이 추가될 DOM node |
token * | string | — | 서버를 통해 받은 access key |
ps_code * | string | — | 사이즈코드 + 상품 코드 |
template_uri * | string | — | 리소스 템플릿 uri |
div | string | host | division code |
lang | string | ko | language code |
ui_locale | string | lang와 동일 | ui locale code |
change_project — 프로젝트 변경
섹션 제목: “change_project — 프로젝트 변경”편집기가 떠 있는 상태에서 다른 프로젝트로 전환합니다.
editor.change_project({ project_id: 'abcdefghijklmn' });change_template — 템플릿 변경
섹션 제목: “change_template — 템플릿 변경”편집기가 떠 있는 상태에서 템플릿을 변경합니다.
editor.change_template({ ps_code: '90x50@NC', template_uri: 'gcs://template/partners/motion1/res/template/4201.json',});| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
ps_code * | string | — | 템플릿의 ps code |
template_uri * | string | — | 템플릿 resource uri |
recycle_project — 프로젝트 재활용
섹션 제목: “recycle_project — 프로젝트 재활용”기존 프로젝트로 새 프로젝트를 생성합니다. 사용자 사진은 제거됩니다. 파라미터·콜백은 create_project와 유사하되 prjid를 사용합니다.
editor.recycle_project({ parent_element, prjid, token }, callback);create_project 확장 옵션 — sizing
섹션 제목: “create_project 확장 옵션 — sizing”create_project의 params.options로 추가 설정을 전달할 수 있습니다. sizing 옵션은 템플릿 페이지 사이즈를 변경합니다.
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
type * | string | — | page 사이즈 변경 방식(현재 page만) |
width_mm | number | — | 대지 가로 크기(재단 점 기준) |
height_mm | number | — | 대지 세로 크기(재단 점 기준) |
cover_width_mm | number | — | 커버 대지 가로(책등 제외). 커버가 있고 내지와 크기가 다를 때 |
cover_height_mm | number | — | 커버 대지 세로. 커버가 있고 내지와 크기가 다를 때 |
cover_spine_mm | number | — | 커버 책등 크기. 템플릿 책등 크기를 조절해야 할 때 |
editor.create_project({ token, ps_code: '90x50@NAMECARD', template_uri, options: { sizing: { type: 'page', width_mm: 355, height_mm: 90 }, },}, callback);