Mike 9 роки тому
батько
коміт
de834fdcad
100 змінених файлів з 654 додано та 154 видалено
  1. 43 50
      wl/config.xml
  2. BIN
      wl/doc/res/ui/.DS_Store
  3. BIN
      wl/doc/res/ui/个人信息.png
  4. BIN
      wl/doc/res/ui/会员.png
  5. BIN
      wl/doc/res/ui/我的发布.png
  6. BIN
      wl/doc/res/ui/我的订单.png
  7. BIN
      wl/doc/res/ui/我的车辆.png
  8. BIN
      wl/doc/res/ui/找回密码.png
  9. BIN
      wl/doc/res/ui/新增一个首页.png
  10. BIN
      wl/doc/res/ui/注册.png
  11. BIN
      wl/doc/res/ui/登录.png
  12. BIN
      wl/doc/res/ui/设置.png
  13. BIN
      wl/doc/res/ui/货源.png
  14. BIN
      wl/doc/res/ui/货源信息.png
  15. BIN
      wl/doc/res/ui/车源.png
  16. BIN
      wl/doc/res/素材.psd
  17. BIN
      wl/doc/res/资源/__MACOSX/._我的.png
  18. BIN
      wl/doc/res/资源/__MACOSX/._未标题-1.png
  19. BIN
      wl/doc/res/资源/__MACOSX/._订单1.png
  20. BIN
      wl/doc/res/资源/__MACOSX/._货源.png
  21. BIN
      wl/doc/res/资源/__MACOSX/._车源.png
  22. BIN
      wl/doc/res/资源/banner.png
  23. BIN
      wl/doc/res/资源/banner1.png
  24. BIN
      wl/doc/res/资源/banner2.png
  25. BIN
      wl/doc/res/资源/我的.png
  26. BIN
      wl/doc/res/资源/订单1.png
  27. BIN
      wl/doc/res/资源/货源.png
  28. BIN
      wl/doc/res/资源/车源.png
  29. BIN
      wl/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock
  30. BIN
      wl/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin
  31. BIN
      wl/platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin
  32. BIN
      wl/platforms/android/.gradle/2.2.1/taskArtifacts/outputFileStates.bin
  33. BIN
      wl/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin
  34. 0 1
      wl/platforms/android/AndroidManifest.xml
  35. 1 6
      wl/platforms/android/android.json
  36. 15 4
      wl/platforms/android/assets/www/css/style.css
  37. BIN
      wl/platforms/android/assets/www/img/demo/banner.png
  38. BIN
      wl/platforms/android/assets/www/img/demo/banner1.png
  39. BIN
      wl/platforms/android/assets/www/img/demo/banner2.png
  40. BIN
      wl/platforms/android/assets/www/img/icon/i_home_car.png
  41. BIN
      wl/platforms/android/assets/www/img/icon/i_home_goods.png
  42. BIN
      wl/platforms/android/assets/www/img/icon/i_home_my.png
  43. BIN
      wl/platforms/android/assets/www/img/icon/i_home_order.png
  44. 5 1
      wl/platforms/android/assets/www/index.html
  45. 7 6
      wl/platforms/android/assets/www/js/app.js
  46. 10 1
      wl/platforms/android/assets/www/js/config/router.js
  47. 4 2
      wl/platforms/android/assets/www/js/controllers/account.js
  48. 34 0
      wl/platforms/android/assets/www/js/controllers/home.js
  49. 23 15
      wl/platforms/android/assets/www/js/controllers/my.js
  50. 35 0
      wl/platforms/android/assets/www/js/filters/filter.js
  51. 66 0
      wl/platforms/android/assets/www/js/services/nativeservices.js
  52. 3 2
      wl/platforms/android/assets/www/templates/car/detail.html
  53. 6 4
      wl/platforms/android/assets/www/templates/car/index.html
  54. 1 1
      wl/platforms/android/assets/www/templates/car/success.html
  55. 3 2
      wl/platforms/android/assets/www/templates/goods/detail.html
  56. 6 4
      wl/platforms/android/assets/www/templates/goods/index.html
  57. 1 1
      wl/platforms/android/assets/www/templates/goods/success.html
  58. 74 0
      wl/platforms/android/assets/www/templates/home/index.html
  59. 2 2
      wl/platforms/android/assets/www/templates/my/index.html
  60. 1 1
      wl/platforms/android/assets/www/templates/my/message-detail.html
  61. 2 1
      wl/platforms/android/assets/www/templates/my/order-detail.html
  62. 6 5
      wl/platforms/android/assets/www/templates/my/profile.html
  63. 3 0
      wl/platforms/android/assets/www/templates/tabs.html
  64. 4 0
      wl/platforms/android/gradle.properties
  65. BIN
      wl/platforms/android/res/drawable-hdpi/icon.png
  66. BIN
      wl/platforms/android/res/drawable-ldpi/icon.png
  67. BIN
      wl/platforms/android/res/drawable-mdpi/icon.png
  68. BIN
      wl/platforms/android/res/drawable-xhdpi/icon.png
  69. 4 0
      wl/platforms/android/res/xml/config.xml
  70. BIN
      wl/resources/android/icon/drawable-hdpi-icon.png
  71. BIN
      wl/resources/android/icon/drawable-ldpi-icon.png
  72. BIN
      wl/resources/android/icon/drawable-mdpi-icon.png
  73. BIN
      wl/resources/android/icon/drawable-xhdpi-icon.png
  74. BIN
      wl/resources/android/icon/drawable-xxhdpi-icon.png
  75. BIN
      wl/resources/android/icon/drawable-xxxhdpi-icon.png
  76. BIN
      wl/resources/android/icon/icon.png
  77. 15 4
      wl/www/css/style.css
  78. BIN
      wl/www/img/demo/banner.png
  79. BIN
      wl/www/img/demo/banner1.png
  80. BIN
      wl/www/img/demo/banner2.png
  81. BIN
      wl/www/img/icon/i_home_car.png
  82. BIN
      wl/www/img/icon/i_home_goods.png
  83. BIN
      wl/www/img/icon/i_home_my.png
  84. BIN
      wl/www/img/icon/i_home_order.png
  85. 5 1
      wl/www/index.html
  86. 7 6
      wl/www/js/app.js
  87. 10 1
      wl/www/js/config/router.js
  88. 4 2
      wl/www/js/controllers/account.js
  89. 34 0
      wl/www/js/controllers/home.js
  90. 23 15
      wl/www/js/controllers/my.js
  91. 35 0
      wl/www/js/filters/filter.js
  92. 66 0
      wl/www/js/services/nativeservices.js
  93. 3 2
      wl/www/templates/car/detail.html
  94. 6 4
      wl/www/templates/car/index.html
  95. 1 1
      wl/www/templates/car/success.html
  96. 3 2
      wl/www/templates/goods/detail.html
  97. 6 4
      wl/www/templates/goods/index.html
  98. 1 1
      wl/www/templates/goods/success.html
  99. 74 0
      wl/www/templates/home/index.html
  100. 2 2
      wl/www/templates/my/index.html

+ 43 - 50
wl/config.xml

xqd xqd
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version="1.0" encoding="utf-8"?>
 <widget id="com.uhisport.football" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
   <name>掌上物流网</name>
   <description>
@@ -7,55 +7,48 @@
   <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"/>
-  <feature name="StatusBar">
-    <param name="ios-package" onload="true" value="CDVStatusBar"/>
-  </feature>
-  <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.8"/>
-  <plugin name="cordova-plugin-camera" version="2.2.0"/>
+  <content src="index.html" />
+  <platform name="android">
+    <icon density="ldpi" src="resources/android/icon/icon.png" />
+    <icon density="mdpi" src="resources/android/icon/icon.png" />
+    <icon density="hdpi" src="resources/android/icon/icon.png" />
+    <icon density="xhdpi" src="resources/android/icon/icon.png" />
+  </platform>
   <platform name="ios">
-    <icon src="resources/ios/icon/icon.png" width="57" height="57"/>
-    <icon src="resources/ios/icon/icon@2x.png" width="114" height="114"/>
-    <icon src="resources/ios/icon/icon-40.png" width="40" height="40"/>
-    <icon src="resources/ios/icon/icon-40@2x.png" width="80" height="80"/>
-    <icon src="resources/ios/icon/icon-50.png" width="50" height="50"/>
-    <icon src="resources/ios/icon/icon-50@2x.png" width="100" height="100"/>
-    <icon src="resources/ios/icon/icon-60.png" width="60" height="60"/>
-    <icon src="resources/ios/icon/icon-60@2x.png" width="120" height="120"/>
-    <icon src="resources/ios/icon/icon-60@3x.png" width="180" height="180"/>
-    <icon src="resources/ios/icon/icon-72.png" width="72" height="72"/>
-    <icon src="resources/ios/icon/icon-72@2x.png" width="144" height="144"/>
-    <icon src="resources/ios/icon/icon-76.png" width="76" height="76"/>
-    <icon src="resources/ios/icon/icon-76@2x.png" width="152" height="152"/>
-    <icon src="resources/ios/icon/icon-small.png" width="29" height="29"/>
-    <icon src="resources/ios/icon/icon-small@2x.png" width="58" height="58"/>
-    <icon src="resources/ios/icon/icon-small@3x.png" width="87" height="87"/>
-    <splash src="resources/ios/splash/Default-568h@2x~iphone.png" height="1136" width="640"/>
-    <splash src="resources/ios/splash/Default-667h.png" height="1334" width="750"/>
-    <splash src="resources/ios/splash/Default-736h.png" height="2208" width="1242"/>
-    <splash src="resources/ios/splash/Default-Landscape-736h.png" height="1242" width="2208"/>
-    <splash src="resources/ios/splash/Default-Landscape@2x~ipad.png" height="1536" width="2048"/>
-    <splash src="resources/ios/splash/Default-Landscape~ipad.png" height="768" width="1024"/>
-    <splash src="resources/ios/splash/Default-Portrait@2x~ipad.png" height="2048" width="1536"/>
-    <splash src="resources/ios/splash/Default-Portrait~ipad.png" height="1024" width="768"/>
-    <splash src="resources/ios/splash/Default@2x~iphone.png" height="960" width="640"/>
-    <splash src="resources/ios/splash/Default~iphone.png" height="480" width="320"/>
+    <icon height="180" src="resources/android/icon/icon.png" width="180" />
+    <icon height="60" src="resources/android/icon/icon.png" width="60" />
+    <icon height="120" src="resources/android/icon/icon.png" width="120" />
+    <icon height="76" src="resources/android/icon/icon.png" width="76" />
+    <icon height="152" src="resources/android/icon/icon.png" width="152" />
+    <icon height="40" src="resources/android/icon/icon.png" width="40" />
+    <icon height="80" src="resources/android/icon/icon.png" width="80" />
+    <icon height="57" src="resources/android/icon/icon.png" width="57" />
+    <icon height="114" src="resources/android/icon/icon.png" width="114" />
+    <icon height="72" src="resources/android/icon/icon.png" width="72" />
+    <icon height="144" src="resources/android/icon/icon.png" width="144" />
+    <icon height="29" src="resources/android/icon/icon.png" width="29" />
+    <icon height="58" src="resources/android/icon/icon.png" width="58" />
+    <icon height="50" src="resources/android/icon/icon.png" width="50" />
+    <icon height="100" src="resources/android/icon/icon.png" width="100" />
   </platform>
+  <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" />
+  <feature name="StatusBar">
+    <param name="ios-package" onload="true" value="CDVStatusBar" />
+  </feature>
+  <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" />
+  <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.8" />
+  <plugin name="cordova-plugin-camera" version="2.2.0" />
 </widget>

BIN
wl/doc/res/ui/.DS_Store


BIN
wl/doc/res/ui/个人信息.png


BIN
wl/doc/res/ui/会员.png


BIN
wl/doc/res/ui/我的发布.png


BIN
wl/doc/res/ui/我的订单.png


BIN
wl/doc/res/ui/我的车辆.png


BIN
wl/doc/res/ui/找回密码.png


BIN
wl/doc/res/ui/新增一个首页.png


BIN
wl/doc/res/ui/注册.png


BIN
wl/doc/res/ui/登录.png


BIN
wl/doc/res/ui/设置.png


BIN
wl/doc/res/ui/货源.png


BIN
wl/doc/res/ui/货源信息.png


BIN
wl/doc/res/ui/车源.png


BIN
wl/doc/res/素材.psd


BIN
wl/doc/res/资源/__MACOSX/._我的.png


BIN
wl/doc/res/资源/__MACOSX/._未标题-1.png


BIN
wl/doc/res/资源/__MACOSX/._订单1.png


BIN
wl/doc/res/资源/__MACOSX/._货源.png


BIN
wl/doc/res/资源/__MACOSX/._车源.png


BIN
wl/doc/res/资源/banner.png


BIN
wl/doc/res/资源/banner1.png


BIN
wl/doc/res/资源/banner2.png


BIN
wl/doc/res/资源/我的.png


BIN
wl/doc/res/资源/订单1.png


BIN
wl/doc/res/资源/货源.png


BIN
wl/doc/res/资源/车源.png


BIN
wl/platforms/android/.gradle/2.2.1/taskArtifacts/cache.properties.lock


BIN
wl/platforms/android/.gradle/2.2.1/taskArtifacts/fileHashes.bin


BIN
wl/platforms/android/.gradle/2.2.1/taskArtifacts/fileSnapshots.bin


BIN
wl/platforms/android/.gradle/2.2.1/taskArtifacts/outputFileStates.bin


BIN
wl/platforms/android/.gradle/2.2.1/taskArtifacts/taskArtifacts.bin


+ 0 - 1
wl/platforms/android/AndroidManifest.xml

xqd
@@ -11,5 +11,4 @@
         </activity>
     </application>
     <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
-    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 </manifest>

+ 1 - 6
wl/platforms/android/android.json

xqd
@@ -33,12 +33,7 @@
             },
             "AndroidManifest.xml": {
                 "parents": {
-                    "/*": [
-                        {
-                            "xml": "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\" />",
-                            "count": 1
-                        }
-                    ]
+                    "/*": []
                 }
             }
         }

+ 15 - 4
wl/platforms/android/assets/www/css/style.css

xqd xqd xqd xqd
@@ -1,4 +1,4 @@
-.logo {margin-top:10px;margin-left:23%;width:250px;height:200px }
+.logo {margin-top:10px;margin-left:23%;width:50%;height:35% }
 .image-default {
       background-image: url('../img/photo_default_turquoise.jpg');
 }
@@ -58,6 +58,10 @@
 .casehistory-photo-item-info p span { line-height: 24px; font-size: 14px }
 .list-pay .item-avatar { min-height: 60px; padding: 10px 120px 10px 10px; }
 .list-pay .item-avatar p { color: #999 }
+.app-link-item i.i-applink-goods { background-image: url(../img/icon/i_home_goods.png); }
+.app-link-item i.i-applink-car { background-image: url(../img/icon/i_home_car.png); }
+.app-link-item i.i-applink-order { background-image: url(../img/icon/i_home_order.png); }
+.app-link-item i.i-applink-my { background-image: url(../img/icon/i_home_my.png); }
 .list-pay .item-avatar .icon { position: absolute; left: 10px; max-height: 40px; max-width: 40px; color: #FFFFFF; line-height: 40px; font-weight: bold; font-size: 16px }
 .list-pay .item-avatar b { position: absolute; width: 110px; text-align: right; top: 20px; right: 10px; font-size: 18px }
 
@@ -72,8 +76,9 @@
 .app-link a { color: #999; font-size: 14px; line-height: 22px; }
 .app-link-item em { width: 9px; height: 9px; border-radius: 10px; background-color: rgba(252,101,34,1.00); position: absolute; z-index: 2; right: 0px; top: 0; }
 
-.swiper-index-slide { height: 120px; }
-.slider-img {background-image: url(../img/banner.png); height: 100%; width: 100%; -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; background-position: center }
+.swiper-index-slide { height: 170px; }
+.swiper-index-slide .slider-slide .slider-img { height: 100%; width: 100%; -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; background-position: center }
+ 
 .app-link-bottom { height: 8px; background: url(../img/box_bottom_bg.png) repeat-x bottom; margin-bottom: 5px; }
 
 .item-avatar-icon { min-height: 70px; padding: 7px 10px 7px 70px; position: relative; }
@@ -92,4 +97,10 @@
 .mustfill {
     color:red
 }
-input.ion-amap-place[readonly] { background-color: transparent; cursor: text; }
+input.ion-amap-place[readonly] { background-color: transparent; cursor: text; }
+.bar-button-selftest {
+    font-weight:bold;
+   
+} 
+.bar-button-selftest .button.button-calm.button-outline { border-color: #FFF; color:#0c60ee; }
+.bar-button-selftest .button.button-positive.button-outline { background-color: #ccc; color:#0c60ee;  }

BIN
wl/platforms/android/assets/www/img/demo/banner.png


BIN
wl/platforms/android/assets/www/img/demo/banner1.png


BIN
wl/platforms/android/assets/www/img/demo/banner2.png


BIN
wl/platforms/android/assets/www/img/icon/i_home_car.png


BIN
wl/platforms/android/assets/www/img/icon/i_home_goods.png


BIN
wl/platforms/android/assets/www/img/icon/i_home_my.png


BIN
wl/platforms/android/assets/www/img/icon/i_home_order.png


+ 5 - 1
wl/platforms/android/assets/www/index.html

xqd xqd
@@ -28,6 +28,7 @@
 <script src="js/controllers/goods.js"></script>
 <script src="js/controllers/car.js"></script>
 <script src="js/controllers/my.js"></script>
+<script src="js/controllers/home.js"></script>
 <!--services-->
 <script src="js/services/msgservice.js"></script>
 <script src="js/services/dataservice.js"></script>
@@ -36,4 +37,7 @@
 <script src="js/services/carservice.js"></script>
 <script src="js/services/goodsservice.js"></script>
 <script src="js/services/orderservice.js"></script>
-<script src="js/services/myservice.js"></script>
+<script src="js/services/myservice.js"></script>
+<script src="js/services/nativeservices.js"></script>
+<!--filters-->
+<script src="js/filters/filter.js"></script>

+ 7 - 6
wl/platforms/android/assets/www/js/app.js

xqd xqd
@@ -9,12 +9,13 @@
        $ionicConfigProvider.form.checkbox("circle");
        $ionicConfigProvider.templates.maxPrefetch(0);
    }])
- .config(["$httpProvider", function ($httpProvider) {
-     //http配置
-     $httpProvider.defaults.headers.common['Authorization'] = 'Bearer ' + window.localStorage['token'];
+ .config(["$httpProvider", "$windowProvider", function ($httpProvider, $windowProvider) {
+     //var win = $windowProvider.$get();
+     ////http配置
+     //$httpProvider.defaults.headers.common['Authorization'] = 'Bearer ' + win.localStorage['token'];
  }])
-.run(["$ionicPlatform", "$location", "msg", "$rootScope", "$timeout", "$ionicHistory", "userService","$state",
-    function ($ionicPlatform, $location, msg, $rootScope, $timeout, $ionicHistory, userService, $state) {
+.run(["$ionicPlatform", "$location", "msg", "$rootScope", "$timeout", "$ionicHistory", "userService", "$state", "$http",
+    function ($ionicPlatform, $location, msg, $rootScope, $timeout, $ionicHistory, userService, $state, $http) {
     $ionicPlatform.registerBackButtonAction(function (e) {
         if ($location.path().indexOf("wl/") != -1) {
             if ($rootScope.backButtonPressedOnceToExit) {
@@ -44,7 +45,7 @@
         }
         if (!userService.isLogin()) {
             $state.go('login');
-        }
+        } 
     });
 }]);
  angular.module("app.controllers", []);

+ 10 - 1
wl/platforms/android/assets/www/js/config/router.js

xqd
@@ -22,7 +22,16 @@
               controller: "frameCtrl",
               templateUrl: 'templates/tabs.html'
           })
-
+         //首页
+        .state('wl.home', {
+            url: '/home',
+            views: {
+                'wl-home': {
+                    templateUrl: 'templates/home/index.html',
+                    controller: 'homeCtrl'
+                }
+            }
+        })
          //货源管理
         .state('wl.goods', {  
             url: '/goods',

+ 4 - 2
wl/platforms/android/assets/www/js/controllers/account.js

xqd xqd xqd xqd
@@ -1,5 +1,5 @@
 (function (app) {
-    app.controller('loginCtrl', ["$scope", 'userService', "data", '$state', 'msg', function ($scope, userService, data, $state, msg) {
+    app.controller('loginCtrl', ["$scope", 'userService', "data", '$state', 'msg', '$http', function ($scope, userService, data, $state, msg, $http) {
         $scope.vm = {
             mobile: '',
             password:''
@@ -10,6 +10,7 @@
                 msg.hide();
                 data.setObject('user', result.data.user);
                 data.set('token', result.data.token);
+                $http.defaults.headers.common["Authorization"] = 'Bearer ' + result.data.token;
                 if (result.data.user.type == 1) {//托运方
                     $state.go('wl.car');
                 }
@@ -22,7 +23,7 @@
             });
         }
     }]);
-    app.controller('registerCtrl', ["$scope", 'msg', 'util', 'userService', '$timeout', '$state', 'data', function ($scope, msg, util, userService, $timeout, $state, data) {
+    app.controller('registerCtrl', ["$scope", 'msg', 'util', 'userService', '$timeout', '$state', 'data', '$http', function ($scope, msg, util, userService, $timeout, $state, data, $http) {
         $scope.vm = {
             mobile: '',
             password: '',
@@ -71,6 +72,7 @@
             }).then(function (result) {
                 data.setObject('user', { mobile: $scope.vm.mobile, type: $scope.vm.type });
                 data.set('token', result.data.token);
+                $http.defaults.headers.common["Authorization"] = 'Bearer ' + result.data.token;
                 msg.hide();
                 if ($scope.vm.type == 1) {//托运方
                     $state.go('wl.car');

+ 34 - 0
wl/platforms/android/assets/www/js/controllers/home.js

xqd
@@ -0,0 +1,34 @@
+(function (app) {
+    app.controller('homeCtrl', ["$scope", 'goodsService', 'carService', 'msg', '$state', '$ionicHistory', function ($scope, goodsService, carService, msg, $state, $ionicHistory) {
+        $scope.vm = { showIndex: 1 };
+        $scope.changeTab = function (i) {
+            $scope.vm.showIndex = i;
+        }
+        $scope.goods = [];
+        goodsService.listGoods({page:1}).then(function (result) {
+            $scope.goods = result.data.data;
+        }, function (erro) {
+            msg.error(JSON.stringify(erro.data));
+        });
+        $scope.cars = [];
+        carService.listCars({ page: 1 }).then(function (result) {
+            $scope.cars = result.data.data;
+        }, function (erro) {
+            msg.error(JSON.stringify(erro.data));
+        });
+        $scope.detail = function (item) {
+            if ($scope.vm.showIndex == 1) //货源
+            {
+                $state.go('wl.goods_detail', {item:item});
+            }
+            if ($scope.vm.showIndex == 2) //车源
+            {
+                $state.go('wl.car_detail', { item: item });
+            }
+        }
+        $scope.go = function (target) {
+            $ionicHistory.clearHistory();
+            $state.go(target);
+        }
+    }]);
+})(angular.module('app.controllers'));

+ 23 - 15
wl/platforms/android/assets/www/js/controllers/my.js

xqd xqd xqd
@@ -1,11 +1,14 @@
 (function (app) {
-    app.controller('myCtrl', ["$scope", function ($scope) {
-
+    app.controller('myCtrl', ["$scope","$state", function ($scope,$state) {
+        $scope.toProfile = function () {
+            $state.go('wl.my_profile');
+        }
     }]);
-    app.controller('mySettingCtrl', ['$scope', 'data', '$state', function ($scope, data, $state) {
+    app.controller('mySettingCtrl', ['$scope', 'data', '$state', '$http', function ($scope, data, $state, $http) {
         $scope.logout = function () {
             data.remove('user');
             data.remove('token');
+            $http.defaults.headers.common["Authorization"] =undefined;
             $state.go('login');
         }
     }]);
@@ -33,6 +36,7 @@
             msg.error(erro);
         });
         $scope.setAvator = function () {
+           // alert(typeof FileUploadOptions);
             var options = {
                 quality: 50,
                 destinationType: 1,
@@ -42,20 +46,24 @@
                 allowEdit:true
             };//https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/
             navigator.camera.getPicture(function (imageUri) {
+             //   alert(imageUri);
                 $scope.user.avatar = imageUri;
-                var options = new FileUploadOptions();
-                options.fileKey = "avatar";
-                options.fileName = "avatar.jpg";
-                options.mimeType = "image/jpeg";
-                var ft = new FileTransfer();
-                ft.upload(imageUri, encodeURI("http://120.25.204.211/api/user"), function(sucess) {
-                    alert(JSON.stringify(sucess));
-                }, function (fail) {
-                    alert(JSON.stringify(fail));
-                }, options);
-                ft.abort();
+               
+                //var uploadOptions = new FileUploadOptions();
+                //uploadOptions.fileKey = "avatar";
+                //alert(uploadOptions);
+                //uploadOptions.fileName = "avatar.jpg";
+                //uploadOptions.mimeType = "image/jpeg";
+                //var ft = new FileTransfer();
+                //alert(ft);
+                //ft.upload(imageUri, "http://120.25.204.211/api/user", function(sucess) {
+                //    alert(JSON.stringify(sucess));
+                //}, function (fail) {
+                //    alert(JSON.stringify(fail));
+                //}, options); 
+                //ft.abort();
             }, function (erro) {
-
+                alert(erro);
             }, options);
         }
         $scope.save = function () {

+ 35 - 0
wl/platforms/android/assets/www/js/filters/filter.js

xqd
@@ -0,0 +1,35 @@
+(function (module) {
+    module.filter('gender', function () {
+
+        return function (input) {
+
+            switch (input) {
+                case 0:
+                    return "女";
+                case 1:
+                    return "男";
+                default:
+                    return "";
+            }
+        };
+    });
+    module.filter('trustHtml', ['$sce', function ($sce) {
+        return function (html) {
+            return $sce.trustAsHtml(html);
+        };
+    }]);
+    module.filter('trustUrl', ['$sce', function ($sce) {
+        return function (url) {
+            return $sce.trustAsResourceUrl(url);
+        };
+    }]);
+    module.filter('avator', function () {
+        return function (input) {
+            if (!input || input.length === 0) {
+                return "img/photo_default_turquoise.jpg";
+            }
+            return input;
+        };
+    });
+ 
+})(angular.module('app.filters'));

+ 66 - 0
wl/platforms/android/assets/www/js/services/nativeservices.js

xqd
@@ -0,0 +1,66 @@
+(function (app) {
+     
+    app.factory("camera", ["$window",'msg', function ($window,msg) {
+        return {
+            chooseImage: function (cameraOptions) {
+                var q = $q.defer();
+                if (ionic.Platform.platforms[0] === "browser") {
+                    msg.text('不支持该操作');
+                }
+                var defaultOptions = {
+                    quality: 100,
+                    destinationType: 1,//0:Return base64 encoded string,1:Return file uri (content://media/external/images/media/2 for Android),2:Return native uri (eg. asset-library://... for iOS)
+                    sourceType: 1,//0:Choose image from picture library (same as SAVEDPHOTOALBUM for Android),1:Take picture from camera,2:Choose image from picture library (same as PHOTOLIBRARY for Android)
+                    allowEdit: false,
+                    encodingType: 0,//0为jpg,1为png
+                    //targetWidth: 1920,
+                    //targetHeight: 1080,
+                    saveToPhotoAlbum: false,
+                    maximumImagesCount: 10  //选择图片时用的
+                };
+                var options = angular.extend(defaultCameraOptions, cameraOptions);
+                var sheetOptions = {
+                    title: '选择拍照方式',
+                    buttonLabels: ['拍摄照片', '从图库选择'],
+                    addCancelButtonWithLabel: '取消',
+                    androidEnableCancelButton: true
+                };
+                $cordovaActionSheet.show(sheetOptions)
+                    .then(function (index) {
+
+                        switch (index) {
+
+                            case 1: //拍摄图片
+                                {
+                                    options.sourceType = 1;
+                                    navigator.camera.getPicture(options).then(function (imageURI) {
+
+                                        q.resolve([imageURI]);
+
+                                    }, function (error) {
+
+                                        q.reject(error);
+                                    });
+                                }
+                                break;
+
+                            case 2:
+                                {
+                                    window.plugins.imagePicker.getPictures(function (results) {
+                                        q.resolve(results);
+                                    }, function (error) {
+                                        q.reject(error);
+                                    }, options);
+                                }
+                                break;
+                            default:
+
+                                q.reslove([]);
+                                break;
+                        }
+                    });
+                return q.promise;
+            } 
+        };
+    }]);
+})(angular.module('app.services'));

+ 3 - 2
wl/platforms/android/assets/www/templates/car/detail.html

xqd
@@ -3,13 +3,14 @@
         <div class="list">
             <div class="list card">
                 <div class="item item-avatar">
-                    <img src="../../img/photo_default_turquoise.jpg" />
+                    <img src="img/photo_default_turquoise.jpg" />
                     <h2>{{vm.contact_name}}、{{vm.contact_phone}}</h2> 
                     <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 </div>
 
                 <div class="item item-body">
-                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
+                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}}</p>
+                    <p>途径{{vm.midway_address}}</p>
                     <p>
                         {{vm.detail}}
                     </p>

+ 6 - 4
wl/platforms/android/assets/www/templates/car/index.html

xqd
@@ -22,10 +22,12 @@
                 <div class="app-link-bottom"></div>
                 <div class="list">
                     <a class="item" ng-repeat="item in items" ng-click="detail(item)">
-
-                        <h2>从{{item.begin_address}}到{{item.end_address}}</h2>
-                        <p>价格:{{item.price}},途经:{{item.midway_address}}</p>
-                        <p>联系人:{{item.contact_name}},电话{{item.contact_phone}}</p>
+                        <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                        <p>
+                            <span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                            <span style="float:right">途经:{{item.midway_address}}</span>
+                        </p>
+                        <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
                     </a>
 
                 </div>

+ 1 - 1
wl/platforms/android/assets/www/templates/car/success.html

xqd
@@ -2,7 +2,7 @@
     <ion-content>
         <div class="card">
             <div class="item item-text-wrap">
-                <p><img src="../../img/icon/ok_apply.png" /></p>
+                <p><img src="img/icon/ok_apply.png" /></p>
                 <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 <p>从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
                 <p>联系人:{{vm.contact_name}},联系电话:{{vm.contact_phone}}</p>

+ 3 - 2
wl/platforms/android/assets/www/templates/goods/detail.html

xqd
@@ -3,13 +3,14 @@
         <div class="list">
             <div class="list card">
                 <div class="item item-avatar">
-                    <img src="../../img/photo_default_turquoise.jpg" />
+                    <img src="img/photo_default_turquoise.jpg" />
                     <h2>{{vm.contact_name}}、{{vm.contact_phone}}</h2>
                     <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 </div>
 
                 <div class="item item-body">
-                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
+                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}}</p>
+                    <p>途径{{vm.midway_address}}</p>
                     <p>
                         {{vm.detail}}
                     </p>

+ 6 - 4
wl/platforms/android/assets/www/templates/goods/index.html

xqd
@@ -22,10 +22,12 @@
                 <div class="app-link-bottom"></div>
                 <div class="list">
                     <a class="item" ng-repeat="item in items" ng-click="detail(item)">
-
-                        <h2>从{{item.begin_address}}到{{item.end_address}}</h2>
-                        <p>价格:{{item.price}},途经:{{item.midway_address}}</p>
-                        <p>联系人:{{item.contact_name}},电话{{item.contact_phone}}</p>
+                        <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                        <p>
+                            <span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                            <span style="float:right">途经:{{item.midway_address}}</span>
+                        </p>
+                        <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
                     </a>
 
                 </div>

+ 1 - 1
wl/platforms/android/assets/www/templates/goods/success.html

xqd
@@ -2,7 +2,7 @@
     <ion-content>
         <div class="card">
             <div class="item item-text-wrap">
-                <p><img src="../../img/icon/ok_apply.png" /></p>
+                <p><img src="img/icon/ok_apply.png" /></p>
                 <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 <p>从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
                 <p>联系人:{{vm.contact_name}},联系电话:{{vm.contact_phone}}</p>

+ 74 - 0
wl/platforms/android/assets/www/templates/home/index.html

xqd
@@ -0,0 +1,74 @@
+<ion-view view-title="掌上物流网">
+    <ion-content class="app-content-gray-bg">
+        <ion-slide-box class="swiper-index-slide"  >
+            <ion-slide  >
+                <img class="slider-img"  src="img/demo/banner.png" />
+            </ion-slide>
+            <ion-slide>
+                <img class="slider-img" src="img/demo/banner1.png" />
+            </ion-slide>
+            <ion-slide>
+                <img class="slider-img" src="img/demo/banner2.png" />
+            </ion-slide>
+        </ion-slide-box>
+        <div class="app-link-bottom"></div>
+        <div class="row app-link">
+            <div class="col-25">
+                <a ng-click="go('wl.goods')" >
+                    <div class="app-link-item">
+                        <i class="i-applink-goods"><em ng-if="vm.newTask"></em></i>
+                        <span>货源</span>
+                    </div>
+                </a>
+            </div>
+            <div class="col-25">
+                <a  ng-click="go('wl.car')">
+                    <div class="app-link-item">
+                        <i class="i-applink-car"></i>
+                        <span>车源</span>
+                    </div>
+                </a>
+            </div>
+            <div class="col-25">
+                <a ng-click="go('wl.my_order')" >
+                    <div class="app-link-item">
+                        <i class="i-applink-order"></i>
+                        <span>订单</span>
+                    </div>
+                </a>
+            </div>
+            <div class="col-25">
+                <a  ng-click="go('wl.my')">
+                    <div class="app-link-item">
+                        <i class="i-applink-my"></i>
+                        <span>我的</span>
+                    </div>
+                </a>
+            </div>
+
+        </div>
+        <div class="app-link-bottom"></div>
+        <div class="button-bar bar-calm bar-button-selftest" >
+            <a class="{{vm.showIndex==1?'button  button-calm button-outline button-small button-positive':'button button-calm button-outline button-small'}}" ng-click="changeTab(1)">货源信息</a>
+            <a class="{{vm.showIndex==2?'button  button-calm button-outline button-small button-positive':'button button-calm button-outline button-small'}}" ng-click="changeTab(2)">车源信息</a>
+        </div>
+        <div class="list" ng-if="vm.showIndex==1">
+            <a class="item" ng-repeat="item in goods" ng-click="detail(item)">
+                <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                <p><span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                 <span style="float:right">途经:{{item.midway_address}}</span></p>
+                <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
+            </a>
+        </div>
+        <div class="list" ng-if="vm.showIndex==2">
+            <a class="item" ng-repeat="item in cars" ng-click="detail(item)">
+                <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                <p>
+                    <span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                    <span style="float:right">途经:{{item.midway_address}}</span>
+                </p>
+                <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
+            </a>
+        </div>
+    </ion-content>
+</ion-view>

+ 2 - 2
wl/platforms/android/assets/www/templates/my/index.html

xqd
@@ -2,10 +2,10 @@
     <ion-content class="app-content app-user-content">
         <div class="user-box">
             <a  class="user-photo">
-              <img ng-src="../../img/photo_default_turquoise.jpg"  />
+              <img ng-src="img/photo_default_turquoise.jpg"  />
             </a>
             
-            <div class="user-info">
+            <div class="user-info" ng-click="toProfile()">
                 <a >  <p><span>酉水东流</span></p>  </a>
             </div>
             <div class="msg-user">

+ 1 - 1
wl/platforms/android/assets/www/templates/my/message-detail.html

xqd
@@ -3,7 +3,7 @@
         <div class="list">
             <div class="list card">
                 <div class="item item-avatar">
-                    <img src="../../img/photo_default_turquoise.jpg" />
+                    <img src="img/photo_default_turquoise.jpg" />
                     <h2>{{vm.contact_name}}、{{vm.contact_phone}}</h2>
                     <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 </div>

+ 2 - 1
wl/platforms/android/assets/www/templates/my/order-detail.html

xqd xqd
@@ -3,7 +3,7 @@
         <div class="list">
             <div class="list card">
                 <div class="item item-avatar">
-                    <img src="../../img/photo_default_turquoise.jpg" />
+                    <img src="img/photo_default_turquoise.jpg" />
                     <h2>交易人:{{vm.trade_user_id}},交易时间{{vm.deal_confirm_time}}</h2>
                     <p>状态:<b style="color:red">{{vm.state}}</b></p>
                 </div>
@@ -20,3 +20,4 @@
         </div>
     </ion-content>
 </ion-view>
+  

+ 6 - 5
wl/platforms/android/assets/www/templates/my/profile.html

xqd
@@ -4,15 +4,16 @@
             <div class="item item-divider">
                 完善个人信息
             </div>
-            <a class="item">
-                <em class="fl">手机号</em>
-                <span style="float:right">{{user.phone}}</span>
-            </a>
             <a class="item item-avatar-right item-arrow-no" ng-click="setAvator()">
-                <img ng-src="user.avatar" />
+                <img ng-src="{{user.avatar | avator}}" />
                 <h2>上传照片</h2>
                 <p>头像</p>
             </a>
+            <a class="item">
+                <em class="fl">手机号</em>
+                <span style="float:right;margin-right:85px">{{user.phone}}</span>
+                <span class="badge badge-assertive">已认证</span>
+            </a>
             <label class="item item-input ">
                 <span class="input-label">姓名<span class="mustfill">*</span></span>
                 <input style="text-align:right" ng-model="user.name" type="text" placeholder="真实姓名">

+ 3 - 0
wl/platforms/android/assets/www/templates/tabs.html

xqd
@@ -1,4 +1,7 @@
 <ion-tabs class="tabs-icon-top tabs-color-active-positive">
+    <ion-tab title="首页" icon-off="ion-ios-home-outline" icon-on="ion-ios-home" ng-click="go('wl.home')">
+        <ion-nav-view name="wl-home"></ion-nav-view>
+    </ion-tab>
   <ion-tab title="货源" icon-off="ion-ios-browsers-outline" icon-on="ion-ios-browsers" ng-click="go('wl.goods')" >
     <ion-nav-view name="wl-goods"></ion-nav-view>
   </ion-tab>

+ 4 - 0
wl/platforms/android/gradle.properties

xqd
@@ -0,0 +1,4 @@
+systemProp.http.proxyHost=127.0.0.1
+systemProp.http.proxyPort=8888
+systemProp.https.proxyHost=127.0.0.1
+systemProp.https.proxyPort=8888

BIN
wl/platforms/android/res/drawable-hdpi/icon.png


BIN
wl/platforms/android/res/drawable-ldpi/icon.png


BIN
wl/platforms/android/res/drawable-mdpi/icon.png


BIN
wl/platforms/android/res/drawable-xhdpi/icon.png


+ 4 - 0
wl/platforms/android/res/xml/config.xml

xqd
@@ -19,6 +19,10 @@
         <param name="android-package" value="io.ionic.keyboard.IonicKeyboard" />
         <param name="onload" value="true" />
     </feature>
+    <icon density="ldpi" src="resources/android/icon/icon.png" />
+    <icon density="mdpi" src="resources/android/icon/icon.png" />
+    <icon density="hdpi" src="resources/android/icon/icon.png" />
+    <icon density="xhdpi" src="resources/android/icon/icon.png" />
     <name>掌上物流网</name>
     <description>
         An Ionic Framework and Cordova project.

BIN
wl/resources/android/icon/drawable-hdpi-icon.png


BIN
wl/resources/android/icon/drawable-ldpi-icon.png


BIN
wl/resources/android/icon/drawable-mdpi-icon.png


BIN
wl/resources/android/icon/drawable-xhdpi-icon.png


BIN
wl/resources/android/icon/drawable-xxhdpi-icon.png


BIN
wl/resources/android/icon/drawable-xxxhdpi-icon.png


BIN
wl/resources/android/icon/icon.png


+ 15 - 4
wl/www/css/style.css

xqd xqd xqd xqd
@@ -1,4 +1,4 @@
-.logo {margin-top:10px;margin-left:23%;width:250px;height:200px }
+.logo {margin-top:10px;margin-left:23%;width:50%;height:35% }
 .image-default {
       background-image: url('../img/photo_default_turquoise.jpg');
 }
@@ -58,6 +58,10 @@
 .casehistory-photo-item-info p span { line-height: 24px; font-size: 14px }
 .list-pay .item-avatar { min-height: 60px; padding: 10px 120px 10px 10px; }
 .list-pay .item-avatar p { color: #999 }
+.app-link-item i.i-applink-goods { background-image: url(../img/icon/i_home_goods.png); }
+.app-link-item i.i-applink-car { background-image: url(../img/icon/i_home_car.png); }
+.app-link-item i.i-applink-order { background-image: url(../img/icon/i_home_order.png); }
+.app-link-item i.i-applink-my { background-image: url(../img/icon/i_home_my.png); }
 .list-pay .item-avatar .icon { position: absolute; left: 10px; max-height: 40px; max-width: 40px; color: #FFFFFF; line-height: 40px; font-weight: bold; font-size: 16px }
 .list-pay .item-avatar b { position: absolute; width: 110px; text-align: right; top: 20px; right: 10px; font-size: 18px }
 
@@ -72,8 +76,9 @@
 .app-link a { color: #999; font-size: 14px; line-height: 22px; }
 .app-link-item em { width: 9px; height: 9px; border-radius: 10px; background-color: rgba(252,101,34,1.00); position: absolute; z-index: 2; right: 0px; top: 0; }
 
-.swiper-index-slide { height: 120px; }
-.slider-img {background-image: url(../img/banner.png); height: 100%; width: 100%; -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; background-position: center }
+.swiper-index-slide { height: 170px; }
+.swiper-index-slide .slider-slide .slider-img { height: 100%; width: 100%; -moz-background-size: cover; -webkit-background-size: cover; -o-background-size: cover; background-size: cover; background-position: center }
+ 
 .app-link-bottom { height: 8px; background: url(../img/box_bottom_bg.png) repeat-x bottom; margin-bottom: 5px; }
 
 .item-avatar-icon { min-height: 70px; padding: 7px 10px 7px 70px; position: relative; }
@@ -92,4 +97,10 @@
 .mustfill {
     color:red
 }
-input.ion-amap-place[readonly] { background-color: transparent; cursor: text; }
+input.ion-amap-place[readonly] { background-color: transparent; cursor: text; }
+.bar-button-selftest {
+    font-weight:bold;
+   
+} 
+.bar-button-selftest .button.button-calm.button-outline { border-color: #FFF; color:#0c60ee; }
+.bar-button-selftest .button.button-positive.button-outline { background-color: #ccc; color:#0c60ee;  }

BIN
wl/www/img/demo/banner.png


BIN
wl/www/img/demo/banner1.png


BIN
wl/www/img/demo/banner2.png


BIN
wl/www/img/icon/i_home_car.png


BIN
wl/www/img/icon/i_home_goods.png


BIN
wl/www/img/icon/i_home_my.png


BIN
wl/www/img/icon/i_home_order.png


+ 5 - 1
wl/www/index.html

xqd xqd
@@ -28,6 +28,7 @@
 <script src="js/controllers/goods.js"></script>
 <script src="js/controllers/car.js"></script>
 <script src="js/controllers/my.js"></script>
+<script src="js/controllers/home.js"></script>
 <!--services-->
 <script src="js/services/msgservice.js"></script>
 <script src="js/services/dataservice.js"></script>
@@ -36,4 +37,7 @@
 <script src="js/services/carservice.js"></script>
 <script src="js/services/goodsservice.js"></script>
 <script src="js/services/orderservice.js"></script>
-<script src="js/services/myservice.js"></script>
+<script src="js/services/myservice.js"></script>
+<script src="js/services/nativeservices.js"></script>
+<!--filters-->
+<script src="js/filters/filter.js"></script>

+ 7 - 6
wl/www/js/app.js

xqd xqd
@@ -9,12 +9,13 @@
        $ionicConfigProvider.form.checkbox("circle");
        $ionicConfigProvider.templates.maxPrefetch(0);
    }])
- .config(["$httpProvider", function ($httpProvider) {
-     //http配置
-     $httpProvider.defaults.headers.common['Authorization'] = 'Bearer ' + window.localStorage['token'];
+ .config(["$httpProvider", "$windowProvider", function ($httpProvider, $windowProvider) {
+     //var win = $windowProvider.$get();
+     ////http配置
+     //$httpProvider.defaults.headers.common['Authorization'] = 'Bearer ' + win.localStorage['token'];
  }])
-.run(["$ionicPlatform", "$location", "msg", "$rootScope", "$timeout", "$ionicHistory", "userService","$state",
-    function ($ionicPlatform, $location, msg, $rootScope, $timeout, $ionicHistory, userService, $state) {
+.run(["$ionicPlatform", "$location", "msg", "$rootScope", "$timeout", "$ionicHistory", "userService", "$state", "$http",
+    function ($ionicPlatform, $location, msg, $rootScope, $timeout, $ionicHistory, userService, $state, $http) {
     $ionicPlatform.registerBackButtonAction(function (e) {
         if ($location.path().indexOf("wl/") != -1) {
             if ($rootScope.backButtonPressedOnceToExit) {
@@ -44,7 +45,7 @@
         }
         if (!userService.isLogin()) {
             $state.go('login');
-        }
+        } 
     });
 }]);
  angular.module("app.controllers", []);

+ 10 - 1
wl/www/js/config/router.js

xqd
@@ -22,7 +22,16 @@
               controller: "frameCtrl",
               templateUrl: 'templates/tabs.html'
           })
-
+         //首页
+        .state('wl.home', {
+            url: '/home',
+            views: {
+                'wl-home': {
+                    templateUrl: 'templates/home/index.html',
+                    controller: 'homeCtrl'
+                }
+            }
+        })
          //货源管理
         .state('wl.goods', {  
             url: '/goods',

+ 4 - 2
wl/www/js/controllers/account.js

xqd xqd xqd xqd
@@ -1,5 +1,5 @@
 (function (app) {
-    app.controller('loginCtrl', ["$scope", 'userService', "data", '$state', 'msg', function ($scope, userService, data, $state, msg) {
+    app.controller('loginCtrl', ["$scope", 'userService', "data", '$state', 'msg', '$http', function ($scope, userService, data, $state, msg, $http) {
         $scope.vm = {
             mobile: '',
             password:''
@@ -10,6 +10,7 @@
                 msg.hide();
                 data.setObject('user', result.data.user);
                 data.set('token', result.data.token);
+                $http.defaults.headers.common["Authorization"] = 'Bearer ' + result.data.token;
                 if (result.data.user.type == 1) {//托运方
                     $state.go('wl.car');
                 }
@@ -22,7 +23,7 @@
             });
         }
     }]);
-    app.controller('registerCtrl', ["$scope", 'msg', 'util', 'userService', '$timeout', '$state', 'data', function ($scope, msg, util, userService, $timeout, $state, data) {
+    app.controller('registerCtrl', ["$scope", 'msg', 'util', 'userService', '$timeout', '$state', 'data', '$http', function ($scope, msg, util, userService, $timeout, $state, data, $http) {
         $scope.vm = {
             mobile: '',
             password: '',
@@ -71,6 +72,7 @@
             }).then(function (result) {
                 data.setObject('user', { mobile: $scope.vm.mobile, type: $scope.vm.type });
                 data.set('token', result.data.token);
+                $http.defaults.headers.common["Authorization"] = 'Bearer ' + result.data.token;
                 msg.hide();
                 if ($scope.vm.type == 1) {//托运方
                     $state.go('wl.car');

+ 34 - 0
wl/www/js/controllers/home.js

xqd
@@ -0,0 +1,34 @@
+(function (app) {
+    app.controller('homeCtrl', ["$scope", 'goodsService', 'carService', 'msg', '$state', '$ionicHistory', function ($scope, goodsService, carService, msg, $state, $ionicHistory) {
+        $scope.vm = { showIndex: 1 };
+        $scope.changeTab = function (i) {
+            $scope.vm.showIndex = i;
+        }
+        $scope.goods = [];
+        goodsService.listGoods({page:1}).then(function (result) {
+            $scope.goods = result.data.data;
+        }, function (erro) {
+            msg.error(JSON.stringify(erro.data));
+        });
+        $scope.cars = [];
+        carService.listCars({ page: 1 }).then(function (result) {
+            $scope.cars = result.data.data;
+        }, function (erro) {
+            msg.error(JSON.stringify(erro.data));
+        });
+        $scope.detail = function (item) {
+            if ($scope.vm.showIndex == 1) //货源
+            {
+                $state.go('wl.goods_detail', {item:item});
+            }
+            if ($scope.vm.showIndex == 2) //车源
+            {
+                $state.go('wl.car_detail', { item: item });
+            }
+        }
+        $scope.go = function (target) {
+            $ionicHistory.clearHistory();
+            $state.go(target);
+        }
+    }]);
+})(angular.module('app.controllers'));

+ 23 - 15
wl/www/js/controllers/my.js

xqd xqd xqd
@@ -1,11 +1,14 @@
 (function (app) {
-    app.controller('myCtrl', ["$scope", function ($scope) {
-
+    app.controller('myCtrl', ["$scope","$state", function ($scope,$state) {
+        $scope.toProfile = function () {
+            $state.go('wl.my_profile');
+        }
     }]);
-    app.controller('mySettingCtrl', ['$scope', 'data', '$state', function ($scope, data, $state) {
+    app.controller('mySettingCtrl', ['$scope', 'data', '$state', '$http', function ($scope, data, $state, $http) {
         $scope.logout = function () {
             data.remove('user');
             data.remove('token');
+            $http.defaults.headers.common["Authorization"] =undefined;
             $state.go('login');
         }
     }]);
@@ -33,6 +36,7 @@
             msg.error(erro);
         });
         $scope.setAvator = function () {
+           // alert(typeof FileUploadOptions);
             var options = {
                 quality: 50,
                 destinationType: 1,
@@ -42,20 +46,24 @@
                 allowEdit:true
             };//https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-camera/
             navigator.camera.getPicture(function (imageUri) {
+             //   alert(imageUri);
                 $scope.user.avatar = imageUri;
-                var options = new FileUploadOptions();
-                options.fileKey = "avatar";
-                options.fileName = "avatar.jpg";
-                options.mimeType = "image/jpeg";
-                var ft = new FileTransfer();
-                ft.upload(imageUri, encodeURI("http://120.25.204.211/api/user"), function(sucess) {
-                    alert(JSON.stringify(sucess));
-                }, function (fail) {
-                    alert(JSON.stringify(fail));
-                }, options);
-                ft.abort();
+               
+                //var uploadOptions = new FileUploadOptions();
+                //uploadOptions.fileKey = "avatar";
+                //alert(uploadOptions);
+                //uploadOptions.fileName = "avatar.jpg";
+                //uploadOptions.mimeType = "image/jpeg";
+                //var ft = new FileTransfer();
+                //alert(ft);
+                //ft.upload(imageUri, "http://120.25.204.211/api/user", function(sucess) {
+                //    alert(JSON.stringify(sucess));
+                //}, function (fail) {
+                //    alert(JSON.stringify(fail));
+                //}, options); 
+                //ft.abort();
             }, function (erro) {
-
+                alert(erro);
             }, options);
         }
         $scope.save = function () {

+ 35 - 0
wl/www/js/filters/filter.js

xqd
@@ -0,0 +1,35 @@
+(function (module) {
+    module.filter('gender', function () {
+
+        return function (input) {
+
+            switch (input) {
+                case 0:
+                    return "女";
+                case 1:
+                    return "男";
+                default:
+                    return "";
+            }
+        };
+    });
+    module.filter('trustHtml', ['$sce', function ($sce) {
+        return function (html) {
+            return $sce.trustAsHtml(html);
+        };
+    }]);
+    module.filter('trustUrl', ['$sce', function ($sce) {
+        return function (url) {
+            return $sce.trustAsResourceUrl(url);
+        };
+    }]);
+    module.filter('avator', function () {
+        return function (input) {
+            if (!input || input.length === 0) {
+                return "img/photo_default_turquoise.jpg";
+            }
+            return input;
+        };
+    });
+ 
+})(angular.module('app.filters'));

+ 66 - 0
wl/www/js/services/nativeservices.js

xqd
@@ -0,0 +1,66 @@
+(function (app) {
+     
+    app.factory("camera", ["$window",'msg', function ($window,msg) {
+        return {
+            chooseImage: function (cameraOptions) {
+                var q = $q.defer();
+                if (ionic.Platform.platforms[0] === "browser") {
+                    msg.text('不支持该操作');
+                }
+                var defaultOptions = {
+                    quality: 100,
+                    destinationType: 1,//0:Return base64 encoded string,1:Return file uri (content://media/external/images/media/2 for Android),2:Return native uri (eg. asset-library://... for iOS)
+                    sourceType: 1,//0:Choose image from picture library (same as SAVEDPHOTOALBUM for Android),1:Take picture from camera,2:Choose image from picture library (same as PHOTOLIBRARY for Android)
+                    allowEdit: false,
+                    encodingType: 0,//0为jpg,1为png
+                    //targetWidth: 1920,
+                    //targetHeight: 1080,
+                    saveToPhotoAlbum: false,
+                    maximumImagesCount: 10  //选择图片时用的
+                };
+                var options = angular.extend(defaultCameraOptions, cameraOptions);
+                var sheetOptions = {
+                    title: '选择拍照方式',
+                    buttonLabels: ['拍摄照片', '从图库选择'],
+                    addCancelButtonWithLabel: '取消',
+                    androidEnableCancelButton: true
+                };
+                $cordovaActionSheet.show(sheetOptions)
+                    .then(function (index) {
+
+                        switch (index) {
+
+                            case 1: //拍摄图片
+                                {
+                                    options.sourceType = 1;
+                                    navigator.camera.getPicture(options).then(function (imageURI) {
+
+                                        q.resolve([imageURI]);
+
+                                    }, function (error) {
+
+                                        q.reject(error);
+                                    });
+                                }
+                                break;
+
+                            case 2:
+                                {
+                                    window.plugins.imagePicker.getPictures(function (results) {
+                                        q.resolve(results);
+                                    }, function (error) {
+                                        q.reject(error);
+                                    }, options);
+                                }
+                                break;
+                            default:
+
+                                q.reslove([]);
+                                break;
+                        }
+                    });
+                return q.promise;
+            } 
+        };
+    }]);
+})(angular.module('app.services'));

+ 3 - 2
wl/www/templates/car/detail.html

xqd
@@ -3,13 +3,14 @@
         <div class="list">
             <div class="list card">
                 <div class="item item-avatar">
-                    <img src="../../img/photo_default_turquoise.jpg" />
+                    <img src="img/photo_default_turquoise.jpg" />
                     <h2>{{vm.contact_name}}、{{vm.contact_phone}}</h2> 
                     <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 </div>
 
                 <div class="item item-body">
-                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
+                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}}</p>
+                    <p>途径{{vm.midway_address}}</p>
                     <p>
                         {{vm.detail}}
                     </p>

+ 6 - 4
wl/www/templates/car/index.html

xqd
@@ -22,10 +22,12 @@
                 <div class="app-link-bottom"></div>
                 <div class="list">
                     <a class="item" ng-repeat="item in items" ng-click="detail(item)">
-
-                        <h2>从{{item.begin_address}}到{{item.end_address}}</h2>
-                        <p>价格:{{item.price}},途经:{{item.midway_address}}</p>
-                        <p>联系人:{{item.contact_name}},电话{{item.contact_phone}}</p>
+                        <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                        <p>
+                            <span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                            <span style="float:right">途经:{{item.midway_address}}</span>
+                        </p>
+                        <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
                     </a>
 
                 </div>

+ 1 - 1
wl/www/templates/car/success.html

xqd
@@ -2,7 +2,7 @@
     <ion-content>
         <div class="card">
             <div class="item item-text-wrap">
-                <p><img src="../../img/icon/ok_apply.png" /></p>
+                <p><img src="img/icon/ok_apply.png" /></p>
                 <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 <p>从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
                 <p>联系人:{{vm.contact_name}},联系电话:{{vm.contact_phone}}</p>

+ 3 - 2
wl/www/templates/goods/detail.html

xqd
@@ -3,13 +3,14 @@
         <div class="list">
             <div class="list card">
                 <div class="item item-avatar">
-                    <img src="../../img/photo_default_turquoise.jpg" />
+                    <img src="img/photo_default_turquoise.jpg" />
                     <h2>{{vm.contact_name}}、{{vm.contact_phone}}</h2>
                     <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 </div>
 
                 <div class="item item-body">
-                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
+                    <p style="font-weight:bold">从{{vm.begin_address}}到{{vm.end_address}}</p>
+                    <p>途径{{vm.midway_address}}</p>
                     <p>
                         {{vm.detail}}
                     </p>

+ 6 - 4
wl/www/templates/goods/index.html

xqd
@@ -22,10 +22,12 @@
                 <div class="app-link-bottom"></div>
                 <div class="list">
                     <a class="item" ng-repeat="item in items" ng-click="detail(item)">
-
-                        <h2>从{{item.begin_address}}到{{item.end_address}}</h2>
-                        <p>价格:{{item.price}},途经:{{item.midway_address}}</p>
-                        <p>联系人:{{item.contact_name}},电话{{item.contact_phone}}</p>
+                        <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                        <p>
+                            <span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                            <span style="float:right">途经:{{item.midway_address}}</span>
+                        </p>
+                        <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
                     </a>
 
                 </div>

+ 1 - 1
wl/www/templates/goods/success.html

xqd
@@ -2,7 +2,7 @@
     <ion-content>
         <div class="card">
             <div class="item item-text-wrap">
-                <p><img src="../../img/icon/ok_apply.png" /></p>
+                <p><img src="img/icon/ok_apply.png" /></p>
                 <p>价格:<b style="color:red">¥{{vm.begin_address}}</b></p>
                 <p>从{{vm.begin_address}}到{{vm.end_address}},途径{{vm.midway_address}}</p>
                 <p>联系人:{{vm.contact_name}},联系电话:{{vm.contact_phone}}</p>

+ 74 - 0
wl/www/templates/home/index.html

xqd
@@ -0,0 +1,74 @@
+<ion-view view-title="掌上物流网">
+    <ion-content class="app-content-gray-bg">
+        <ion-slide-box class="swiper-index-slide"  >
+            <ion-slide  >
+                <img class="slider-img"  src="img/demo/banner.png" />
+            </ion-slide>
+            <ion-slide>
+                <img class="slider-img" src="img/demo/banner1.png" />
+            </ion-slide>
+            <ion-slide>
+                <img class="slider-img" src="img/demo/banner2.png" />
+            </ion-slide>
+        </ion-slide-box>
+        <div class="app-link-bottom"></div>
+        <div class="row app-link">
+            <div class="col-25">
+                <a ng-click="go('wl.goods')" >
+                    <div class="app-link-item">
+                        <i class="i-applink-goods"><em ng-if="vm.newTask"></em></i>
+                        <span>货源</span>
+                    </div>
+                </a>
+            </div>
+            <div class="col-25">
+                <a  ng-click="go('wl.car')">
+                    <div class="app-link-item">
+                        <i class="i-applink-car"></i>
+                        <span>车源</span>
+                    </div>
+                </a>
+            </div>
+            <div class="col-25">
+                <a ng-click="go('wl.my_order')" >
+                    <div class="app-link-item">
+                        <i class="i-applink-order"></i>
+                        <span>订单</span>
+                    </div>
+                </a>
+            </div>
+            <div class="col-25">
+                <a  ng-click="go('wl.my')">
+                    <div class="app-link-item">
+                        <i class="i-applink-my"></i>
+                        <span>我的</span>
+                    </div>
+                </a>
+            </div>
+
+        </div>
+        <div class="app-link-bottom"></div>
+        <div class="button-bar bar-calm bar-button-selftest" >
+            <a class="{{vm.showIndex==1?'button  button-calm button-outline button-small button-positive':'button button-calm button-outline button-small'}}" ng-click="changeTab(1)">货源信息</a>
+            <a class="{{vm.showIndex==2?'button  button-calm button-outline button-small button-positive':'button button-calm button-outline button-small'}}" ng-click="changeTab(2)">车源信息</a>
+        </div>
+        <div class="list" ng-if="vm.showIndex==1">
+            <a class="item" ng-repeat="item in goods" ng-click="detail(item)">
+                <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                <p><span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                 <span style="float:right">途经:{{item.midway_address}}</span></p>
+                <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
+            </a>
+        </div>
+        <div class="list" ng-if="vm.showIndex==2">
+            <a class="item" ng-repeat="item in cars" ng-click="detail(item)">
+                <h2>【{{item.begin_address}}】-【{{item.end_address}}】</h2>
+                <p>
+                    <span style="float:left"><b style="color:orangered">¥{{item.price}}</b><em style="padding-left:3px;font-size:0.75em">起</em></span>
+                    <span style="float:right">途经:{{item.midway_address}}</span>
+                </p>
+                <p><span style="float:left">联系人:{{item.contact_name}}</span> <span style="float:right">电话:{{item.contact_phone}}</span></p> 
+            </a>
+        </div>
+    </ion-content>
+</ion-view>

+ 2 - 2
wl/www/templates/my/index.html

xqd
@@ -2,10 +2,10 @@
     <ion-content class="app-content app-user-content">
         <div class="user-box">
             <a  class="user-photo">
-              <img ng-src="../../img/photo_default_turquoise.jpg"  />
+              <img ng-src="img/photo_default_turquoise.jpg"  />
             </a>
             
-            <div class="user-info">
+            <div class="user-info" ng-click="toProfile()">
                 <a >  <p><span>酉水东流</span></p>  </a>
             </div>
             <div class="msg-user">

Деякі файли не було показано, через те що забагато файлів було змінено