瀏覽代碼

Merge branch 'gq' of ssh://git.9026.com:2212/roobe/miao into gq

gq 8 年之前
父節點
當前提交
836ba61d49
共有 30 個文件被更改,包括 591 次插入512 次删除
  1. 77 75
      miaomiao/config.xml
  2. 13 8
      miaomiao/www/css/style.css
  3. 9 7
      miaomiao/www/js/config/router.js
  4. 3 2
      miaomiao/www/js/controllers/add.js
  5. 116 42
      miaomiao/www/js/controllers/home.js
  6. 38 62
      miaomiao/www/js/controllers/my.js
  7. 0 13
      miaomiao/www/js/controllers/tabs.js
  8. 13 1
      miaomiao/www/js/services/homeservice.js
  9. 4 1
      miaomiao/www/js/services/httpinterceptor.js
  10. 1 1
      miaomiao/www/js/services/msgservice.js
  11. 2 2
      miaomiao/www/js/services/myservice.js
  12. 88 46
      miaomiao/www/templates/home/dream-detail.html
  13. 4 8
      miaomiao/www/templates/home/index.html
  14. 0 31
      miaomiao/www/templates/home/interaction-add.html
  15. 10 9
      miaomiao/www/templates/my/index.html
  16. 1 1
      miaomiao/www/templates/my/my-collect.html
  17. 7 42
      miaomiao/www/templates/my/my-dream.html
  18. 4 0
      miaomiao/www/templates/my/my-profile.html
  19. 2 2
      miaomiao/www/templates/my/my-recharge.html
  20. 2 2
      miaomiao/www/templates/tabs.html
  21. 1 0
      server/app/Http/Controllers/Api/V1/AttachmentController.php
  22. 63 0
      server/app/Http/Controllers/Api/V1/AuthController.php
  23. 73 65
      server/app/Http/Controllers/Api/V1/DreamController.php
  24. 20 18
      server/app/Http/Controllers/Api/V1/IndexController.php
  25. 26 57
      server/app/Http/Controllers/Api/V1/MyController.php
  26. 3 0
      server/app/Models/DreamImages.php
  27. 1 8
      server/app/Models/DreamInfoModel.php
  28. 4 3
      server/app/Models/UserInfoModel.php
  29. 3 3
      server/app/Services/Base/ErrorCode.php
  30. 3 3
      server/routes/api.php

+ 77 - 75
miaomiao/config.xml

xqd xqd
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 <widget id="com.ionicframework.ionictabs121641" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
   <name>喵喵</name>
   <description>
@@ -7,83 +7,85 @@
   <author email="you@example.com" href="http://example.com.com/">
       Your Name Here
     </author>
-  <content src="index.html" />
-  <access origin="*" />
-  <preference name="webviewbounce" value="false" />
-  <preference name="UIWebViewBounce" value="false" />
-  <preference name="DisallowOverscroll" value="true" />
-  <preference name="android-minSdkVersion" value="16" />
-  <preference name="BackupWebStorage" value="none" />
-  <preference name="KeepRunning" value="True" />
-  <preference name="ShowTitle" value="True" />
-  <preference name="InAppBrowserStorageEnabled" value="True" />
-  <preference name="SuppressesIncrementalRendering" value="True" />
-  <preference name="windows-target-version" value="10.0" />
-  <preference name="SplashScreen" value="screen" />
-  <preference name="SplashScreenDelay" value="3000" />
+  <content src="index.html"/>
+  <access origin="*"/>
+  <preference name="webviewbounce" value="false"/>
+  <preference name="UIWebViewBounce" value="false"/>
+  <preference name="DisallowOverscroll" value="true"/>
+  <preference name="android-minSdkVersion" value="16"/>
+  <preference name="BackupWebStorage" value="none"/>
+  <preference name="KeepRunning" value="True"/>
+  <preference name="ShowTitle" value="True"/>
+  <preference name="InAppBrowserStorageEnabled" value="True"/>
+  <preference name="SuppressesIncrementalRendering" value="True"/>
+  <preference name="windows-target-version" value="10.0"/>
+  <preference name="SplashScreen" value="screen"/>
+  <preference name="SplashScreenDelay" value="3000"/>
   <feature name="StatusBar">
-    <param name="ios-package" onload="true" value="CDVStatusBar" />
+    <param name="ios-package" onload="true" value="CDVStatusBar"/>
   </feature>
   <platform name="ios">
-    <icon height="57" src="resources/ios/icon/icon.png" width="57" />
-    <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
-    <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
-    <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
-    <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
-    <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
-    <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
-    <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
-    <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
-    <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
-    <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
-    <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
-    <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
-    <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
-    <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
-    <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
-    <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
-    <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
-    <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
-    <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
-    <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
-    <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
-    <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
-    <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
-    <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
-    <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
-    <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
-    <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
-    <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
-    <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
+    <icon height="57" src="resources/ios/icon/icon.png" width="57"/>
+    <icon height="114" src="resources/ios/icon/icon@2x.png" width="114"/>
+    <icon height="40" src="resources/ios/icon/icon-40.png" width="40"/>
+    <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80"/>
+    <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120"/>
+    <icon height="50" src="resources/ios/icon/icon-50.png" width="50"/>
+    <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100"/>
+    <icon height="60" src="resources/ios/icon/icon-60.png" width="60"/>
+    <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120"/>
+    <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180"/>
+    <icon height="72" src="resources/ios/icon/icon-72.png" width="72"/>
+    <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144"/>
+    <icon height="76" src="resources/ios/icon/icon-76.png" width="76"/>
+    <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152"/>
+    <icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167"/>
+    <icon height="29" src="resources/ios/icon/icon-small.png" width="29"/>
+    <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58"/>
+    <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87"/>
+    <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640"/>
+    <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750"/>
+    <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242"/>
+    <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208"/>
+    <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048"/>
+    <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732"/>
+    <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024"/>
+    <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536"/>
+    <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048"/>
+    <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768"/>
+    <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640"/>
+    <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320"/>
   </platform>
   <platform name="android">
-    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi" />
-    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi" />
-    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi" />
-    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi" />
-    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi" />
-    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi" />
-    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi" />
-    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi" />
-    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi" />
-    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi" />
-    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi" />
-    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi" />
-    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi" />
-    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi" />
-    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi" />
-    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi" />
-    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi" />
-    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi" />
+    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
+    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
+    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
+    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
+    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
+    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
+    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
+    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
+    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
+    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
+    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
+    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
+    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
+    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
+    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
+    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
+    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
+    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
   </platform>
-  <plugin name="cordova-plugin-device" spec="~1.1.1" />
-  <plugin name="cordova-plugin-console" spec="~1.0.2" />
-  <plugin name="cordova-plugin-whitelist" spec="~1.2.1" />
-  <plugin name="cordova-plugin-statusbar" spec="~2.1.0" />
-  <plugin name="ionic-plugin-keyboard" spec="~1.0.9" />
-  <plugin name="cordova-plugin-file-transfer" version="1.6.2" />
-  <plugin name="cordova-plugin-file" version="4.3.2" />
-  <plugin name="cordova-plugin-camera" version="2.4.0" />
-  <plugin name="cordova-plugin-actionsheet" version="2.3.3" />
-  <plugin name="cordova-plugin-media-capture" version="1.4.3" />
-  <plugin name="cordova-plugin-compat" version="1.1.0" /><plugin name="cordova-plugin-splashscreen" version="4.0.3" /></widget>
+  <plugin name="cordova-plugin-device" spec="~1.1.1"/>
+  <plugin name="cordova-plugin-console" spec="~1.0.2"/>
+  <plugin name="cordova-plugin-whitelist" spec="~1.2.1"/>
+  <plugin name="cordova-plugin-statusbar" spec="~2.1.0"/>
+  <plugin name="ionic-plugin-keyboard" spec="~1.0.9"/>
+  <plugin name="cordova-plugin-file-transfer" version="1.6.2"/>
+  <plugin name="cordova-plugin-file" version="4.3.2"/>
+  <plugin name="cordova-plugin-camera" version="2.4.0"/>
+  <plugin name="cordova-plugin-actionsheet" version="2.3.3"/>
+  <plugin name="cordova-plugin-media-capture" version="1.4.3"/>
+  <plugin name="cordova-plugin-compat" version="1.1.0"/>
+  <plugin name="cordova-plugin-splashscreen" version="4.0.3"/>
+</widget>

+ 13 - 8
miaomiao/www/css/style.css

xqd xqd
@@ -174,13 +174,15 @@ overflow:auto;
     text-align: center;
     color:#FFF;
 }
-    .user-box .myinfo {
-        padding-top:30px;
-    }
-        .user-box .myinfo img {
-            width:60px;
-            border-radius:100%;
-        }
+.user-box .myinfo {
+    padding-top:30px;
+}
+.user-box .myinfo img {
+    width:60px;
+
+    height: 60px;
+    border-radius:100%;
+}
 .user-row {
     margin-top:10px;
 }
@@ -349,9 +351,12 @@ padding-right:3px;
     .detail-like .send {
         border:1px solid #EAEAEA;
         font-size:1.2rem;
+        height: 3rem;
+        line-height: 3rem;
+        padding-left: 2rem;
     }
     .detail-like .send span{
-        position:relative;
+        /*position:relative;*/
         top:15px;
     }
 .hdcontent {

+ 9 - 7
miaomiao/www/js/config/router.js

xqd
@@ -21,21 +21,23 @@
                     }
                 }
             })
-            .state('app.home_dreamdetail', {
-                url: '/home/dreamdetail',
+            .state('app.my_dreamdetail', {
+                url: '/my/dreamdetail',
+                params:{id:null},
                 views: {
-                    'app-home': {
+                    'app-my': {
                         templateUrl: 'templates/home/dream-detail.html',
                         controller: 'dreamDetailCtrl'
                     }
                 }
             })
-            .state('app.home_interactionadd', {
-                url: '/home/interactionadd',
+            .state('app.home_dreamdetail', {
+                url: '/home/dreamdetail',
+                params:{id:null},
                 views: {
                     'app-home': {
-                        templateUrl: 'templates/home/interaction-add.html',
-                        controller: 'interactionAddCtrl'
+                        templateUrl: 'templates/home/dream-detail.html',
+                        controller: 'dreamDetailCtrl'
                     }
                 }
             })

+ 3 - 2
miaomiao/www/js/controllers/add.js

xqd xqd
@@ -15,7 +15,8 @@
             };
             
             $scope.addpict = function () {
-                common.chooseImage().then(function (img) {
+                $scope.imgs=new Array();
+                common.chooseImage().then(function (img) { 
                     common.uploadFiles(img,1).then(function (result) {
                         var response = JSON.parse(result.response);
                         var file = response.data.file;
@@ -39,7 +40,7 @@
                         msg.error('视频上传失败');
                     });
                 }, function (erro) {
-                    msg.error('选择视频失败');
+                    console.log('选择视频失败');
                 });
             };
             $scope.deletefile = function (file) {

+ 116 - 42
miaomiao/www/js/controllers/home.js

xqd xqd xqd xqd xqd xqd xqd xqd
@@ -17,8 +17,8 @@
                 $scope.type = type;
                 $scope.load(true);
             }
-            $scope.todetail = function () {
-                $state.go('app.home_dreamdetail');
+            $scope.toDetail = function (id) {
+                $state.go('app.home_dreamdetail',id);
             };
             $scope.filter = {
                 hasMore: false,
@@ -35,8 +35,10 @@
                     $scope.filter.pageIndex = 1;
                     $scope.index.dreams = [];
                 }
+                msg.loading();
                 homeService.index($scope.type, $scope.filter.pageIndex).then(function (result) {
-                    $scope.index.banner = result.data.data.banner;
+                    msg.hide();
+                    $scope.index.banners = result.data.data.banners;
                     $scope.index.users = result.data.data.users;
                     $scope.filter.pageIndex++;
                     var more = (result.data.data.dreams.data.length >= $scope.filter.pageSize);
@@ -47,8 +49,8 @@
                     } else {
                         $scope.$broadcast('scroll.infiniteScrollComplete');
                     }
-                }, function (erro) {
-                    msg.error(erro.data.Message);
+                }, function (error) {
+                    msg.hide();
                 });
             }
             $scope.data = {};
@@ -58,13 +60,26 @@
           
             //});
         }]);
-    app.controller('dreamDetailCtrl', ["$scope", "$state", "msg", "homeService", "$ionicTabsDelegate"
-        , function ($scope, $state, msg, homeService, $ionicTabsDelegate) {
+    app.controller('dreamDetailCtrl', ["$scope", "$state", "msg","common","config", "homeService", "$ionicTabsDelegate","$stateParams","$ionicModal","$timeout"
+        , function ($scope, $state, msg,common, config, homeService, $ionicTabsDelegate,$stateParams,$ionicModal,$itemout) {
+            var id = $stateParams.id;
+            id=6;
+            $scope.load = function (id) {
+                homeService.dreamDetail(id).then(function (result) {
+                    console.log(result);
+                }, function (error) {
+                    msg.error(error.data.message);
+                });
+            }
+            $scope.load(6);
+
             $scope.type = 1;//tab切换
             $scope.tosupport = false;
             $scope.support = function ($event) {
                 $event.stopPropagation();
                 $scope.tosupport = true;
+                $scope.vm.coin = 0;
+                $scope.index = 0;
             }
             $scope.cancelsupport = function () {
                 $scope.tosupport = false;
@@ -73,9 +88,6 @@
                 $scope.type = type;
             }
             $scope.index = 0;
-            $scope.changeindex = function (index) {
-                $scope.index = index;
-            }
             $scope.$on('$ionicView.beforeEnter', function () {
                 $ionicTabsDelegate.showBar(false);
             });
@@ -84,19 +96,34 @@
             });
 
             $scope.vm = {
-                coin:""
+                coin:"",
+                comment:""
+            }
+
+            $scope.changeindex = function (index) {
+                $scope.index = index;
+                $scope.vm.coin = index*5;
             }
             $scope.supportDream = function(data){
+                if(!$scope.vm.coin){
+                    msg.error("请选择梦想币数量!");
+                    return ;
+                }
                 var data = {
-                    dream_id:"11",
+                    id:id,
                     coin:$scope.vm.coin
                 };
                 homeService.supportDream(data).then(function(result){
-
-                },function(erro){
-
+                    $scope.tosupport = false;
+                    number = result.data.data;
+                    //最新支持乘数
                 })
             };
+            $scope.collectionDream = function(){
+                homeService.collectionDream(id).then(function(result){
+                    //最新支持乘数
+                })
+            }
             $scope.showText = function(){ 
                 $scope.aboutStyle = {
                     "white-space" : "normal"
@@ -105,6 +132,77 @@
                     "display" : "none"
                 }
             }
+
+        $scope.placeholder="评论";
+        $scope.replay = function($event){
+            // $event.stopPropagation();
+            $scope.placeholder="回复百川";
+            $scope.addReplay=true;
+            $scope.vm.comment='';
+        }
+        $scope.comment = function(){
+            $event.stopPropagation();
+            $scope.placeholder="评论"; 
+            $scope.addReplay=true; 
+            $scope.vm.comment='';
+        }
+        $scope.addpict = function () {
+            $scope.imgs=new Array();
+            common.chooseImage().then(function (img) {
+                common.uploadFiles(img,1).then(function (result) {
+                    var response = JSON.parse(result.response);
+                    var file = response.data.file;
+                    $scope.imgs.push(file);
+                }, function (error) {
+                    msg.error('图片上传失败');
+                });
+            }, function (error) {
+                console.log('图片选择失败');
+            });
+        };
+
+          $ionicModal.fromTemplateUrl('recharge-modal.html', {
+            scope: $scope,
+            animation: 'slide-in-up'
+          }).then(function(modal) {
+            $scope.rechagemodal = modal;
+          });
+
+          $scope.openRechargeModal = function() {
+            $scope.rechagemodal.show();
+            $scope.rvm={
+                dream:'',
+                about:'',
+                money:''
+            };
+          };
+          $scope.closeRechargeModal = function() {
+            $scope.rechagemodal.hide();
+          };
+
+          $ionicModal.fromTemplateUrl('interaction-modal.html', {
+            scope: $scope,
+            animation: 'slide-in-up'
+          }).then(function(modal) {
+            $scope.modal = modal;
+          });
+          $scope.openModal = function() {
+            $scope.modal.show();
+            $scope.ivm={
+                dream:'',
+                about:'',
+                money:''
+            };
+            $scope.iimgServer = config.imgServer;
+            $scope.iimgs = [];
+          };
+          $scope.closeModal = function() {
+            $scope.modal.hide();
+          };
+          //当我们用到模型时,清除它!
+          $scope.$on('$destroy', function() {
+            $scope.modal.remove();
+          });
         }]);
     app.controller('searchCtrl', ["$scope","homeService", "$state", "msg", "$ionicTabsDelegate", "$ionicNavBarDelegate"
         , function ($scope,homeService, $state, msg, $ionicTabsDelegate, $ionicNavBarDelegate) {
@@ -149,33 +247,9 @@
     app.controller('interactionAddCtrl', ["$scope","homeService", "$state", "msg","config","common", "$ionicTabsDelegate", "$ionicNavBarDelegate"
         , function ($scope,homeService, $state, msg,config,common, $ionicTabsDelegate, $ionicNavBarDelegate) {
             $scope.$on('$ionicView.beforeEnter', function () {
-                $ionicTabsDelegate.showBar(false);
-                $ionicNavBarDelegate.showBackButton(false);
-                $scope.vm={
-                    dream:'',
-                    about:'',
-                    money:''
-                };
-                $scope.imgServer = config.imgServer;
-                $scope.imgs = [];
-            });
-
-            $scope.addpict = function () {
-                common.chooseImage().then(function (img) {
-                    common.uploadFiles(img,1).then(function (result) {
-                        var response = JSON.parse(result.response);
-                        var file = response.data.file;
-                        $scope.imgs.push(file);
-                    }, function (error) {
-                        msg.error('图片上传失败');
-                    });
-                }, function (error) {
-                    console.log('图片选择失败');
-                });
-            };
-
-            $scope.add = function () {
-            };
+             
+                
+            }); 
 
     }]);
    

+ 38 - 62
miaomiao/www/js/controllers/my.js

xqd xqd xqd xqd xqd xqd
@@ -2,74 +2,41 @@
     app.controller('myCtrl', ["$scope", "$state", "$http", "storage", "myService", "common", "config", "msg"
         , function ($scope, $state, $http, storage, myService, common, config, msg) {
         $scope.$on('$ionicView.beforeEnter', function (viewResult) {
-            
+            myService.myIndex().then(function(result){
+              console.log(result.data.data);
+              $scope.user = result.data.data
+            });
         });
 
 
-        $scope.testuploadFile = function(files) {       //单次提交图片的函数
-          console.log(files[0]);
-          var formData = new FormData();
-          formData.append('file', files[0]);
-          formData.append('tag', 'avatar');
-
-            $http({
-                method: 'POST',
-                url: config.server + 'api/attachment/upload',
-                transformRequest: angular.identity,
-                data: formData,
-                // headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8' }
-                headers: {'Content-Type': undefined}
-            }).then(function (result) {
-                // alert(JSON.stringify(result));
-                console.log("attachment upload result:"+JSON.stringify(result));
-            }, function (error) {
-                console.log("attachment upload error:"+JSON.stringify(error));
-
-            })
+        
+        $scope.setAvator = function () {
+            common.setAvator().then(function (result) {
+                var response = JSON.parse(result.response);
+                $timeout(function () {
+                    $scope.vm.user.avatar = response.data.md5;
+                });
+            });
+        };
+        $scope.toprofile = function () {
+            $state.go('app.my_profile');
         };
-            $scope.toprofile = function () {
-                $state.go('app.my_profile');
-            };
 
             //我的设置
         $scope.setting = function(){
             myService.setting().then(function(result){
-
-            },function(error){
-
             });
         };
-
-            //我的收藏
-            $scope.collect = function(){
-                myService.collect().then(function(result){
-
-                },function(error){
-
-                });
-            };
-
-            //我的梦想
-            $scope.myDream = function(){
-                myService.myDream().then(function(result){
-
-                },function(error){
-
-                });
-            };
-
+ 
             //修改个人信息
             $scope.myMaterial = function(){
                 myService.myMaterial().then(function(result){
-
-                },function(error){
-
                 })
             }
         }]);
 
-    app.controller('profileCtrl', ["$scope", "$state", "storage", "myService", "msg", "common"
-      , function ($scope, $state, storage, myService, msg, common) {
+    app.controller('profileCtrl', ["$scope", "$state","$filter", "storage", "myService", "msg", "common"
+      , function ($scope, $state, $filter, storage, myService, msg, common) {
             $scope.setAvator = function () {
                 common.setAvator().then(function (result) {
                     debugger;
@@ -94,8 +61,8 @@
             $scope.$on('$ionicView.beforeEnter', function () {
                 msg.loading();
                 myService.myIndex().then(function(result){
-                  // alert(JSON.stringify(result.data.data.user));
-                  $scope.vm = result.data.data.user;
+                  // alert(JSON.stringify(result.data.data));
+                  $scope.vm = result.data.data;
                   $scope.vm.sex = $scope.vm.sex+'';
                   $scope.vm.emotion = $scope.vm.emotion+'';
                   if($scope.vm.birthday){
@@ -110,7 +77,6 @@
             });
  
             $scope.saveMaterial = function(){
-               
                 var data = {
                     pic:'http://img.taopic.com/uploads/allimg/130103/240435-1301030P33161.jpg', 
                     sex:$scope.vm.sex,
@@ -128,6 +94,7 @@
                 myService.saveMaterial(data).then(function(result){
                   msg.hide();
                   msg.success("保存成功!");
+                  $state.go('app.my')
                 },function(error){
                   msg.hide();
                   msg.error(error.data.message);
@@ -149,15 +116,16 @@
      }]);
     app.controller('rechargeCtrl', ["$scope", "$state", "myService", "msg"
   , function ($scope, $state, myService, msg) {
-      $scope.$on('$ionicView.beforeEnter', function () {
+       $scope.$on('$ionicView.beforeEnter', function () {
 
+            $scope.vm = {
+                money:"",
+            }
       });
             //充值
-            $scope.recharge = function(){
-                myService.recharge().then(function(result){
-
-                },function(error){
-
+            $scope.recharge = function(money){
+                myService.recharge(money).then(function(result){
+                  $state.go('app.my');
                 });
             }
 
@@ -188,14 +156,22 @@
     app.controller('dreamCtrl', ["$scope", "$state", "myService", "msg"
   , function ($scope, $state, myService, msg) {
       $scope.$on('$ionicView.beforeEnter', function () {
-
+            myService.myDream().then(function(result){
+              console.log(result.data.data);
+              $scope.dreams = result.data.data;
+            });
       });
+          $scope.toDetail = function (id) {
+              $state.go('app.my_dreamdetail',id);
+          };
 
   }]);
     app.controller('collectCtrl', ["$scope", "$state", "myService", "msg"
        , function ($scope, $state, myService, msg) {
       $scope.$on('$ionicView.beforeEnter', function () {
-
+          myService.collect().then(function(result){
+              console.log(result.data.data);
+          });
       });
        }]);
     app.controller('messageSysCtrl', ["$scope", "$state", "myService", "msg"

+ 0 - 13
miaomiao/www/js/controllers/tabs.js

xqd
@@ -5,24 +5,11 @@
             $state.go(target);
         };
 
-        $scope.vm={
-
-        };
         $scope.myMes = function(){
-            myService.myMes().then(function(result){
-
-            },function(error){
-
-            });
             $scope.go("app.my")
         };
 
         $scope.myIndex = function(){
-            myService.myIndex().then(function(result){
-
-            },function(error){
-
-            });
             $scope.go("app.home")
         };
     }]);

+ 13 - 1
miaomiao/www/js/services/homeservice.js

xqd
@@ -9,17 +9,29 @@
             },
             supportDream:function(data){
                 return $http({
-                    url:config.server + "api/user/support",
+                    url:config.server + "api/dream/support",
                     method:"post",
                     data:data
                 })
             },
+            collectionDream:function(id){
+                return $http({
+                    url:config.server + "api/dream/collection?id=" + id,
+                    method:"get",
+                })
+            },
             searchContent:function (data){
                 return $http({
                     url: config.server + 'api/index/search?' + data,
                     method:"get"
                 })
             },
+            dreamDetail: function (id) {
+                return $http({
+                    url: config.server + 'api/dream/show?id=' + id,
+                    method: "get"
+                })
+            },
             index: function (type, page) {
                 var url = util.format('{0}/api/index/index?type={1}&page={2}', config.server,type,page);
                 return $http({

+ 4 - 1
miaomiao/www/js/services/httpinterceptor.js

xqd
@@ -41,7 +41,10 @@
                     return;
                 }
                 if (rejection.status==400) {
-                    getMsg().error(rejection.data.error_description);
+                    getMsg().error(rejection.data.message);
+                }
+                if (rejection.status==500) {
+                    getMsg().error(rejection.data.message);
                 }
                 return $q.reject(rejection);
             }

+ 1 - 1
miaomiao/www/js/services/msgservice.js

xqd
@@ -50,7 +50,7 @@
                     o["template"] = template
                 } else {
                     o["title"] = title;
-                    o["cssClass"] = "pop-alert"
+                    o["cssClass"] = "pop-alert calm"
                 }
                 $ionicPopup.alert(o)
             },

+ 2 - 2
miaomiao/www/js/services/myservice.js

xqd
@@ -15,9 +15,9 @@
                     data:data
                 })
             },
-            recharge:function(){
+            recharge:function(money){
                 return $http({
-                    url:config.server + "api/my/recharge",
+                    url:config.server + "api/my/recharge?money="+money,
                     method:"get"
                 })
             },

+ 88 - 46
miaomiao/www/templates/home/dream-detail.html

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1,7 +1,7 @@
-<ion-view view-title="喵喵"> 
+<ion-view view-title="梦想"> 
     <ion-nav-buttons side="right">
         <button class="button button-clear icon ion-email-unread"></button>
-        <button class="button button-clear icon ion-ios-compose-outline" style="padding-left:10px"></button>
+        <!-- <button class="button button-clear icon ion-ios-compose-outline" style="padding-left:10px"></button> -->
     </ion-nav-buttons>
     <ion-content style="background-color:#F3F3F3" ng-click="cancelsupport()">
         <div class="tabs-striped tabs-top">
@@ -78,7 +78,7 @@
                 <div class="item">
                     <button class="button button-assertive" style="width:25%;white-space:normal;line-height:20px">支持乘数×2.8</button>
                     <button class="button button-calm" style="width:50%" ng-click="support($event)">支持</button>
-                    <button class="button button-outline button-calm" style="width:25%">+关注</button>
+                    <button class="button button-outline button-calm" style="width:25%" ng-click="collectionDream()">+收藏</button>
                 </div>
             </div>
        
@@ -88,11 +88,11 @@
                 <div class="list">
                     <div class="item itemjs" style="padding: 10px">
                     <!-- 梦想发布者可以发布梦想互动 -->
-                        <a class="button button-outline button-block button-calm button-icon" ui-sref='app.home_interactionadd'>
+                        <a class="button button-outline button-block button-calm button-icon" ng-click="openModal()">
                         <i class="icon ion-plus"></i>
                         发布梦想互动</a>
                     </div>
-                    <div class="item"> 
+                    <div class="item" ng-click="comment()"> 
                         <img class="head" src="../../img/demo/head2.jpg" />
                         <span class="utitle">喵喵喵酱</span>
                         <span class="utitle kz">剩余5天</span>
@@ -110,25 +110,23 @@
                         </div>
                     </div>
                 </div>
-                <div class="list" style="margin-top:-22px;">
+                <div class="list" style="margin-top:-22px;" ng-click="showForm=true; focusInput=true">
                     <div class="item subitem">
                         <img ng-src="img/demo/head4.jpg" />
                         <span>百川</span>
                         <span class="kz">2016-08-08 11:11</span>
                         <div>你确定是去哪里了吗?你确定是去哪里了吗?</div>
                     </div>
-                    <div class="item subitem">
-                        <img ng-src="img/demo/head4.jpg" />
-                        <span>百川</span>
-                        <span class="kz">2016-08-08 11:11</span>
-                        <div>你确定是去哪里了吗?你确定是去哪里了吗?</div>
-                    </div>
-                    <div class="item subitem">
+                    <div class="item subitem" ng-click="replay($event)">
                         <img ng-src="img/demo/head4.jpg" />
                         <span>百川</span>
                         <span class="kz">2016-08-08 11:11</span>
                         <div>你确定是去哪里了吗?你确定是去哪里了吗?</div>
                     </div>
+                     <label class="item item-input">
+                         <input name="comment" type="text" placeholder="{{placeholder}}" ng-model="vm.comment" ng-init="addReplay=false" style="padding: 0 20px;">
+                     </label>
+ 
                 </div>
             </div>
             <div style="border-bottom:5px solid #FAF2F5;">
@@ -177,7 +175,7 @@
         <div ng-if="type==3" class="phbcontent">
             <div class="list">
                 <div class="item">
-                    <img style="width:30px" src="../../img/王冠.png" />
+                    <img style="width:30px" src="../../img/king.png" />
                     <span style="padding-left:20px">
                         <img style="width:40px;border-radius:100%" src="../../img/demo/head4.jpg" />
                         <span style="position:relative;top:-20px">喵喵喵酱</span>
@@ -189,7 +187,7 @@
                     </span>
                 </div>
                 <div class="item">
-                    <img style="width:30px" src="../../img/王冠.png" />
+                    <img style="width:30px" src="../../img/king.png" />
                     <span style="padding-left:20px">
                         <img style="width:40px;border-radius:100%" src="../../img/demo/head4.jpg" />
                         <span style="position:relative;top:-20px">喵喵喵酱</span>
@@ -201,7 +199,7 @@
                     </span>
                 </div>
                 <div class="item">
-                    <img style="width:30px" src="../../img/王冠.png" />
+                    <img style="width:30px" src="../../img/king.png" />
                     <span style="padding-left:20px">
                         <img style="width:40px;border-radius:100%" src="../../img/demo/head4.jpg" />
                         <span style="position:relative;top:-20px">喵喵喵酱</span>
@@ -213,7 +211,7 @@
                     </span>
                 </div>
                 <div class="item">
-                    <img style="width:30px" src="../../img/王冠.png" />
+                    <img style="width:30px" src="../../img/king.png" />
                     <span style="padding-left:20px">
                         <img style="width:40px;border-radius:100%" src="../../img/demo/head4.jpg" />
                         <span style="position:relative;top:-20px">喵喵喵酱</span>
@@ -225,7 +223,7 @@
                     </span>
                 </div>
                 <div class="item">
-                    <img style="width:30px" src="../../img/王冠.png" />
+                    <img style="width:30px" src="../../img/king.png" />
                     <span style="padding-left:20px">
                         <img style="width:40px;border-radius:100%" src="../../img/demo/head4.jpg" />
                         <span style="position:relative;top:-20px">喵喵喵酱</span>
@@ -239,6 +237,73 @@
             </div>
             
         </div>
+
+     <script id="interaction-modal.html" type="text/ng-template">
+      <div class="modal">
+        <ion-header-bar class="bar-calm bar bar-header has-tabs-top">
+          <h1 class="title">发布梦想互动</h1>
+        <button class="button button-clear" ng-click="closeModal()">关闭</button>
+        </ion-header-bar>
+        <ion-content>
+          <div class="addcontent list">
+            <div class="item">我的梦想互动信息</div>
+            <div class="item itemjs">
+                <textarea rows="4" cols="50" placeholder="添加梦想互动信息" ng-model="ivm.content" style="border: 1px solid #FF4B82;padding: 10px;width: 98%;"></textarea>
+            </div>
+            <div class="item">上传图片,让别人更好的了解你的梦想</div>
+            <div class="item itemjs">
+                <a ng-repeat="item in iimgs" ng-click="showImages(iimgServer+item)" class="img-file-up">
+                    <b style="background-image:url({{iimgServer+item}});"><em ng-click="deletefile(item)" class="ion-ios-close-outline"></em></b>
+                </a>
+                <a class="btn-file-up" ng-click="addpict()"><i class="ion-image"></i>添加图片</a>
+            </div>
+
+        </div>
+        <div class="padding">
+            <button type="submit"  class="button button-full button-calm" ng-click="add()">
+                发布梦想互动
+            </button>
+        </div>
+        </ion-content>
+      </div>
+    </script>
+    <script id="recharge-modal.html" type="text/ng-template">
+      <div class="modal">
+        <ion-header-bar class="bar-calm bar bar-header has-tabs-top">
+          <h1 class="title">充值</h1>
+        <button class="button button-clear" ng-click="closeRechargeModal()">关闭</button>
+        </ion-header-bar>
+        <ion-content>
+              <div class="list">
+                    <div class="item" style="padding:20px">
+                        <span><i class="icon ion-ios-star-outline calm re-border"></i>剩余梦想币</span>
+                        <div class="re-num">50000</div>
+                    </div>
+                    <div class="item item-input">
+                        <span class="input-label">金额</span>
+                        <input type="number" placeholder="请输入充值金额" ng-model="vm.money" >
+                    </div>
+                    <div class="item item-divider">
+                       请选择以下支付方式
+                    </div>
+                    <ion-list class="re-radio">
+                        <ion-radio ng-model="choice" ng-value="'A'">
+                            <img ng-src="img/alipay.png" />
+                            <span>支付宝支付</span> 
+                        </ion-radio>
+                        <ion-radio ng-model="choice" ng-value="'B'">
+                        <img ng-src="img/weixinpay.png" /><span>微信支付</span>
+                          </ion-radio>
+                    </ion-list>
+                </div>
+                <div class="padding">
+                    <button  class="button button-full button-calm" ng-click="recharge(vm.money)">
+                        支付
+                    </button>
+                </div>
+        </ion-content>
+      </div>
+    </script>
     </ion-content>
     <div class="detail-like" ng-if="tosupport">
         <div>
@@ -273,34 +338,11 @@
             
         </div>
         <div class="send">
-            <span>余额:<i class="calm">20000</i>梦想币</span>
-            <span  style="padding:30px" class="calm"><i class="icon ion-card"></i>充值</span>
-            <a class="button button-calm" style="height:100%;border-radius:0;width:80px;font-size:1.2em " ng-click="supportDream()">发送</a>
+            <span>余额:<i class="calm">20000</i> 梦想币</span> 
+            <span class="calm" ng-click="openRechargeModal()"><i class="icon ion-card"></i>充值</span>
+            <span style="height:100%;float: right;">
+            <a style="border-radius:0;width:80px;font-size:1.2em;" class="button button-calm"  ng-click="supportDream()">发送</a>
+            </span>
         </div>
     </div>
-    <script>
-        function show(){
-            alert("lll");
-            var box = document.getElementById("box");
-            var text = box.innerHTML;
-            var newBox = document.createElement("div");
-            var btn = document.createElement("a");
-            newBox.innerHTML = text.substring(0,200);
-            btn.innerHTML = text.length > 200 ? "...显示全部" : "";
-            btn.href = "###";
-            btn.onclick = function(){
-                if (btn.innerHTML == "...显示全部"){
-                    btn.innerHTML = "收起";
-                    newBox.innerHTML = text;
-                }else{
-                    btn.innerHTML = "...显示全部";
-                    newBox.innerHTML = text.substring(0,200);
-                }
-            }
-            box.innerHTML = "";
-            box.appendChild(newBox);
-            box.appendChild(btn);
-        }
-        show();
-    </script>
 </ion-view>

+ 4 - 8
miaomiao/www/templates/home/index.html

xqd
@@ -26,24 +26,20 @@
         </div>
         <div class="icontent">
             <ion-slides   options="data.sliderOptions" slider="data.sliderDelegate">
-                <ion-slide-page ng-repeat="img in index.banner">
-                    <div class="box banner"><img ng-src="{{img.value}}" /></div>  
+                <ion-slide-page ng-repeat="banner in index.banners">
+                    <div class="box banner"><img ng-src="{{banner.value}}" /></div>  
                 </ion-slide-page>
             </ion-slides>
              
             <div class="item item-image" style="margin: 20px 0; border: none;">
                 <i class="icon ion-ios-arrow-left" style="font-size: 1.5rem;"></i>
                 <span class="subcontent">
-                    <img ng-src="img/demo/head1.jpg" />
-                    <img ng-src="img/demo/head2.jpg" />
-                    <img ng-src="img/demo/head3.jpg" />
-                    <img ng-src="img/demo/head4.jpg" />
-                    <img ng-src="img/demo/head5.jpg" />
+                    <img ng-src="{{user.dream_user.pic}}" ng-repeat="user in index.users"/>
                 </span>
                 <i class="icon ion-ios-arrow-right" style="font-size: 1.5rem"></i>
             </div>
             <div class="list">
-                <div class="item mainitem" ng-click="todetail()" ng-repeat="item in index.dreams">
+                <div class="item mainitem" ng-click="toDetail(item.id)" ng-repeat="item in index.dreams">
                     <div class="row">
                         <div class="col">
                             <img ng-src="{{item.dream_user.pic}}" />

+ 0 - 31
miaomiao/www/templates/home/interaction-add.html

xqd
@@ -1,31 +0,0 @@
-<ion-view view-title="发布梦想互动" >
-    <ion-nav-buttons side="left">
-        <button class="button button-clear icon ion-ios-arrow-back" ng-click="$ionicGoBack()">返回</button>
-    </ion-nav-buttons>
-    <ion-nav-buttons side="right">
-        <button class="button button-clear"  ng-click="doSomething()">
-           发布说明
-        </button>
-    </ion-nav-buttons>
-    <ion-content>
-        <div class="addcontent list">
-            <div class="item">我的梦想互动信息</div>
-            <div class="item itemjs">
-                <textarea rows="4" cols="50" placeholder="添加梦想互动信息" ng-model="vm.about" style="border: 1px solid #FF4B82;padding: 10px;width: 98%;"></textarea>
-            </div>
-            <div class="item">上传图片,让别人更好的了解你的梦想</div>
-            <div class="item itemjs">
-                <a ng-repeat="item in imgs" ng-click="showImages(imgServer+item)" class="img-file-up">
-                    <b style="background-image:url({{imgServer+item}});"><em ng-click="deletefile(item)" class="ion-ios-close-outline"></em></b>
-                </a>
-                <a class="btn-file-up" ng-click="addpict()"><i class="ion-image"></i>添加图片</a>
-            </div>
-
-        </div>
-        <div class="padding">
-            <button type="submit"  class="button button-full button-calm" ng-click="add()">
-                发布梦想互动
-            </button>
-        </div>
-    </ion-content>
-</ion-view>

+ 10 - 9
miaomiao/www/templates/my/index.html

xqd xqd
@@ -2,23 +2,23 @@
     <ion-content>
         <div class="user-box">
          
-            <div class="myinfo" ng-click="toprofile()">
-                <img ng-src="img/demo/head5.jpg" />
+            <div class="myinfo" ng-click="setAvator()">
+                <img ng-src=" {{user.pic}}" />
                 <div>
-                    喵喵喵喵酱
+                    {{user.nickname}}
                 </div>
-                <div style="font-size:0.7rem">上海市</div>
+                <div style="font-size:0.7rem"> {{user.city}}</div>
             </div>
             
            <div class="row user-row">
-               <div class="col"><i class="icon ion-heart"></i> 关注&nbsp;&nbsp;123456</div>
-               <div class="col"><i class="icon ion-person"></i> 粉丝&nbsp;&nbsp;123456</div>
-               <div class="col"><i class="icon ion-ios-film"></i> 徽章&nbsp;&nbsp;23</div>
+               <div class="col"><i class="icon ion-heart"></i> 关注&nbsp;&nbsp;{{user.care_num}}</div>
+               <div class="col"><i class="icon ion-person"></i> 粉丝&nbsp;&nbsp;{{user.fans_num}}</div>
+               <div class="col"><i class="icon ion-ios-film"></i> 梦想&nbsp;&nbsp;{{user.dream_num}}</div>
            </div>
         </div>
         <div class="row user-dz">
             <div class="col">
-                <div class="num">1231</div>
+                <div class="num">{{user.collection_num}}</div>
                 <div class="mysecond">收藏</div>
             </div>
             <div class="col">
@@ -38,7 +38,8 @@
             <a class="item item-icon-left" ui-sref="app.my_recharge">
                 <i class="icon ion-card"></i>
                 <em class="fl">账户余额</em>
-                <i class="fr">9990</i>
+                <i class="fr">
+                    {{user.coin}}</i>
             </a>
             <a class="item item-icon-left" ui-sref="app.my_message">
                 <i class="icon ion-email"></i>

+ 1 - 1
miaomiao/www/templates/my/my-collect.html

xqd
@@ -3,7 +3,7 @@
         <div class="list list-inset collect-search">
             <div class="item item-input">
                 <i class="icon ion-search placeholder-icon"></i>
-                <input type="text" placeholder="Search">
+                <input type="text" placeholder="搜索" ng-model="vm.keyword">
             </div>
         </div>
         <div class="subcontent">

+ 7 - 42
miaomiao/www/templates/my/my-dream.html

xqd
@@ -1,54 +1,19 @@
 <ion-view view-title="我的梦想">
     <ion-content>
        <div class="list">
-           <div class="item reply-item">
+           <div class="item reply-item" ng-repeat="dream in dreams" ng-click="toDetail(dream.id)">
                <div class="item item-thumbnail-left reply-content">
-                   <img ng-src="img/demo/head7.jpg" />
-                   <h2>有人能带我去瑞典吗?</h2>
-                   <p>在斯德哥尔摩,那个只有黑白和灰色的咖啡馆里面坐下,喝一杯地道的北欧咖啡。享受难得的北欧时光!</p>
+                   <img ng-src="{{dream.dream_pic}}" />
+                   <h2>{{dream.dream}}</h2>
+                   <p>{{dream.about}}</p>
                </div>
                <div class="reply-bar">
-                   <div style="width: 30%;">
+                   <div style="width: {{dream.progress}}%;">
                    </div>
                </div>
-               <div class="reply-sx"><span class="calm">30%</span> 目前实现</div>
-           </div>
-           <div class="item reply-item">
-               <div class="item item-thumbnail-left reply-content">
-                   <img ng-src="img/demo/head7.jpg" />
-                   <h2>有人能带我去瑞典吗?</h2>
-                   <p>在斯德哥尔摩,那个只有黑白和灰色的咖啡馆里面坐下,喝一杯地道的北欧咖啡。享受难得的北欧时光!</p>
-               </div>
-               <div class="reply-bar">
-                   <div style="width: 30%;">
-                   </div>
-               </div>
-               <div class="reply-sx"><span class="calm">30%</span> 目前实现</div>
-           </div>
-           <div class="item reply-item">
-               <div class="item item-thumbnail-left reply-content">
-                   <img ng-src="img/demo/head7.jpg" />
-                   <h2>有人能带我去瑞典吗?</h2>
-                   <p>在斯德哥尔摩,那个只有黑白和灰色的咖啡馆里面坐下,喝一杯地道的北欧咖啡。享受难得的北欧时光!</p>
-               </div>
-               <div class="reply-bar">
-                   <div style="width: 30%;">
-                   </div>
-               </div>
-               <div class="reply-sx"><span class="calm">30%</span> 目前实现</div>
-           </div>
-           <div class="item reply-item">
-               <div class="item item-thumbnail-left reply-content">
-                   <img ng-src="img/demo/head7.jpg" />
-                   <h2>有人能带我去瑞典吗?</h2>
-                   <p>在斯德哥尔摩,那个只有黑白和灰色的咖啡馆里面坐下,喝一杯地道的北欧咖啡。享受难得的北欧时光!</p>
-               </div>
-               <div class="reply-bar">
-                   <div style="width: 30%;">
-                   </div>
-               </div>
-               <div class="reply-sx"><span class="calm">30%</span> 目前实现</div>
+               <div class="reply-sx"><span class="calm">{{dream.progress}}%</span> 目前实现</div>
            </div>
+           
        </div>
     </ion-content>
 </ion-view>

+ 4 - 0
miaomiao/www/templates/my/my-profile.html

xqd
@@ -14,6 +14,10 @@
              <i style="float:right" class="ng-binding">{{vm.tel}}</i>
          </div>
 
+         <label class="item item-input ">
+             <span class="input-label">昵称</span>
+             <input name="signture" type="text" placeholder="请输入" ng-model="vm.nickname">
+         </label>
          <label class="item item-input item-select item-select-width">
              <span class="input-label">
                  性别

+ 2 - 2
miaomiao/www/templates/my/my-recharge.html

xqd xqd
@@ -12,7 +12,7 @@
             </div>
             <div class="item item-input">
                 <span class="input-label">金额</span>
-                <input type="text" placeholder="请输入充值金额">
+                <input type="number" placeholder="请输入充值金额" ng-model="vm.money" >
             </div>
             <div class="item item-divider">
                请选择以下支付方式
@@ -28,7 +28,7 @@
             </ion-list>
         </div>
         <div class="padding">
-            <button  class="button button-full button-calm" ng-click="recharge()">
+            <button  class="button button-full button-calm" ng-click="recharge(vm.money)">
                 支付
             </button>
         </div>

+ 2 - 2
miaomiao/www/templates/tabs.html

xqd
@@ -1,11 +1,11 @@
 <ion-tabs class="tabs-icon-top tabs-color-active-calm">
-    <ion-tab title="首页" icon-off="ion-ios-home-outline" icon-on="ion-ios-home" ng-click="myIndex()">
+    <ion-tab title="首页" icon-off="ion-ios-home-outline" icon-on="ion-ios-home" ng-click="go('app.home')">
         <ion-nav-view name="app-home"></ion-nav-view>
     </ion-tab>
     <ion-tab class="tab-item-add" icon="ion-ios-plus"  ui-sref="app.add" >
         <ion-nav-view name="app-add"></ion-nav-view>
     </ion-tab>
-    <ion-tab title="我的" icon-off="ion-ios-person-outline" icon-on="ion-ios-person" ng-click="myMes()">
+    <ion-tab title="我的" icon-off="ion-ios-person-outline" icon-on="ion-ios-person" ng-click="go('app.my')">
         <ion-nav-view name="app-my"></ion-nav-view>
     </ion-tab>
 </ion-tabs>

+ 1 - 0
server/app/Http/Controllers/Api/V1/AttachmentController.php

xqd
@@ -105,6 +105,7 @@ class AttachmentController extends Controller
             'image/png',
             'image/gif',
             'video/mp4',
+            'video/quicktime',
         ]);
         if (is_array($result)) {
             return $this->api($result);

+ 63 - 0
server/app/Http/Controllers/Api/V1/AuthController.php

xqd
@@ -230,6 +230,69 @@ class AuthController extends Controller
         ]);
     }
 
+    /**
+     * @api {post} /api/auth/avatar 上传头像(avatar)
+     * @apiDescription 上传头像(reset)
+     * @apiGroup Auth
+     * @apiPermission Passport
+     * @apiVersion 0.1.0
+     * @apiParam {File} avatar 头像图片
+     * @apiSuccessExample {json} Success-Response:
+     * HTTP/1.1 200 OK
+     * {
+     *     "state": true,
+     *     "code": 0,
+     *     "message": "",
+     *     "data": {
+     *         "md5": "fdf8dd78eb383b8acf6d94d4752c1424",
+     *     }
+     * }
+     * @apiErrorExample {json} Error-Response:
+     * HTTP/1.1 400 Bad Request
+     * {
+     *     "state": false,
+     *     "code": 1000,
+     *     "message": "传入参数不正确",
+     *     "data": null or []
+     * }
+     * 可能出现的错误代码:
+     *    200     SAVE_USER_FAILED                保存用户数据失败
+     *    201     ATTACHMENT_MKDIR_FAILED         创建附件目录失败
+     *    202     ATTACHMENT_UPLOAD_INVALID       上传附件文件无效
+     *    203     ATTACHMENT_SAVE_FAILED          保存附件失败
+     *    204     ATTACHMENT_MOVE_FAILED          移动附件失败
+     *    205     ATTACHMENT_DELETE_FAILED        删除附件文件失败
+     *    206     ATTACHMENT_RECORD_DELETE_FAILED 删除附件记录失败
+     *    1000    CLIENT_WRONG_PARAMS             传入参数不正确
+     *    1101    INCORRECT_VERIFY_CODE           输入验证码错误
+     *    1105    USER_DOES_NOT_EXIST             用户不存在
+     *    1200    ATTACHMENT_UPLOAD_FAILED        附件上传失败
+     *    1201    ATTACHMENT_SIZE_EXCEEDED        附件大小超过限制
+     *    1202    ATTACHMENT_MIME_NOT_ALLOWED     附件类型不允许
+     *    1203    ATTACHMENT_NOT_EXIST            附件不存在
+     */
+    public function avatar(Request $request) {
+//        $user = Auth::user();
+        $user = $this->getUser();
+        $old_avatar = $user->avatar;
+        $result = $this->uploadAttachment($request, 'avatar', 'avatar', 4 * 1024 * 1024, [
+            'image/jpeg',
+            'image/png',
+            'image/gif',
+        ]);
+        if (is_array($result)) {
+            $result = array_shift($result);
+        }
+        if (is_string($result)) {
+            $user->avatar = $result;
+            if (!$user->save()) {
+                return $this->error(ErrorCode::SAVE_USER_FAILED);
+            }
+            $this->deleteAttachment($old_avatar);
+            return $this->api(['md5' => $result]);
+        }
+        return $this->error($result);
+    }
 
 
 }

+ 73 - 65
server/app/Http/Controllers/Api/V1/DreamController.php

xqd xqd xqd xqd xqd xqd xqd
@@ -17,12 +17,12 @@ use App\Services\Base\ErrorCode;
 class DreamController extends Controller
 {
     /**
-     * @api {get} /api/dream/index    梦想
+     * @api {get} /api/dream/show    梦想
      * @apiDescription 梦想
      * @apiGroup Dream
      * @apiPermission Passport
      * @apiVersion 0.1.0
-     * @apiParam {int} type interaction paihang  默认index
+     * @apiParam {int} type index interaction paihang  默认all
      * @apiParam {int} id 梦想ID
      * @apiSuccessExample {json} Success-Response:
      * HTTP/1.1 200 OK
@@ -132,74 +132,71 @@ class DreamController extends Controller
      *  "data": null
      * }
      */
-    public function index(Request $request)
+    public function show(Request $request)
     {
         $user = $this->getUser();
         $type = $request->type;    //类型
         $id = $request->id;    //梦想ID
         if (empty($id)) return $this->error(ErrorCode::KEY_ERROR);
 
-        if ($type == 'paihang') {
-            $data = [];
-            $info = SupportDreamModel::where('dream_id',$id)->get();
-            $arr = [] ;
-            foreach ($info as $item) {
-                if (!array_key_exists($item->user_id,$arr)) {
-                    $arr[$item->user_id] = $item->score;
-                }else{
-                    $arr[$item->user_id] += $item->score;
-                }
-            }
-            arsort($arr);
-            foreach ($arr as $k => $v){
-                $user = UserInfoModel::find($k);
-                $user->score = $v;
-                $data[] = $user;
+        $info = SupportDreamModel::where('dream_id',$id)->get();
+        $top = [] ;
+        $topuser = [];
+        $top3user = [];
+        foreach ($info as $item) {
+            if (!array_key_exists($item->user_id,$top)) {
+                $top[$item->user_id] = $item->score;
+            }else{
+                $top[$item->user_id] += $item->score;
             }
-            return $this->api($data);
+        }
+        arsort($top);
+        foreach ($top as $user_id => $score){
+            $user = UserInfoModel::find($user_id);
+            $user->score = $score;
+            $topuser[] = $user;
+            if(count($top3user)<=2)$top3user[] = $user;
+        }
+        if ($type == 'paihang') return $this->api($topuser);
 
-        } elseif ($type == 'interaction') {
-            $times = DreamInfoModel::find($id)->time;
-            $data = InteractionInfo::where('dream_id',$id)->orderBy('id','desc')->get();
-            foreach ($data as $item) {
-                $item->comments = $item->comments;
-                foreach ($item->comments as $comment) {
-                    $comment->pic = UserInfoModel::find($comment->user_id)->pic;
-                    $comment->replay = $comment->replay;
-                    foreach ($comment->replay as $k1 => $v1){
-                        $v1->pic =  UserInfoModel::find($v1->user_id)->pic;
-                    }
+        $interactios = InteractionInfo::where('dream_id',$id)->orderBy('id','desc')->get();
+        foreach ($interactios as $item) {
+            $item->comments = $item->comments;
+            foreach ($item->comments as $comment) {
+                $comment->pic = UserInfoModel::find($comment->user_id)->pic;
+                $comment->replay = $comment->replay;
+                foreach ($comment->replay as $k1 => $v1){
+                    $v1->pic =  UserInfoModel::find($v1->user_id)->pic;
                 }
             }
-            return $this->api(compact('data','times'));
-        }else{
+        }
+        if ($type == 'interaction') return $this->api(compact('data'));
 //            梦想  图片  支持者前三    支持乘数参数    用户余额   梦想分数
-            $score = 0 ;
-            $a = SupportDreamModel::where('dream_id',$id)->get();
-            foreach ($a as $value){
-                $score += $value->score;
-            }
-            $money = $user->money;
-            $number = BaseSettingsModel::where('category','score')->select('key','value')->first();
-            $a = count($number) > 0 ? $number->key : '';
-            $c = count($number) > 0 ? $number->value : '';
-            $dream = DreamInfoModel::find($id);
-            $imgs = DreamImages::where('dream_id',$id)->orderBy('id','desc')->get();
-            $info = SupportDreamModel::where('dream_id',$id)->get();
-            $arr = [] ;
-            foreach ($info as $item) {
-                if (!array_key_exists($item->user_id,$arr)) {
-                    $arr[$item->user_id] = $item->score;
-                }else{
-                    $arr[$item->user_id] += $item->score;
-                }
-            }
-            arsort($arr);
-            foreach ($arr as $k => $v){
-                $arr[$k] = UserInfoModel::find($k)->pic;
+
+//            $money = $user->money;
+        $number = BaseSettingsModel::where('category','score')->select('key','value')->first();
+        $a = count($number) > 0 ? $number->key : '';
+        $c = count($number) > 0 ? $number->value : '';
+        $dream = DreamInfoModel::with(['dreamImgs','dreamUser'])->find($id);
+//            $imgs = DreamImages::where('dream_id',$id)->orderBy('id','desc')->get();
+//        $info = SupportDreamModel::where('dream_id',$id)->get();
+        $top3 = [] ;
+        $score = 0 ;
+        foreach ($info as $item) {
+            $score += $item->score;
+            if (!array_key_exists($item->user_id,$top3)) {
+                $top3[$item->user_id] = $item->score;
+            }else{
+                $top3[$item->user_id] += $item->score;
             }
-            return $this->api(compact('dream','imgs','money','arr','a','c','score'));
         }
+        arsort($top3);
+        foreach ($top3 as $k => $v){
+            $user = UserInfoModel::find($k);
+            if($user)
+            $top3[$k] = $user->pic;
+        }
+        return $this->api(compact('dream','top3user','a','c','score','topuser'));
     }
 
     /**
@@ -242,12 +239,10 @@ class DreamController extends Controller
             [
                 'coin'  => 'required',
                 'id'  => 'required',
-                'number'  => 'required',
             ],
             [
                 'coin.required'  => '梦想币不能为空',
                 'id.required'  => '支持梦想不能为空',
-                'number.required'  => '支持乘数不能为空',
             ]
         );
         if($validator->fails()) return $this->validatorError($validator->messages()->all(),ErrorCode::CLIENT_WRONG_PARAMS);
@@ -255,12 +250,16 @@ class DreamController extends Controller
         $dream_id = $request->id;
         $dream_info = DreamInfoModel::find($dream_id);
         $user_id = $dream_info->user_id;
-
         $coin = $request->coin;
-        $number = $request->number;
+
+        $setting = BaseSettingsModel::where('category','score')->select('key','value')->first();
+        $a = count($setting) > 0 ? $setting->key : '';
+        $c = count($setting) > 0 ? $setting->value : '';
+        //Todo 支持乘数目公式
+        $number = 2;
 
         if ($user->money < $coin) {
-            return $this->error(ErrorCode::MERCHANT_BALANCE_NOT_ENOUGH);
+            return $this->error(ErrorCode::COIN_NOT_ENOUGH);
         }else{
             $user->money  =  $user->money - $coin;
             $user->save();
@@ -269,7 +268,7 @@ class DreamController extends Controller
             $data = [
                 'user_id'=>$user->id,
                 'dream_id'=>$dream_id,
-                'to_user_id'=>$user_id,
+                'dream_user_id'=>$user_id,
                 'coin'=>$coin,
                 'score'=>$coin*$number,
             ];
@@ -295,7 +294,7 @@ class DreamController extends Controller
             ];
             SystemInfoModel::create($info);
 
-            return $this->api('');
+            return $this->api($number);
         }
     }
 
@@ -327,7 +326,16 @@ class DreamController extends Controller
      */
     public function collection(Request $request)
     {
-        if (empty($request->id)) return $this->error(ErrorCode::KEY_ERROR);
+
+        $validator = \Validator::make($request->all(),
+            [
+                'id'  => 'required',
+            ],
+            [
+                'id.required'  => '支持梦想不能为空',
+            ]
+        );
+        if($validator->fails()) return $this->validatorError($validator->messages()->all(),ErrorCode::CLIENT_WRONG_PARAMS);
 
         $user = $this->getUser();
         $data = [

+ 20 - 18
server/app/Http/Controllers/Api/V1/IndexController.php

xqd xqd
@@ -174,25 +174,27 @@ class IndexController extends Controller
     {
         $user = $this->getUser();
         //        关注的梦想
-        $arr =  $user->UserCareDream;
+        $users =  $user->UserCareDream;
 //        $arr = UserInfoModel::where('id',$user->id)->whereHas('UserCareDream', function ($query) {
 //            $query->where('interaction_number', '>', 0);
 //        })->get();
-        $users = [] ;
-        $arr1 = [];
-        foreach ($arr as $k => $v){
-            if ($v->pivot->interaction_number > 0) {
-                if (!array_key_exists($v->pivot->dream_user_id,$arr1)) {
-                    $arr1[$v->pivot->dream_user_id] = $v->pivot->interaction_number;
-                }else{
-                    $arr1[$v->pivot->dream_user_id] += $v->pivot->interaction_number;
-                }
-            }
-        }
-        foreach ($arr1 as $k => $v){
-            $a = UserInfoModel::find($k);
-            $users[$k] =[$a->allInteraction,$a->pic,$v] ;
-        }
+//        dd($arr->toArray());
+//        $users = [] ;
+//        $arr1 = [];
+//        foreach ($arr as $k => $v){
+//            if ($v->pivot->interaction_number > 0) {
+//                if (!array_key_exists($v->pivot->dream_user_id,$arr1)) {
+//                    $arr1[$v->pivot->dream_user_id] = $v->pivot->interaction_number;
+//                }else{
+//                    $arr1[$v->pivot->dream_user_id] += $v->pivot->interaction_number;
+//                }
+//            }
+//        }
+//        dd($arr1);
+//        foreach ($arr1 as $k => $v){
+//            $a = UserInfoModel::find($k);
+//            $users[$k] =[$a->allInteraction,$a->pic,$v] ;
+//        }
         $type = $request->type;
         if ($type == 'trend') {
             $dreams = DreamInfoModel::orderBy('score','desc')->offset(20)->limit(100)->paginate(20);
@@ -203,11 +205,11 @@ class IndexController extends Controller
             $this->dreams($dreams);
             return $this->api(compact('users','dreams'));
         } else{
-            $banner = $this->getBanner();
+            $banners = $this->getBanner();
     //        获取其他用户信息 及梦想
             $dreams = DreamInfoModel::orderBy('score','desc')->limit(20)->paginate(20);
             $this->dreams($dreams);
-            return $this->api(compact('banner','users','dreams'));
+            return $this->api(compact('banners','users','dreams'));
         }
     }
 

+ 26 - 57
server/app/Http/Controllers/Api/V1/MyController.php

xqd xqd xqd xqd xqd
@@ -25,11 +25,6 @@ class MyController extends Controller
      *  "status_code": 0,
      *  "message": "",
      *  "data": {
-     *      "my_care_num": 4,关注
-     *      "my_fens_num": 3,粉丝
-     *      "my_collection_num": 2,收藏
-     *      "my_dream_num": 1,发帖
-     *      "user": {
      *          "id": 1,
      *          "tel": "13880642880",
      *          "password": "",
@@ -46,7 +41,10 @@ class MyController extends Controller
      *          "detail_address": "",
      *          "status": 1,
      *          "remember_token": "",
-     *      }
+         *      "care_num": 4,关注
+         *      "fens_num": 3,粉丝
+         *      "collection_num": 2,收藏
+         *      "dream_num": 1,发帖
      *  }
      * @apiErrorExample {json} Error-Response:
      * HTTP/1.1 400 Bad Request
@@ -67,59 +65,16 @@ class MyController extends Controller
          * 点赞?徽章?
          * */
         $data1 = $user->myCareNum;
-        $data2 = $user->myFens;
+        $user->care_num = count($data1);
+        $data2 = $user->myFans;
+        $user->fans_num = count($data2);
         $data3 = $user->myCollection;
+        $user->collection_num = count($data3);
         $data4 = $user->UserDream;
-        $my_care_num = count($data1);
-        $my_fens_num = count($data2);
-        $my_collection_num = count($data3);
-        $my_dream_num = count($data4);//发帖数
-        return $this->api(compact('my_care_num','my_fens_num','my_collection_num','my_dream_num','user'));
+        $user->dream_num = count($data4);
+        return $this->api($user);
     }
 
-    /**
-     * @api {get} /api/my/persona 个人信息(persona)
-     * @apiDescription 个人信息(persona)
-     * @apiGroup My
-     * @apiPermission Passport
-     * @apiVersion 0.1.0
-     * @apiSuccessExample {json} Success-Response:
-     * HTTP/1.1 200 OK
-     *{
-     *    "status": true,
-     *   "status_code": 0,
-     *    "message": "",
-     *    "data": {
-     *        "user": {
-     *              "id": 1,
-     *              "tel": "13880642880",手机
-     *              "nickname": "",昵称
-     *              "sex": 1,性别
-     *              "job": "", 职业
-     *              "emotion": 1,情感状态
-     *              "address": "",
-     *              "detail_address": "",
-     *              "status": 1,
-     *              "tall": 1,   身高
-     *         }
-     *    }
-     *}
-     * @apiErrorExample {json} Error-Response:
-     * HTTP/1.1 400 Bad Request
-     *{
-     *    "status": true,
-     *    "status_code": 0,
-     *    "message": "",
-     *    "data": {
-     *        "user": null
-     *    }
-     *}
-     */
-    public function persona()
-    {
-        $user = $this->getUser();
-        return $this->api(compact('user'));
-    }
 
     /**
      * @api {get} /api/my/edit_user_info 修改个人信息
@@ -232,9 +187,23 @@ class MyController extends Controller
      * @apiErrorExample {json} Error-Response:
      * HTTP/1.1 400 Bad Request
      */
-    public function recharge()
+    public function recharge(Request $request)
     {
+        $validator = \Validator::make($request->all(),
+            [
+                'money'  => 'required|integer',
+            ],
+            [
+                'money.required'  => '请输入金额',
+                'money.integer'  => '请输入整数',
+
+            ]
+        );
+        if($validator->fails()) return $this->validatorError($validator->messages()->all(),ErrorCode::CLIENT_WRONG_PARAMS);
+
         $user = $this->getUser();
+        $user->coin += $request->money;
+        $user->save();
         return $this->api(compact('user'));
     }
 
@@ -433,7 +402,7 @@ class MyController extends Controller
             $dream->progress = $dream->money == 0 ? 0 :  floor($dream->get_money/$dream->money);
         }
 
-        return $this->api(compact('dreams'));
+        return $this->api($dreams);
     }
 
     /**

+ 3 - 0
server/app/Models/DreamImages.php

xqd
@@ -9,4 +9,7 @@ class DreamImages extends Model
     protected $table = 'dream_images';
     protected $fillable = ['dream_id','title','pic'];
     protected $hidden = ['dream_id','created_at','updated_at','deleted_at','id'];
+
+
+
 }

+ 1 - 8
server/app/Models/DreamInfoModel.php

xqd
@@ -48,16 +48,9 @@ class DreamInfoModel extends BaseModel
         return $this->hasOne('App\Models\UserInfoModel','id','user_id');
     }
 
-//    public function dreamFindUser()
-//    {
-//        return $this->belongsToMany('App\Models\UserInfoModel','user_dream','dream_id','user_id');
-//    }
-
-
-
     public function dreamImgs()
     {
-        return $this->hasMany('App\Models\DreamImages','dream_id','id');
+        return $this->hasMany('App\Models\DreamImages','dream_id');
     }
 
     public function dreamImgsFirst()

+ 4 - 3
server/app/Models/UserInfoModel.php

xqd xqd xqd
@@ -41,7 +41,8 @@ class UserInfoModel extends Authenticatable
                            'sign',
                            'pic',
                            'money',
-                           'sex',
+        'sex',
+        'city',
                            'signture',
                            'tall',
                            'job',
@@ -60,7 +61,7 @@ class UserInfoModel extends Authenticatable
     }
     public function UserCareDream()
     {
-        return $this->belongsToMany('App\Models\DreamInfoModel','user_care_dream','user_id','dream_id')->withPivot('interaction_number','dream_user_id');
+        return $this->belongsToMany('App\Models\DreamInfoModel','user_care_dream','user_id','dream_id')->with(['dreamUser'])->withPivot('interaction_number','dream_user_id')->orderBy('updated_at');
     }
 
 
@@ -91,7 +92,7 @@ class UserInfoModel extends Authenticatable
         return $this->hasMany('App\Models\UserCareUser','user_id','id');
     }
 //关注我的用户
-    public function myFens()
+    public function myFans()
     {
         return $this->hasMany('App\Models\UserCareUser','other_user_id','id');
     }

+ 3 - 3
server/app/Services/Base/ErrorCode.php

xqd xqd
@@ -31,10 +31,10 @@ final class ErrorCode {
     const FAVORITE_NOT_EXIST = 1900;
     const MERCHANT_ADD_MEMBER_FAILED = 1301;
     const MERCHANT_STATUS_NOT_OK = 1302;
-    const MERCHANT_BALANCE_NOT_ENOUGH = 1303;
+    const BALANCE_NOT_ENOUGH = 1303;
     const PAY_TYPE_UNSUPPORTED = 2000;
     const MEMBER_NOT_EXIST = 1500;
-    const MEMBER_BALANCE_NOT_ENOUGH = 1501;
+    const COIN_NOT_ENOUGH = 1501;
     const MERCHANT_SERVICE_NOT_EXIST = 1400;
     const MERCHANT_SERVICE_ADD_FAILED = 1401;
     const CONTENT_GET_DETAIL_FAILED = 1402;
@@ -90,7 +90,7 @@ final class ErrorCode {
         self::MERCHANT_BALANCE_NOT_ENOUGH => '商户余额不足',
         self::PAY_TYPE_UNSUPPORTED => '不支持的支付方式',
         self::MEMBER_NOT_EXIST => '会员不存在',
-        self::MEMBER_BALANCE_NOT_ENOUGH => '会员余额不足',
+        self::COIN_NOT_ENOUGH => '梦想币不足',
         self::SERVICE_COST_OVERFLOW_BALANCE => '余额不足,请充值',
         self::CREATE_SERVICE_OVER_MAX => '服务数量达到系统上限',
         self::MERCHANT_SERVICE_STATUS_INVALID => '服务状态不正确',

+ 3 - 3
server/routes/api.php

xqd
@@ -182,9 +182,9 @@ $api->version('v1', ['namespace' => 'App\Http\Controllers\Api\V1'], function ($a
     ]);
 
 //    梦想
-    $api->get('dream/index', [
-        'as' => 'dream.index',
-        'uses' => 'DreamController@index',
+    $api->get('dream/show', [
+        'as' => 'dream.show',
+        'uses' => 'DreamController@show',
     ]);
     $api->get('dream/collection', [
         'as' => 'dream.collection',