Bladeren bron

应用内购买

Ben 7 jaren geleden
bovenliggende
commit
856c423ea0

BIN
.vs/miaomiao/v14/.suo


+ 81 - 58
miaomiao/www/js/controllers/home.js

xqd xqd
@@ -636,69 +636,91 @@
             }
 
         };
+        $scope.ios={
+            isIOS:ionic.Platform.isIOS(),
+            productid:''
+          }
             //充值
             $scope.charge = function(number){
-                if (!number) {
-                    msg.text('请输入充值金额');
-                    return;
-                }
-                homeService.charge(number,2).then(function (result) {
-                    //todo:result需要返回支付宝或者微信的签名信息
-                    console.log("result: " + JSON.stringify(result));
-                    var payInfo = result.data.data;
-                    if ($scope.vm.payType == 1) { //支付宝
-                        cordova.plugins.AliPay.pay(payInfo, function success(e) {
-                            $scope.clicksub = false;
-                            if (e.resultStatus == '9000') {
-                                alert(orderID);
+                if($scope.ios.isIOS){
+                    if ($scope.ios.productid.length<2){
+                        msg.text('请选择充值金额');
+                        return;
+                    } 
+                    inAppPurchase
+                    .buy($scope.ios.productid)
+                    .then(function (data) {
+                      return inAppPurchase.consume(data.productType, data.receipt, data.signature);
+                    })
+                    .then(function () {
+                        msg.success('购买成功');
+                    })
+                    .catch(function (err) {
+                        alert('购买失败:'+err);
+                    });
+                }else{
+                    if (!number) {
+                        msg.text('请输入充值金额');
+                        return;
+                    }
+                    homeService.charge(number,2).then(function (result) {
+                        //todo:result需要返回支付宝或者微信的签名信息
+                        console.log("result: " + JSON.stringify(result));
+                        var payInfo = result.data.data;
+                        if ($scope.vm.payType == 1) { //支付宝
+                            cordova.plugins.AliPay.pay(payInfo, function success(e) {
+                                $scope.clicksub = false;
+                                if (e.resultStatus == '9000') {
+                                    alert(orderID);
+                                    $timeout(function () {
+                                        $scope.closeRechargeModal();
+                                    }, 1000);
+                                    homeService.myInfo().then(function (result) {
+                                        $scope.user = result.data.data;
+                                    });
+                                } else {
+                                    msg.error("支付失败");
+                                    // msg.error("支付失败:" + JSON.stringify(e));
+                                }
+                            }, function error(e) {
+                                $scope.clicksub = false;
+                                // msg.error("支付失败:" + JSON.stringify(e));
+                                msg.error("支付失败");
+                            });
+                        }
+                        if ($scope.vm.payType == 2) { //微信
+                            // var obj = JSON.parse(payInfo);
+                            var obj = payInfo.orderString;
+                            // console.log("obj: " + JSON.stringify(obj));
+                            var params = {
+                                partnerid: obj.partnerid, // merchant id
+                                prepayid: obj.prepayid, // prepay id
+                                noncestr: obj.noncestr, // nonce
+                                timestamp: obj.timestamp, // timestamp
+                                sign: obj.sign, // signed string
+                            };
+                            // console.log("result: " + JSON.stringify(params));
+                            Wechat.sendPaymentRequest(params, function (r) {
+                                // $scope.clicksub = false;
                                 $timeout(function () {
                                     $scope.closeRechargeModal();
                                 }, 1000);
-                                homeService.myInfo().then(function (result) {
-                                    $scope.user = result.data.data;
-                                });
-                            } else {
-                                msg.error("支付失败");
-                                // msg.error("支付失败:" + JSON.stringify(e));
-                            }
-                        }, function error(e) {
-                            $scope.clicksub = false;
-                            // msg.error("支付失败:" + JSON.stringify(e));
-                            msg.error("支付失败");
-                        });
-                    }
-                    if ($scope.vm.payType == 2) { //微信
-                        // var obj = JSON.parse(payInfo);
-                        var obj = payInfo.orderString;
-                        // console.log("obj: " + JSON.stringify(obj));
-                        var params = {
-                            partnerid: obj.partnerid, // merchant id
-                            prepayid: obj.prepayid, // prepay id
-                            noncestr: obj.noncestr, // nonce
-                            timestamp: obj.timestamp, // timestamp
-                            sign: obj.sign, // signed string
-                        };
-                        // console.log("result: " + JSON.stringify(params));
-                        Wechat.sendPaymentRequest(params, function (r) {
-                            // $scope.clicksub = false;
-                            $timeout(function () {
-                                $scope.closeRechargeModal();
-                            }, 1000);
-                            $scope.load(id,dream_user_id,interaction_id);
-                            // courseService.orderStatus(orderID, $scope.paytype).then(function (result) {
-                                
-                            //     homeService.myInfo().then(function (result) {
-                            //         $scope.user = result.data.data;
-                            //     });
-                            // }, function (erro) {
-                            //     // msg.alert("支付反馈失败:" + JSON.stringify(erro));
-                            // });
-                        }, function (reason) {
-                            $scope.clicksub = false;
-                            // msg.alert("支付失败:" + JSON.stringify(reason));
-                        });
-                    }
-                });
+                                $scope.load(id,dream_user_id,interaction_id);
+                                // courseService.orderStatus(orderID, $scope.paytype).then(function (result) {
+                                    
+                                //     homeService.myInfo().then(function (result) {
+                                //         $scope.user = result.data.data;
+                                //     });
+                                // }, function (erro) {
+                                //     // msg.alert("支付反馈失败:" + JSON.stringify(erro));
+                                // });
+                            }, function (reason) {
+                                $scope.clicksub = false;
+                                // msg.alert("支付失败:" + JSON.stringify(reason));
+                            });
+                        }
+                    });
+                }
             };
         $scope.submitComment = function (index,to_userid) {
             var interaction = $scope.dream.interactions[index];
@@ -817,6 +839,7 @@
           });
 
           $scope.openRechargeModal = function() {
+          
             $scope.rechagemodal.show();
             $scope.vm.money = '';
           };

+ 95 - 70
miaomiao/www/js/controllers/my.js

xqd xqd
@@ -406,7 +406,9 @@
   , function ($scope,$ionicModal,$timeout, $ionicHistory,$ionicTabsDelegate,$state, myService, msg) {
         $scope.$on('$ionicView.beforeEnter', function () {
             $ionicTabsDelegate.showBar(false);
-            $scope.vm = {}
+            $scope.vm = {
+               
+            }
             myService.myInfo().then(function(result){
                 $scope.vm = result.data.data;
                 $scope.vm.number = '';
@@ -449,79 +451,102 @@
       $scope.$on('$destroy', function() {
         $scope.modal.remove();
       });
-
+      
+      $scope.ios={
+        isIOS:ionic.Platform.isIOS(),
+        productid:''
+      }
+    
       //充值
       $scope.charge = function(number){
-          if (!number) {
-              msg.text('请输入充值金额');
-              return;
+          if($scope.ios.isIOS){
+            if ($scope.ios.productid.length<2){
+                msg.text('请选择充值金额');
+                return;
+            } 
+            inAppPurchase
+            .buy($scope.ios.productid)
+            .then(function (data) {
+              return inAppPurchase.consume(data.productType, data.receipt, data.signature);
+            })
+            .then(function () {
+                msg.success('购买成功');
+                $ionicHistory.goBack();
+            })
+            .catch(function (err) {
+                alert('购买失败:'+err);
+            });
+          }else{
+            if (!number) {
+                msg.text('请输入充值金额');
+                return;
+            }
+            myService.charge(number,2).then(function (result) {
+                //todo:result需要返回支付宝或者微信的签名信息
+                console.log("result: " + JSON.stringify(result));
+                var payInfo = result.data.data;
+                var orderID = payInfo.transaction_id
+                $scope.vm.transaction_id = payInfo.transaction_id;
+                $scope.vm.price = payInfo.price;
+                if ($scope.vm.payType == 1) { //支付宝
+                    cordova.plugins.AliPay.pay(payInfo, function success(e) {
+                        //e.resultStatus  状态代码  e.result  本次操作返回的结果数据 e.memo 提示信息
+                        //e.resultStatus  9000  订单支付成功 ;8000 正在处理中  调用function success
+                        //e.resultStatus  4000  订单支付失败 ;6001  用户中途取消 ;6002 网络连接出错  调用function error
+                        //当e.resultStatus为9000时,请去服务端验证支付结果
+                        $scope.clicksub = false;
+                        if (e.resultStatus == '9000') {
+                            alert(orderID);
+                            //支付成功
+                           // $state.go('app.my');
+                        } else {
+                            msg.error("支付失败");
+                            // msg.error("支付失败:" + JSON.stringify(e));
+                        }
+                    }, function error(e) {
+                        $scope.clicksub = false;
+                        // msg.error("支付失败:" + JSON.stringify(e));
+                        msg.error("支付失败");
+                    });
+                }
+                if ($scope.vm.payType == 2) { //微信
+                    // var obj = JSON.parse(payInfo);
+                    var obj = payInfo.orderString;
+                // console.log("obj: " + JSON.stringify(obj));
+                    var params = {
+                        partnerid: obj.partnerid, // merchant id
+                        prepayid: obj.prepayid, // prepay id
+                        noncestr: obj.noncestr, // nonce
+                        timestamp: obj.timestamp, // timestamp
+                        sign: obj.sign, // signed string
+                    };
+                // console.log("result: " + JSON.stringify(params));
+                    Wechat.sendPaymentRequest(params, function (r) {
+                        $scope.clicksub = false;
+                        // $state.go("app.paySuccess")
+                        // $state.go('app.paySuccess',{item:payInfo})
+                        $scope.openModal();
+                        // alert(orderID);
+                        myService.orderStatus(orderID).then(function (result) {
+                            //  alert(result);
+                            //支付成功
+                          //  $state.go('app.my');
+                          
+  
+                        }, function (erro) {
+                            // msg.alert("支付反馈失败:" + JSON.stringify(erro));
+                        });
+                    }, function (reason) {
+                        $scope.clicksub = false;
+                        // msg.alert("支付失败:" + JSON.stringify(reason));
+                    });
+                }
+  
+               // msg.text("充值成功");
+              //   $state.go('app.my');
+            });
           }
-          myService.charge(number,2).then(function (result) {
-              //todo:result需要返回支付宝或者微信的签名信息
-              console.log("result: " + JSON.stringify(result));
-              var payInfo = result.data.data;
-              var orderID = payInfo.transaction_id
-              $scope.vm.transaction_id = payInfo.transaction_id;
-              $scope.vm.price = payInfo.price;
-              if ($scope.vm.payType == 1) { //支付宝
-                  cordova.plugins.AliPay.pay(payInfo, function success(e) {
-                      //e.resultStatus  状态代码  e.result  本次操作返回的结果数据 e.memo 提示信息
-                      //e.resultStatus  9000  订单支付成功 ;8000 正在处理中  调用function success
-                      //e.resultStatus  4000  订单支付失败 ;6001  用户中途取消 ;6002 网络连接出错  调用function error
-                      //当e.resultStatus为9000时,请去服务端验证支付结果
-                      $scope.clicksub = false;
-                      if (e.resultStatus == '9000') {
-                          alert(orderID);
-                          //支付成功
-                         // $state.go('app.my');
-                      } else {
-                          msg.error("支付失败");
-                          // msg.error("支付失败:" + JSON.stringify(e));
-                      }
-                  }, function error(e) {
-                      $scope.clicksub = false;
-                      // msg.error("支付失败:" + JSON.stringify(e));
-                      msg.error("支付失败");
-                  });
-              }
-              if ($scope.vm.payType == 2) { //微信
-                  // var obj = JSON.parse(payInfo);
-                  var obj = payInfo.orderString;
-              // console.log("obj: " + JSON.stringify(obj));
-                  var params = {
-                      partnerid: obj.partnerid, // merchant id
-                      prepayid: obj.prepayid, // prepay id
-                      noncestr: obj.noncestr, // nonce
-                      timestamp: obj.timestamp, // timestamp
-                      sign: obj.sign, // signed string
-                  };
-              // console.log("result: " + JSON.stringify(params));
-                  Wechat.sendPaymentRequest(params, function (r) {
-                      $scope.clicksub = false;
-                      // $state.go("app.paySuccess")
-                      // $state.go('app.paySuccess',{item:payInfo})
-                      $scope.openModal();
-                      // alert(orderID);
-                      myService.orderStatus(orderID).then(function (result) {
-                          //  alert(result);
-                          //支付成功
-                        //  $state.go('app.my');
-                        
-
-                      }, function (erro) {
-                          // msg.alert("支付反馈失败:" + JSON.stringify(erro));
-                      });
-                  }, function (reason) {
-                      $scope.clicksub = false;
-                      // msg.alert("支付失败:" + JSON.stringify(reason));
-                  });
-              }
-
-             // msg.text("充值成功");
-            //   $state.go('app.my');
-          });
       }
-
   }]);
  
     app.controller('accountCtrl', ["$scope","$ionicTabsDelegate", "$state", "myService", "msg"

+ 40 - 15
miaomiao/www/templates/home/dream-detail.html

xqd
@@ -365,23 +365,48 @@
                                     </div>
                                 </div>
                             </div>
-                            <div class="item item-input" style="padding-top: 20px; padding-bottom: 20px">
-                                <span class="input-label" style="width: 60px">梦想币</span>
-                                <input type="tel" placeholder="请输入数量" ng-model="vm.number">
-                            </div>
-                            <div class="item" style="color: #969696; padding-top: 40px">
-                                选择支付方式
+                            <div ng-if="!ios.isIOS">
+                                <div class="item item-input" style="padding-top: 20px; padding-bottom: 20px">
+                                    <span class="input-label" style="width: 60px">梦想币</span>
+                                    <input type="tel" placeholder="请输入数量" ng-model="vm.number">
+                                </div>
+                                <div class="item" style="color: #969696; padding-top: 40px">
+                                    选择支付方式
+                                </div>
+                                <ion-list class="re-radio">
+                                    <ion-radio ng-model="vm.payType" ng-value="2">
+                                        <img ng-src="img/icon_ WeChat Pay.svg" />
+                                        <span>微信支付</span>
+                                    </ion-radio>
+                                    <!-- <ion-radio ng-model="vm.payType" ng-value="1">
+                                        <img ng-src="img/icon_ Alipay.svg" />
+                                        <span>支付宝支付</span>
+                                    </ion-radio> -->
+                                </ion-list>
                             </div>
-                            <ion-list class="re-radio">
-                                <ion-radio ng-model="vm.payType" ng-value="2">
-                                    <img ng-src="img/icon_ WeChat Pay.svg" />
-                                    <span>微信支付</span>
+                            <div ng-if="ios.isIOS">
+                                <div class="item" style="color: #969696; padding-top: 40px">
+                                     充值金额
+                             </div>
+                            <ion-list>
+                                <ion-radio ng-model="ios.productid"  ng-value="'apple100000'">
+                                    <span>充值1元</span>
+                                </ion-radio>
+                                <ion-radio ng-model="ios.productid" ng-value="'apple100001'">
+                                    <span>充值6元</span>
+                                </ion-radio>
+                                <ion-radio ng-model="ios.productid" ng-value="'apple100002'">
+                                    <span>充值50元</span>
+                                </ion-radio>
+                                <ion-radio ng-model="ios.productid" ng-value="'apple100003'">
+                                  <span>充值188元</span>
+                                </ion-radio>
+                                <ion-radio ng-model="ios.productid" ng-value="apple100004">
+                                    <span>充值898元</span>
                                 </ion-radio>
-                                <!-- <ion-radio ng-model="vm.payType" ng-value="1">
-                                    <img ng-src="img/icon_ Alipay.svg" />
-                                    <span>支付宝支付</span>
-                                </ion-radio> -->
-                            </ion-list>
+                            
+                            </ion-list> 
+                          </div>
                         </div>
                         <div class="padding">
                             <button  class="button button-block button-calm" ng-click="charge(vm.number)">

+ 41 - 16
miaomiao/www/templates/my/my-recharge.html

xqd xqd
@@ -11,7 +11,7 @@
                     <div class="col col-20">
                         <img src="img/icon_gold.svg" style="height: 100%; width: 100%">
                     </div>
-                    <div class="col">
+                    <div class="col"> 
                         <div>剩余梦想币</div>
                         <div class="re-num">{{vm.coin}}</div>
                     </div>
@@ -20,23 +20,48 @@
                     </div>
                 </div>
             </div>
-            <div class="item item-input" style="padding-top: 20px; padding-bottom: 20px">
-                <span class="input-label" style="width: 60px">梦想币</span>
-                <input type="tel" placeholder="请输入数量" ng-model="vm.number">
-            </div>
-            <div class="item" style="color: #969696; padding-top: 40px">
-               选择支付方式
+            <div ng-if="!ios.isIOS">
+                <div class="item item-input" style="padding-top: 20px; padding-bottom: 20px">
+                    <span class="input-label" style="width: 60px">梦想币</span>
+                    <input type="tel" placeholder="请输入数量" ng-model="vm.number">
+                </div>
+                <div class="item" style="color: #969696; padding-top: 40px">
+                   选择支付方式
+                </div>
+                <ion-list class="re-radio">
+                    <ion-radio ng-model="vm.payType" ng-value="2">
+                        <img ng-src="img/icon_ WeChat Pay.svg" />
+                        <span>微信支付</span>
+                    </ion-radio>
+                    <!-- <ion-radio ng-model="vm.payType" ng-value="1">
+                        <img ng-src="img/icon_ Alipay.svg" />
+                        <span>支付宝支付</span>
+                    </ion-radio> -->
+                </ion-list>      
             </div>
-            <ion-list class="re-radio">
-                <ion-radio ng-model="vm.payType" ng-value="2">
-                    <img ng-src="img/icon_ WeChat Pay.svg" />
-                    <span>微信支付</span>
+          <div ng-if="ios.isIOS">
+                <div class="item" style="color: #969696; padding-top: 40px">
+                     充值金额
+             </div>
+            <ion-list>
+                <ion-radio ng-model="ios.productid"  ng-value="'apple100000'">
+                    <span>充值1元</span>
+                </ion-radio>
+                <ion-radio ng-model="ios.productid" ng-value="'apple100001'">
+                    <span>充值6元</span>
+                </ion-radio>
+                <ion-radio ng-model="ios.productid" ng-value="'apple100002'">
+                    <span>充值50元</span>
+                </ion-radio>
+                <ion-radio ng-model="ios.productid" ng-value="'apple100003'">
+                  <span>充值188元</span>
+                </ion-radio>
+                <ion-radio ng-model="ios.productid" ng-value="apple100004">
+                    <span>充值898元</span>
                 </ion-radio>
-                <!-- <ion-radio ng-model="vm.payType" ng-value="1">
-                    <img ng-src="img/icon_ Alipay.svg" />
-                    <span>支付宝支付</span>
-                </ion-radio> -->
-            </ion-list>
+            
+            </ion-list> 
+          </div>
         </div>
         <div class="padding">
             <button  class="button button-block button-calm" ng-click="charge(vm.number)">