Mike před 8 roky
rodič
revize
b1d02626be

+ 4 - 1
miaomiao/www/css/style.css

xqd
@@ -349,9 +349,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 {

+ 1 - 0
miaomiao/www/js/config/router.js

xqd
@@ -23,6 +23,7 @@
             })
             .state('app.home_dreamdetail', {
                 url: '/home/dreamdetail',
+                params:{id:null},
                 views: {
                     'app-home': {
                         templateUrl: 'templates/home/dream-detail.html',

+ 1 - 1
miaomiao/www/js/controllers/add.js

xqd
@@ -39,7 +39,7 @@
                         msg.error('视频上传失败');
                     });
                 }, function (erro) {
-                    msg.error('选择视频失败');
+                    console.log('选择视频失败');
                 });
             };
             $scope.deletefile = function (file) {

+ 106 - 38
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,9 @@
                     } else {
                         $scope.$broadcast('scroll.infiniteScrollComplete');
                     }
-                }, function (erro) {
-                    msg.error(erro.data.Message);
+                }, function (error) {
+                    msg.hide();
+                    msg.error(error.data.message);
                 });
             }
             $scope.data = {};
@@ -58,13 +61,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 +89,6 @@
                 $scope.type = type;
             }
             $scope.index = 0;
-            $scope.changeindex = function (index) {
-                $scope.index = index;
-            }
             $scope.$on('$ionicView.beforeEnter', function () {
                 $ionicTabsDelegate.showBar(false);
             });
@@ -86,9 +99,18 @@
             $scope.vm = {
                 coin:""
             }
+
+            $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){
@@ -105,6 +127,76 @@
                     "display" : "none"
                 }
             }
+
+        $scope.placeholder="评论";
+        $scope.replay = function(id,cid,username){
+            $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 () {
+            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 +241,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 () {
-            };
+             
+                
+            }); 
 
     }]);
    

+ 12 - 22
miaomiao/www/js/controllers/my.js

xqd xqd
@@ -6,26 +6,16 @@
         });
 
 
-        $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;
+                });
+            }, function (erro) {
+                msg.erro(JSON.stringify(erro));
+            });
         };
             $scope.toprofile = function () {
                 $state.go('app.my_profile');
@@ -68,8 +58,8 @@
             }
         }]);
 
-    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;

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

xqd xqd
@@ -9,7 +9,7 @@
             },
             supportDream:function(data){
                 return $http({
-                    url:config.server + "api/user/support",
+                    url:config.server + "api/dream/support",
                     method:"post",
                     data:data
                 })
@@ -20,6 +20,12 @@
                     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({

+ 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)
             },

+ 87 - 45
miaomiao/www/templates/home/dream-detail.html

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">
@@ -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(id,cid,username)">
                         <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="text" placeholder="请输入充值金额">
+                    </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()">
+                        支付
+                    </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>