#!/bin/bash # 鱜è‰Č蟓ć‡ș GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color echo -e "${GREEN}🚀 ćŒ€ć§‹è‡ȘćŠšćŒ–æž„ć»șć’ŒćŻćŠšæ”çš‹...${NC}\n" # 1. 构ć»ș SDK echo -e "${YELLOW}📩 æ­„éȘ€ 1/3: 构ć»ș SDK...${NC}" npm run build if [ $? -ne 0 ]; then echo -e "${RED}❌ SDK 构ć»șć€±èŽ„ïŒ${NC}" exit 1 fi echo -e "${GREEN}✅ SDK 构ć»șæˆćŠŸ${NC}\n" # 2. ć€ćˆ¶ SDK æ–‡ä»¶ćˆ° demo ç›źćœ• echo -e "${YELLOW}📋 æ­„éȘ€ 2/3: ć€ćˆ¶ SDK æ–‡ä»¶ćˆ° demo ç›źćœ•...${NC}" # ć€ćˆ¶ćˆ° demo/lib echo " ć€ćˆ¶ćˆ° demo/lib..." cd demo npm run copy-sdk if [ $? -ne 0 ]; then echo -e "${RED}❌ ć€ćˆ¶ćˆ° demo/lib ć€±èŽ„ïŒ${NC}" exit 1 fi cd .. # ć€ćˆ¶ćˆ° demo-vue/public/lib echo " ć€ćˆ¶ćˆ° demo-vue/public/lib..." cd demo-vue npm run copy-sdk if [ $? -ne 0 ]; then echo -e "${RED}❌ ć€ćˆ¶ćˆ° demo-vue/public/lib ć€±èŽ„ïŒ${NC}" exit 1 fi cd .. echo -e "${GREEN}✅ SDK æ–‡ä»¶ć€ćˆ¶ćźŒæˆ${NC}\n" # 3. ćŻćŠšćŒ€ć‘æœćŠĄć™š echo -e "${YELLOW}🌐 æ­„éȘ€ 3/3: ćŻćŠšćŒ€ć‘æœćŠĄć™š...${NC}\n" # æž…ç†ć‡œæ•°ïŒšćœ“è„šæœŹé€€ć‡șæ—¶ćœæ­ąæ‰€æœ‰ćŽć°èż›çš‹ cleanup() { echo -e "\n${YELLOW}🛑 æ­Łćœšćœæ­ąćŒ€ć‘æœćŠĄć™š...${NC}" kill $DEMO_PID $DEMO_VUE_PID 2>/dev/null exit 0 } # æłšć†Œæž…ç†ć‡œæ•° trap cleanup SIGINT SIGTERM # 搯抹 demo (ç«ŻćŁ 8080) echo -e "${GREEN}搯抹 demo (http://localhost:8080)...${NC}" cd demo npm run dev & DEMO_PID=$! cd .. # ç­‰ćŸ…äž€äž‹çĄźäżæœćŠĄć™šćŻćŠš sleep 3 # 搯抹 demo-vue (ç«ŻćŁ 8081) echo -e "${GREEN}搯抹 demo-vue (http://localhost:8081)...${NC}" cd demo-vue npm run dev & DEMO_VUE_PID=$! cd .. # ç­‰ćŸ…äž€äž‹çĄźäżæœćŠĄć™šćŻćŠš sleep 3 echo -e "\n${GREEN}✅ æ‰€æœ‰æœćŠĄć·ČćŻćŠšïŒ${NC}" echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo -e "${GREEN}đŸ“± Demo (HTML): http://localhost:8080${NC}" echo -e "${GREEN}đŸ“± Demo (Vue3): http://localhost:8081${NC}" echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo -e "${YELLOW}💡 按 Ctrl+C ćœæ­ąæ‰€æœ‰æœćŠĄć™š${NC}\n" # ç­‰ćŸ…ç”šæˆ·äž­æ–­ wait