Merge branch 'dev' into main
Deploy / deploy (push) Failing after 11m40s
CI / build (push) Failing after 12m53s

This commit is contained in:
ByungCheol
2026-05-31 19:52:25 +09:00
3 changed files with 27 additions and 8 deletions
+10 -3
View File
@@ -1,4 +1,11 @@
# 앱(Capacitor) 빌드 전용 환경변수 — `vite build --mode capacitor` 가 로드합니다. # 앱(Capacitor) 빌드 전용 환경변수 — `vite build --mode capacitor` 가 로드합니다.
# 앱 안에서는 상대경로(/api)가 서버로 가지 않으므로 백엔드 절대 URL 지정해야 합니다. # 앱 안에서는 상대경로(/api)가 서버로 가지 않으므로 백엔드 절대 URL 지정해야 합니다.
# 운영 백엔드 도메인으로 교체하세요. 예) https://api.yourdomain.com/api 또는 https://yourdomain.com/api #
VITE_API_BASE_URL=https://your-backend-domain/api # [로컬 + 에뮬레이터 테스트] 에뮬레이터에서 10.0.2.2 = PC의 localhost
VITE_API_BASE_URL=http://10.0.2.2:8080/api
#
# [실기기 테스트] 같은 Wi-Fi 의 PC LAN IP 로 (예)
# VITE_API_BASE_URL=http://192.168.0.10:8080/api
#
# [배포 서버(HTTPS)] 운영 시
# VITE_API_BASE_URL=https://yourdomain.com/api
+4 -1
View File
@@ -2,7 +2,10 @@
"appId": "kr.sblog.slimbudget", "appId": "kr.sblog.slimbudget",
"appName": "Slim Budget", "appName": "Slim Budget",
"webDir": "dist", "webDir": "dist",
"server": {
"cleartext": true
},
"android": { "android": {
"allowMixedContent": false "allowMixedContent": true
} }
} }
+13 -4
View File
@@ -16,6 +16,8 @@ const emit = defineEmits(['update:modelValue'])
const el = ref(null) const el = ref(null)
let editor = null let editor = null
// 에디터가 마지막으로 emit 한 값. 부모가 되돌려준 echo 를 구분해 한글 조합(IME)이 깨지지 않게 한다.
let lastEmitted = props.modelValue || ''
onMounted(() => { onMounted(() => {
editor = new Editor({ editor = new Editor({
@@ -29,17 +31,24 @@ onMounted(() => {
usageStatistics: false, usageStatistics: false,
autofocus: false, autofocus: false,
events: { events: {
change: () => emit('update:modelValue', editor.getMarkdown()), change: () => {
lastEmitted = editor.getMarkdown()
emit('update:modelValue', lastEmitted)
},
}, },
}) })
}) })
// 외부 값 변경(수정 로드, 제출 후 초기화 등) 에디터에 반영 (입력 중 루프 방지 가드) // 외부 값 변경(수정 로드, 제출 후 초기화 등) 에디터에 반영.
// 에디터 자신이 방금 emit 한 값(echo)이면 무시 → 입력 중 setMarkdown 으로 IME(한글) 조합이 끊기지 않게 한다.
watch( watch(
() => props.modelValue, () => props.modelValue,
(val) => { (val) => {
if (editor && (val || '') !== editor.getMarkdown()) { const v = val || ''
editor.setMarkdown(val || '') if (v === lastEmitted) return
if (editor && v !== editor.getMarkdown()) {
lastEmitted = v
editor.setMarkdown(v)
} }
}, },
) )