浏览代码

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

gq 7 年之前
父节点
当前提交
33fc4aac9b

+ 1 - 2
miaomiao/config.xml

xqd xqd
@@ -6,7 +6,7 @@
     </description>
   <author email="you@example.com" href="http://example.com.com/">
       Mike
-    </author>
+  </author>
   <content src="index.html"/>
   <access origin="*"/>
   <allow-intent href="*"/>
@@ -99,7 +99,6 @@
   <plugin name="ionic-plugin-keyboard" spec="~1.0.9"/>
   <plugin name="jpush-phonegap-plugin" spec="^3.2.3">
     <variable name="APP_KEY" value="041b70b4c7eee686870a32cd"/>
-    <variable name="API_KEY" value="041b70b4c7eee686870a32cd"/>
   </plugin>
   <plugin name="phonegap-plugin-barcodescanner" spec="https://github.com/phonegap/phonegap-plugin-barcodescanner.git">
     <variable name="CAMERA_USAGE_DESCRIPTION" value="请摄像头对准条码"/>

+ 1 - 1
miaomiao/cordova-hcp.json

xqd
@@ -1,4 +1,4 @@
 {
   "update": "now",
-  "content_url": "http://i.9026.com/miaomiao/www"
+  "content_url": "http://i.9026.com/miaomiao"
 }

+ 1 - 1
miaomiao/package.json

xqd
@@ -90,4 +90,4 @@
       }
     }
   }
-}
+}

+ 4 - 8
miaomiao/plugins/android.json

xqd
@@ -37,18 +37,14 @@
         "cordova-plugin-media-capture": {
             "PACKAGE_NAME": "com.miaomiao.app"
         },
-        "cordova-plugin-splashscreen": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-statusbar": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
         "cordova-plugin-offbye-alipay": {
             "PARTNER_ID": "2088721135315822",
             "PACKAGE_NAME": "com.miaomiao.app"
         },
-        "cordova-plugin-weibosdk": {
-            "WEIBO_APP_ID": "YOUR_WEIBO_APPID",
+        "cordova-plugin-splashscreen": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-statusbar": {
             "PACKAGE_NAME": "com.miaomiao.app"
         }
     },

+ 2 - 0
miaomiao/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/device/.npmignore

xqd
@@ -0,0 +1,2 @@
+/src
+/public

+ 2 - 0
miaomiao/plugins/phonegap-plugin-barcodescanner/src/blackberry10/native/simulator/.npmignore

xqd
@@ -0,0 +1,2 @@
+/public
+/src

+ 235 - 250
miaomiao/www/.idea/workspace.xml

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -20,52 +20,43 @@
     <favorites_list name="www" />
   </component>
   <component name="FileEditorManager">
-    <leaf>
-      <file leaf-file-name="dream-detail.html" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/templates/home/dream-detail.html">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file leaf-file-name="login.html" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/templates/account/login.html">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="-8.142858">
-              <caret line="91" column="30" selection-start-line="91" selection-start-column="30" selection-end-line="91" selection-end-column="30" />
+            <state vertical-scroll-proportion="-4.071429">
+              <caret line="6" column="40" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="40" />
               <folding>
-                <element signature="n#style#0;n#div#0;n#div#1;n#div#3;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#1;n#div#1;n#div#3;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#p#0;n#div#1;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#span#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="my-dream.html" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/templates/my/my-dream.html">
+      <file leaf-file-name="loginAccount.html" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/templates/account/loginAccount.html">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="0.8942486">
-              <caret line="26" column="21" selection-start-line="26" selection-start-column="21" selection-end-line="26" selection-end-column="21" />
+            <state vertical-scroll-proportion="-13.142858">
+              <caret line="28" column="17" selection-start-line="28" selection-start-column="17" selection-end-line="28" selection-end-column="17" />
               <folding>
+                <element signature="n#style#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
                 <element signature="n#style#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#2;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#0;n#div#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#0;n#div#3;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#span#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#span#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#img#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#i#0;n#span#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#div#1;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#span#1;n#div#2;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+                <element signature="n#style#0;n#button#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="my-collect.html" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/templates/my/my-collect.html">
+      <file leaf-file-name="account.js" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/js/controllers/account.js">
           <provider selected="true" editor-type-id="text-editor">
-            <state vertical-scroll-proportion="-12.107142">
-              <caret line="44" column="80" selection-start-line="33" selection-start-column="0" selection-end-line="44" selection-end-column="80" />
-              <folding>
-                <element signature="n#style#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#3;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#p#0;n#div#3;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#0;n#div#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#div#0;n#div#3;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#span#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-                <element signature="n#style#0;n#span#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-              </folding>
+            <state vertical-scroll-proportion="0.141527">
+              <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
+              <folding />
             </state>
           </provider>
         </entry>
@@ -74,7 +65,17 @@
         <entry file="file://$PROJECT_DIR$/js/controllers/home.js">
           <provider selected="true" editor-type-id="text-editor">
             <state vertical-scroll-proportion="-5.9666667">
-              <caret line="135" column="39" selection-start-line="135" selection-start-column="39" selection-end-line="135" selection-end-column="39" />
+              <caret line="1133" column="34" selection-start-line="1133" selection-start-column="0" selection-end-line="1134" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="router.js" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/js/config/router.js">
+          <provider selected="true" editor-type-id="text-editor">
+            <state vertical-scroll-proportion="-5.7">
+              <caret line="9" column="30" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="30" />
               <folding />
             </state>
           </provider>
@@ -86,28 +87,24 @@
     <option name="RECENT_TEMPLATES">
       <list>
         <option value="JavaScript File" />
+        <option value="HTML File" />
       </list>
     </option>
   </component>
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/js/controllers/account.js" />
         <option value="$PROJECT_DIR$/js/services/userservice.js" />
         <option value="$PROJECT_DIR$/templates/my/my-message.html" />
-        <option value="$PROJECT_DIR$/js/controllers/add.js" />
         <option value="$PROJECT_DIR$/templates/my/my-message-reply.html" />
         <option value="$PROJECT_DIR$/templates/home/user-detail.html" />
         <option value="$PROJECT_DIR$/js/services/tabsService.js" />
-        <option value="$PROJECT_DIR$/templates/my/my-profile.html" />
         <option value="$PROJECT_DIR$/js/services/myservice.js" />
         <option value="$PROJECT_DIR$/../../../LikeaCat/merchant/www/js/controllers/my.js" />
         <option value="$PROJECT_DIR$/templates/tabs.html" />
         <option value="$PROJECT_DIR$/js/controllers/tabs.js" />
         <option value="$PROJECT_DIR$/js/services/homeservice.js" />
         <option value="$PROJECT_DIR$/templates/home/search.html" />
-        <option value="$PROJECT_DIR$/templates/home/index.html" />
-        <option value="$PROJECT_DIR$/css/style.css" />
         <option value="$PROJECT_DIR$/templates/my/index.html" />
         <option value="$PROJECT_DIR$/js/config/config.js" />
         <option value="$PROJECT_DIR$/templates/my/my-recharge.html" />
@@ -116,12 +113,25 @@
         <option value="$PROJECT_DIR$/templates/my/my-account.html" />
         <option value="$PROJECT_DIR$/templates/my/attention.html" />
         <option value="$PROJECT_DIR$/templates/home/oldDream.html" />
-        <option value="$PROJECT_DIR$/js/controllers/my.js" />
         <option value="$PROJECT_DIR$/js/filters/filter.js" />
-        <option value="$PROJECT_DIR$/js/controllers/home.js" />
         <option value="$PROJECT_DIR$/templates/my/my-collect.html" />
-        <option value="$PROJECT_DIR$/templates/home/dream-detail.html" />
+        <option value="E:/Graduation design/huiwei/js/index.js" />
+        <option value="$PROJECT_DIR$/templates/home/index.html" />
         <option value="$PROJECT_DIR$/templates/my/my-dream.html" />
+        <option value="$PROJECT_DIR$/js/controllers/my.js" />
+        <option value="$PROJECT_DIR$/templates/my/my-profile.html" />
+        <option value="E:/Graduation design/huiwei/css/index.css" />
+        <option value="$PROJECT_DIR$/js/controllers/add.js" />
+        <option value="$PROJECT_DIR$/js/controllers/home.js" />
+        <option value="$PROJECT_DIR$/templates/home/dream-detail.html" />
+        <option value="E:/Graduation design/huiwei/gulpfile.js" />
+        <option value="E:/Graduation design/huiwei/index.html" />
+        <option value="E:/Graduation design/huiwei/package.json" />
+        <option value="$PROJECT_DIR$/templates/account/login.html" />
+        <option value="$PROJECT_DIR$/templates/account/loginAccount.html" />
+        <option value="$PROJECT_DIR$/css/style.css" />
+        <option value="$PROJECT_DIR$/js/config/router.js" />
+        <option value="$PROJECT_DIR$/js/controllers/account.js" />
       </list>
     </option>
   </component>
@@ -131,8 +141,8 @@
     <detection-done>true</detection-done>
   </component>
   <component name="ProjectFrameBounds">
-    <option name="x" value="350" />
-    <option name="width" value="1026" />
+    <option name="x" value="500" />
+    <option name="width" value="876" />
     <option name="height" value="728" />
   </component>
   <component name="ProjectLevelVcsManager" settingsEditedManually="false">
@@ -146,7 +156,7 @@
     <ConfirmationsSetting value="0" id="Remove" />
   </component>
   <component name="ProjectView">
-    <navigator proportions="" version="1">
+    <navigator currentView="ProjectPane" proportions="" version="1">
       <flattenPackages />
       <showMembers />
       <showModules />
@@ -159,13 +169,27 @@
       <manualOrder />
       <foldersAlwaysOnTop value="true" />
     </navigator>
-    <panes />
+    <panes>
+      <pane id="Scope" />
+      <pane id="ProjectPane">
+        <subPane>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="www" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+          </PATH>
+        </subPane>
+      </pane>
+      <pane id="Scratches" />
+    </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="last_opened_file_path" value="$PROJECT_DIR$" />
     <property name="WebServerToolWindowFactoryState" value="false" />
     <property name="HbShouldOpenHtmlAsHb" value="" />
     <property name="js-jscs-nodeInterpreter" value="D:\HPE\Note.js\Install\node.exe" />
+    <property name="DefaultHtmlFileTemplate" value="HTML File" />
   </component>
   <component name="RunManager">
     <configuration default="true" type="DartCommandLineRunConfigurationType" factoryName="Dart Command Line Application">
@@ -231,15 +255,15 @@
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="350" y="0" width="1026" height="728" extended-state="0" />
+    <frame x="500" y="0" width="876" height="728" extended-state="0" />
     <editor active="true" />
     <layout>
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.1688988" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.16871509" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32843137" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24958263" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24916202" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -269,21 +293,6 @@
   </component>
   <component name="editorHistoryManager">
     <entry file="file://$PROJECT_DIR$/templates/home/userDetail.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="84" column="45" selection-start-line="84" selection-start-column="45" selection-end-line="84" selection-end-column="45" />
-          <folding>
-            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#1;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#span#0;n#div#1;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/index.html">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
@@ -294,7 +303,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.0">
           <caret line="604" column="16" selection-start-line="604" selection-start-column="16" selection-end-line="604" selection-end-column="16" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -303,64 +311,14 @@
         <state vertical-scroll-proportion="0.0">
           <caret line="227" column="14" selection-start-line="224" selection-start-column="8" selection-end-line="227" selection-end-column="14" />
           <folding>
-            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#1;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#button#1;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#button#1;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#1;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#p#1;n#div#1;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/home.js">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="898" column="21" selection-start-line="898" selection-start-column="21" selection-end-line="898" selection-end-column="21" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/userDetail.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-          <folding>
-            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#1;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#span#0;n#div#1;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/css/style.css">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="604" column="16" selection-start-line="604" selection-start-column="16" selection-end-line="604" selection-end-column="16" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/dream-detail.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="227" column="14" selection-start-line="224" selection-start-column="8" selection-end-line="227" selection-end-column="14" />
-          <folding>
-            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#1;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#button#1;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#img#0;n#button#1;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#1;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#p#1;n#div#1;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#2;n#div#1;n#div#0;n#div#2;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#img#1;n#div#2;n#div#1;n#div#0;n#div#2;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#1;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#0;n#div#2;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#a#0;n#span#0;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
           </folding>
         </state>
       </provider>
@@ -387,13 +345,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/account/login.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.27387387">
-          <caret line="8" column="18" selection-start-line="8" selection-start-column="18" selection-end-line="8" selection-end-column="18" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/js/services/storageservice.js">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.16295026">
@@ -464,13 +415,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/my-profile.html">
-      <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-14.928572">
-          <caret line="22" column="27" selection-start-line="22" selection-start-column="27" selection-end-line="22" selection-end-column="27" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/../../../wuliu/wl/www/js/controllers/my.js">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.17152658">
@@ -499,228 +443,269 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/services/myservice.js">
+    <entry file="file://$PROJECT_DIR$/templates/home/search.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.5214408">
-          <caret line="16" column="14" selection-start-line="10" selection-start-column="12" selection-end-line="16" selection-end-column="14" />
+        <state vertical-scroll-proportion="0.6742857">
+          <caret line="110" column="35" selection-start-line="110" selection-start-column="35" selection-end-line="110" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/account.js">
+    <entry file="file://$PROJECT_DIR$/templates/my/my-recharge.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.6843911">
-          <caret line="21" column="15" selection-start-line="21" selection-start-column="15" selection-end-line="21" selection-end-column="15" />
+        <state vertical-scroll-proportion="-10.178572">
+          <caret line="34" column="55" selection-start-line="34" selection-start-column="55" selection-end-line="34" selection-end-column="55" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/add.js">
+    <entry file="file://$PROJECT_DIR$/templates/add/addExplain.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="1.0428816">
-          <caret line="32" column="25" selection-start-line="32" selection-start-column="25" selection-end-line="32" selection-end-column="25" />
+        <state vertical-scroll-proportion="0.0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/search.html">
+    <entry file="file://$PROJECT_DIR$/templates/add/index.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.6742857">
-          <caret line="110" column="35" selection-start-line="110" selection-start-column="35" selection-end-line="110" selection-end-column="35" />
+        <state vertical-scroll-proportion="0.10575139">
+          <caret line="3" column="42" selection-start-line="3" selection-start-column="42" selection-end-line="3" selection-end-column="42" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/index.html">
+    <entry file="file://$PROJECT_DIR$/templates/my/attention.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.17657657">
-          <caret line="19" column="0" selection-start-line="19" selection-start-column="0" selection-end-line="19" selection-end-column="0" />
+        <state vertical-scroll-proportion="-1.3571428">
+          <caret line="2" column="33" selection-start-line="2" selection-start-column="33" selection-end-line="2" selection-end-column="33" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/css/style.css">
+    <entry file="file://$PROJECT_DIR$/templates/my/my-account.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.034234233">
-          <caret line="604" column="16" selection-start-line="604" selection-start-column="16" selection-end-line="604" selection-end-column="16" />
-          <folding />
+        <state vertical-scroll-proportion="0.21150278">
+          <caret line="6" column="36" selection-start-line="6" selection-start-column="36" selection-end-line="6" selection-end-column="36" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/templates/home/userDetail.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-6.107143">
+          <caret line="78" column="48" selection-start-line="78" selection-start-column="38" selection-end-line="78" selection-end-column="48" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/templates/home/oldDream.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-12.892858">
+          <caret line="38" column="100" selection-start-line="34" selection-start-column="15" selection-end-line="38" selection-end-column="100" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/templates/my/my-collect.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-12.107142">
+          <caret line="44" column="80" selection-start-line="33" selection-start-column="0" selection-end-line="44" selection-end-column="80" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/templates/my/index.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-5.428571">
+          <caret line="20" column="40" selection-start-line="20" selection-start-column="38" selection-end-line="20" selection-end-column="40" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/js/config/config.js">
       <provider selected="true" editor-type-id="text-editor">
         <state vertical-scroll-proportion="0.3015873">
-          <caret line="9" column="41" selection-start-line="9" selection-start-column="41" selection-end-line="9" selection-end-column="41" />
-          <folding />
+          <caret line="9" column="57" selection-start-line="9" selection-start-column="57" selection-end-line="9" selection-end-column="57" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/config/router.js">
+    <entry file="file://$PROJECT_DIR$/templates/my/my-dream.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-14.833333">
-          <caret line="327" column="44" selection-start-line="327" selection-start-column="37" selection-end-line="327" selection-end-column="44" />
-          <folding />
+        <state vertical-scroll-proportion="-8.142858">
+          <caret line="12" column="40" selection-start-line="12" selection-start-column="40" selection-end-line="12" selection-end-column="40" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/my-recharge.html">
+    <entry file="file://$PROJECT_DIR$/js/services/myservice.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-10.178572">
-          <caret line="34" column="55" selection-start-line="34" selection-start-column="55" selection-end-line="34" selection-end-column="55" />
+        <state vertical-scroll-proportion="-4.7">
+          <caret line="65" column="18" selection-start-line="65" selection-start-column="12" selection-end-line="65" selection-end-column="18" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/add/addExplain.html">
+    <entry file="file://$PROJECT_DIR$/js/controllers/my.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state vertical-scroll-proportion="14.566667">
+          <caret line="12" column="48" selection-start-line="12" selection-start-column="48" selection-end-line="12" selection-end-column="48" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/add/index.html">
+    <entry file="file://$PROJECT_DIR$/templates/my/my-profile.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.10575139">
-          <caret line="3" column="42" selection-start-line="3" selection-start-column="42" selection-end-line="3" selection-end-column="42" />
-          <folding />
+        <state vertical-scroll-proportion="0.6827458">
+          <caret line="65" column="14" selection-start-line="65" selection-start-column="14" selection-end-line="65" selection-end-column="14" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/attention.html">
+    <entry file="file://$PROJECT_DIR$/js/filters/filter.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-1.3571428">
-          <caret line="2" column="33" selection-start-line="2" selection-start-column="33" selection-end-line="2" selection-end-column="33" />
-          <folding>
-            <element signature="n#style#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
-          </folding>
+        <state vertical-scroll-proportion="0.15083799">
+          <caret line="117" column="35" selection-start-line="117" selection-start-column="35" selection-end-line="117" selection-end-column="35" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/my-account.html">
+    <entry file="file://$PROJECT_DIR$/templates/home/index.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.21150278">
-          <caret line="6" column="36" selection-start-line="6" selection-start-column="36" selection-end-line="6" selection-end-column="36" />
+        <state vertical-scroll-proportion="0.035250463">
+          <caret line="18" column="20" selection-start-line="18" selection-start-column="20" selection-end-line="18" selection-end-column="20" />
           <folding>
-            <element signature="n#style#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#img#0;n#button#0;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#button#1;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#img#0;n#button#1;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#img#1;n#button#1;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#i#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#div#1;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="false" />
+            <element signature="n#style#0;n#p#0;n#div#0;n#div#1;n#div#0;n#div#2;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="false" />
           </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/js/services/homeservice.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-8.5">
+        <state vertical-scroll-proportion="-4.7">
           <caret line="79" column="24" selection-start-line="79" selection-start-column="12" selection-end-line="79" selection-end-column="24" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/userDetail.html">
+    <entry file="file://$PROJECT_DIR$/js/controllers/add.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-6.107143">
-          <caret line="78" column="48" selection-start-line="78" selection-start-column="38" selection-end-line="78" selection-end-column="48" />
+        <state vertical-scroll-proportion="-5.9666667">
+          <caret line="50" column="22" selection-start-line="50" selection-start-column="20" selection-end-line="50" selection-end-column="22" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/my.js">
+    <entry file="file://$PROJECT_DIR$/templates/home/dream-detail.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.47486034">
-          <caret line="351" column="46" selection-start-line="351" selection-start-column="46" selection-end-line="351" selection-end-column="47" />
-          <folding />
+        <state vertical-scroll-proportion="0.7465619">
+          <caret line="191" column="26" selection-start-line="191" selection-start-column="26" selection-end-line="191" selection-end-column="26" />
+          <folding>
+            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#2;n#div#1;n#div#0;n#div#2;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#img#1;n#div#2;n#div#1;n#div#0;n#div#2;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#1;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#0;n#div#2;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#a#0;n#span#0;n#div#1;n#div#1;n#div#2;n#ion-view#0;n#!!top" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/filters/filter.js">
+    <entry file="file://$PROJECT_DIR$/../package.json">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.5810056">
-          <caret line="69" column="23" selection-start-line="69" selection-start-column="23" selection-end-line="69" selection-end-column="23" />
+        <state vertical-scroll-proportion="0.0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/js/controllers/home.js">
+    <entry file="file://$PROJECT_DIR$/../gulpfile.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-5.9666667">
-          <caret line="135" column="39" selection-start-line="135" selection-start-column="39" selection-end-line="135" selection-end-column="39" />
+        <state vertical-scroll-proportion="0.4691358">
+          <caret line="14" column="0" selection-start-line="14" selection-start-column="0" selection-end-line="27" selection-end-column="5" />
+          <folding>
+            <element signature="n#!!doc" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://E:/Graduation design/huiwei/package.json">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-1.3571428">
+          <caret line="2" column="20" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/oldDream.html">
+    <entry file="file://E:/Graduation design/huiwei/index.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-12.892858">
-          <caret line="38" column="100" selection-start-line="34" selection-start-column="15" selection-end-line="38" selection-end-column="100" />
-          <folding>
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#img#0;n#div#0;n#div#0;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#1;n#div#1;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#2;n#div#1;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#3;n#div#1;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#p#0;n#div#3;n#div#1;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#2;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#0;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#3;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#1;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#2;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-          </folding>
+        <state vertical-scroll-proportion="0.10575139">
+          <caret line="3" column="4" selection-start-line="3" selection-start-column="4" selection-end-line="3" selection-end-column="4" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/index.html">
+    <entry file="file://E:/Graduation design/huiwei/gulpfile.js">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-5.2586207">
-          <caret line="56" column="68" selection-start-line="56" selection-start-column="68" selection-end-line="56" selection-end-column="68" />
-          <folding>
-            <element signature="n#style#0;n#button#0;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#img#0;n#button#0;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#button#1;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#img#0;n#button#1;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#img#1;n#button#1;n#ion-nav-buttons#1;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#i#0;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#p#0;n#div#0;n#div#1;n#div#0;n#div#2;n#div#1;n#ion-content#0;n#ion-side-menu-content#0;n#ion-side-menus#0;n#ion-view#0;n#!!top" expanded="true" />
-          </folding>
+        <state vertical-scroll-proportion="0.2680776">
+          <caret line="8" column="23" selection-start-line="8" selection-start-column="23" selection-end-line="8" selection-end-column="23" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/home/dream-detail.html">
+    <entry file="file://$PROJECT_DIR$/templates/account/login.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-8.142858">
-          <caret line="91" column="30" selection-start-line="91" selection-start-column="30" selection-end-line="91" selection-end-column="30" />
+        <state vertical-scroll-proportion="-4.071429">
+          <caret line="6" column="40" selection-start-line="6" selection-start-column="31" selection-end-line="6" selection-end-column="40" />
           <folding>
-            <element signature="n#style#0;n#div#0;n#div#1;n#div#3;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#1;n#div#1;n#div#3;n#div#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#p#0;n#div#1;n#div#0;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/my-collect.html">
+    <entry file="file://$PROJECT_DIR$/templates/account/loginAccount.html">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="-12.107142">
-          <caret line="44" column="80" selection-start-line="33" selection-start-column="0" selection-end-line="44" selection-end-column="80" />
+        <state vertical-scroll-proportion="-13.142858">
+          <caret line="28" column="17" selection-start-line="28" selection-start-column="17" selection-end-line="28" selection-end-column="17" />
           <folding>
+            <element signature="n#style#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
             <element signature="n#style#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#3;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#p#0;n#div#3;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#3;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#img#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#i#0;n#span#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#div#1;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#span#1;n#div#2;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
+            <element signature="n#style#0;n#button#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/templates/my/my-dream.html">
+    <entry file="file://$PROJECT_DIR$/css/style.css">
       <provider selected="true" editor-type-id="text-editor">
-        <state vertical-scroll-proportion="0.8942486">
-          <caret line="26" column="21" selection-start-line="26" selection-start-column="21" selection-end-line="26" selection-end-column="21" />
-          <folding>
-            <element signature="n#style#0;n#div#0;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#2;n#div#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#div#0;n#div#3;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#1;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-            <element signature="n#style#0;n#span#2;n#div#0;n#div#1;n#ion-content#0;n#ion-view#0;n#!!top" expanded="true" />
-          </folding>
+        <state vertical-scroll-proportion="-8.189655">
+          <caret line="52" column="1" selection-start-line="52" selection-start-column="1" selection-end-line="52" selection-end-column="1" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/config/router.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-5.7">
+          <caret line="9" column="30" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="30" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/controllers/home.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="-5.9666667">
+          <caret line="1133" column="34" selection-start-line="1133" selection-start-column="0" selection-end-line="1134" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/js/controllers/account.js">
+      <provider selected="true" editor-type-id="text-editor">
+        <state vertical-scroll-proportion="0.141527">
+          <caret line="4" column="0" selection-start-line="4" selection-start-column="0" selection-end-line="4" selection-end-column="0" />
+          <folding />
         </state>
       </provider>
     </entry>

+ 2 - 2
miaomiao/www/chcp.json

xqd
@@ -1,5 +1,5 @@
 {
   "update": "now",
-  "content_url": "http://i.9026.com/miaomiao/www",
-  "release": "2017.08.23-09.55.35"
+  "content_url": "http://i.9026.com/miaomiao",
+  "release": "2017.08.23-18.23.45"
 }

+ 13 - 9
miaomiao/www/chcp.manifest

xqd xqd xqd xqd xqd xqd
@@ -13,7 +13,7 @@
   },
   {
     "file": ".idea/workspace.xml",
-    "hash": "4171b3999655f1262098329ca055a80f"
+    "hash": "0ca83fcf6e1f13fc63df3fbf698ca565"
   },
   {
     "file": ".idea/www.iml",
@@ -29,7 +29,7 @@
   },
   {
     "file": "css/style.css",
-    "hash": "2ece1df08e758cb5a6fd1448a611f927"
+    "hash": "a756d7e02ed8e14f4b56de9ea23412ce"
   },
   {
     "file": "img/alipay.png",
@@ -369,11 +369,11 @@
   },
   {
     "file": "js/config/router.js",
-    "hash": "3e72be424ee66203c122c2fefe33a151"
+    "hash": "e5fae9284235efb500d94ace6ec81f86"
   },
   {
     "file": "js/controllers/account.js",
-    "hash": "4991794aac4d09176ea22253e945b93c"
+    "hash": "fe3ef2c90e4b2caa1208b2c672dc54b9"
   },
   {
     "file": "js/controllers/add.js",
@@ -381,11 +381,11 @@
   },
   {
     "file": "js/controllers/home.js",
-    "hash": "2ed102ad7af44e4947f9dca76153aa24"
+    "hash": "3f2f9d1aec9286050dbb523a76e40eb0"
   },
   {
     "file": "js/controllers/my.js",
-    "hash": "ff5d39a366893ac3a0eed80e03f970cd"
+    "hash": "aa1f6f5f801802075c3af039588eac13"
   },
   {
     "file": "js/controllers/tabs.js",
@@ -713,7 +713,11 @@
   },
   {
     "file": "templates/account/login.html",
-    "hash": "61b13bece0aae2d92f55f8f21c13081b"
+    "hash": "d7ec097c6b4560a23ce5c5b19d953406"
+  },
+  {
+    "file": "templates/account/loginAccount.html",
+    "hash": "77c0e041f70b3c9bb3954f5973bcf991"
   },
   {
     "file": "templates/add/addExplain.html",
@@ -725,11 +729,11 @@
   },
   {
     "file": "templates/home/dream-detail.html",
-    "hash": "7d9debbf1ade697a2f74fdb7e9f9b4ed"
+    "hash": "d620451043f133f2bb98b3ed84f637a1"
   },
   {
     "file": "templates/home/index.html",
-    "hash": "457c77c56b4de63bb16662bb2cc7de6d"
+    "hash": "935146196b3ff3dceb761e5db0618d33"
   },
   {
     "file": "templates/home/oldDream.html",

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

xqd
@@ -33,20 +33,17 @@
 }
 .lgsocial{
     text-align:center;
-    padding:1rem;
+    padding:1rem 0;
+    margin: 0 auto;
 }
 .lgsocial img {
     max-width: 60px;
-    border: 1px solid 	#F0F0F0;
     border-radius: 30px;
-    /*padding: 5px;*/
-}
-.lgsocial img:last-child{
-    margin-left:1rem;
 }
     
 .lglogin {
-    margin-top:3rem;
+    left: 50%;
+    margin-top: 60%;
 }
 .lglogin span {
     text-align: center;

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

xqd
@@ -6,6 +6,11 @@
               templateUrl: 'templates/account/login.html',
               controller: 'loginCtrl'
           })
+            .state('loginAccount', {
+                url: '/account/loginAccount',
+                templateUrl: 'templates/account/loginAccount.html',
+                controller: 'loginCtrl'
+            })
           .state('app', {
               url: '/app',
               abstract: true,

+ 17 - 12
miaomiao/www/js/controllers/account.js

xqd xqd
@@ -1,7 +1,9 @@
 (function (app) {
-    app.controller('loginCtrl', ["$scope", "userService", "storage", "$state", "msg", "$http", "util","$timeout",
-        function ($scope, userService, storage, $state, msg, $http, util, $timeout) {
-        $scope.vm = {
+    app.controller('loginCtrl', ["$scope", "userService","$ionicNavBarDelegate", "storage", "$state", "msg", "$http", "util","$timeout",
+        function ($scope, userService,$ionicNavBarDelegate, storage, $state, msg, $http, util, $timeout) {
+             //$ionicNavBarDelegate.showBackButton(false);
+
+            $scope.vm = {
             mobile: '',
             verify_code: '',
             waitSeconds: "获取验证码"
@@ -20,15 +22,18 @@
                 // msg.error(error.data.message);
             });
         };
-        $scope.loginbywx = function () {
-            var scope = "snsapi_userinfo", state = "_" + (+new Date());
-            Wechat.auth(scope, state, function (response) {
-               
-                alert(JSON.stringify(response));
-            }, function (reason) {
-                alert("Failed: " + reason);
-            });
-        };
+        //$scope.loginbywx = function () {
+        //    var scope = "snsapi_userinfo", state = "_" + (+new Date());
+        //    Wechat.auth(scope, state, function (response) {
+        //
+        //        alert(JSON.stringify(response));
+        //    }, function (reason) {
+        //        alert("Failed: " + reason);
+        //    });
+        //};
+            $scope.loginbywx = function(){
+              $state.go("loginAccount")
+            };
         //获取验证码
         $scope.getVerifyCode = function () {
             // if (!util.isMobile($scope.vm.mobile)) {

+ 5 - 3
miaomiao/www/js/controllers/home.js

xqd xqd xqd xqd
@@ -3,7 +3,7 @@
         , function ($scope, $ionicTabsDelegate, $http, config, $state, msg, $ionicPopover, homeService, $ionicPopup, $timeout, $ionicSideMenuDelegate) {
             $scope.$on('$ionicView.beforeEnter', function (viewResult) {
                 $ionicTabsDelegate.showBar(true);
-                //$scope.load(true);
+                $scope.load(true);
                 homeService.messageInfo().then(function(result){
                     $scope.infos = result.data.data;
                     if($scope.infos.letter.is_read==0 && $scope.infos.reply.is_read==0 && $scope.infos.systemInfo.is_read==0){
@@ -157,7 +157,6 @@
                 msg.hide();
                 $scope.index.banners = result.data.data.banners;
                 $scope.index.users = result.data.data.users;
-                //debugger;
                 $scope.filter.pageIndex++;
                 var more = (result.data.data.dreams.data.length >= $scope.filter.pageSize);
                 $scope.filter.hasMore = more;
@@ -202,7 +201,7 @@
                 );
         };
         $scope.data = {};
-        $scope.load(true);
+        //$scope.load(true);
         $scope.$on('$ionicView.beforeLeave', function () {
             $scope.popover.hide();
             $scope.load(true);
@@ -453,6 +452,9 @@
             homeService.supportDream(data).then(function(result){
                 $scope.tosupport = false;
                 $scope.load(id);
+                homeService.myInfo().then(function(result){
+                    $scope.user = result.data.data;
+                });
                 $interval.cancel($scope.multi.promise);
             })
         };

+ 8 - 4
miaomiao/www/js/controllers/my.js

xqd xqd xqd xqd
@@ -10,7 +10,7 @@
         $scope.setAvator = function () {
             common.setAvator().then(function (result) {
                 var response = JSON.parse(result.response);
-                console.log(response.data.file)
+                console.log(response.data.file);
                 $timeout(function () {
                     $scope.user.avatar = config.imgServer + response.data.file;
                 });
@@ -38,7 +38,9 @@
                 signture:"",
                 emotion:"",
                 job:"",
-                tall:""
+                tall:"",
+                nickname:"",
+                birthday1:""
             };
             $scope.$on('$ionicView.beforeEnter', function () {
                 msg.loading();
@@ -48,7 +50,7 @@
                   $scope.vm.sex = $scope.vm.sex+'';
                   $scope.vm.emotion = $scope.vm.emotion+'';
                   if($scope.vm.birthday){
-                      var arr1 = $scope.vm.birthday.split("-");  
+                      var arr1 = $scope.vm.birthday.split("-");
                       $scope.vm.birthday1 = new Date(arr1[0],parseInt(arr1[1])-1,arr1[2]); 
                   }
                   msg.hide();
@@ -66,7 +68,9 @@
                     emotion:$scope.vm.emotion,
                     work:$scope.vm.work, 
                     height:$scope.vm.height, 
-                    city:$scope.vm.city
+                    city:$scope.vm.city,
+                    nickname:$scope.vm.nickname,
+                    birthday:$scope.vm.birthday1
                 }; 
                 if($scope.vm.birthday1){
                     data.birthday = $filter('date')($scope.vm.birthday1, "yyyy-MM-dd");

+ 3 - 30
miaomiao/www/templates/account/login.html

xqd
@@ -1,36 +1,9 @@
 <ion-view view-title="瞄喵">
-    <ion-content style="padding: 10%">
-        <div  style="padding:0 0 30px 0">
-            <img ng-src="img/icon_login.svg"  style="margin:0 auto;display:block;width:100px;border-radius:50px"/>
-        </div>
-        <div class="login">
-            <div class="box">
-                <span>手机号码</span>
-                <span class="fl">
-                    <input id="tel" type="tel" ng-model="vm.mobile" placeholder="请输入手机号码">
-                </span>
-                <span class="clear" ng-click="clear()">
-                    <i class="icon ion-android-close" style="font-size: 1.5rem"></i>
-                </span>
-            </div>
-            <div style="clear:both; margin-bottom: 30px;"></div>
-            <div class="box">
-                <span>短信验证码</span>
-                <span style="float:left; width: 38%">
-                    <input ng-model="vm.verify_code" type="tel" placeholder="请输入验证码">
-                </span>
-                <span ng-click="getVerifyCode()" class="verifyCode">
-                    {{vm.waitSeconds}}
-                </span>
-            </div>
-        </div>
-        <button type="submit" ng-click="login()" class="button button-block button-calm" style="border-radius: 50px;">
-                登 录
-        </button>
+    <ion-content>
         <div  class="lglogin">
-            <span style="font-size: 15px; color: #E1E1E1">- 社交媒体登录 -</span>
+            <span style="font-size: 15px; color: #E1E1E1">- 微信登录 -</span>
             <div class="lgsocial">
-                <img  ng-src="img/icon_weibo.svg"/>
+                <!--<img  ng-src="img/icon_weibo.svg"/>-->
                 <img ng-click="loginbywx()" ng-src="img/icon_wechat.svg"/>
             </div>
         </div>

+ 31 - 0
miaomiao/www/templates/account/loginAccount.html

xqd
@@ -0,0 +1,31 @@
+<ion-view view-title="瞄喵">
+    <ion-content style="padding: 10%">
+        <div  style="padding:0 0 30px 0">
+            <img ng-src="img/icon_login.svg"  style="margin:0 auto;display:block;width:100px;border-radius:50px"/>
+        </div>
+        <div class="login">
+            <div class="box">
+                <span>手机号码</span>
+                <span class="fl">
+                    <input id="tel" type="tel" ng-model="vm.mobile" placeholder="请输入手机号码">
+                </span>
+                <span class="clear" ng-click="clear()">
+                    <i class="icon ion-android-close" style="font-size: 1.5rem"></i>
+                </span>
+            </div>
+            <div style="clear:both; margin-bottom: 30px;"></div>
+            <div class="box">
+                <span>短信验证码</span>
+                <span style="float:left; width: 38%">
+                    <input ng-model="vm.verify_code" type="tel" placeholder="请输入验证码">
+                </span>
+                <span ng-click="getVerifyCode()" class="verifyCode">
+                    {{vm.waitSeconds}}
+                </span>
+            </div>
+        </div>
+        <button type="submit" ng-click="login()" class="button button-block button-calm" style="border-radius: 50px;">
+            登 录
+        </button>
+    </ion-content>
+</ion-view>

+ 4 - 21
miaomiao/www/templates/home/dream-detail.html

xqd xqd xqd xqd
@@ -1,6 +1,6 @@
 <ion-view view-title="梦想">
     <ion-nav-buttons side="right">
-        <button class="button button-clear" style="height: 37px; margin-top: 0.5px" ng-click="toMessage()">
+        <button class="button button-clear" style="height: 37px; margin-top: 0.6px" ng-click="toMessage()">
             <img ng-if="showMessage==1" src="img/icon_message_h.svg" style="height: 60%; width: 100%">
             <img ng-if="showMessage==0" src="img/icon_message_n.svg" style="height: 55%; width: 100%">
         </button>
@@ -139,7 +139,8 @@
                     <div class="item" style="border-bottom:15px solid #F2F2F2;" ng-click="add_comment()" ng-repeat="interaction in dream.interactions">
                         <img ng-click="replay($event,dream.user.nickname)" class="head" ng-src="{{dream.user.avatar}}" />
                         <span ng-click="replay($event,dream.user.nickname)" class="utitle">{{dream.user.nickname}}</span>
-                        <span class="utitle kz">{{dream.end_time | lastDate}}</span>
+                        <!--<span class="utitle kz">{{dream.end_time | lastDate}}</span>-->
+                        <span class="utitle kz">{{dream.created_at}}</span>
                         <p ng-click="replay($event,dream.user.nickname)" class="subtile"  style="white-space:normal; color: #666666">{{interaction.title}}</p>
                         <div class="picts item">
                             <img class="slt" ng-click="showBigImage('{{interaction.pic1}}')" ng-src="{{interaction.pic1}}" ng-if="interaction.pic1"/>
@@ -225,7 +226,7 @@
                         </div>
                         <div style="float:left; margin-left: 10px">
                             <div style="font-size: 16px">{{user.nickname}}</div>
-                            <div style="color:#9E9E9E;">Lv.5</div>
+                            <div style="color:#9E9E9E;">{{user.signture}}</div>
                         </div>
                     </div>
                     <div style="float: right;">
@@ -233,24 +234,6 @@
                         <div style="color:#9E9E9E;">贡献</div>
                     </div>
                 </div>
-                <!--<div class="item" ng-repeat="user in dream.topuser" style="border-bottom: 1px solid #DFDFDF">
-                    <div style="float:left; color: #808080; font-size: 30px; font-weight: bold; margin-top: 10px">
-                        {{$index + 4}}
-                    </div>
-                    <div style="padding-left:20px; float:left;">
-                        <div style="float:left;">
-                            <img style="width:40px;border-radius:100%" ng-src="{{user.avatar}}" />
-                        </div>
-                        <div style="float:left; margin-left: 10px">
-                            <div style="font-size: 16px">{{user.nickname}}</div>
-                            <div style="color:#9E9E9E;">Lv.5</div>
-                        </div>
-                    </div>
-                    <div style="float: right;">
-                        <div style="font-weight:500; font-size: 18px">{{user.score}}</div>
-                        <div style="color:#9E9E9E;">贡献</div>
-                    </div>
-                </div>-->
             </div>
             
         </div>

+ 1 - 1
miaomiao/www/templates/home/index.html

xqd
@@ -11,7 +11,7 @@
         <button class="button button-clear" style="height: 30px; width: 30px; margin-top: 2px" ui-sref="app.home_search">
             <img src="img/icon_search.svg" style="height: 65%; width: 100%">
         </button>
-        <button class="button button-clear" style="height: 37px; margin-top: 0.5px" ui-sref="app.message">
+        <button class="button button-clear" style="height: 37px; margin-top: 0.8px" ui-sref="app.message">
             <img ng-if="showMessage==1" src="img/icon_message_h.svg" style="height: 60%; width: 100%">
             <img ng-if="showMessage==0" src="img/icon_message_n.svg" style="height: 55%; width: 100%">
         </button>

+ 387 - 0
server/app/Http/Controllers/Api/V1/PayController.php

xqd
@@ -0,0 +1,387 @@
+<?php
+
+namespace App\Http\Controllers\Api\V1;
+
+use App\Http\HelperTraits\LogHelper;
+use App\Http\HelperTraits\PayHelper;
+use App\Http\HelperTraits\JpushHelper;
+use Omnipay\Omnipay;
+use App\User;
+use App\Models\MerchantMemberService;
+use App\Models\Order;
+use App\Models\AccountLog;
+use Request, Config, DB;
+
+class PayController extends Controller
+{
+    use PayHelper, LogHelper,JpushHelper;
+
+    /**
+     * p++ webhooks通知
+     */
+//    public function pppNotify() {
+//        $sig = Request::header('x-pingplusplus-signature');
+//        $request = Request::instance();
+//        $data = $request->getContent();
+//
+//        if (!$this->checkPppSignature($data, $sig)) {//验签失败
+//            header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
+//            exit("fail");
+//        }
+//
+//        $event = json_decode($data);
+//        if (!isset($event->type)) {
+////            return Response::make('fail', 400);
+//            header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
+//            exit("fail");
+//        }
+//        switch ($event->type) {
+//            case "charge.succeeded":
+//                // 开发者在此处加入对支付异步通知的处理代码
+//                header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
+//                break;
+//            case "refund.succeeded":
+//                // 开发者在此处加入对退款异步通知的处理代码
+//                header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
+//                break;
+//            default:
+//                header($_SERVER['SERVER_PROTOCOL'] . ' 400 Bad Request');
+//                break;
+//        }
+//    }
+
+    public function alipayNotify() {
+        $rawInfo = Request::all();
+        \Log::info('aliplay callback');
+        \Log::info($rawInfo);
+
+        $config = Config::get('laravel-omnipay.gateways.alipay');
+
+        $gateway = Omnipay::create($config['driver']);
+        $gateway->setEnvironment($config['options']['environment']);
+        $gateway->setAppId($config['options']['appid']);
+        $gateway->setEncryptKey($config['options']['encrypt_key']);
+        $gateway->setPrivateKey($config['options']['prikey']);
+        $gateway->setAlipayPublicKey($config['options']['ali_pubkey']);
+        $gateway->setNotifyUrl($config['options']['notify_url']);
+
+        $request = $gateway->completePurchase();
+        $request->setParams($rawInfo);//Optional
+
+        try {
+            $response = $request->send();
+
+            if($response->isPaid()){
+                \Log::info('支付成功');
+
+                $out_trade_no = $rawInfo['out_trade_no'];
+                $order = Order::where('transaction_id', '=', $out_trade_no)->first();
+                if (!$order) {
+                    \Log::error('找不到订单' . $out_trade_no);
+                    return 'fail';
+                }
+                $master_amount =  $order->number;
+                $slave_amount = 0;
+                if (!empty($order->ext_info)) {
+                    $extInfo = json_decode($order->ext_info, true);
+                    if ($extInfo !== null) {
+                        $cc = $extInfo['cc_bonus'];
+                        $master_amount = round(($cc / 100) * $order->number);
+                        $slave_amount = $order->number - $master_amount;
+                    }
+                }
+                $tp = '';
+//                $u = null;
+                if ($order->user_type == Order::USER_TYPE_MERCHANT) {
+                    $tp = 'Merchant';
+//                    $u = Merchant::find($order->user_id);
+                } elseif ($order->user_type == Order::USER_TYPE_MEMBER) {
+                    $tp = 'Member';
+                    //Not handled here
+                }
+                $u = User::find($order->user_id);
+                if (!$u) {
+                    \Log::error('用户不存在' . $order->user_type . ', ' . $order->user_id);
+                    return 'success';
+                }
+
+                DB::beginTransaction();
+
+                if ($order->goods_type == Order::GOODS_TYPE_BALANCE||$order->goods_type == Order::GOODS_TYPE_COSUME) {
+                    $cType = AccountLog::TYPE_BALANCE;
+//                    $u->account_balance += $order->number;
+                    $u->balance += $master_amount;
+                } elseif ($order->goods_type == Order::GOODS_TYPE_CREDIT) {
+                    $cType = AccountLog::TYPE_CREDIT;
+//                    $u->credit_balance += $order->number;
+                    $u->credit += $master_amount;
+                } else {
+                    \Log::error('商品不存在' . $order->goods_type);
+                    return 'success';
+                }
+                \Log::info('支付金额 '.$master_amount);
+                if ($u->save()) {
+
+                    //更新订单状态
+                    $order->status = Order::STATUS_FINISHED;
+                    $order->save();
+
+                    //记日志
+                    $amount = $rawInfo['total_amount'] * 100;
+                    if (empty($extInfo)) {
+                        $this->logAccount($tp, $u->id, $u->name,
+                            AccountLog::OP_CHARGE, $cType, $master_amount,
+                            AccountLog::DIRECTION_INC, $cType == AccountLog::TYPE_BALANCE ? $u->balance : $u->credit, AccountLog::CHANNEL_ALIPAY);
+                    } else {
+                        //续消费
+                        $this->continue_consume($order);
+
+                        $this->logAccount($tp, $u->id, $u->name,
+                            AccountLog::OP_CC, $cType, $master_amount,
+                            AccountLog::DIRECTION_INC, $cType == AccountLog::TYPE_BALANCE ? $u->balance : $u->credit, AccountLog::CHANNEL_ALIPAY);
+                    }
+                    \Log::info('支付完成');
+
+                } else {
+                    DB::rollBack();
+                    \Log::error('保存数据失败');
+                }
+
+
+                DB::commit();
+
+                return 'success';
+            }else{
+                \Log::error('支付失败');
+
+                return 'fail';
+            }
+        } catch (\Exception $e) {
+            \Log::error('支付异常' . $e->getMessage());
+
+            return 'fail';
+        }
+
+    }
+
+    public function wechatpayNotify() {
+        \Log::debug('wechatpay callback');
+//        \Log::debug(Request::all());
+
+        $config = Config::get('laravel-omnipay.gateways.wechatpay');
+
+        $gateway = Omnipay::create("WechatPay");
+//        $gateway->setEnvironment('sandbox');
+        $gateway->setAppId($config['options']['appid']);
+        $gateway->setMchId($config['options']['merchant_id']);
+        $gateway->setApiKey($config['options']['apikey']);
+
+        $response = $gateway->completePurchase([
+            'request_params' => file_get_contents('php://input')
+        ])->send();
+        try {
+            if ($response->isPaid()) {
+                //pay success
+                $rawInfo = $response->getRequestData();
+                \Log::debug($rawInfo);
+                \Log::info('支付成功');
+
+                $out_trade_no = $rawInfo['out_trade_no'];
+                $order = Order::where('transaction_id', '=', $out_trade_no)->first();
+                if (!$order) {
+                    \Log::error('找不到订单' . $out_trade_no);
+                    return 'fail';
+                }
+                $master_amount =  $order->number;
+                $slave_amount = 0;
+                if (!empty($order->ext_info)) {
+                    $extInfo = json_decode($order->ext_info, true);
+                    if ($extInfo !== null) {
+                        $cc = $extInfo['cc_bonus'];
+                        $master_amount = round(($cc / 100) * $order->number);
+                        $slave_amount = $order->number - $master_amount;
+                    }
+                }
+                $tp = '';
+//                $u = null;
+                if ($order->user_type == Order::USER_TYPE_MERCHANT) {
+                    $tp = 'Merchant';
+//                    $u = Merchant::find($order->user_id);
+                } elseif ($order->user_type == Order::USER_TYPE_MEMBER) {
+                    $tp = 'Member';
+                    //Not handled here
+                }
+                $u = User::find($order->user_id);
+                if (!$u) {
+                    \Log::error('用户不存在' . $order->user_type . ', ' . $order->user_id);
+                    return 'success';
+                }
+
+                DB::beginTransaction();
+
+                if ($order->goods_type == Order::GOODS_TYPE_BALANCE||$order->goods_type == Order::GOODS_TYPE_COSUME) {
+                    $cType = AccountLog::TYPE_BALANCE;
+//                    $u->account_balance += $order->number;
+                    $u->balance += $master_amount;
+                } elseif ($order->goods_type == Order::GOODS_TYPE_CREDIT) {
+                    $cType = AccountLog::TYPE_CREDIT;
+//                    $u->credit_balance += $order->number;
+                    $u->credit += $master_amount;
+                } else {
+                    \Log::error('商品不存在' . $order->goods_type);
+                    return 'success';
+                }
+                //测试
+                \Log::info('支付金额 '.$master_amount);
+                if ($u->save()) {
+
+                    //更新订单状态
+                    $order->status = Order::STATUS_FINISHED;
+                    $order->save();
+
+                    //记日志
+                    $amount = $rawInfo['total_fee'] * 100;
+                    if (empty($extInfo)) {
+                        $this->logAccount($tp, $u->id, $u->name,
+                            AccountLog::OP_CHARGE, $cType, $master_amount,
+                            AccountLog::DIRECTION_INC, $cType == AccountLog::TYPE_BALANCE ? $u->balance : $u->credit, AccountLog::CHANNEL_WECHATPAY);
+                    } else {
+
+                        $this->logAccount($tp, $u->id, $u->name,
+                            AccountLog::OP_CC, $cType, $master_amount,
+                            AccountLog::DIRECTION_INC, $cType == AccountLog::TYPE_BALANCE ? $u->balance : $u->credit, AccountLog::CHANNEL_WECHATPAY);
+                    }
+
+                    \Log::info('支付完成');
+
+                } else {
+                    DB::rollBack();
+                    \Log::error('保存数据失败');
+                }
+
+                DB::commit();
+
+                return 'success';
+            }else{
+                //pay fail
+                \Log::error($response->getData());
+                return 'fail';
+            }
+
+        } catch (\Exception $e) {
+            \Log::error('支付异常' . $e->getMessage());
+
+            return 'fail';
+        }
+    }
+
+
+    function continue_consume($order){
+
+    }
+
+
+
+
+    /**
+     * @api {post} /api/pay/charge 充值
+     * @apiDescription 充值(向平台充值)
+     * @apiGroup Merchant
+     * @apiPermission Passport
+     * @apiVersion 0.1.0
+     * @apiParam {int}  [goods=1]   充值商品(1:余额,2:卡金)
+     * @apiParam {int}  number      充值数量,人民币,以分表示
+     * @apiParam {int}  type        支付类型(1:支付宝,2:微信支付)
+     * @apiSuccessExample {json} Success-Response:
+     * HTTP/1.1 200 OK
+     * {
+     *     "state": true,
+     *     "code": 0,
+     *     "message": "",
+     *     "data": {
+     *         "id": 2,
+     *         "code": "ALIPAY_201610231314145719",
+     *         "transaction_id": "201610231314145719",
+     *         "user_type": 2,
+     *         "user_id": 1,
+     *         "goods_type": 1,
+     *         "price": 1,
+     *         "number": 1,
+     *         "amount": 1,
+     *         "pay_type": 1,
+     *         "status": 0,
+     *         "created_at": "2016-10-23 13:14:14",
+     *         "updated_at": "2016-10-23 13:14:14",
+     *         "orderString": "alipay_sdk=lokielse%2Fomnipay-alipay&app_id=2016091201894867&biz_content=%7B%22subject%22%3A%22%5Cu7532%5Cu8c61%5Cu8054%5Cu5408-%5Cu4f59%5Cu989d%5Cu5145%5Cu503c%22%2C%22out_trade_no%22%3A%22201610231314145719%22%2C%22total_amount%22%3A0.01%2C%22product_code%22%3A1%7D&charset=UTF-8&format=JSON&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fweb%2Fapi%2Fpay%2Falipay%2Fnotify&sign_type=RSA&timestamp=2016-10-23+13%3A14%3A14&version=1.0&sign=oxKM0qGMHLWDlMrXHIiy9%2Fk2BXJq3rC3RKdmcfFwkBJVRXvtG6cBoAYPll6VxJYOMQWeu78Ibfov%2FxIVCuN9yUfzEiokfQrzBoptc94bCQ5k0pNyJcSdgezOUKHB12P5Zmm3Hd6AAbGRDV9UCaLVz0wYkFJPrCyUv1ZfhrM%2BBqc%3D"
+     *     }
+     * }
+     * @apiErrorExample {json} Error-Response:
+     * HTTP/1.1 400 Bad Request
+     * {
+     *     "state": false,
+     *     "code": 1000,
+     *     "message": "传入参数不正确",
+     *     "data": null or []
+     * }
+     * 可能出现的错误代码:
+     * 1000    CLIENT_WRONG_PARAMS             传入参数不正确
+     * 1300    MERCHANT_NOT_EXIST              商户不存在
+     */
+    public function charge(Request $request)
+    {
+        $goodsTypes = Order::getAllGoodsTypes();
+        $gTypes = array_keys($goodsTypes);
+        $payTypes = Order::getAllPayTypes();
+        $pTypes = array_keys($payTypes);
+        $validator = Validator::make($data = $request->input(),
+            [
+                'number' => 'required|integer|min:1',
+                'type' => 'required|in:' . join(',', $pTypes),
+                'goods' => 'in:' . join(',', $gTypes),
+            ],
+            [
+                'number.required' => '充值金额必填',
+                'number.integer' => '金额必须为整数',
+                'number.min' => '充值金额至少为1',
+                'type.required' => '支付类型必填',
+                'type.in' => '支付类型非法',
+                'goods.in' => '充值商品非法',
+            ]
+        );
+
+        if ($validator->fails()) {
+            return $this->validatorError($validator->messages()->all(), ErrorCode::CLIENT_WRONG_PARAMS);
+        }
+
+        $user = Auth::user();
+        $merchant = Merchant::where('user_id', '=', $user->id)->first();//模型支持单用户多商户,业务只设计单商户
+        if (!$merchant) {
+            return $this->error(ErrorCode::MERCHANT_NOT_EXIST);
+        }
+
+        $data['goods_id'] = 0;
+        if (!isset($data['goods'])) {//默认充余额
+            $data['goods'] = Order::GOODS_TYPE_BALANCE;
+        }
+
+        $data['user_type'] = Order::USER_TYPE_MERCHANT;
+        $data['user_id'] = $user->id;//$merchant->id;
+        if ($data['type'] == Order::PAY_TYPE_ALIPAY) {
+            $result = $this->createAlipayCharge($data);
+        } else {
+            $result = $this->createWechatpayCharge($data);
+        }
+
+        if ($result === false) {
+            return $this->error(ErrorCode::ORDER_GENERATE_FAILED);
+        }
+        //log
+//        $data['amount'] = $data['number'];
+//        $this->chargeLog('Merchant', $merchant->id, $merchant->name,
+//            'balance', $data['amount'], 'balance', $data['amount'],
+//            'Merchant', $user->id, $merchant->name);
+
+        return $this->api($result);
+    }
+
+}

+ 18 - 0
server/routes/api.php

xqd
@@ -258,4 +258,22 @@ $api->version('v1', ['namespace' => 'App\Http\Controllers\Api\V1'], function ($a
         'as' => 'interaction.reply',
         'uses' => 'InteractionController@reply',
     ]);
+
+    //支付宝支付回调
+    $api->post('pay/alipay/notify', [
+        'as' => 'pay.alipay.notify',
+        'uses' => 'PayController@alipayNotify',
+    ]);
+    //微信支付回调
+    $api->post('pay/wechatpay/notify', [
+        'as' => 'pay.wechatpay.notify',
+        'uses' => 'PayController@wechatpayNotify',
+    ]);
+
+    //商户充值
+    $api->post('pay/charge', [
+        'as' => 'pay.charge',
+        'uses' => 'PayController@charge',
+    ]);
+
 });