capacitor.config.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import { CapacitorConfig } from '@capacitor/cli';
  2. // 获取本地服务
  3. console.log("import.meta.env=", process.env.VITE_DAPP_BUILD)
  4. let config: CapacitorConfig = {
  5. appId: 'com.acc.app',
  6. appName: 'Local Block',
  7. // appId: 'com.im.app',
  8. // appName: 'Im Block',
  9. webDir: 'dist',
  10. // 插件配置
  11. plugins: {
  12. CapacitorAsset: {
  13. iconBackgroundColor: '#ffffff' // 应用图标背景色
  14. },
  15. // 注意:原JSON中嵌套了重复的"plugins"键,已修正
  16. PushNotifications: {
  17. presentationOptions: ['badge', 'sound', 'alert']
  18. },
  19. CapacitorUpdater: {
  20. autoUpdate: false, // 自行控制
  21. statsUrl: '', // 统计上报: POST /api/stats 接收 JSON(内容是插件的事件日志),返回 200 即可。
  22. },
  23. LocalNotifications: {
  24. sound: "" // 为空:使用默认的系统通知声音。如果未提供,则 Android 系统将发出默认声音,iOS 系统则不发出声音。
  25. }
  26. },
  27. // iOS专属配置
  28. ios: {
  29. scheme: 'App',
  30. scrollEnabled: true,
  31. },
  32. // Android专属配置
  33. android: {
  34. allowMixedContent: true, // 允许混合HTTP/HTTPS内容
  35. useLegacyBridge: true, // 使用旧版桥接(兼容性)
  36. // 签名证书配置(建议通过环境变量注入敏感信息)
  37. // 钱包证书
  38. buildOptions: {
  39. keystorePath: 'f62.keystore',
  40. keystoreAlias: 'f62', // // 生成时指定的别名
  41. keystorePassword: 'LkSvN1Ys', // 从环境变量读取
  42. keystoreAliasPassword: 'LkSvN1Ys'
  43. }
  44. // IM证书
  45. // buildOptions: {
  46. // keystorePath: '1.keystore',
  47. // keystoreAlias: 'key0', // // 生成时指定的别名
  48. // keystorePassword: '123456', // 从环境变量读取
  49. // keystoreAliasPassword: '123456'
  50. // }
  51. }
  52. };
  53. // 开发服务器配置(热更新用)
  54. if (process.env.VITE_DAPP_DEV == '1') {
  55. config.server = {
  56. url: 'https://192.168.0.70:5173',
  57. cleartext: false, // 允许HTTP明文通信(仅开发环境)
  58. androidScheme: 'https',
  59. allowNavigation: ['*'] // 允许任意URL导航
  60. }
  61. } else {
  62. (async () => {
  63. const { updateVersion } = await import('./scripts/sync-version.js');
  64. updateVersion();
  65. })();
  66. }
  67. export default config;