33 changed files with 700 additions and 848 deletions
Unified View
Diff Options
-
3.fvmrc
-
2.gitignore
-
3.vscode/settings.json
-
198android/.kotlin/errors/errors-1767939772073.log
-
9lib/controller/discover/room_controller.dart
-
2lib/controller/home/user_information_controller.dart
-
11lib/controller/message/call_controller.dart
-
35lib/controller/mine/auth_controller.dart
-
12lib/controller/mine/edit_info_controller.dart
-
31lib/controller/mine/matchmaker_update_controller.dart
-
16lib/controller/mine/mine_controller.dart
-
11lib/controller/mine/rose_controller.dart
-
7lib/controller/setting/spread_controller.dart
-
2lib/im/im_manager.dart
-
3lib/model/discover/rtc_channel_model.dart
-
13lib/network/network_config.dart
-
18lib/pages/discover/live_item_widget.dart
-
2lib/pages/discover/visitor_list_page.dart
-
4lib/pages/home/user_information_page.dart
-
32lib/pages/message/chat_page.dart
-
321lib/pages/mine/matchmaker_update_page.dart
-
316lib/pages/mine/mine_page.dart
-
1lib/pages/mine/my_wallet_page.dart
-
41lib/pages/mine/rose_history_page.dart
-
107lib/pages/mine/signature_page.dart
-
12lib/pages/mine/withdraw_history_page.dart
-
8lib/pages/mine/withdraw_page.dart
-
7lib/pages/setting/setting_page.dart
-
24lib/rtc/rtc_manager.dart
-
4lib/service/live_chat_message_service.dart
-
287lib/widget/message/chat_input_bar.dart
-
2lib/widget/message/video_call_invite_dialog.dart
-
4pubspec.yaml
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"flutter": "3.35.2" |
||||
|
} |
||||
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"dart.flutterSdkPath": ".fvm/versions/3.35.2" |
||||
|
} |
||||
@ -0,0 +1,198 @@ |
|||||
|
kotlin version: 2.1.0 |
||||
|
error message: Daemon compilation failed: null |
||||
|
java.lang.Exception |
||||
|
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:69) |
||||
|
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:65) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:240) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:159) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:111) |
||||
|
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76) |
||||
|
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62) |
||||
|
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62) |
||||
|
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44) |
||||
|
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59) |
||||
|
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53) |
||||
|
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41) |
||||
|
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59) |
||||
|
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174) |
||||
|
at java.base/java.util.concurrent.FutureTask.run(Unknown Source) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:194) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:127) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:169) |
||||
|
at org.gradle.internal.Factories$1.create(Factories.java:31) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127) |
||||
|
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:132) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:164) |
||||
|
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:133) |
||||
|
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) |
||||
|
at java.base/java.util.concurrent.FutureTask.run(Unknown Source) |
||||
|
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) |
||||
|
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) |
||||
|
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) |
||||
|
at java.base/java.lang.Thread.run(Unknown Source) |
||||
|
Caused by: java.lang.AssertionError: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\emoji_picker_flutter\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:236) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCachesManager.close(IncrementalCachesManager.kt:55) |
||||
|
at kotlin.io.CloseableKt.closeFinally(Closeable.kt:56) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:293) |
||||
|
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:129) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:674) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:91) |
||||
|
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1659) |
||||
|
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source) |
||||
|
at java.base/java.lang.reflect.Method.invoke(Unknown Source) |
||||
|
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source) |
||||
|
at java.base/java.security.AccessController.doPrivileged(Unknown Source) |
||||
|
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source) |
||||
|
... 3 more |
||||
|
Caused by: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\emoji_picker_flutter\kotlin\compileReleaseKotlin\cacheable\caches-jvm\jvm\kotlin: class-fq-name-to-source.tab, source-to-classes.tab, internal-name-to-source.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.com.google.common.io.Closer.close(Closer.java:223) |
||||
|
... 22 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\emoji_picker_flutter-4.4.0\android\src\main\kotlin\com\fintasys\emoji_picker_flutter\EmojiPickerFlutterPlugin.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:33) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\emoji_picker_flutter-4.4.0\android\src\main\kotlin\com\fintasys\emoji_picker_flutter\EmojiPickerFlutterPlugin.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\emoji_picker_flutter-4.4.0\android\src\main\kotlin\com\fintasys\emoji_picker_flutter\EmojiPickerFlutterPlugin.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:33) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.save(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableCollectionExternalizer.save(LazyStorage.kt:151) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableCollectionExternalizer.save(LazyStorage.kt:142) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\emoji_picker_flutter\kotlin\compileReleaseKotlin\cacheable\caches-jvm\lookups: id-to-file.tab, file-to-id.tab |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:95) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.close(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.LookupStorage.close(LookupStorage.kt:155) |
||||
|
... 23 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\emoji_picker_flutter-4.4.0\android\src\main\kotlin\com\fintasys\emoji_picker_flutter\EmojiPickerFlutterPlugin.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LegacyFileExternalizer.save(IdToFileMap.kt:51) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LegacyFileExternalizer.save(IdToFileMap.kt:48) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:443) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\emoji_picker_flutter-4.4.0\android\src\main\kotlin\com\fintasys\emoji_picker_flutter\EmojiPickerFlutterPlugin.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.PersistentStorageWrapper.close(PersistentStorage.kt:124) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.Exception: Could not close incremental caches in D:\www\dating_touchme_app\build\emoji_picker_flutter\kotlin\compileReleaseKotlin\cacheable\caches-jvm\inputs: source-to-output.tab |
||||
|
... 25 more |
||||
|
Suppressed: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Administrator\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\emoji_picker_flutter-4.4.0\android\src\main\kotlin\com\fintasys\emoji_picker_flutter\EmojiPickerFlutterPlugin.kt and D:\www\dating_touchme_app\android. |
||||
|
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117) |
||||
|
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128) |
||||
|
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:24) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:50) |
||||
|
at org.jetbrains.kotlin.incremental.storage.FileDescriptor.getHashCode(FileToPathConverter.kt:30) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.hashKey(LinkedCustomHashMap.java:109) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.LinkedCustomHashMap.remove(LinkedCustomHashMap.java:153) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.containers.SLRUMap.remove(SLRUMap.java:89) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.flushAppendCache(PersistentMapImpl.java:999) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.doPut(PersistentMapImpl.java:451) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentMapImpl.put(PersistentMapImpl.java:422) |
||||
|
at org.jetbrains.kotlin.com.intellij.util.io.PersistentHashMap.put(PersistentHashMap.java:105) |
||||
|
at org.jetbrains.kotlin.incremental.storage.LazyStorage.set(LazyStorage.kt:80) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.applyChanges(InMemoryStorage.kt:108) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableInMemoryStorage.applyChanges(InMemoryStorage.kt:179) |
||||
|
at org.jetbrains.kotlin.incremental.storage.InMemoryStorage.close(InMemoryStorage.kt:136) |
||||
|
at org.jetbrains.kotlin.incremental.storage.AppendableSetBasicMap.close(BasicMap.kt:157) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner$close$1.invoke(BasicMapsOwner.kt:53) |
||||
|
at org.jetbrains.kotlin.incremental.storage.BasicMapsOwner.forEachMapSafe(BasicMapsOwner.kt:87) |
||||
|
... 24 more |
||||
|
|
||||
|
|
||||
@ -1,31 +0,0 @@ |
|||||
import 'package:get/get.dart'; |
|
||||
|
|
||||
class MatchmakerUpdateController extends GetxController { |
|
||||
final sum = 0.obs; |
|
||||
|
|
||||
final select = 0.obs; |
|
||||
|
|
||||
final deal = [ |
|
||||
{"title": "实习红娘", "price": "0", "revenue": [ |
|
||||
"礼物收益范围15%-30%,嘉宾消费的分成3%;", |
|
||||
"每天前5人连麦的礼物收益15%,第6-10人连麦的礼物收益20%,第11-15人连麦的礼物收益25%,第16人以上连麦的礼物收益30%;", |
|
||||
"红娘推荐的嘉宾成为红娘,赚取入驻费的20%分成;", |
|
||||
"新徒弟首月收益的10%(平台奖励)", |
|
||||
]}, |
|
||||
{"title": "在线红娘", "price": "99", "revenue": [ |
|
||||
"礼物收益范围30%-40%,嘉宾消费的分成6%;", |
|
||||
"每天前5人连麦的礼物收益30%,第6-10人连麦的礼物收益35%,第11人以上连麦的礼物收益40%;", |
|
||||
"红娘推荐的嘉宾成为红娘,赚取入驻费的20%分成;", |
|
||||
"新徒弟首月收益的10%(平台奖励)", |
|
||||
]}, |
|
||||
{"title": "签约红娘", "price": "399", "revenue": [ |
|
||||
"礼物收益固定40%,邀请嘉宾,嘉宾消费的分成10%", |
|
||||
"红娘推荐的嘉宾成为红娘,赚取入驻费的20%分成;", |
|
||||
"新徒弟首月收益的10%(平台奖励)", |
|
||||
]}, |
|
||||
].obs; |
|
||||
|
|
||||
changeActive(int i){ |
|
||||
select.value = i; |
|
||||
} |
|
||||
} |
|
||||
@ -1,321 +0,0 @@ |
|||||
import 'package:dating_touchme_app/components/page_appbar.dart'; |
|
||||
import 'package:dating_touchme_app/controller/mine/matchmaker_update_controller.dart'; |
|
||||
import 'package:dating_touchme_app/extension/ex_widget.dart'; |
|
||||
import 'package:dating_touchme_app/generated/assets.dart'; |
|
||||
import 'package:flutter/material.dart'; |
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
||||
import 'package:get/get.dart'; |
|
||||
|
|
||||
class MatchmakerUpdatePage extends StatelessWidget { |
|
||||
const MatchmakerUpdatePage({super.key}); |
|
||||
|
|
||||
@override |
|
||||
Widget build(BuildContext context) { |
|
||||
return GetX<MatchmakerUpdateController>( |
|
||||
init: MatchmakerUpdateController(), |
|
||||
builder: (controller){ |
|
||||
return Stack( |
|
||||
children: [ |
|
||||
Positioned( |
|
||||
child: Container( |
|
||||
width: 375.w, |
|
||||
height: 812.h, |
|
||||
decoration: BoxDecoration( |
|
||||
gradient: LinearGradient( |
|
||||
begin: Alignment.topCenter, |
|
||||
end: Alignment.bottomCenter, |
|
||||
colors: [ |
|
||||
Color.fromRGBO(172, 89, 255, 1), // 100% |
|
||||
Color.fromRGBO(117, 98, 249, 1), // 64.87% |
|
||||
Color.fromRGBO(117, 98, 249, 1), // 43.03% |
|
||||
Color.fromRGBO(255, 255, 255, 1), // 0% |
|
||||
], |
|
||||
stops: [ |
|
||||
0.0, |
|
||||
0.2303, |
|
||||
0.4487, |
|
||||
0.6, |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
Scaffold( |
|
||||
backgroundColor: Colors.transparent, |
|
||||
appBar: PageAppbar(title: "升级红娘", backgroundColor: Colors.transparent, color: Colors.white,), |
|
||||
body: SingleChildScrollView( |
|
||||
child: Container( |
|
||||
padding: EdgeInsets.symmetric( |
|
||||
vertical: 20.w, |
|
||||
horizontal: 12.w |
|
||||
), |
|
||||
child: Column( |
|
||||
children: [ |
|
||||
Container( |
|
||||
padding: EdgeInsets.symmetric( |
|
||||
vertical: 20.w, |
|
||||
horizontal: 12.w |
|
||||
), |
|
||||
decoration: BoxDecoration( |
|
||||
color: Colors.white, |
|
||||
borderRadius: BorderRadius.all(Radius.circular(18.w)), |
|
||||
), |
|
||||
child: Column( |
|
||||
children: [ |
|
||||
Row( |
|
||||
children: [ |
|
||||
Text( |
|
||||
"趣恋恋,让婚恋服务更高效", |
|
||||
style: TextStyle( |
|
||||
fontSize: 16.w, |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
), |
|
||||
SizedBox(height: 15.w,), |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
...controller.deal.asMap().entries.map((entry){ |
|
||||
return SelectItem( |
|
||||
item: entry.value, |
|
||||
index: entry.key, |
|
||||
active: controller.select.value, |
|
||||
changeActive: controller.changeActive, |
|
||||
); |
|
||||
}), |
|
||||
], |
|
||||
), |
|
||||
SizedBox(height: 30.w,), |
|
||||
Row( |
|
||||
mainAxisAlignment: MainAxisAlignment.center, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"新红娘入驻权益", |
|
||||
style: TextStyle( |
|
||||
fontSize: 22.w, |
|
||||
color: const Color.fromRGBO(48, 48, 48, 1), |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
SizedBox(width: 10.w,), |
|
||||
Image.asset( |
|
||||
Assets.imagesLimitTime, |
|
||||
width: 30.w, |
|
||||
height: 16.w, |
|
||||
) |
|
||||
], |
|
||||
), |
|
||||
SizedBox(height: 15.w,), |
|
||||
...(controller.deal[controller.select.value]["revenue"] as List).asMap().entries.map((entry){ |
|
||||
return RevenueItem( |
|
||||
index: controller.select.value == 2 && entry.key >= 1 ? entry.key + 1 : entry.key, |
|
||||
title: entry.value, |
|
||||
); |
|
||||
}) |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
Container( |
|
||||
width: 325.w, |
|
||||
height: 45.w, |
|
||||
decoration: BoxDecoration( |
|
||||
borderRadius: BorderRadius.all(Radius.circular(45.w)), |
|
||||
gradient: LinearGradient( |
|
||||
begin: Alignment.centerLeft, // 0%:左边开始 |
|
||||
end: Alignment.centerRight, // 100%:右边结束 |
|
||||
colors: [ |
|
||||
Color.fromRGBO(131, 89, 255, 1), // 紫色 |
|
||||
Color.fromRGBO(77, 127, 231, 1), // 中间淡蓝 |
|
||||
Color.fromRGBO(61, 138, 224, 1), // 右侧深蓝 |
|
||||
], |
|
||||
stops: [0.0, 0.7753, 1.0], // 对应 CSS 百分比:0%、77.53%、100% |
|
||||
), |
|
||||
), |
|
||||
child: Center( |
|
||||
child: Text( |
|
||||
"确认", |
|
||||
style: TextStyle( |
|
||||
fontSize: 18.w, |
|
||||
color: Colors.white, |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
); |
|
||||
}, |
|
||||
); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
class SelectItem extends StatefulWidget { |
|
||||
final Map item; |
|
||||
final int index; |
|
||||
final int active; |
|
||||
final Function(int) changeActive; |
|
||||
const SelectItem({super.key, required this.item, required this.index, required this.active, required this.changeActive}); |
|
||||
|
|
||||
@override |
|
||||
State<SelectItem> createState() => _SelectItemState(); |
|
||||
} |
|
||||
|
|
||||
class _SelectItemState extends State<SelectItem> { |
|
||||
@override |
|
||||
Widget build(BuildContext context) { |
|
||||
return Stack( |
|
||||
children: [ |
|
||||
Container( |
|
||||
width: 103.w, |
|
||||
height: 109.w, |
|
||||
padding: EdgeInsets.only( |
|
||||
top: 32.w, |
|
||||
bottom: 9.w |
|
||||
), |
|
||||
decoration: BoxDecoration( |
|
||||
borderRadius: BorderRadius.all(Radius.circular(17.w)), |
|
||||
border: Border.all(width: 1, color: widget.active == widget.index ? const Color.fromRGBO(117, 98, 249, 1) : const Color.fromRGBO(222, 222, 222, 1)), |
|
||||
gradient: widget.active == widget.index ? LinearGradient( |
|
||||
begin: Alignment.centerLeft, // 90deg 从左到右 |
|
||||
end: Alignment.centerRight, |
|
||||
colors: [ |
|
||||
Color.fromRGBO(232, 199, 255, 0.2), // 0% |
|
||||
Color.fromRGBO(194, 195, 255, 0.2), // 100% |
|
||||
], |
|
||||
stops: [ |
|
||||
0.0, |
|
||||
1.0, |
|
||||
], |
|
||||
) : null, |
|
||||
), |
|
||||
child: Column( |
|
||||
mainAxisAlignment: MainAxisAlignment.spaceBetween, |
|
||||
children: [ |
|
||||
Text( |
|
||||
"年费", |
|
||||
style: TextStyle( |
|
||||
fontSize: 11.w, |
|
||||
fontWeight: FontWeight.w700 |
|
||||
), |
|
||||
), |
|
||||
RichText( |
|
||||
text: TextSpan( |
|
||||
style: TextStyle( |
|
||||
color: const Color.fromRGBO(248, 85, 66, 1), |
|
||||
fontWeight: FontWeight.w700 |
|
||||
), |
|
||||
children: [ |
|
||||
TextSpan( |
|
||||
text: "¥", |
|
||||
style: TextStyle( |
|
||||
fontSize: 11.w |
|
||||
) |
|
||||
), |
|
||||
TextSpan( |
|
||||
text: "${widget.item["price"]}", |
|
||||
style: TextStyle( |
|
||||
fontSize: 21.w |
|
||||
) |
|
||||
) |
|
||||
] |
|
||||
), |
|
||||
), |
|
||||
Text( |
|
||||
"+10小时视频相亲", |
|
||||
style: TextStyle( |
|
||||
color: Color.fromRGBO(144, 144, 144, widget.index == 0 ? 1 : 0), |
|
||||
fontSize: 9.w |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
), |
|
||||
), |
|
||||
Positioned( |
|
||||
top: 0, |
|
||||
left: 0, |
|
||||
child: Container( |
|
||||
width: 63.w, |
|
||||
height: 16.w, |
|
||||
decoration: BoxDecoration( |
|
||||
color: widget.active == widget.index ? const Color.fromRGBO(117, 98, 249, 1) : const Color.fromRGBO(191, 191, 191, 1), |
|
||||
borderRadius: BorderRadius.only( |
|
||||
topLeft: Radius.circular(16.w), |
|
||||
bottomRight: Radius.circular(16.w), |
|
||||
) |
|
||||
), |
|
||||
child: Center( |
|
||||
child: Text( |
|
||||
"${widget.item["title"]}", |
|
||||
style: TextStyle( |
|
||||
fontSize: 9.w, |
|
||||
color: Colors.white, |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
).onTap((){ |
|
||||
widget.changeActive(widget.index); |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
class RevenueItem extends StatefulWidget { |
|
||||
final int index; |
|
||||
final String title; |
|
||||
const RevenueItem({super.key, required this.index, required this.title}); |
|
||||
|
|
||||
@override |
|
||||
State<RevenueItem> createState() => _RevenueItemState(); |
|
||||
} |
|
||||
|
|
||||
class _RevenueItemState extends State<RevenueItem> { |
|
||||
|
|
||||
final matchmakerIcons = { |
|
||||
0: Assets.imagesMatchmakerIcon1, |
|
||||
1: Assets.imagesMatchmakerIcon2, |
|
||||
2: Assets.imagesMatchmakerIcon3, |
|
||||
3: Assets.imagesMatchmakerIcon4, |
|
||||
}; |
|
||||
|
|
||||
@override |
|
||||
Widget build(BuildContext context) { |
|
||||
return Container( |
|
||||
padding: EdgeInsets.all(17.w), |
|
||||
margin: EdgeInsets.only(bottom: 4.w), |
|
||||
decoration: BoxDecoration( |
|
||||
borderRadius: BorderRadius.all(Radius.circular(18.w)), |
|
||||
color: const Color.fromRGBO(117, 98, 249, .1) |
|
||||
), |
|
||||
child: Row( |
|
||||
children: [ |
|
||||
Image.asset( |
|
||||
matchmakerIcons[widget.index]!, |
|
||||
width: 26.w, |
|
||||
height: 26.w, |
|
||||
), |
|
||||
SizedBox(width: 14.w,), |
|
||||
Expanded( |
|
||||
child: Text( |
|
||||
widget.title, |
|
||||
style: TextStyle( |
|
||||
fontSize: 11.w, |
|
||||
fontWeight: FontWeight.w500 |
|
||||
), |
|
||||
), |
|
||||
) |
|
||||
], |
|
||||
), |
|
||||
); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
Write
Preview
Loading…
Cancel
Save