# —— Flutter 工程依赖与平台配置片段 ——

# =============================================================================
# pubspec.yaml
# =============================================================================
dependencies:
  flutter:
    sdk: flutter

  # 腾讯特效（必加）
  tencent_effect_flutter: ^最新版本
    # 或本地路径：
    # path: ../TencentEffect_Flutter
    # 或 git：
    # git:
    #   url: https://github.com/Tencent-RTC/TencentEffect_Flutter

  # —— RTC 二选一（按用户实际使用） ——
  tencent_trtc_cloud: ^3.0.4         # TRTC 老版（demo 使用）
  # tencent_rtc_sdk: ^最新版本        # TRTC 新版
  # live_flutter_plugin: ^12.6.1     # 直播 SDK

  # —— 公共辅助 ——
  path_provider: ^2.0.0
  shared_preferences: ^2.0.0
  permission_handler: ^11.0.0
  package_info_plus: ^8.0.0
  fluttertoast: ^8.0.0
  sensors_plus: ^6.0.0               # 方向适配

# 套餐选择（影响 iOS pod 拉取的子套餐）
TencentEffect:
  te_sub_spec: 'S1-07'               # 按购买套餐改：A1-XX / S1-XX / X1-XX

flutter:
  uses-material-design: true
  assets:
    - assets/beauty_panel/
    - assets/beauty_panel/zh_hant/   # 繁体面板（可选）
    - assets/beauty_panel/panel_icon/beauty/
    - assets/beauty_panel/panel_icon/beauty/beauty_smooth/
    - assets/beauty_panel/panel_icon/beauty/eyes_makeup/
    - assets/beauty_panel/panel_icon/beauty/kouhong/
    - assets/beauty_panel/panel_icon/beauty/liti/
    - assets/beauty_panel/panel_icon/beauty/saihong/
    - assets/beauty_panel/panel_icon/beauty_body/
    - assets/beauty_panel/panel_icon/beauty_template/
    - assets/beauty_panel/panel_icon/lut_icon/
    - assets/beauty_panel/panel_icon/light_makeup_icon/
    - assets/beauty_panel/panel_icon/makeup_icon/
    - assets/beauty_panel/panel_icon/motions_icon/
    - assets/labels/


# =============================================================================
# Android：android/app/build.gradle
# =============================================================================
android {
    compileSdkVersion 34
    defaultConfig {
        applicationId "com.example.beauty"      # ⚠ 必须与 License 申请时的包名一致
        minSdkVersion 21
        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
    packagingOptions {
        pickFirst "**/libc++_shared.so"
    }
}

# 套餐依赖（按购买套餐改）
dependencies {
    implementation 'com.tencent.mediacloud:TencentEffect_S1-07:latest.release'
}


# =============================================================================
# Android：android/app/src/main/AndroidManifest.xml
# =============================================================================
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

<!-- 美颜 SDK < 3.9 才需要；仅影响 GAN 类特效（童话脸/国漫脸） -->
<application ...>
    <uses-native-library android:name="libOpenCL.so" android:required="false" />
</application>


# =============================================================================
# Android：proguard-rules.pro（开启 minifyEnabled 时必加）
# =============================================================================
-keep class com.tencent.xmagic.**{*;}
-keep class org.light.**{*;}
-keep class org.libpag.**{*;}
-keep class org.extra.**{*;}
-keep class com.gyailib.**{*;}
-keep class com.tencent.cloud.iai.lib.**{*;}
-keep class com.tencent.beacon.**{*;}
-keep class com.tencent.qimei.**{*;}
-keep class androidx.exifinterface.**{*;}
-keep class com.tencent.effect.**{*;}


# =============================================================================
# Android：套餐资源（按套餐裁剪）
# =============================================================================
# 从 TencentEffect_Flutter/demo 拷贝到自己工程：
#   android/app/src/main/assets/
#     ├─ lut/         # 滤镜
#     └─ MotionRes/   # 动效贴纸（2dMotion / 3dMotion / ganMotion / ...）


# =============================================================================
# iOS：ios/Podfile
# =============================================================================
platform :ios, '11.0'

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['OTHER_LDFLAGS'] ||= ['$(inherited)']
      config.build_settings['OTHER_LDFLAGS'] << '-ObjC'
    end
  end
end


# =============================================================================
# iOS：ios/Runner/Info.plist
# =============================================================================
<key>NSCameraUsageDescription</key>
<string>用于美颜直播 / 视频通话</string>
<key>NSMicrophoneUsageDescription</key>
<string>用于音视频通话</string>


# =============================================================================
# iOS：套餐资源（按套餐裁剪 + Xcode 手动 Add Files 引入）
# =============================================================================
# 从 TencentEffect_Flutter/demo 拷贝到 ios/Runner/xmagic/，并在 Xcode 中：
#   File → Add Files to "Runner" 引入这些 .bundle，
#   Build Phases → Copy Bundle Resources 中确认引入成功。
#
# 完整套餐 → Android 子目录 / iOS bundle 对应表（唯一事实源）：
#   references/12-with-live-flutter-plugin.md §5.1


# =============================================================================
# 构建命令（License 通过 --dart-define 注入）
# =============================================================================
# flutter run \
#   --dart-define=EFFECT_LICENSE_KEY=xxxxxxxx \
#   --dart-define=EFFECT_LICENSE_URL=https://license.vod2.myqcloud.com/license/v2/xxx.license


# =============================================================================
# 套餐切换（推荐：通过 pubspec.yaml 顶层 te_sub_spec 字段，无需 fork 插件）
# =============================================================================
# 1) 在 pubspec.yaml 顶层（与 dependencies 同级）加：
#      TencentEffect:
#        te_sub_spec: 'S1-07'      # 改成你的套餐：A1-00 ~ A1-06、S1-00 ~ S1-04、S1-07
# 2) 同步改 android/app/build.gradle 的 maven 依赖：
#      implementation 'com.tencent.mediacloud:TencentEffect_S1-07:latest.release'
# 3) flutter pub get
# 4) cd ios && pod update
#
# tencent_effect_flutter 插件会读取 te_sub_spec 字段，自动控制 iOS pod 拉取对应
# TencentEffect_<套餐> subspec —— 业务无需触碰 ios/tencent_effect_flutter.podspec
# 也无需 fork 插件。
#
# （旧版 fork 改 podspec 的 TencentEffect_All 字段的做法已被 te_sub_spec 取代。
#  仅在 SDK 版本号有特殊要求等深度定制场景才需要 fork。）
