Explorar el Código

fuck android环境

Ben hace 7 años
padre
commit
4e49a9559f
Se han modificado 52 ficheros con 891 adiciones y 3320 borrados
  1. BIN
      .vs/miaomiao/v14/.suo
  2. BIN
      miaomiao/bin/Android/Debug/android-debug-unaligned.apk
  3. BIN
      miaomiao/bin/Android/Debug/android-debug.apk
  4. 101 100
      miaomiao/config.xml
  5. 85 80
      miaomiao/package.json
  6. 54 2
      miaomiao/plugins/android.json
  7. 120 36
      miaomiao/plugins/cordova-plugin-camera/package.json
  8. 21 0
      miaomiao/plugins/cordova-plugin-jcore/LICENSE
  9. 33 0
      miaomiao/plugins/cordova-plugin-jcore/README.md
  10. BIN
      miaomiao/plugins/cordova-plugin-jcore/doc/sdk_model.png
  11. 99 0
      miaomiao/plugins/cordova-plugin-jcore/package.json
  12. 32 0
      miaomiao/plugins/cordova-plugin-jcore/plugin.xml
  13. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/arm64-v8a/libjcore116.so
  14. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/armeabi-v7a/libjcore116.so
  15. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/armeabi/libjcore116.so
  16. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/jcore-android-1.1.6.jar
  17. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/mips/libjcore116.so
  18. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/mips64/libjcore116.so
  19. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/x86/libjcore116.so
  20. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/android/x86_64/libjcore116.so
  21. BIN
      miaomiao/plugins/cordova-plugin-jcore/src/ios/jcore-ios-1.1.5.a
  22. 5 0
      miaomiao/plugins/cordova-plugin-jcore/www/jcore.js
  23. 6 0
      miaomiao/plugins/cordova-plugin-wechat/CHANGELOG.md
  24. 7 0
      miaomiao/plugins/cordova-plugin-wechat/android-build.gradle
  25. 91 14
      miaomiao/plugins/cordova-plugin-wechat/package.json
  26. 0 25
      miaomiao/plugins/cordova-plugin-wechat/package.json.back
  27. 3 6
      miaomiao/plugins/cordova-plugin-wechat/plugin.xml
  28. 34 19
      miaomiao/plugins/cordova-plugin-wechat/src/android/EntryActivity.java
  29. 76 36
      miaomiao/plugins/cordova-plugin-wechat/src/android/Wechat.java
  30. BIN
      miaomiao/plugins/cordova-plugin-wechat/src/android/libammsdk.jar
  31. 0 130
      miaomiao/plugins/cordova-plugin-wechat/temp/README.md
  32. 0 47
      miaomiao/plugins/cordova-plugin-wechat/temp/scripts/android-install.js
  33. 0 203
      miaomiao/plugins/cordova-plugin-wechat/temp/src/android/Util.java
  34. 0 93
      miaomiao/plugins/cordova-plugin-wechat/temp/src/android/WXEntryActivity.java
  35. 0 372
      miaomiao/plugins/cordova-plugin-wechat/temp/src/android/Wechat.java
  36. BIN
      miaomiao/plugins/cordova-plugin-wechat/temp/src/android/libammsdk.jar
  37. 0 33
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/CDVWechat.h
  38. 0 363
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/CDVWechat.m
  39. 0 157
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/WXApi.h
  40. 0 605
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/WXApiObject.h
  41. BIN
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/libWeChatSDK.a
  42. 0 6
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/read_me.txt
  43. 0 157
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/WXApi.h
  44. 0 605
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/WXApiObject.h
  45. BIN
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/libWeChatSDK.a
  46. 0 6
      miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/read_me.txt
  47. 0 99
      miaomiao/plugins/cordova-plugin-wechat/temp/www/wechat.js
  48. 25 28
      miaomiao/plugins/fetch.json
  49. 0 68
      miaomiao/plugins/ios.json
  50. BIN
      miaomiao/plugins/jpush-phonegap-plugin/example/css/.DS_Store
  51. BIN
      miaomiao/plugins/jpush-phonegap-plugin/example/js/.DS_Store
  52. 99 30
      miaomiao/plugins/jpush-phonegap-plugin/package.json

BIN
.vs/miaomiao/v14/.suo


BIN
miaomiao/bin/Android/Debug/android-debug-unaligned.apk


BIN
miaomiao/bin/Android/Debug/android-debug.apk


+ 101 - 100
miaomiao/config.xml

xqd
@@ -1,105 +1,106 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?xml version='1.0' encoding='utf-8'?>
 <widget id="com.miaomiao.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-  <name>瞄喵</name>
-  <description>
+    <name>瞄喵</name>
+    <description>
         An Ionic Framework and Cordova project.
     </description>
-  <author email="you@example.com" href="http://example.com.com/">
+    <author email="you@example.com" href="http://example.com.com/">
       Mike
   </author>
-  <content src="index.html"/>
-  <access origin="*"/>
-  <allow-intent href="*"/>
-  <allow-navigation href="*"/>
-  <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>
-  <platform name="ios">
-    <icon height="57" src="resources/ios/icon/icon.png" width="57"/>
-    <icon height="114" src="resources/ios/icon/icon@2x.png" width="114"/>
-    <icon height="40" src="resources/ios/icon/icon-40.png" width="40"/>
-    <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80"/>
-    <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120"/>
-    <icon height="50" src="resources/ios/icon/icon-50.png" width="50"/>
-    <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100"/>
-    <icon height="60" src="resources/ios/icon/icon-60.png" width="60"/>
-    <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120"/>
-    <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180"/>
-    <icon height="72" src="resources/ios/icon/icon-72.png" width="72"/>
-    <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144"/>
-    <icon height="76" src="resources/ios/icon/icon-76.png" width="76"/>
-    <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152"/>
-    <icon height="29" src="resources/ios/icon/icon-small.png" width="29"/>
-    <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58"/>
-    <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87"/>
-    <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640"/>
-    <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750"/>
-    <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242"/>
-    <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208"/>
-    <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048"/>
-    <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732"/>
-    <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024"/>
-    <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536"/>
-    <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048"/>
-    <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768"/>
-    <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640"/>
-    <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320"/>
-  </platform>
-  <platform name="android">
-    <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png"/>
-    <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png"/>
-    <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png"/>
-    <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png"/>
-    <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png"/>
-    <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png"/>
-    <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png"/>
-    <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png"/>
-    <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png"/>
-    <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png"/>
-    <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png"/>
-    <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png"/>
-    <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png"/>
-    <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png"/>
-    <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png"/>
-    <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png"/>
-    <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png"/>
-    <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png"/>
-  </platform>
-  <plugin name="cordova-plugin-actionsheet" spec="2.3.3"/>
-  <plugin name="cordova-plugin-camera" spec="2.4.0"/>
-  <plugin name="cordova-plugin-compat" spec="1.1.0"/>
-  <plugin name="cordova-plugin-console" spec="~1.0.2"/>
-  <plugin name="cordova-plugin-device" spec="~1.1.1"/>
-  <plugin name="cordova-plugin-file" spec="4.3.2"/>
-  <plugin name="cordova-plugin-file-transfer" spec="1.6.2"/>
-  <plugin name="cordova-plugin-media-capture" spec="1.4.3"/>
-  <plugin name="cordova-plugin-offbye-alipay" spec="git+https://github.com/offbye/cordova-plugin-alipay.git">
-    <variable name="PARTNER_ID" value="2088721135315822"/>
-  </plugin>
-  <plugin name="cordova-plugin-splashscreen" spec="4.0.3"/>
-  <plugin name="cordova-plugin-statusbar" spec="~2.1.0"/>
-  <plugin name="cordova-plugin-wechat" spec="^1.4.0">
-    <variable name="WECHATAPPID" value="wxc5181c0d406023e6"/>
-  </plugin>
-  <plugin name="cordova-plugin-whitelist" spec="^1.3.2"/>
-  <plugin name="ionic-plugin-keyboard" spec="~1.0.9"/>
-  <plugin name="phonegap-plugin-barcodescanner" spec="git+https://github.com/phonegap/phonegap-plugin-barcodescanner.git">
-    <variable name="CAMERA_USAGE_DESCRIPTION" value="请摄像头对准条码"/>
-  </plugin>
-  <plugin name="cordova-hot-code-push-plugin" spec="^1.5.3"/>
-  <plugin name="jpush-phonegap-plugin" version="2.2.7" src="https://github.com/jpush/jpush-phonegap-plugin.git">
-    <variable name="APP_KEY" value="69838317211448192366f9d8"/>
-  </plugin>
-</widget>
+    <content src="index.html" />
+    <access origin="*" />
+    <allow-intent href="*" />
+    <allow-navigation href="*" />
+    <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>
+    <platform name="ios">
+        <icon height="57" src="resources/ios/icon/icon.png" width="57" />
+        <icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
+        <icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
+        <icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
+        <icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
+        <icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
+        <icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
+        <icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
+        <icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
+        <icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
+        <icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
+        <icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
+        <icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
+        <icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
+        <icon height="29" src="resources/ios/icon/icon-small.png" width="29" />
+        <icon height="58" src="resources/ios/icon/icon-small@2x.png" width="58" />
+        <icon height="87" src="resources/ios/icon/icon-small@3x.png" width="87" />
+        <splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
+        <splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
+        <splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
+        <splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
+        <splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
+        <splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
+        <splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
+        <splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
+        <splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
+        <splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
+        <splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
+        <splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
+    </platform>
+    <platform name="android">
+        <icon density="ldpi" src="resources/android/icon/drawable-ldpi-icon.png" />
+        <icon density="mdpi" src="resources/android/icon/drawable-mdpi-icon.png" />
+        <icon density="hdpi" src="resources/android/icon/drawable-hdpi-icon.png" />
+        <icon density="xhdpi" src="resources/android/icon/drawable-xhdpi-icon.png" />
+        <icon density="xxhdpi" src="resources/android/icon/drawable-xxhdpi-icon.png" />
+        <icon density="xxxhdpi" src="resources/android/icon/drawable-xxxhdpi-icon.png" />
+        <splash density="land-ldpi" src="resources/android/splash/drawable-land-ldpi-screen.png" />
+        <splash density="land-mdpi" src="resources/android/splash/drawable-land-mdpi-screen.png" />
+        <splash density="land-hdpi" src="resources/android/splash/drawable-land-hdpi-screen.png" />
+        <splash density="land-xhdpi" src="resources/android/splash/drawable-land-xhdpi-screen.png" />
+        <splash density="land-xxhdpi" src="resources/android/splash/drawable-land-xxhdpi-screen.png" />
+        <splash density="land-xxxhdpi" src="resources/android/splash/drawable-land-xxxhdpi-screen.png" />
+        <splash density="port-ldpi" src="resources/android/splash/drawable-port-ldpi-screen.png" />
+        <splash density="port-mdpi" src="resources/android/splash/drawable-port-mdpi-screen.png" />
+        <splash density="port-hdpi" src="resources/android/splash/drawable-port-hdpi-screen.png" />
+        <splash density="port-xhdpi" src="resources/android/splash/drawable-port-xhdpi-screen.png" />
+        <splash density="port-xxhdpi" src="resources/android/splash/drawable-port-xxhdpi-screen.png" />
+        <splash density="port-xxxhdpi" src="resources/android/splash/drawable-port-xxxhdpi-screen.png" />
+    </platform>
+    <engine name="android" spec="^6.2.3" />
+    <plugin name="cordova-hot-code-push-plugin" spec="^1.5.3" />
+    <plugin name="cordova-plugin-actionsheet" spec="2.3.3" />
+    <plugin name="cordova-plugin-camera" spec="file:node_modules\cordova-plugin-camera" />
+    <plugin name="cordova-plugin-compat" spec="1.1.0" />
+    <plugin name="cordova-plugin-console" spec="~1.0.2" />
+    <plugin name="cordova-plugin-device" spec="~1.1.1" />
+    <plugin name="cordova-plugin-file" spec="4.3.2" />
+    <plugin name="cordova-plugin-file-transfer" spec="1.6.2" />
+    <plugin name="cordova-plugin-media-capture" spec="1.4.3" />
+    <plugin name="cordova-plugin-offbye-alipay" spec="git+https://github.com/offbye/cordova-plugin-alipay.git">
+        <variable name="PARTNER_ID" value="2088721135315822" />
+    </plugin>
+    <plugin name="cordova-plugin-splashscreen" spec="4.0.3" />
+    <plugin name="cordova-plugin-statusbar" spec="~2.1.0" />
+    <plugin name="cordova-plugin-wechat" spec="^2.0.0">
+        <variable name="WECHATAPPID" value="wxc5181c0d406023e6" />
+    </plugin>
+    <plugin name="cordova-plugin-whitelist" spec="^1.3.2" />
+    <plugin name="ionic-plugin-keyboard" spec="~1.0.9" />
+    <plugin name="jpush-phonegap-plugin" spec="^3.2.3">
+        <variable name="APP_KEY" value="69838317211448192366f9d8" />
+    </plugin>
+    <plugin name="phonegap-plugin-barcodescanner" spec="git+https://github.com/phonegap/phonegap-plugin-barcodescanner.git">
+        <variable name="CAMERA_USAGE_DESCRIPTION" value="请摄像头对准条码" />
+    </plugin>
+</widget>

+ 85 - 80
miaomiao/package.json

xqd
@@ -1,83 +1,88 @@
 {
-  "name": "ionic-tabs",
-  "version": "1.1.1",
-  "description": "An Ionic project",
-  "dependencies": {
-    "cordova-hot-code-push-plugin": "^1.5.3",
-    "cordova-ios": "^4.4.0",
-    "cordova-plugin-actionsheet": "2.3.3",
-    "cordova-plugin-camera": "2.4.0",
-    "cordova-plugin-compat": "1.1.0",
-    "cordova-plugin-console": "~1.0.2",
-    "cordova-plugin-device": "~1.1.1",
-    "cordova-plugin-file": "4.3.2",
-    "cordova-plugin-file-transfer": "1.6.2",
-    "cordova-plugin-media-capture": "1.4.3",
-    "cordova-plugin-offbye-alipay": "git+https://github.com/offbye/cordova-plugin-alipay.git",
-    "cordova-plugin-splashscreen": "4.0.3",
-    "cordova-plugin-statusbar": "~2.1.0",
-    "cordova-plugin-wechat": "^1.4.0",
-    "cordova-plugin-whitelist": "^1.3.2",
-    "gulp": "^3.5.6",
-    "gulp-concat": "^2.2.0",
-    "gulp-minify-css": "^0.3.0",
-    "gulp-rename": "^1.2.0",
-    "gulp-sass": "^2.0.4",
-    "ionic-plugin-keyboard": "~1.0.9",
-    "phonegap-plugin-barcodescanner": "git+https://github.com/phonegap/phonegap-plugin-barcodescanner.git",
-    "jpush-phonegap-plugin": "3.2.3"
-  },
-  "devDependencies": {
-    "@ionic/cli-plugin-ionic1": "1.1.2",
-    "bower": "^1.3.3",
-    "gulp-sass": "^2.3.2",
-    "gulp-util": "^2.2.14",
-    "ionic": "3.7.0",
-    "shelljs": "^0.3.0"
-  },
-  "cordovaPlugins": [
-    "cordova-plugin-device",
-    "cordova-plugin-console",
-    "cordova-plugin-statusbar",
-    "ionic-plugin-keyboard",
-    "cordova-plugin-file-transfer",
-    "cordova-plugin-camera",
-    "phonegap-plugin-barcodescanner",
-    "cordova-plugin-wechat",
-    "cordova-plugin-whitelist",
-    "cordova-hot-code-push-plugin"
-  ],
-  "cordovaPlatforms": [
-    "android",
-    "ios"
-  ],
-  "cordova": {
-    "plugins": {
-      "cordova-plugin-actionsheet": {},
-      "cordova-plugin-camera": {},
-      "cordova-plugin-compat": {},
-      "cordova-plugin-console": {},
-      "cordova-plugin-device": {},
-      "cordova-plugin-file": {},
-      "cordova-plugin-file-transfer": {},
-      "cordova-plugin-media-capture": {},
-      "cordova-plugin-splashscreen": {},
-      "cordova-plugin-statusbar": {},
-      "ionic-plugin-keyboard": {},
-      "cordova-plugin-wechat": {
-        "WECHATAPPID": "wxc5181c0d406023e6"
-      },
-      "phonegap-plugin-barcodescanner": {
-        "CAMERA_USAGE_DESCRIPTION": "请摄像头对准条码"
-      },
-      "cordova-plugin-offbye-alipay": {
-        "PARTNER_ID": "2088721135315822"
-      },
-      "cordova-plugin-whitelist": {},
-      "cordova-hot-code-push-plugin": {},
-      "jpush-phonegap-plugin": {
-        "APP_KEY": "69838317211448192366f9d8"
-      }
+    "name": "ionic-tabs",
+    "version": "1.1.1",
+    "description": "An Ionic project",
+    "dependencies": {
+        "cordova-android": "^6.2.3",
+        "cordova-hot-code-push-plugin": "^1.5.3",
+        "cordova-plugin-actionsheet": "2.3.3",
+        "cordova-plugin-camera": "file:node_modules\\cordova-plugin-camera",
+        "cordova-plugin-compat": "1.1.0",
+        "cordova-plugin-console": "~1.0.2",
+        "cordova-plugin-device": "~1.1.1",
+        "cordova-plugin-file": "4.3.2",
+        "cordova-plugin-file-transfer": "1.6.2",
+        "cordova-plugin-jcore": "^1.1.8",
+        "cordova-plugin-media-capture": "1.4.3",
+        "cordova-plugin-offbye-alipay": "git+https://github.com/offbye/cordova-plugin-alipay.git",
+        "cordova-plugin-splashscreen": "4.0.3",
+        "cordova-plugin-statusbar": "~2.1.0",
+        "cordova-plugin-wechat": "^2.0.0",
+        "cordova-plugin-whitelist": "^1.3.2",
+        "gulp": "^3.5.6",
+        "gulp-concat": "^2.2.0",
+        "gulp-minify-css": "^0.3.0",
+        "gulp-rename": "^1.2.0",
+        "gulp-sass": "^2.0.4",
+        "ionic-plugin-keyboard": "~1.0.9",
+        "jpush-phonegap-plugin": "^3.2.3",
+        "phonegap-plugin-barcodescanner": "git+https://github.com/phonegap/phonegap-plugin-barcodescanner.git"
+    },
+    "devDependencies": {
+        "@ionic/cli-plugin-ionic1": "1.1.2",
+        "bower": "^1.3.3",
+        "gulp-sass": "^2.3.2",
+        "gulp-util": "^2.2.14",
+        "ionic": "3.7.0",
+        "shelljs": "^0.3.0"
+    },
+    "cordovaPlugins": [
+        "cordova-plugin-device",
+        "cordova-plugin-console",
+        "cordova-plugin-statusbar",
+        "ionic-plugin-keyboard",
+        "cordova-plugin-file-transfer",
+        "phonegap-plugin-barcodescanner",
+        "cordova-plugin-whitelist",
+        "cordova-hot-code-push-plugin",
+        "cordova-plugin-camera",
+        "jpush-phonegap-plugin",
+        "cordova-plugin-wechat"
+    ],
+    "cordovaPlatforms": [
+        "android",
+        "ios"
+    ],
+    "cordova": {
+        "plugins": {
+            "cordova-plugin-actionsheet": {},
+            "cordova-plugin-compat": {},
+            "cordova-plugin-console": {},
+            "cordova-plugin-device": {},
+            "cordova-plugin-file": {},
+            "cordova-plugin-file-transfer": {},
+            "cordova-plugin-media-capture": {},
+            "cordova-plugin-splashscreen": {},
+            "cordova-plugin-statusbar": {},
+            "ionic-plugin-keyboard": {},
+            "phonegap-plugin-barcodescanner": {
+                "CAMERA_USAGE_DESCRIPTION": "请摄像头对准条码"
+            },
+            "cordova-plugin-offbye-alipay": {
+                "PARTNER_ID": "2088721135315822"
+            },
+            "cordova-plugin-whitelist": {},
+            "cordova-hot-code-push-plugin": {},
+            "cordova-plugin-camera": {},
+            "jpush-phonegap-plugin": {
+                "APP_KEY": "69838317211448192366f9d8"
+            },
+            "cordova-plugin-wechat": {
+                "WECHATAPPID": "wxc5181c0d406023e6"
+            }
+        },
+        "platforms": [
+            "android"
+        ]
     }
-  }
 }

+ 54 - 2
miaomiao/plugins/android.json

xqd
@@ -7,12 +7,64 @@
         "files": {}
     },
     "installed_plugins": {
+        "cordova-hot-code-push-plugin": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
         "cordova-plugin-actionsheet": {
             "PACKAGE_NAME": "com.miaomiao.app"
         },
-        "cordova-hot-code-push-plugin": {
+        "cordova-plugin-camera": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-console": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-device": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-file-transfer": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-media-capture": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-offbye-alipay": {
+            "PARTNER_ID": "2088721135315822",
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-splashscreen": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-statusbar": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-wechat": {
+            "WECHATAPPID": "wxc5181c0d406023e6",
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-whitelist": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "ionic-plugin-keyboard": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "jpush-phonegap-plugin": {
+            "APP_KEY": "69838317211448192366f9d8",
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "phonegap-plugin-barcodescanner": {
             "PACKAGE_NAME": "com.miaomiao.app"
         }
     },
-    "dependent_plugins": {}
+    "dependent_plugins": {
+        "cordova-plugin-compat": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-file": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        },
+        "cordova-plugin-jcore": {
+            "PACKAGE_NAME": "com.miaomiao.app"
+        }
+    }
 }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 120 - 36
miaomiao/plugins/cordova-plugin-camera/package.json


+ 21 - 0
miaomiao/plugins/cordova-plugin-jcore/LICENSE

xqd
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017 极光开发者
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

+ 33 - 0
miaomiao/plugins/cordova-plugin-jcore/README.md

xqd
@@ -0,0 +1,33 @@
+# Cordova Plugin JCore
+
+[![release](https://img.shields.io/badge/release-1.1.8-blue.svg)](https://github.com/jpush/jpush-phonegap-plugin/releases)
+[![platforms](https://img.shields.io/badge/platforms-iOS%7CAndroid-lightgrey.svg)](https://github.com/jpush/jpush-phonegap-plugin)
+[![weibo](https://img.shields.io/badge/weibo-JPush-blue.svg)](http://weibo.com/jpush?refer_flag=1001030101_&is_all=1)
+
+极光各种开发者服务的核心依赖 JCore SDK 的 Cordova 插件。
+
+极光开发者服务及对应的 Cordova 插件如下:
+
+- 极光推送(JPush)- [jpush-phonegap-plugin](https://github.com/jpush/jpush-phonegap-plugin)
+- 极光 IM(JMessage)- [jmessage-phonegap-plugin](https://github.com/jpush/jmessage-phonegap-plugin)
+- 极光统计(JAnalytics)- [cordova-plugn-janalytics](https://github.com/jpush/cordova-plugin-janalytics)
+- 极光短信验证码(JSMS)- [cordova-plugin-jsms](https://github.com/jpush/cordova-plugin-jsms)
+
+## 什么是 JCore
+
+极光开发者服务 SDK 采用了模块化的使用模式,即一个核心(JCore)+ N 种服务(JPush,JMessage...)的使用方式,方便开发者使用某一项服务或多项服务,极大的优化了多模块同时使用时功能模块重复的问题。如下图:
+
+![](doc/sdk_model.png)
+
+## Install
+
+cordova-plugin-jcore 作为其他极光 Cordova 插件的依赖,在安装其他插件时会自动安装。
+
+## Support
+
+- [极光社区](http://community.jiguang.cn/)
+- QQ 交流群:413602425
+
+## License
+
+MIT © [JiGuang](/license)

BIN
miaomiao/plugins/cordova-plugin-jcore/doc/sdk_model.png


+ 99 - 0
miaomiao/plugins/cordova-plugin-jcore/package.json

xqd
@@ -0,0 +1,99 @@
+{
+  "_args": [
+    [
+      {
+        "raw": "cordova-plugin-jcore",
+        "scope": null,
+        "escapedName": "cordova-plugin-jcore",
+        "name": "cordova-plugin-jcore",
+        "rawSpec": "",
+        "spec": "latest",
+        "type": "tag"
+      },
+      "D:\\my\\miao\\miaomiao\\node_modules"
+    ]
+  ],
+  "_from": "cordova-plugin-jcore@latest",
+  "_id": "cordova-plugin-jcore@1.1.8",
+  "_inCache": true,
+  "_location": "/cordova-plugin-jcore",
+  "_nodeVersion": "8.1.3",
+  "_npmOperationalInternal": {
+    "host": "s3://npm-registry-packages",
+    "tmp": "tmp/cordova-plugin-jcore-1.1.8.tgz_1504250345821_0.9226693972013891"
+  },
+  "_npmUser": {
+    "name": "jpush",
+    "email": "support@jpush.cn"
+  },
+  "_npmVersion": "5.3.0",
+  "_phantomChildren": {},
+  "_requested": {
+    "raw": "cordova-plugin-jcore",
+    "scope": null,
+    "escapedName": "cordova-plugin-jcore",
+    "name": "cordova-plugin-jcore",
+    "rawSpec": "",
+    "spec": "latest",
+    "type": "tag"
+  },
+  "_requiredBy": [
+    "#USER",
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/cordova-plugin-jcore/-/cordova-plugin-jcore-1.1.8.tgz",
+  "_shasum": "a804ba9b4ca9b321b3e2d58af3e1037aa5a8d89f",
+  "_shrinkwrap": null,
+  "_spec": "cordova-plugin-jcore",
+  "_where": "D:\\my\\miao\\miaomiao\\node_modules",
+  "author": {
+    "name": "wilhantian, jiguang"
+  },
+  "bugs": {
+    "url": "https://github.com/jpush/cordova-plugin-jcore/issues"
+  },
+  "cordova": {
+    "id": "cordova-plugin-jcore",
+    "platforms": [
+      "android",
+      "ios"
+    ]
+  },
+  "dependencies": {},
+  "description": "jcore for cordova plugin",
+  "devDependencies": {},
+  "directories": {},
+  "dist": {
+    "integrity": "sha512-+xr7AjIUWAuAVMyDImT7Ga5kKZB2mJXWtya7G2Gixxz6wyoCakpGsE9GoBr84KAyycNMkBl1FLT3VZQbVNfFDw==",
+    "shasum": "a804ba9b4ca9b321b3e2d58af3e1037aa5a8d89f",
+    "tarball": "https://registry.npmjs.org/cordova-plugin-jcore/-/cordova-plugin-jcore-1.1.8.tgz"
+  },
+  "gitHead": "e35314ee0603cf074ee6cb7c924f27c4f866776d",
+  "homepage": "https://github.com/jpush/cordova-plugin-jcore#readme",
+  "keywords": [
+    "jcore",
+    "jpush",
+    "ecosystem:cordova",
+    "cordova-android",
+    "cordova-ios"
+  ],
+  "license": "MIT License",
+  "maintainers": [
+    {
+      "name": "jpush",
+      "email": "support@jpush.cn"
+    },
+    {
+      "name": "wilhantian",
+      "email": "wilhan.tian@gmail.com"
+    }
+  ],
+  "name": "cordova-plugin-jcore",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/jpush/cordova-plugin-jcore.git"
+  },
+  "version": "1.1.8"
+}

+ 32 - 0
miaomiao/plugins/cordova-plugin-jcore/plugin.xml

xqd
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<plugin xmlns="http://apache.org/cordova/ns/plugins/1.0"
+     xmlns:android="http://schemas.android.com/apk/res/android"
+     id="cordova-plugin-jcore"
+     version="1.1.8">
+
+    <name>JCore</name>
+    <description>Cordova plugin for jcore</description>
+    <author>WilhanTian, JiGuang</author>
+    <keywords>jcore,jpush</keywords>
+    <license>MIT License</license>
+
+    <engines>
+        <engine name="cordova" version=">=3.0.0"/>
+    </engines>
+
+    <platform name="android">
+        <source-file src="src/android/arm64-v8a/libjcore116.so" target-dir="libs/arm64-v8a"/>
+        <source-file src="src/android/armeabi/libjcore116.so" target-dir="libs/armeabi"/>
+        <source-file src="src/android/armeabi-v7a/libjcore116.so" target-dir="libs/armeabi-v7a"/>
+        <source-file src="src/android/mips/libjcore116.so" target-dir="libs/mips"/>
+        <source-file src="src/android/mips64/libjcore116.so" target-dir="libs/mips64"/>
+        <source-file src="src/android/x86/libjcore116.so" target-dir="libs/x86"/>
+        <source-file src="src/android/x86_64/libjcore116.so" target-dir="libs/x86_64"/>
+
+        <source-file src="src/android/jcore-android-1.1.6.jar" target-dir="libs"/>
+    </platform>
+
+    <platform name="ios">
+        <source-file src="src/ios/jcore-ios-1.1.5.a" framework="true" />
+    </platform>
+</plugin>

BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/arm64-v8a/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/armeabi-v7a/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/armeabi/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/jcore-android-1.1.6.jar


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/mips/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/mips64/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/x86/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/android/x86_64/libjcore116.so


BIN
miaomiao/plugins/cordova-plugin-jcore/src/ios/jcore-ios-1.1.5.a


+ 5 - 0
miaomiao/plugins/cordova-plugin-jcore/www/jcore.js

xqd
@@ -0,0 +1,5 @@
+var exec = require('cordova/exec')
+
+exports.coolMethod = function (arg0, success, error) {
+  exec(success, error, 'jcore', 'coolMethod', [arg0])
+}

+ 6 - 0
miaomiao/plugins/cordova-plugin-wechat/CHANGELOG.md

xqd
@@ -1,5 +1,11 @@
 # Change Log
 
+## 2.0.0 - 2017-07-01
+### Changed
+- Use android sdk from JCenter
+- Upgrade cordova versions
+- More improvements to android version of the plugin
+
 ## 1.4.0 - 2017-01-10
 ### Added
 - iOS OpenSDK1.7.5

+ 7 - 0
miaomiao/plugins/cordova-plugin-wechat/android-build.gradle

xqd
@@ -0,0 +1,7 @@
+repositories {
+    jcenter()
+}
+
+dependencies {
+    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+'
+}

+ 91 - 14
miaomiao/plugins/cordova-plugin-wechat/package.json

xqd xqd xqd
@@ -1,7 +1,58 @@
 {
-  "name": "cordova-plugin-wechat",
-  "version": "1.4.0",
-  "description": "A cordova plugin, a JS version of Wechat SDK",
+  "_args": [
+    [
+      {
+        "raw": "cordova-plugin-wechat@2.0.0",
+        "scope": null,
+        "escapedName": "cordova-plugin-wechat",
+        "name": "cordova-plugin-wechat",
+        "rawSpec": "2.0.0",
+        "spec": "2.0.0",
+        "type": "version"
+      },
+      "D:\\my\\miao\\miaomiao\\node_modules"
+    ]
+  ],
+  "_from": "cordova-plugin-wechat@2.0.0",
+  "_id": "cordova-plugin-wechat@2.0.0",
+  "_inCache": true,
+  "_location": "/cordova-plugin-wechat",
+  "_nodeVersion": "8.1.3",
+  "_npmOperationalInternal": {
+    "host": "s3://npm-registry-packages",
+    "tmp": "tmp/cordova-plugin-wechat-2.0.0.tgz_1498961850010_0.6576200474519283"
+  },
+  "_npmUser": {
+    "name": "xu-li",
+    "email": "AthenaLightenedMyPath@gmail.com"
+  },
+  "_npmVersion": "5.0.3",
+  "_phantomChildren": {},
+  "_requested": {
+    "raw": "cordova-plugin-wechat@2.0.0",
+    "scope": null,
+    "escapedName": "cordova-plugin-wechat",
+    "name": "cordova-plugin-wechat",
+    "rawSpec": "2.0.0",
+    "spec": "2.0.0",
+    "type": "version"
+  },
+  "_requiredBy": [
+    "#USER",
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/cordova-plugin-wechat/-/cordova-plugin-wechat-2.0.0.tgz",
+  "_shasum": "af24ac74abf3d32ca3729fe46c4b7f981816b2e5",
+  "_shrinkwrap": null,
+  "_spec": "cordova-plugin-wechat@2.0.0",
+  "_where": "D:\\my\\miao\\miaomiao\\node_modules",
+  "author": {
+    "name": "xu.li",
+    "email": "AthenaLightenedMyPath@gmail.com"
+  },
+  "bugs": {
+    "url": "https://github.com/xu-li/cordova-plugin-wechat/issues"
+  },
   "cordova": {
     "id": "cordova-plugin-wechat",
     "platforms": [
@@ -9,10 +60,29 @@
       "android"
     ]
   },
-  "repository": {
-    "type": "git",
-    "url": "git+https://github.com/xu-li/cordova-plugin-wechat.git"
+  "dependencies": {},
+  "description": "A cordova plugin, a JS version of Wechat SDK",
+  "devDependencies": {},
+  "directories": {},
+  "dist": {
+    "integrity": "sha512-6AHeGCoJdb1rrMy0pKDxUFPJXl2o6NJfOXCKqDgtIVFtW4WD+Mju4bCaPGi7WmRn2eSXC87ELiRcetlqMqKG6A==",
+    "shasum": "af24ac74abf3d32ca3729fe46c4b7f981816b2e5",
+    "tarball": "https://registry.npmjs.org/cordova-plugin-wechat/-/cordova-plugin-wechat-2.0.0.tgz"
+  },
+  "engines": {
+    "cordovaDependencies": {
+      "2.0.0": {
+        "cordova": ">=6.1.0",
+        "cordova-android": ">=6.1.0",
+        "cordova-ios": ">=4.3.1"
+      },
+      "<2.0.0": {
+        "cordova": ">=3.5.0"
+      }
+    }
   },
+  "gitHead": "7c464193b851220444ad393b265f9fa38538ef07",
+  "homepage": "https://github.com/xu-li/cordova-plugin-wechat#readme",
   "keywords": [
     "cordova",
     "wechat",
@@ -22,16 +92,23 @@
     "cordova-ios",
     "cordova-android"
   ],
-  "engines": [
+  "license": "MIT",
+  "maintainers": [
+    {
+      "name": "floatinghotpot",
+      "email": "rjfun.mobile@gmail.com"
+    },
     {
-      "name": "cordova",
-      "version": ">=3.5.0"
+      "name": "xu-li",
+      "email": "AthenaLightenedMyPath@gmail.com"
     }
   ],
-  "author": "xu.li <AthenaLightenedMyPath@gmail.com>",
-  "license": "MIT",
-  "bugs": {
-    "url": "https://github.com/xu-li/cordova-plugin-wechat/issues"
+  "name": "cordova-plugin-wechat",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/xu-li/cordova-plugin-wechat.git"
   },
-  "homepage": "https://github.com/xu-li/cordova-plugin-wechat#readme"
+  "version": "2.0.0"
 }

+ 0 - 25
miaomiao/plugins/cordova-plugin-wechat/package.json.back

xqd
@@ -1,25 +0,0 @@
-{
-    "version": "0.10.1",
-    "name": "xu.li.cordova.wechat",
-    "cordova_name": "Wechat",
-    "description": "A cordova plugin, a JS version of Wechat SDK",
-    "license": "MIT",
-    "repo": "https://github.com/xu-li/cordova-plugin-wechat.git",
-    "issue": "https://github.com/xu-li/cordova-plugin-wechat/issues",
-    "keywords": [
-        "cordova",
-        "wechat",
-        "weixin",
-        "share"
-    ],
-    "platforms": [
-        "ios",
-        "android"
-    ],
-    "engines": [
-        {
-            "name": "cordova",
-            "version": ">=3.5.0"
-        }
-    ]
-}

+ 3 - 6
miaomiao/plugins/cordova-plugin-wechat/plugin.xml

xqd xqd xqd
@@ -4,7 +4,7 @@
     xmlns:rim="http://www.blackberry.com/ns/widgets"
     xmlns:android="http://schemas.android.com/apk/res/android"
     id="cordova-plugin-wechat"
-    version="1.4.0">
+    version="2.0.0">
 
     <name>Wechat</name>
     <description>A cordova plugin, a JS version of Wechat SDK</description>
@@ -16,10 +16,7 @@
     <!-- add this to your config.xml -->
     <!-- <preference name="WECHATAPPID" value="YOUR_WECHAT_APP_ID_HERE" /> -->
     <preference name="WECHATAPPID" />
-    <!--require cordova version -->
-    <engines>
-        <engine name="cordova" version=">=3.5.0" />
-    </engines>
+
     <!-- js module-->
     <js-module src="www/wechat.js" name="Wechat">
         <clobbers target="Wechat" />
@@ -130,6 +127,6 @@
 
         <source-file src="src/android/Wechat.java" target-dir="src/xu/li/cordova/wechat" />
         <source-file src="src/android/Util.java" target-dir="src/xu/li/cordova/wechat" />
-        <source-file src="src/android/libammsdk.jar" target-dir="libs" />
+        <framework src="android-build.gradle" custom="true" type="gradleReference" />
     </platform>
 </plugin>

+ 34 - 19
miaomiao/plugins/cordova-plugin-wechat/src/android/EntryActivity.java

xqd xqd xqd xqd xqd xqd
@@ -5,12 +5,14 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.util.Log;
 
-import com.tencent.mm.sdk.constants.ConstantsAPI;
-import com.tencent.mm.sdk.modelbase.BaseReq;
-import com.tencent.mm.sdk.modelbase.BaseResp;
-import com.tencent.mm.sdk.modelmsg.SendAuth;
-import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
-
+import com.tencent.mm.opensdk.constants.ConstantsAPI;
+import com.tencent.mm.opensdk.modelbase.BaseReq;
+import com.tencent.mm.opensdk.modelbase.BaseResp;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler;
+
+import org.apache.cordova.CallbackContext;
 import org.json.JSONException;
 import org.json.JSONObject;
 
@@ -25,10 +27,12 @@ public class EntryActivity extends Activity implements IWXAPIEventHandler {
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        if (Wechat.instance.getWxAPI() == null) {
+        IWXAPI api = Wechat.getWxAPI(this);
+
+        if (api == null) {
             startMainActivity();
         } else {
-            Wechat.instance.getWxAPI().handleIntent(getIntent(), this);
+            api.handleIntent(getIntent(), this);
         }
     }
 
@@ -38,18 +42,22 @@ public class EntryActivity extends Activity implements IWXAPIEventHandler {
 
         setIntent(intent);
 
-        if (Wechat.instance.getWxAPI() == null) {
+        IWXAPI api = Wechat.getWxAPI(this);
+        if (api == null) {
             startMainActivity();
         } else {
-            Wechat.instance.getWxAPI().handleIntent(intent, this);
+            api.handleIntent(intent, this);
         }
+
     }
 
     @Override
     public void onResp(BaseResp resp) {
         Log.d(Wechat.TAG, resp.toString());
 
-        if (Wechat.instance.getCurrentCallbackContext() == null) {
+        CallbackContext ctx = Wechat.getCurrentCallbackContext();
+
+        if (ctx == null) {
             startMainActivity();
             return ;
         }
@@ -63,27 +71,27 @@ public class EntryActivity extends Activity implements IWXAPIEventHandler {
 
                     case ConstantsAPI.COMMAND_PAY_BY_WX:
                     default:
-                        Wechat.instance.getCurrentCallbackContext().success();
+                        ctx.success();
                         break;
                 }
                 break;
             case BaseResp.ErrCode.ERR_USER_CANCEL:
-                Wechat.instance.getCurrentCallbackContext().error(Wechat.ERROR_WECHAT_RESPONSE_USER_CANCEL);
+                ctx.error(Wechat.ERROR_WECHAT_RESPONSE_USER_CANCEL);
                 break;
             case BaseResp.ErrCode.ERR_AUTH_DENIED:
-                Wechat.instance.getCurrentCallbackContext().error(Wechat.ERROR_WECHAT_RESPONSE_AUTH_DENIED);
+                ctx.error(Wechat.ERROR_WECHAT_RESPONSE_AUTH_DENIED);
                 break;
             case BaseResp.ErrCode.ERR_SENT_FAILED:
-                Wechat.instance.getCurrentCallbackContext().error(Wechat.ERROR_WECHAT_RESPONSE_SENT_FAILED);
+                ctx.error(Wechat.ERROR_WECHAT_RESPONSE_SENT_FAILED);
                 break;
             case BaseResp.ErrCode.ERR_UNSUPPORT:
-                Wechat.instance.getCurrentCallbackContext().error(Wechat.ERROR_WECHAT_RESPONSE_UNSUPPORT);
+                ctx.error(Wechat.ERROR_WECHAT_RESPONSE_UNSUPPORT);
                 break;
             case BaseResp.ErrCode.ERR_COMM:
-                Wechat.instance.getCurrentCallbackContext().error(Wechat.ERROR_WECHAT_RESPONSE_COMMON);
+                ctx.error(Wechat.ERROR_WECHAT_RESPONSE_COMMON);
                 break;
             default:
-                Wechat.instance.getCurrentCallbackContext().error(Wechat.ERROR_WECHAT_RESPONSE_UNKNOWN);
+                ctx.error(Wechat.ERROR_WECHAT_RESPONSE_UNKNOWN);
                 break;
         }
 
@@ -107,6 +115,13 @@ public class EntryActivity extends Activity implements IWXAPIEventHandler {
 
         Log.d(Wechat.TAG, res.toString());
 
+        // get current callback context
+        CallbackContext ctx = Wechat.getCurrentCallbackContext();
+
+        if (ctx == null) {
+            return ;
+        }
+
         JSONObject response = new JSONObject();
         try {
             response.put("code", res.code);
@@ -117,6 +132,6 @@ public class EntryActivity extends Activity implements IWXAPIEventHandler {
             Log.e(Wechat.TAG, e.getMessage());
         }
 
-        Wechat.instance.getCurrentCallbackContext().success(response);
+        ctx.success(response);
     }
 }

+ 76 - 36
miaomiao/plugins/cordova-plugin-wechat/src/android/Wechat.java

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -1,5 +1,7 @@
 package xu.li.cordova.wechat;
 
+import android.content.Context;
+import android.content.SharedPreferences;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.os.Environment;
@@ -7,20 +9,20 @@ import android.util.Base64;
 import android.util.Log;
 import android.webkit.URLUtil;
 
-import com.tencent.mm.sdk.modelmsg.SendAuth;
-import com.tencent.mm.sdk.modelmsg.SendMessageToWX;
-import com.tencent.mm.sdk.modelmsg.WXAppExtendObject;
-import com.tencent.mm.sdk.modelmsg.WXEmojiObject;
-import com.tencent.mm.sdk.modelmsg.WXFileObject;
-import com.tencent.mm.sdk.modelmsg.WXImageObject;
-import com.tencent.mm.sdk.modelmsg.WXMediaMessage;
-import com.tencent.mm.sdk.modelmsg.WXMusicObject;
-import com.tencent.mm.sdk.modelmsg.WXTextObject;
-import com.tencent.mm.sdk.modelmsg.WXVideoObject;
-import com.tencent.mm.sdk.modelmsg.WXWebpageObject;
-import com.tencent.mm.sdk.modelpay.PayReq;
-import com.tencent.mm.sdk.openapi.IWXAPI;
-import com.tencent.mm.sdk.openapi.WXAPIFactory;
+import com.tencent.mm.opensdk.modelmsg.SendAuth;
+import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
+import com.tencent.mm.opensdk.modelmsg.WXAppExtendObject;
+import com.tencent.mm.opensdk.modelmsg.WXEmojiObject;
+import com.tencent.mm.opensdk.modelmsg.WXFileObject;
+import com.tencent.mm.opensdk.modelmsg.WXImageObject;
+import com.tencent.mm.opensdk.modelmsg.WXMediaMessage;
+import com.tencent.mm.opensdk.modelmsg.WXMusicObject;
+import com.tencent.mm.opensdk.modelmsg.WXTextObject;
+import com.tencent.mm.opensdk.modelmsg.WXVideoObject;
+import com.tencent.mm.opensdk.modelmsg.WXWebpageObject;
+import com.tencent.mm.opensdk.modelpay.PayReq;
+import com.tencent.mm.opensdk.openapi.IWXAPI;
+import com.tencent.mm.opensdk.openapi.WXAPIFactory;
 
 import org.apache.cordova.CallbackContext;
 import org.apache.cordova.CordovaArgs;
@@ -40,6 +42,7 @@ public class Wechat extends CordovaPlugin {
 
     public static final String TAG = "Cordova.Plugin.Wechat";
 
+    public static final String PREFS_NAME = "Cordova.Plugin.Wechat";
     public static final String WXAPPID_PROPERTY_KEY = "wechatappid";
 
     public static final String ERROR_WECHAT_NOT_INSTALLED = "未安装微信";
@@ -88,10 +91,9 @@ public class Wechat extends CordovaPlugin {
 
     public static final int MAX_THUMBNAIL_SIZE = 320;
 
-    public static Wechat instance = null;
+    protected static CallbackContext currentCallbackContext;
+    protected static IWXAPI wxAPI;
 
-    protected CallbackContext currentCallbackContext;
-    protected IWXAPI wxAPI;
     protected String appId;
 
     @Override
@@ -99,28 +101,40 @@ public class Wechat extends CordovaPlugin {
 
         super.pluginInitialize();
 
-        instance = this;
+        String id = getAppId();
 
+        // save app id
+        saveAppId(cordova.getActivity(), id);
+
+        // init api
         initWXAPI();
 
         Log.d(TAG, "plugin initialized.");
     }
 
     protected void initWXAPI() {
-        if (wxAPI == null) {
-            String appId = getAppId();
+        IWXAPI api = getWxAPI(cordova.getActivity());
 
-            wxAPI = WXAPIFactory.createWXAPI(webView.getContext(), appId, true);
-            wxAPI.registerApp(appId);
+        if (api != null) {
+            api.registerApp(getAppId());
         }
     }
 
-    public IWXAPI getWxAPI() {
-        return wxAPI;
-    }
+    /**
+     * Get weixin api
+     * @param ctx
+     * @return
+     */
+    public static IWXAPI getWxAPI(Context ctx) {
+        if (wxAPI == null) {
+            String appId = getSavedAppId(ctx);
 
-    public CallbackContext getCurrentCallbackContext() {
-        return currentCallbackContext;
+            if (!appId.isEmpty()) {
+                wxAPI = WXAPIFactory.createWXAPI(ctx, appId, true);
+            }
+        }
+
+        return wxAPI;
     }
 
     @Override
@@ -142,7 +156,7 @@ public class Wechat extends CordovaPlugin {
 
     protected boolean share(CordovaArgs args, final CallbackContext callbackContext)
             throws JSONException {
-        final IWXAPI api = getWXAPI();
+        final IWXAPI api = getWxAPI(cordova.getActivity());
 
         // check if installed
         if (!api.isWXAppInstalled()) {
@@ -218,7 +232,7 @@ public class Wechat extends CordovaPlugin {
     }
 
     protected boolean sendAuthRequest(CordovaArgs args, CallbackContext callbackContext) {
-        final IWXAPI api = getWXAPI();
+        final IWXAPI api = getWxAPI(cordova.getActivity());
 
         final SendAuth.Req req = new SendAuth.Req();
         try {
@@ -248,7 +262,7 @@ public class Wechat extends CordovaPlugin {
 
     protected boolean sendPaymentRequest(CordovaArgs args, CallbackContext callbackContext) {
 
-        final IWXAPI api = getWXAPI();
+        final IWXAPI api = getWxAPI(cordova.getActivity());
 
         // check if # of arguments is correct
         final JSONObject params;
@@ -292,7 +306,7 @@ public class Wechat extends CordovaPlugin {
     }
 
     protected boolean isInstalled(CallbackContext callbackContext) {
-        final IWXAPI api = getWXAPI();
+        final IWXAPI api = getWxAPI(cordova.getActivity());
 
         if (!api.isWXAppInstalled()) {
             callbackContext.success(0);
@@ -391,10 +405,6 @@ public class Wechat extends CordovaPlugin {
         return wxMediaMessage;
     }
 
-    protected IWXAPI getWXAPI() {
-        return wxAPI;
-    }
-
     private String buildTransaction() {
         return String.valueOf(System.currentTimeMillis());
     }
@@ -530,7 +540,7 @@ public class Wechat extends CordovaPlugin {
         return null;
     }
 
-    protected String getAppId() {
+    public String getAppId() {
         if (this.appId == null) {
             this.appId = preferences.getString(WXAPPID_PROPERTY_KEY, "");
         }
@@ -538,6 +548,36 @@ public class Wechat extends CordovaPlugin {
         return this.appId;
     }
 
+    /**
+     * Get saved app id
+     * @param ctx
+     * @return
+     */
+    public static String getSavedAppId(Context ctx) {
+        SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, 0);
+        return settings.getString(WXAPPID_PROPERTY_KEY, "");
+    }
+
+    /**
+     * Save app id into SharedPreferences
+     * @param ctx
+     * @param id
+     */
+    public static void saveAppId(Context ctx, String id) {
+        if (id.isEmpty()) {
+            return ;
+        }
+
+        SharedPreferences settings = ctx.getSharedPreferences(PREFS_NAME, 0);
+        SharedPreferences.Editor editor = settings.edit();
+        editor.putString(WXAPPID_PROPERTY_KEY, id);
+        editor.commit();
+    }
+
+    public static CallbackContext getCurrentCallbackContext() {
+        return currentCallbackContext;
+    }
+
     private void sendNoResultPluginResult(CallbackContext callbackContext) {
         // save current callback context
         currentCallbackContext = callbackContext;

BIN
miaomiao/plugins/cordova-plugin-wechat/src/android/libammsdk.jar


+ 0 - 130
miaomiao/plugins/cordova-plugin-wechat/temp/README.md

xqd
@@ -1,130 +0,0 @@
-# cordova-plugin-wechat
-
-A cordova plugin, a JS version of Wechat SDK
-
-# Feature
-
-Share title, description, image, and link to wechat moment(朋友圈)
-
-# Example
-
-See [cordova-plugin-wechat-example](https://github.com/xu-li/cordova-plugin-wechat-example)
-
-# Install
-
-1. ```cordova plugin add https://github.com/xu-li/cordova-plugin-wechat  --variable wechatappid=YOUR_WECHAT_APPID```, or using [plugman](https://npmjs.org/package/plugman), [phonegap](https://npmjs.org/package/phonegap), [ionic](http://ionicframework.com/)
-
-2. ```cordova build ios``` or ```cordova build android```
-
-3. (iOS only) if your cordova version <5.1.1,check the URL Type using XCode
-
-# Usage
-
-## Check if wechat is installed
-```Javascript
-Wechat.isInstalled(function (installed) {
-    alert("Wechat installed: " + (installed ? "Yes" : "No"));
-}, function (reason) {
-    alert("Failed: " + reason);
-});
-```
-
-## Authenticate using Wechat
-```Javascript
-var scope = "snsapi_userinfo";
-Wechat.auth(scope, function (response) {
-    // you may use response.code to get the access token.
-    alert(JSON.stringify(response));
-}, function (reason) {
-    alert("Failed: " + reason);
-});
-```
-
-## Share text
-```Javascript
-Wechat.share({
-    text: "This is just a plain string",
-    scene: Wechat.Scene.TIMELINE   // share to Timeline
-}, function () {
-    alert("Success");
-}, function (reason) {
-    alert("Failed: " + reason);
-});
-```
-
-## Share media(e.g. link, photo, music, video etc)
-```Javascript
-Wechat.share({
-    message: {
-        title: "Hi, there",
-        description: "This is description.",
-        thumb: "www/img/thumbnail.png",
-        mediaTagName: "TEST-TAG-001",
-        messageExt: "这是第三方带的测试字段",
-        messageAction: "<action>dotalist</action>",
-        media: "YOUR_MEDIA_OBJECT_HERE"
-    },
-    scene: Wechat.Scene.TIMELINE   // share to Timeline
-}, function () {
-    alert("Success");
-}, function (reason) {
-    alert("Failed: " + reason);
-});
-```
-
-### Share link
-```Javascript
-Wechat.share({
-    message: {
-        ...
-        media: {
-            type: Wechat.Type.LINK,
-            webpageUrl: "http://tech.qq.com/zt2012/tmtdecode/252.htm"
-        }
-    },
-    scene: Wechat.Scene.TIMELINE   // share to Timeline
-}, function () {
-    alert("Success");
-}, function (reason) {
-    alert("Failed: " + reason);
-});
-```
-
-## Send payment request
-```Javascript
-var params = {
-    mch_id: '10000100', // merchant id
-    prepay_id: 'wx201411101639507cbf6ffd8b0779950874', // prepay id
-    nonce: '1add1a30ac87aa2db72f57a2375d8fec', // nonce
-    timestamp: '1439531364', // timestamp
-    sign: '0CB01533B8C1EF103065174F50BCA001', // signed string
-};
-
-Wechat.sendPaymentRequest(params, function () {
-    alert("Success");
-}, function (reason) {
-    alert("Failed: " + reason);
-});
-```
-
-# FAQ
-
-Q: After sharing in wechat, it will not get back to my app.
-
-A: (iOS)Please make sure the URL Type is correct. (Android) Your [app signature](https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318060&token=&lang=zh_CN) is correct.
-
-# TODO
-
-1. ~~Add android version~~
-
-2. ~~Share to wechat session(聊天) and wechat favorite(收藏)~~
-
-3. ~~Add other media types, including music etc.~~
-
-4. Other APIs
-
-5. ~~Android Version update~~
-
-# LICENSE
-
-[MIT LICENSE](http://opensource.org/licenses/MIT)

+ 0 - 47
miaomiao/plugins/cordova-plugin-wechat/temp/scripts/android-install.js

xqd
@@ -1,47 +0,0 @@
-#!/usr/bin/env node
-
-module.exports = function (context) {
-    var path         = context.requireCordovaModule('path'),
-        fs           = context.requireCordovaModule('fs'),
-        shell        = context.requireCordovaModule('shelljs'),
-        projectRoot  = context.opts.projectRoot,
-        ConfigParser = context.requireCordovaModule('cordova-lib/src/configparser/ConfigParser'),
-        config       = new ConfigParser(path.join(context.opts.projectRoot, "config.xml")),
-        packageName = config.android_packageName() || config.packageName();
-
-    console.info("Running android-install.Hook: " + context.hook + ", Package: " + packageName + ", Path: " + projectRoot + ".");
-
-    if (!packageName) {
-        console.error("Package name could not be found!");
-        return ;
-    }
-
-    // android platform available?
-    if (context.opts.cordova.platforms.indexOf("android") === -1) {
-        console.info("Android platform has not been added.");
-        return ;
-    }
-
-    var targetDir  = path.join(projectRoot, "platforms", "android", "src", packageName.replace(/\./g, path.sep), "wxapi");
-        targetFile = path.join(targetDir, "WXEntryActivity.java");
-
-    if (['after_plugin_add', 'after_plugin_install', 'after_platform_add'].indexOf(context.hook) === -1) {
-        // remove it?
-        try {
-            fs.unlinkSync(targetFile);
-        } catch (err) {}
-    } else {
-        // create directory
-        shell.mkdir('-p', targetDir);
-
-        // sync the content
-        fs.readFile(path.join(context.opts.plugin.dir, 'src', 'android', 'WXEntryActivity.java'), {encoding: 'utf-8'}, function (err, data) {
-            if (err) {
-                throw err;
-            }
-
-            data = data.replace(/^package __PACKAGE_NAME__;/m, 'package ' + packageName + '.wxapi;');
-            fs.writeFileSync(targetFile, data);
-        });
-    }
-};

+ 0 - 203
miaomiao/plugins/cordova-plugin-wechat/temp/src/android/Util.java

xqd
@@ -1,203 +0,0 @@
-package xu.li.cordova.wechat;
-
-import android.graphics.Bitmap;
-import android.graphics.Bitmap.CompressFormat;
-import android.graphics.BitmapFactory;
-import android.util.Log;
-
-import junit.framework.Assert;
-
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.RandomAccessFile;
-import java.net.HttpURLConnection;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLConnection;
-
-public class Util {
-
-	private static final String TAG = "SDK_Sample.Util";
-
-	public static byte[] bmpToByteArray(final Bitmap bmp, final boolean needRecycle) {
-		ByteArrayOutputStream output = new ByteArrayOutputStream();
-		bmp.compress(CompressFormat.PNG, 100, output);
-		if (needRecycle) {
-			bmp.recycle();
-		}
-		
-		byte[] result = output.toByteArray();
-		try {
-			output.close();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		
-		return result;
-	}
-	
-	public static byte[] getHtmlByteArray(final String url) {
-		 URL htmlUrl = null;     
-		 InputStream inStream = null;     
-		 try {         
-			 htmlUrl = new URL(url);         
-			 URLConnection connection = htmlUrl.openConnection();         
-			 HttpURLConnection httpConnection = (HttpURLConnection)connection;         
-			 int responseCode = httpConnection.getResponseCode();         
-			 if(responseCode == HttpURLConnection.HTTP_OK){             
-				 inStream = httpConnection.getInputStream();         
-			  }     
-			 } catch (MalformedURLException e) {               
-				 e.printStackTrace();     
-			 } catch (IOException e) {              
-				e.printStackTrace();    
-		  } 
-		byte[] data = inputStreamToByte(inStream);
-
-		return data;
-	}
-	
-	public static byte[] inputStreamToByte(InputStream is) {
-		try{
-			ByteArrayOutputStream bytestream = new ByteArrayOutputStream();
-			int ch;
-			while ((ch = is.read()) != -1) {
-				bytestream.write(ch);
-			}
-			byte imgdata[] = bytestream.toByteArray();
-			bytestream.close();
-			return imgdata;
-		}catch(Exception e){
-			e.printStackTrace();
-		}
-		
-		return null;
-	}
-	
-	public static byte[] readFromFile(String fileName, int offset, int len) {
-		if (fileName == null) {
-			return null;
-		}
-
-		File file = new File(fileName);
-		if (!file.exists()) {
-			Log.i(TAG, "readFromFile: file not found");
-			return null;
-		}
-
-		if (len == -1) {
-			len = (int) file.length();
-		}
-
-		Log.d(TAG, "readFromFile : offset = " + offset + " len = " + len + " offset + len = " + (offset + len));
-
-		if(offset <0){
-			Log.e(TAG, "readFromFile invalid offset:" + offset);
-			return null;
-		}
-		if(len <=0 ){
-			Log.e(TAG, "readFromFile invalid len:" + len);
-			return null;
-		}
-		if(offset + len > (int) file.length()){
-			Log.e(TAG, "readFromFile invalid file len:" + file.length());
-			return null;
-		}
-
-		byte[] b = null;
-		try {
-			RandomAccessFile in = new RandomAccessFile(fileName, "r");
-			b = new byte[len]; // 创建合适文件大小的数组
-			in.seek(offset);
-			in.readFully(b);
-			in.close();
-
-		} catch (Exception e) {
-			Log.e(TAG, "readFromFile : errMsg = " + e.getMessage());
-			e.printStackTrace();
-		}
-		return b;
-	}
-	
-	private static final int MAX_DECODE_PICTURE_SIZE = 1920 * 1440;
-	public static Bitmap extractThumbNail(final String path, final int height, final int width, final boolean crop) {
-		Assert.assertTrue(path != null && !path.equals("") && height > 0 && width > 0);
-
-		BitmapFactory.Options options = new BitmapFactory.Options();
-
-		try {
-			options.inJustDecodeBounds = true;
-			Bitmap tmp = BitmapFactory.decodeFile(path, options);
-			if (tmp != null) {
-				tmp.recycle();
-				tmp = null;
-			}
-
-			Log.d(TAG, "extractThumbNail: round=" + width + "x" + height + ", crop=" + crop);
-			final double beY = options.outHeight * 1.0 / height;
-			final double beX = options.outWidth * 1.0 / width;
-			Log.d(TAG, "extractThumbNail: extract beX = " + beX + ", beY = " + beY);
-			options.inSampleSize = (int) (crop ? (beY > beX ? beX : beY) : (beY < beX ? beX : beY));
-			if (options.inSampleSize <= 1) {
-				options.inSampleSize = 1;
-			}
-
-			// NOTE: out of memory error
-			while (options.outHeight * options.outWidth / options.inSampleSize > MAX_DECODE_PICTURE_SIZE) {
-				options.inSampleSize++;
-			}
-
-			int newHeight = height;
-			int newWidth = width;
-			if (crop) {
-				if (beY > beX) {
-					newHeight = (int) (newWidth * 1.0 * options.outHeight / options.outWidth);
-				} else {
-					newWidth = (int) (newHeight * 1.0 * options.outWidth / options.outHeight);
-				}
-			} else {
-				if (beY < beX) {
-					newHeight = (int) (newWidth * 1.0 * options.outHeight / options.outWidth);
-				} else {
-					newWidth = (int) (newHeight * 1.0 * options.outWidth / options.outHeight);
-				}
-			}
-
-			options.inJustDecodeBounds = false;
-
-			Log.i(TAG, "bitmap required size=" + newWidth + "x" + newHeight + ", orig=" + options.outWidth + "x" + options.outHeight + ", sample=" + options.inSampleSize);
-			Bitmap bm = BitmapFactory.decodeFile(path, options);
-			if (bm == null) {
-				Log.e(TAG, "bitmap decode failed");
-				return null;
-			}
-
-			Log.i(TAG, "bitmap decoded size=" + bm.getWidth() + "x" + bm.getHeight());
-			final Bitmap scale = Bitmap.createScaledBitmap(bm, newWidth, newHeight, true);
-			if (scale != null) {
-				bm.recycle();
-				bm = scale;
-			}
-
-			if (crop) {
-				final Bitmap cropped = Bitmap.createBitmap(bm, (bm.getWidth() - width) >> 1, (bm.getHeight() - height) >> 1, width, height);
-				if (cropped == null) {
-					return bm;
-				}
-
-				bm.recycle();
-				bm = cropped;
-				Log.i(TAG, "bitmap croped size=" + bm.getWidth() + "x" + bm.getHeight());
-			}
-			return bm;
-
-		} catch (final OutOfMemoryError e) {
-			Log.e(TAG, "decode bitmap failed: " + e.getMessage());
-			options = null;
-		}
-
-		return null;
-	}
-}

+ 0 - 93
miaomiao/plugins/cordova-plugin-wechat/temp/src/android/WXEntryActivity.java

xqd
@@ -1,93 +0,0 @@
-package __PACKAGE_NAME__;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-
-import com.tencent.mm.sdk.constants.ConstantsAPI;
-import com.tencent.mm.sdk.modelbase.BaseResp;
-import com.tencent.mm.sdk.modelmsg.SendAuth;
-import com.tencent.mm.sdk.openapi.IWXAPIEventHandler;
-
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import xu.li.cordova.wechat.Wechat;
-
-public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        Wechat.wxAPI.handleIntent(getIntent(), this);
-    }
-
-    @Override
-    protected void onNewIntent(Intent intent) {
-        super.onNewIntent(intent);
-        setIntent(intent);
-        Wechat.wxAPI.handleIntent(intent, this);
-    }
-
-    @Override
-    public void onResp(BaseResp resp) {
-        Log.d(Wechat.TAG, resp.toString());
-
-        switch (resp.errCode) {
-            case BaseResp.ErrCode.ERR_OK:
-                switch (resp.getType()) {
-                    case ConstantsAPI.COMMAND_SENDAUTH:
-                        auth(resp);
-                        break;
-                    default:
-                        Wechat.currentCallbackContext.success();
-                        break;
-                }
-                break;
-            case BaseResp.ErrCode.ERR_USER_CANCEL:
-                Wechat.currentCallbackContext.error(Wechat.ERROR_USER_CANCEL);
-                break;
-            case BaseResp.ErrCode.ERR_AUTH_DENIED:
-                Wechat.currentCallbackContext.error(Wechat.ERROR_AUTH_DENIED);
-                break;
-            case BaseResp.ErrCode.ERR_SENT_FAILED:
-                Wechat.currentCallbackContext.error(Wechat.ERROR_SENT_FAILED);
-                break;
-            case BaseResp.ErrCode.ERR_UNSUPPORT:
-                Wechat.currentCallbackContext.error(Wechat.ERROR_UNSUPPORT);
-                break;
-            case BaseResp.ErrCode.ERR_COMM:
-                Wechat.currentCallbackContext.error(Wechat.ERROR_COMMON);
-                break;
-            default:
-                Wechat.currentCallbackContext.error(Wechat.ERROR_UNKNOWN);
-                break;
-        }
-
-        finish();
-    }
-
-    private void auth(BaseResp resp) {
-        SendAuth.Resp res = ((SendAuth.Resp) resp);
-
-        Log.d(Wechat.TAG, res.toString());
-
-        JSONObject response = new JSONObject();
-        try {
-            response.put("code", res.code);
-            response.put("state", res.state);
-            response.put("country", res.country);
-            response.put("lang", res.lang);
-        } catch (JSONException e) {
-            Log.e(Wechat.TAG, e.getMessage());
-        }
-
-        Wechat.currentCallbackContext.success(response);
-    }
-
-    @Override
-    public void onReq(com.tencent.mm.sdk.modelbase.BaseReq req) {
-        finish();
-    }
-}

+ 0 - 372
miaomiao/plugins/cordova-plugin-wechat/temp/src/android/Wechat.java

xqd
@@ -1,372 +0,0 @@
-package xu.li.cordova.wechat;
-
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.os.Environment;
-import android.util.Log;
-import android.webkit.URLUtil;
-
-import com.tencent.mm.sdk.modelmsg.SendAuth;
-import com.tencent.mm.sdk.modelmsg.SendMessageToWX;
-import com.tencent.mm.sdk.modelmsg.WXImageObject;
-import com.tencent.mm.sdk.modelmsg.WXMediaMessage;
-import com.tencent.mm.sdk.modelmsg.WXTextObject;
-import com.tencent.mm.sdk.modelmsg.WXWebpageObject;
-import com.tencent.mm.sdk.modelpay.PayReq;
-import com.tencent.mm.sdk.openapi.IWXAPI;
-import com.tencent.mm.sdk.openapi.WXAPIFactory;
-
-import org.apache.cordova.CallbackContext;
-import org.apache.cordova.CordovaPlugin;
-import org.json.JSONArray;
-import org.json.JSONException;
-import org.json.JSONObject;
-
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-public class Wechat extends CordovaPlugin {
-
-    public static final String TAG = "Cordova.Plugin.Wechat";
-
-    public static final String WXAPPID_PROPERTY_KEY = "wechatappid";
-
-    public static final String ERROR_WECHAT_NOT_INSTALLED = "未安装微信";
-    public static final String ERROR_INVALID_PARAMETERS = "参数错误";
-    public static final String ERROR_USER_CANCEL = "用户点击取消并返回";
-    public static final String ERROR_AUTH_DENIED = "授权失败";
-    public static final String ERROR_SENT_FAILED = "发送失败";
-    public static final String ERROR_UNSUPPORT = "微信不支持";
-    public static final String ERROR_COMMON = "普通错误类型";
-    public static final String ERROR_UNKNOWN = "未知错误";
-
-    public static final String EXTERNAL_STORAGE_IMAGE_PREFIX = "external://";
-
-    public static final String KEY_ARG_MESSAGE = "message";
-    public static final String KEY_ARG_SCENE = "scene";
-    public static final String KEY_ARG_TEXT = "text";
-    public static final String KEY_ARG_MESSAGE_TITLE = "title";
-    public static final String KEY_ARG_MESSAGE_DESCRIPTION = "description";
-    public static final String KEY_ARG_MESSAGE_THUMB = "thumb";
-    public static final String KEY_ARG_MESSAGE_MEDIA = "media";
-    public static final String KEY_ARG_MESSAGE_MEDIA_TYPE = "type";
-    public static final String KEY_ARG_MESSAGE_MEDIA_WEBPAGEURL = "webpageUrl";
-    public static final String KEY_ARG_MESSAGE_MEDIA_IMAGE = "image";
-    public static final String KEY_ARG_MESSAGE_MEDIA_TEXT = "text";
-
-    public static final int TYPE_WX_SHARING_APP = 1;
-    public static final int TYPE_WX_SHARING_EMOTION = 2;
-    public static final int TYPE_WX_SHARING_FILE = 3;
-    public static final int TYPE_WX_SHARING_IMAGE = 4;
-    public static final int TYPE_WX_SHARING_MUSIC = 5;
-    public static final int TYPE_WX_SHARING_VIDEO = 6;
-    public static final int TYPE_WX_SHARING_WEBPAGE = 7;
-    public static final int TYPE_WX_SHARING_TEXT = 8;
-
-    public static final int SCENE_SESSION = 0;
-    public static final int SCENE_TIMELINE = 1;
-    public static final int SCENE_FAVORITE = 2;
-
-    public static IWXAPI wxAPI;
-    public static CallbackContext currentCallbackContext;
-
-    protected String appId;
-
-    @Override
-    protected void pluginInitialize() {
-
-        super.pluginInitialize();
-
-        if (wxAPI == null) {
-            wxAPI = WXAPIFactory.createWXAPI(webView.getContext(), getAppId(), true);
-        }
-
-        wxAPI.registerApp(webView.getPreferences().getString(WXAPPID_PROPERTY_KEY, ""));
-    }
-
-    @Override
-    public boolean execute(String action, JSONArray args,
-                           CallbackContext callbackContext) throws JSONException {
-
-        Log.d(TAG, action + " is called.");
-
-        if (action.equals("share")) {
-            return share(args, callbackContext);
-        } else if (action.equals("sendAuthRequest")) {
-            return sendAuthRequest(args, callbackContext);
-        } else if (action.equals("sendPaymentRequest")) {
-            return sendPaymentRequest(args, callbackContext);
-        } else if (action.equals("isWXAppInstalled")) {
-            return isInstalled(callbackContext);
-        }
-
-        return super.execute(action, args, callbackContext);
-    }
-
-    protected boolean share(JSONArray args, CallbackContext callbackContext)
-            throws JSONException {
-        final IWXAPI api = getWXAPI(true);
-
-        // check if installed
-        if (!api.isWXAppInstalled()) {
-            callbackContext.error(ERROR_WECHAT_NOT_INSTALLED);
-            return true;
-        }
-
-        // check if # of arguments is correct
-        if (args.length() != 1) {
-            callbackContext.error(ERROR_INVALID_PARAMETERS);
-            return true;
-        }
-
-        final JSONObject params = args.getJSONObject(0);
-        final SendMessageToWX.Req req = new SendMessageToWX.Req();
-        req.transaction = buildTransaction();
-
-        if (params.has(KEY_ARG_SCENE)) {
-            int scene = params.getInt(KEY_ARG_SCENE);
-            switch (scene) {
-                case SCENE_FAVORITE:
-                    req.scene = SendMessageToWX.Req.WXSceneFavorite;
-                    break;
-                case SCENE_TIMELINE:
-                    req.scene = SendMessageToWX.Req.WXSceneTimeline;
-                    break;
-                case SCENE_SESSION:
-                    req.scene = SendMessageToWX.Req.WXSceneSession;
-                    break;
-            }
-        } else {
-            req.scene = SendMessageToWX.Req.WXSceneTimeline;
-        }
-
-        // run in background
-        cordova.getThreadPool().execute(new Runnable() {
-
-            @Override
-            public void run() {
-                try {
-                    req.message = buildSharingMessage(params);
-                } catch (JSONException e) {
-                    Log.e(TAG, "Failed to build message." + e);
-                }
-
-                api.sendReq(req);
-                Log.d(TAG, "Message sent.");
-            }
-        });
-
-        // save the current callback context
-        currentCallbackContext = callbackContext;
-
-        return true;
-    }
-
-    protected boolean sendAuthRequest(JSONArray args, CallbackContext callbackContext) {
-        final IWXAPI api = getWXAPI(true);
-
-        int length = args.length();
-        final SendAuth.Req req = new SendAuth.Req();
-        try {
-            if (length == 1) {
-                req.scope = args.getString(0);
-            } else if (length == 2) {
-                req.scope = args.getString(0);
-                req.state = args.getString(1);
-            } else {
-                req.scope = "snsapi_userinfo";
-                req.state = "wechat";
-            }
-        } catch (Exception e) {
-            req.scope = "snsapi_userinfo";
-            req.state = "wechat";
-
-            Log.e(TAG, e.getMessage());
-        }
-
-        api.sendReq(req);
-        currentCallbackContext = callbackContext;
-
-        return true;
-    }
-
-    protected boolean sendPaymentRequest(JSONArray args, CallbackContext callbackContext) {
-
-        final IWXAPI api = getWXAPI(true);
-
-        // check if # of arguments is correct
-        if (args.length() != 1) {
-            callbackContext.error(ERROR_INVALID_PARAMETERS);
-            return true;
-        }
-
-        PayReq req = new PayReq();
-
-        try {
-            final JSONObject params = args.getJSONObject(0);
-
-            req.openId = getAppId();
-            req.partnerId = params.getString("mch_id");
-            req.prepayId = params.getString("prepay_id");
-            req.nonceStr = params.getString("nonce");
-            req.timeStamp = params.getString("timestamp");
-            req.sign = params.getString("sign");
-            req.packageValue = "Sign=WXPay";
-        } catch (Exception e) {
-            Log.e(TAG, e.getMessage());
-
-            callbackContext.error(ERROR_INVALID_PARAMETERS);
-            return true;
-        }
-
-        api.sendReq(req);
-        currentCallbackContext = callbackContext;
-
-        return true;
-    }
-
-    protected boolean isInstalled(CallbackContext callbackContext) {
-        final IWXAPI api = getWXAPI(true);
-
-        if (!api.isWXAppInstalled()) {
-            callbackContext.success(0);
-        } else {
-            callbackContext.success(1);
-        }
-        return true;
-    }
-
-    protected WXMediaMessage buildSharingMessage(JSONObject params)
-            throws JSONException {
-        Log.d(TAG, "Start building message.");
-
-        // media parameters
-        WXMediaMessage.IMediaObject mediaObject = null;
-        WXMediaMessage wxMediaMessage = new WXMediaMessage();
-
-        if (params.has(KEY_ARG_TEXT)) {
-            WXTextObject textObject = new WXTextObject();
-            textObject.text = params.getString(KEY_ARG_TEXT);
-            mediaObject = textObject;
-            wxMediaMessage.description = textObject.text;
-        } else {
-            JSONObject message = params.getJSONObject(KEY_ARG_MESSAGE);
-            JSONObject media = message.getJSONObject(KEY_ARG_MESSAGE_MEDIA);
-
-            wxMediaMessage.title = message.getString(KEY_ARG_MESSAGE_TITLE);
-            wxMediaMessage.description = message
-                    .getString(KEY_ARG_MESSAGE_DESCRIPTION);
-
-            // thumbnail
-            Bitmap thumbnail = getBitmap(message, KEY_ARG_MESSAGE_THUMB);
-            if (thumbnail != null) {
-                wxMediaMessage.setThumbImage(thumbnail);
-            }
-
-            // check types
-            int type = media.has(KEY_ARG_MESSAGE_MEDIA_TYPE) ? media
-                    .getInt(KEY_ARG_MESSAGE_MEDIA_TYPE) : TYPE_WX_SHARING_WEBPAGE;
-
-            switch (type) {
-                case TYPE_WX_SHARING_APP:
-                    break;
-
-                case TYPE_WX_SHARING_EMOTION:
-                    break;
-
-                case TYPE_WX_SHARING_FILE:
-                    break;
-
-                case TYPE_WX_SHARING_IMAGE:
-                    mediaObject = new WXImageObject(getBitmap(message.getJSONObject(KEY_ARG_MESSAGE_MEDIA), KEY_ARG_MESSAGE_MEDIA_IMAGE));
-                case TYPE_WX_SHARING_MUSIC:
-                    break;
-
-                case TYPE_WX_SHARING_VIDEO:
-                    break;
-
-                case TYPE_WX_SHARING_WEBPAGE:
-                default:
-                    mediaObject = new WXWebpageObject(media
-                            .getString(KEY_ARG_MESSAGE_MEDIA_WEBPAGEURL));
-            }
-        }
-
-        wxMediaMessage.mediaObject = mediaObject;
-
-        return wxMediaMessage;
-    }
-
-    protected IWXAPI getWXAPI() {
-        return getWXAPI(true);
-    }
-
-    protected IWXAPI getWXAPI(boolean register) {
-        String appId = getAppId();
-
-        if (wxAPI == null) {
-            wxAPI = WXAPIFactory.createWXAPI(webView.getContext(), appId, true);
-        }
-
-        if (register) {
-            wxAPI.registerApp(appId);
-        }
-
-        return wxAPI;
-    }
-
-    private String buildTransaction() {
-        return String.valueOf(System.currentTimeMillis());
-    }
-
-    private String buildTransaction(final String type) {
-        return type + System.currentTimeMillis();
-    }
-
-    protected Bitmap getBitmap(JSONObject message, String key) {
-        HttpURLConnection conn = null;
-        InputStream is = null;
-        Bitmap bmp = null;
-        String url = null;
-
-        try {
-            url = message.getString(key);
-
-            if (URLUtil.isHttpUrl(url) || URLUtil.isHttpsUrl(url)) {
-                conn = (HttpURLConnection)new URL(url).openConnection();
-                is = conn.getInputStream();
-            } else {
-                if (url.startsWith(EXTERNAL_STORAGE_IMAGE_PREFIX)) { // external path
-                    url = Environment.getExternalStorageDirectory().getAbsolutePath() + url.substring(EXTERNAL_STORAGE_IMAGE_PREFIX.length());
-                    is = new FileInputStream(url);
-                } else if (!url.startsWith("/")) { // relative path
-                    is = cordova.getActivity().getApplicationContext().getAssets().open(url);
-                } else {
-                    is = new FileInputStream(url);
-                }
-            }
-
-            bmp = BitmapFactory.decodeStream(is);
-            is.close();
-        } catch (Exception e) {
-            Log.e(TAG, "Failed to decode image at " + url, e);
-            bmp = null;
-        } finally {
-            if (conn != null) {
-                conn.disconnect();
-            }
-        }
-
-        return bmp;
-    }
-
-    protected String getAppId() {
-        if (this.appId == null) {
-            this.appId = preferences.getString(WXAPPID_PROPERTY_KEY, "");
-        }
-
-        return this.appId;
-    }
-}

BIN
miaomiao/plugins/cordova-plugin-wechat/temp/src/android/libammsdk.jar


+ 0 - 33
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/CDVWechat.h

xqd
@@ -1,33 +0,0 @@
-//
-//  CDVWechat.h
-//  cordova-plugin-wechat
-//
-//  Created by xu.li on 12/23/13.
-//
-//
-
-#import <Cordova/CDV.h>
-#import "WXApi.h"
-#import "WXApiObject.h"
-
-enum  CDVWechatSharingType {
-    CDVWXSharingTypeApp = 1,
-    CDVWXSharingTypeEmotion,
-    CDVWXSharingTypeFile,
-    CDVWXSharingTypeImage,
-    CDVWXSharingTypeMusic,
-    CDVWXSharingTypeVideo,
-    CDVWXSharingTypeWebPage
-};
-
-@interface CDVWechat:CDVPlugin <WXApiDelegate>
-
-@property (nonatomic, strong) NSString *currentCallbackId;
-@property (nonatomic, strong) NSString *wechatAppId;
-
-- (void)isWXAppInstalled:(CDVInvokedUrlCommand *)command;
-- (void)share:(CDVInvokedUrlCommand *)command;
-- (void)sendAuthRequest:(CDVInvokedUrlCommand *)command;
-- (void)sendPaymentRequest:(CDVInvokedUrlCommand *)command;
-
-@end

+ 0 - 363
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/CDVWechat.m

xqd
@@ -1,363 +0,0 @@
-//
-//  CDVWechat.m
-//  cordova-plugin-wechat
-//
-//  Created by xu.li on 12/23/13.
-//
-//
-
-#import "CDVWechat.h"
-
-@implementation CDVWechat
-
-#pragma mark "API"
-- (void)pluginInitialize {
-    NSString* appId = [[self.commandDelegate settings] objectForKey:@"wechatappid"];
-    if(appId){
-        self.wechatAppId = appId;
-        [WXApi registerApp: appId];
-    }   
-}
-
-- (void)isWXAppInstalled:(CDVInvokedUrlCommand *)command
-{
-    CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:[WXApi isWXAppInstalled]];
-    
-    [self.commandDelegate sendPluginResult:commandResult callbackId:command.callbackId];
-}
-
-- (void)share:(CDVInvokedUrlCommand *)command
-{
-    // if not installed
-    if (![WXApi isWXAppInstalled])
-    {
-        [self failWithCallbackID:command.callbackId withMessage:@"未安装微信"];
-        return ;
-    }
-    
-    // check arguments
-    NSDictionary *params = [command.arguments objectAtIndex:0];
-    if (!params)
-    {
-        [self failWithCallbackID:command.callbackId withMessage:@"参数格式错误"];
-        return ;
-    }
-    
-    // save the callback id
-    self.currentCallbackId = command.callbackId;
-    
-    SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init];
-    
-    // check the scene
-    if ([params objectForKey:@"scene"])
-    {
-        req.scene = (int)[[params objectForKey:@"scene"] integerValue];
-    }
-    else
-    {
-        req.scene = WXSceneTimeline;
-    }
-    
-    // message or text?
-    NSDictionary *message = [params objectForKey:@"message"];
-    
-    if (message)
-    {
-        req.bText = NO;
-        
-        // async
-        [self.commandDelegate runInBackground:^{
-            req.message = [self buildSharingMessage:message];
-            if (![WXApi sendReq:req])
-            {
-                [self failWithCallbackID:command.callbackId withMessage:@"参数错误"];
-                self.currentCallbackId = nil;
-            }
-        }];
-    }
-    else
-    {
-        req.bText = YES;
-        req.text = [params objectForKey:@"text"];
-        
-        if (![WXApi sendReq:req])
-        {
-            [self failWithCallbackID:command.callbackId withMessage:@"参数错误"];
-            self.currentCallbackId = nil;
-        }
-    }
-}
-
-- (void)sendAuthRequest:(CDVInvokedUrlCommand *)command
-{
-    SendAuthReq* req =[[SendAuthReq alloc] init];
-    
-    // scope
-    if ([command.arguments count] > 0)
-    {
-        req.scope = [command.arguments objectAtIndex:0];
-    }
-    else
-    {
-        req.scope = @"snsapi_userinfo";
-    }
-    
-    // state
-    if ([command.arguments count] > 1)
-    {
-        req.state = [command.arguments objectAtIndex:1];
-    }
-    
-    if ([WXApi sendReq:req])
-    {
-        // save the callback id
-        self.currentCallbackId = command.callbackId;
-    }
-    else
-    {
-        [self failWithCallbackID:command.callbackId withMessage:@"参数错误"];
-    }
-}
-
-- (void)sendPaymentRequest:(CDVInvokedUrlCommand *)command
-{
-    // check arguments
-    NSDictionary *params = [command.arguments objectAtIndex:0];
-    if (!params)
-    {
-        [self failWithCallbackID:command.callbackId withMessage:@"参数格式错误"];
-        return ;
-    }
-    
-    // check required parameters
-    for (NSString *key in @[@"mch_id", @"prepay_id", @"timestamp", @"nonce", @"package", @"sign"])
-    {
-        if (![params objectForKey:key])
-        {
-            [self failWithCallbackID:command.callbackId withMessage:@"参数格式错误"];
-            return ;
-        }
-    }
-    
-    PayReq *req = [[PayReq alloc] init];
-    req.openID = self.wechatAppId;
-    req.partnerId = params[@"mch_id"];
-    req.prepayId = params[@"prepay_id"];
-    req.timeStamp = [params[@"timestamp"] intValue];
-    req.nonceStr = params[@"nonce"];
-    req.package = params[@"package"];
-    req.sign = params[@"sign"];
-
-    if ([WXApi sendReq:req])
-    {
-        // save the callback id
-        self.currentCallbackId = command.callbackId;
-    }
-    else
-    {
-        [self failWithCallbackID:command.callbackId withMessage:@"参数错误"];
-    }
-}
-
-#pragma mark "WXApiDelegate"
-
-/**
- * Not implemented
- */
-- (void)onReq:(BaseReq *)req
-{
-    NSLog(@"%@", req);
-}
-
-- (void)onResp:(BaseResp *)resp
-{
-    BOOL success = NO;
-    NSString *message = @"Unknown";
-    NSDictionary *response = nil;
-    
-    switch (resp.errCode)
-    {
-        case WXSuccess:
-            success = YES;
-            break;
-            
-        case WXErrCodeCommon:
-            message = @"普通错误类型";
-            break;
-            
-        case WXErrCodeUserCancel:
-            message = @"用户点击取消并返回";
-            break;
-            
-        case WXErrCodeSentFail:
-            message = @"发送失败";
-            break;
-            
-        case WXErrCodeAuthDeny:
-            message = @"授权失败";
-            break;
-            
-        case WXErrCodeUnsupport:
-            message = @"微信不支持";
-            break;
-    }
-    
-    if (success)
-    {
-        if ([resp isKindOfClass:[SendAuthResp class]])
-        {
-            // fix issue that lang and country could be nil for iPhone 6 which caused crash.
-            SendAuthResp* authResp = (SendAuthResp*)resp;
-            response = @{
-                         @"code": authResp.code != nil ? authResp.code : @"",
-                         @"state": authResp.state != nil ? authResp.state : @"",
-                         @"lang": authResp.lang != nil ? authResp.lang : @"",
-                         @"country": authResp.country != nil ? authResp.country : @"",
-                         };
-            
-            CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:response];
-            
-            [self.commandDelegate sendPluginResult:commandResult callbackId:self.currentCallbackId];
-        }
-        else
-        {
-            [self successWithCallbackID:self.currentCallbackId];
-        }
-    }
-    else
-    {
-        [self failWithCallbackID:self.currentCallbackId withMessage:message];
-    }
-    
-    self.currentCallbackId = nil;
-}
-
-#pragma mark "CDVPlugin Overrides"
-
-- (void)handleOpenURL:(NSNotification *)notification
-{
-    NSURL* url = [notification object];
-    
-    if ([url isKindOfClass:[NSURL class]] && [url.scheme isEqualToString:self.wechatAppId])
-    {
-        [WXApi handleOpenURL:url delegate:self];
-    }
-}
-
-#pragma mark "Private methods"
-
-- (WXMediaMessage *)buildSharingMessage:(NSDictionary *)message
-{
-    WXMediaMessage *wxMediaMessage = [WXMediaMessage message];
-    wxMediaMessage.title = [message objectForKey:@"title"];
-    wxMediaMessage.description = [message objectForKey:@"description"];
-    wxMediaMessage.mediaTagName = [message objectForKey:@"mediaTagName"];
-    wxMediaMessage.messageExt = [message objectForKey:@"messageExt"];
-    wxMediaMessage.messageAction = [message objectForKey:@"messageAction"];
-    if ([message objectForKey:@"thumb"])
-    {
-        [wxMediaMessage setThumbImage:[self getUIImageFromURL:[message objectForKey:@"thumb"]]];
-    }
-    
-    // media parameters
-    id mediaObject = nil;
-    NSDictionary *media = [message objectForKey:@"media"];
-    
-    // check types
-    NSInteger type = [[media objectForKey:@"type"] integerValue];
-    switch (type)
-    {
-        case CDVWXSharingTypeApp:
-            mediaObject = [WXAppExtendObject object];
-            ((WXAppExtendObject*)mediaObject).extInfo = [media objectForKey:@"extInfo"];
-            ((WXAppExtendObject*)mediaObject).url = [media objectForKey:@"url"];
-            break;
-            
-        case CDVWXSharingTypeEmotion:
-            mediaObject = [WXEmoticonObject object];
-            ((WXEmoticonObject*)mediaObject).emoticonData = [self getNSDataFromURL:[media objectForKey:@"emotion"]];
-            break;
-            
-        case CDVWXSharingTypeFile:
-            mediaObject = [WXFileObject object];
-            ((WXFileObject*)mediaObject).fileData = [self getNSDataFromURL:[media objectForKey:@"file"]];
-            break;
-            
-        case CDVWXSharingTypeImage:
-            mediaObject = [WXImageObject object];
-            ((WXImageObject*)mediaObject).imageData = [self getNSDataFromURL:[media objectForKey:@"image"]];
-            break;
-            
-        case CDVWXSharingTypeMusic:
-            mediaObject = [WXMusicObject object];
-            ((WXMusicObject*)mediaObject).musicUrl = [media objectForKey:@"musicUrl"];
-            ((WXMusicObject*)mediaObject).musicDataUrl = [media objectForKey:@"musicDataUrl"];
-            break;
-            
-        case CDVWXSharingTypeVideo:
-            mediaObject = [WXVideoObject object];
-            ((WXVideoObject*)mediaObject).videoUrl = [media objectForKey:@"videoUrl"];
-            break;
-            
-        case CDVWXSharingTypeWebPage:
-        default:
-            mediaObject = [WXWebpageObject object];
-            ((WXWebpageObject *)mediaObject).webpageUrl = [media objectForKey:@"webpageUrl"];
-    }
-    
-    wxMediaMessage.mediaObject = mediaObject;
-    return wxMediaMessage;
-}
-
-- (NSData *)getNSDataFromURL:(NSString *)url
-{
-    NSData *data = nil;
-    
-    if ([url hasPrefix:@"http://"] || [url hasPrefix:@"https://"])
-    {
-        data = [NSData dataWithContentsOfURL:[NSURL URLWithString:url]];
-    }
-    else if ([url rangeOfString:@"temp:"].length != 0)
-    {
-        url =  [NSTemporaryDirectory() stringByAppendingPathComponent:[url componentsSeparatedByString:@"temp:"][1]];
-        data = [NSData dataWithContentsOfFile:url];
-    }
-    else
-    {
-        // local file
-        url = [[NSBundle mainBundle] pathForResource:[url stringByDeletingPathExtension] ofType:[url pathExtension]];
-        data = [NSData dataWithContentsOfFile:url];
-    }
-    
-    return data;
-}
-
-- (UIImage *)getUIImageFromURL:(NSString *)url
-{
-    NSData *data = [self getNSDataFromURL:url];
-    return [UIImage imageWithData:data];
-}
-
-- (void)successWithCallbackID:(NSString *)callbackID
-{
-    [self successWithCallbackID:callbackID withMessage:@"OK"];
-}
-
-- (void)successWithCallbackID:(NSString *)callbackID withMessage:(NSString *)message
-{
-    CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:message];
-    [self.commandDelegate sendPluginResult:commandResult callbackId:callbackID];
-}
-
-- (void)failWithCallbackID:(NSString *)callbackID withError:(NSError *)error
-{
-    [self failWithCallbackID:callbackID withMessage:[error localizedDescription]];
-}
-
-- (void)failWithCallbackID:(NSString *)callbackID withMessage:(NSString *)message
-{
-    CDVPluginResult *commandResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsString:message];
-    [self.commandDelegate sendPluginResult:commandResult callbackId:callbackID];
-}
-
-@end

+ 0 - 157
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/WXApi.h

xqd
@@ -1,157 +0,0 @@
-//
-//  WXApi.h
-//  所有Api接口
-//
-//  Created by Wechat on 12-2-28.
-//  Copyright (c) 2012年 Tencent. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "WXApiObject.h"
-
-
-#pragma mark - WXApiDelegate
-/*! @brief 接收并处理来自微信终端程序的事件消息
- *
- * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。
- * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。
- */
-@protocol WXApiDelegate <NSObject>
-@optional
-
-/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果
- *
- * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。
- * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。
- * @param req 具体请求内容,是自动释放的
- */
--(void) onReq:(BaseReq*)req;
-
-
-
-/*! @brief 发送一个sendReq后,收到微信的回应
- *
- * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。
- * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。
- * @param resp具体的回应内容,是自动释放的
- */
--(void) onResp:(BaseResp*)resp;
-
-@end
-
-
-
-#pragma mark - WXApi
-
-/*! @brief 微信Api接口函数类
- *
- * 该类封装了微信终端SDK的所有接口
- */
-@interface WXApi : NSObject
-
-/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
- *
- * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。
- * iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。
- * @attention 请保证在主线程中调用此函数
- * @param appid 微信开发者ID
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) registerApp:(NSString *)appid;
-
-
-
-/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
- *
- * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。
- * @see registerApp
- * @param appid 微信开发者ID
- * @param appdesc 应用附加信息,长度不超过1024字节
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) registerApp:(NSString *)appid withDescription:(NSString *)appdesc;
-
-
-
-/*! @brief 处理微信通过URL启动App时传递的数据
- *
- * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。
- * @param url 微信启动第三方应用时传递过来的URL
- * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) handleOpenURL:(NSURL *) url delegate:(id<WXApiDelegate>) delegate;
-
-
-
-/*! @brief 检查微信是否已被用户安装
- *
- * @return 微信已安装返回YES,未安装返回NO。
- */
-+(BOOL) isWXAppInstalled;
-
-
-
-/*! @brief 判断当前微信的版本是否支持OpenApi
- *
- * @return 支持返回YES,不支持返回NO。
- */
-+(BOOL) isWXAppSupportApi;
-
-
-
-/*! @brief 获取微信的itunes安装地址
- *
- * @return 微信的安装地址字符串。
- */
-+(NSString *) getWXAppInstallUrl;
-
-
-
-/*! @brief 获取当前微信SDK的版本号
- *
- * @return 返回当前微信SDK的版本号
- */
-+(NSString *) getApiVersion;
-
-
-
-/*! @brief 打开微信
- *
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) openWXApp;
-
-
-
-/*! @brief 发送请求到微信,等待微信返回onResp
- *
- * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型
- * SendAuthReq、SendMessageToWXReq、PayReq等。
- * @param req 具体的发送请求,在调用函数后,请自己释放。
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) sendReq:(BaseReq*)req;
-
-/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp
- *
- * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。
- * @param req 具体的发送请求,在调用函数后,请自己释放。
- * @param viewController 当前界面对象。
- * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id<WXApiDelegate>) delegate;
-
-
-/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面
- *
- * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有
- * GetMessageFromWXResp、ShowMessageFromWXResp等。
- * @param resp 具体的应答内容,调用函数后,请自己释放
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) sendResp:(BaseResp*)resp;
-
-
-@end

+ 0 - 605
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/WXApiObject.h

xqd
@@ -1,605 +0,0 @@
-//
-//  MMApiObject.h
-//  Api对象,包含所有接口和对象数据定义
-//
-//  Created by Wechat on 12-2-28.
-//  Copyright (c) 2012年 Tencent. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-/*! @brief 错误码
- *
- */
-enum  WXErrCode {
-    WXSuccess           = 0,    /**< 成功    */
-    WXErrCodeCommon     = -1,   /**< 普通错误类型    */
-    WXErrCodeUserCancel = -2,   /**< 用户点击取消并返回    */
-    WXErrCodeSentFail   = -3,   /**< 发送失败    */
-    WXErrCodeAuthDeny   = -4,   /**< 授权失败    */
-    WXErrCodeUnsupport  = -5,   /**< 微信不支持    */
-};
-
-
-
-/*! @brief 请求发送场景
- *
- */
-enum WXScene {
-    WXSceneSession  = 0,        /**< 聊天界面    */
-    WXSceneTimeline = 1,        /**< 朋友圈      */
-    WXSceneFavorite = 2,        /**< 收藏       */
-};
-
-
-
-enum WXAPISupport {
-    WXAPISupportSession = 0,
-};
-
-
-
-/*! @brief 跳转profile类型
- *
- */
-enum WXBizProfileType{
-    WXBizProfileType_Normal = 0,    //**< 普通公众号  */
-    WXBizProfileType_Device = 1,    //**< 硬件公众号  */
-};
-
-
-
-/*! @brief 跳转mp网页类型
- *
- */
-enum WXMPWebviewType {
-    WXMPWebviewType_Ad = 0,        /**< 广告网页 **/
-};
-
-#pragma mark - BaseReq
-/*! @brief 该类为微信终端SDK所有请求类的基类
- *
- */
-@interface BaseReq : NSObject
-
-/** 请求类型 */
-@property (nonatomic, assign) int type;
-/** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/
-@property (nonatomic, retain) NSString* openID;
-
-@end
-
-
-
-#pragma mark - BaseResp
-/*! @brief 该类为微信终端SDK所有响应类的基类
- *
- */
-@interface BaseResp : NSObject
-/** 错误码 */
-@property (nonatomic, assign) int errCode;
-/** 错误提示字符串 */
-@property (nonatomic, retain) NSString *errStr;
-/** 响应类型 */
-@property (nonatomic, assign) int type;
-
-@end
-
-
-
-#pragma mark - WXMediaMessage
-@class WXMediaMessage;
-
-/*! @brief 第三方向微信终端发起支付的消息结构体
- *
- *  第三方向微信终端发起支付的消息结构体,微信终端处理后会向第三方返回处理结果
- * @see PayResp
- */
-@interface PayReq : BaseReq
-
-/** 商家向财付通申请的商家id */
-@property (nonatomic, retain) NSString *partnerId;
-/** 预支付订单 */
-@property (nonatomic, retain) NSString *prepayId;
-/** 随机串,防重发 */
-@property (nonatomic, retain) NSString *nonceStr;
-/** 时间戳,防重发 */
-@property (nonatomic, assign) UInt32 timeStamp;
-/** 商家根据财付通文档填写的数据和签名 */
-@property (nonatomic, retain) NSString *package;
-/** 商家根据微信开放平台文档对数据做的签名 */
-@property (nonatomic, retain) NSString *sign;
-
-@end
-
-
-
-#pragma mark - PayResp
-/*! @brief 微信终端返回给第三方的关于支付结果的结构体
- *
- *  微信终端返回给第三方的关于支付结果的结构体
- */
-@interface PayResp : BaseResp
-
-/** 财付通返回给商家的信息 */
-@property (nonatomic, retain) NSString *returnKey;
-
-@end
-
-
-
-#pragma mark - SendAuthReq
-/*! @brief 第三方程序向微信终端请求认证的消息结构
- *
- * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,
- * 向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
- * @see SendAuthResp
- */
-@interface SendAuthReq : BaseReq
-/** 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
- * @see SendAuthResp
- * @note scope字符串长度不能超过1K
- */
-@property (nonatomic, retain) NSString* scope;
-/** 第三方程序本身用来标识其请求的唯一性,最后跳转回第三方程序时,由微信终端回传。
- * @note state字符串长度不能超过1K
- */
-@property (nonatomic, retain) NSString* state;
-@end
-
-
-
-#pragma mark - SendAuthResp
-/*! @brief 微信处理完第三方程序的认证和权限申请后向第三方程序回送的处理结果。
- *
- * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。
- * 微信终端处理完后会向第三方程序发送一个SendAuthResp。
- * @see onResp
- */
-@interface SendAuthResp : BaseResp
-@property (nonatomic, retain) NSString* code;
-/** 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传
- * @note state字符串长度不能超过1K
- */
-@property (nonatomic, retain) NSString* state;
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - SendMessageToWXReq
-/*! @brief 第三方程序发送消息至微信终端程序的消息结构体
- *
- * 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息,
- * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。
- * @see SendMessageToWXResp
- */
-@interface SendMessageToWXReq : BaseReq
-/** 发送消息的文本内容
- * @note 文本长度必须大于0且小于10K
- */
-@property (nonatomic, retain) NSString* text;
-/** 发送消息的多媒体内容
- * @see WXMediaMessage
- */
-@property (nonatomic, retain) WXMediaMessage* message;
-/** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
-@property (nonatomic, assign) BOOL bText;
-/** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。
- * @see WXScene
- */
-@property (nonatomic, assign) int scene;
-
-@end
-
-
-
-#pragma mark - SendMessageToWXResp
-/*! @brief 微信终端向第三方程序返回的SendMessageToWXReq处理结果。
- *
- * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。
- */
-@interface SendMessageToWXResp : BaseResp
-@property(nonatomic, retain) NSString* lang;
-@property(nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - GetMessageFromWXReq
-/*! @brief 微信终端向第三方程序请求提供内容的消息结构体。
- *
- * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq消息结构体,
- * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。
- */
-@interface GetMessageFromWXReq : BaseReq
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - GetMessageFromWXResp
-/*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回的消息结构体。
- *
- * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。
- */
-@interface GetMessageFromWXResp : BaseResp
-/** 向微信终端提供的文本内容
- @note 文本长度必须大于0且小于10K
- */
-@property (nonatomic, retain) NSString* text;
-/** 向微信终端提供的多媒体内容。
- * @see WXMediaMessage
- */
-@property (nonatomic, retain) WXMediaMessage* message;
-/** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
-@property (nonatomic, assign) BOOL bText;
-@end
-
-
-
-#pragma mark - ShowMessageFromWXReq
-/*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。
- *
- * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
- * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
- */
-@interface ShowMessageFromWXReq : BaseReq
-/** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容
- * @see WXMediaMessage
- */
-@property (nonatomic, retain) WXMediaMessage* message;
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - ShowMessageFromWXResp
-/*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。
- *
- * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
- * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
- */
-@interface ShowMessageFromWXResp : BaseResp
-@end
-
-
-
-#pragma mark - LaunchFromWXReq
-/*! @brief 微信终端打开第三方程序携带的消息结构体
- *
- *  微信向第三方发送的结构体,第三方不需要返回
- */
-@interface LaunchFromWXReq : BaseReq
-@property (nonatomic, retain) WXMediaMessage* message;
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-#pragma mark - JumpToBizProfileReq
-/* ! @brief 第三方通知微信,打开指定微信号profile页面
- *
- * 第三方通知微信,打开指定微信号profile页面
- */
-@interface JumpToBizProfileReq : BaseReq
-/** 跳转到该公众号的profile
- * @attention 长度不能超过512字节
- */
-@property (nonatomic, retain) NSString* username;
-/** 如果用户加了该公众号为好友,extMsg会上传到服务器
- * @attention 长度不能超过1024字节
- */
-@property (nonatomic, retain) NSString* extMsg;
-/**
- * 跳转的公众号类型
- * @see WXBizProfileType
- */
-@property (nonatomic, assign) int profileType;
-@end
-
-
-
-#pragma mark - JumpToBizWebviewReq
-/* ! @brief 第三方通知微信,打开指定usrname的profile网页版
- *
- */
-@interface JumpToBizWebviewReq : BaseReq
-/** 跳转的网页类型,目前只支持广告页
- * @see WXMPWebviewType
- */
-@property(nonatomic, assign) int webType;
-/** 跳转到该公众号的profile网页版
- * @attention 长度不能超过512字节
- */
-@property(nonatomic, retain) NSString* tousrname;
-/** 如果用户加了该公众号为好友,extMsg会上传到服务器
- * @attention 长度不能超过1024字节
- */
-@property(nonatomic, retain) NSString* extMsg;
-
-@end
-
-#pragma mark - WXCardItem
-
-@interface WXCardItem : NSObject
-/** 卡id
- * @attention 长度不能超过1024字节
- */
-@property (nonatomic,retain) NSString* cardId;
-/** ext信息
- * @attention 长度不能超过2024字节
- */
-@property (nonatomic,retain) NSString* extMsg;
-/**
- * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。
- */
-@property (nonatomic,assign) UInt32 cardState;
-@end;
-
-#pragma mark - AddCardToWXCardPackageReq
-/* ! @brief 请求添加卡券至微信卡包
- *
- */
-
-@interface AddCardToWXCardPackageReq : BaseReq
-/** 卡列表
- * @attention 个数不能超过40个 类型WXCardItem
- */
-@property (nonatomic,retain) NSArray* cardAry;
-
-@end
-
-
-#pragma mark - AddCardToWXCardPackageResp
-/** ! @brief 微信返回第三方添加卡券结果
- *
- */
-
-@interface AddCardToWXCardPackageResp : BaseResp
-/** 卡列表
- * @attention 个数不能超过40个 类型WXCardItem
- */
-@property (nonatomic,retain) NSArray* cardAry;
-@end
-
-
-#pragma mark - WXMediaMessage
-
-/*! @brief 多媒体消息结构体
- *
- * 用于微信终端和第三方程序之间传递消息的多媒体消息内容
- */
-@interface WXMediaMessage : NSObject
-
-+(WXMediaMessage *) message;
-
-/** 标题
- * @note 长度不能超过512字节
- */
-@property (nonatomic, retain) NSString *title;
-/** 描述内容
- * @note 长度不能超过1K
- */
-@property (nonatomic, retain) NSString *description;
-/** 缩略图数据
- * @note 大小不能超过32K
- */
-@property (nonatomic, retain) NSData   *thumbData;
-/**
- * @note 长度不能超过64字节
- */
-@property (nonatomic, retain) NSString *mediaTagName;
-/**
- *
- */
-@property (nonatomic, retain) NSString *messageExt;
-@property (nonatomic, retain) NSString *messageAction;
-/**
- * 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
- */
-@property (nonatomic, retain) id        mediaObject;
-
-/*! @brief 设置消息缩略图的方法
- *
- * @param image 缩略图
- * @note 大小不能超过32K
- */
-- (void) setThumbImage:(UIImage *)image;
-
-@end
-
-
-
-#pragma mark - WXImageObject
-/*! @brief 多媒体消息中包含的图片数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的图片数据对象。
- * @note imageData和imageUrl成员不能同时为空
- * @see WXMediaMessage
- */
-@interface WXImageObject : NSObject
-/*! @brief 返回一个WXImageObject对象
- *
- * @note 返回的WXImageObject对象是自动释放的
- */
-+(WXImageObject *) object;
-
-/** 图片真实数据内容
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData    *imageData;
-/** 图片url
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString  *imageUrl;
-
-@end
-
-
-#pragma mark - WXMusicObject
-/*! @brief 多媒体消息中包含的音乐数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。
- * @note musicUrl和musicLowBandUrl成员不能同时为空。
- * @see WXMediaMessage
- */
-@interface WXMusicObject : NSObject
-/*! @brief 返回一个WXMusicObject对象
- *
- * @note 返回的WXMusicObject对象是自动释放的
- */
-+(WXMusicObject *) object;
-
-/** 音乐网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicUrl;
-/** 音乐lowband网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicLowBandUrl;
-/** 音乐数据url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicDataUrl;
-
-/**音乐lowband数据url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicLowBandDataUrl;
-
-@end
-
-
-
-#pragma mark - WXVideoObject
-/*! @brief 多媒体消息中包含的视频数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的视频数据对象。
- * @note videoUrl和videoLowBandUrl不能同时为空。
- * @see WXMediaMessage
- */
-@interface WXVideoObject : NSObject
-/*! @brief 返回一个WXVideoObject对象
- *
- * @note 返回的WXVideoObject对象是自动释放的
- */
-+(WXVideoObject *) object;
-
-/** 视频网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *videoUrl;
-/** 视频lowband网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *videoLowBandUrl;
-
-@end
-
-
-
-#pragma mark - WXWebpageObject
-/*! @brief 多媒体消息中包含的网页数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的网页数据对象。
- * @see WXMediaMessage
- */
-@interface WXWebpageObject : NSObject
-/*! @brief 返回一个WXWebpageObject对象
- *
- * @note 返回的WXWebpageObject对象是自动释放的
- */
-+(WXWebpageObject *) object;
-
-/** 网页的url地址
- * @note 不能为空且长度不能超过10K
- */
-@property (nonatomic, retain) NSString *webpageUrl;
-
-@end
-
-
-
-#pragma mark - WXAppExtendObject
-/*! @brief 多媒体消息中包含的App扩展数据对象
- *
- * 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息,
- * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。
- * @note url,extInfo和fileData不能同时为空
- * @see WXMediaMessage
- */
-@interface WXAppExtendObject : NSObject
-/*! @brief 返回一个WXAppExtendObject对象
- *
- * @note 返回的WXAppExtendObject对象是自动释放的
- */
-+(WXAppExtendObject *) object;
-
-/** 若第三方程序不存在,微信终端会打开该url所指的App下载地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *url;
-/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
- * @note 长度不能超过2K
- */
-@property (nonatomic, retain) NSString *extInfo;
-/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData   *fileData;
-
-@end
-
-
-
-#pragma mark - WXEmoticonObject
-/*! @brief 多媒体消息中包含的表情数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的表情数据对象。
- * @see WXMediaMessage
- */
-@interface WXEmoticonObject : NSObject
-
-/*! @brief 返回一个WXEmoticonObject对象
- *
- * @note 返回的WXEmoticonObject对象是自动释放的
- */
-+(WXEmoticonObject *) object;
-
-/** 表情真实数据内容
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData    *emoticonData;
-
-@end
-
-
-
-#pragma mark - WXFileObject
-/*! @brief 多媒体消息中包含的文件数据对象
- *
- * @see WXMediaMessage
- */
-@interface WXFileObject : NSObject
-
-/*! @brief 返回一个WXFileObject对象
- *
- * @note 返回的WXFileObject对象是自动释放的
- */
-+(WXFileObject *) object;
-
-/** 文件后缀名
- * @note 长度不超过64字节
- */
-@property (nonatomic, retain) NSString  *fileExtension;
-
-/** 文件真实数据内容
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData    *fileData;
-
-@end

BIN
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/libWeChatSDK.a


+ 0 - 6
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5/read_me.txt

xqd
@@ -1,6 +0,0 @@
-重要!
-SDK1.5
-1、废弃safeSendReq:接口,使用sendReq:即可。
-2、新增+(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id<WXApiDelegate>) delegate;
-支持未安装微信情况下Auth,具体见WXApi.h接口描述
-3、微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。开发者需要在工程中链接上:SystemConfiguration.framework,libz.dylib,libsqlite3.0.dylib。

+ 0 - 157
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/WXApi.h

xqd
@@ -1,157 +0,0 @@
-//
-//  WXApi.h
-//  所有Api接口
-//
-//  Created by Wechat on 12-2-28.
-//  Copyright (c) 2012年 Tencent. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-#import "WXApiObject.h"
-
-
-#pragma mark - WXApiDelegate
-/*! @brief 接收并处理来自微信终端程序的事件消息
- *
- * 接收并处理来自微信终端程序的事件消息,期间微信界面会切换到第三方应用程序。
- * WXApiDelegate 会在handleOpenURL:delegate:中使用并触发。
- */
-@protocol WXApiDelegate <NSObject>
-@optional
-
-/*! @brief 收到一个来自微信的请求,第三方应用程序处理完后调用sendResp向微信发送结果
- *
- * 收到一个来自微信的请求,异步处理完成后必须调用sendResp发送处理结果给微信。
- * 可能收到的请求有GetMessageFromWXReq、ShowMessageFromWXReq等。
- * @param req 具体请求内容,是自动释放的
- */
--(void) onReq:(BaseReq*)req;
-
-
-
-/*! @brief 发送一个sendReq后,收到微信的回应
- *
- * 收到一个来自微信的处理结果。调用一次sendReq后会收到onResp。
- * 可能收到的处理结果有SendMessageToWXResp、SendAuthResp等。
- * @param resp具体的回应内容,是自动释放的
- */
--(void) onResp:(BaseResp*)resp;
-
-@end
-
-
-
-#pragma mark - WXApi
-
-/*! @brief 微信Api接口函数类
- *
- * 该类封装了微信终端SDK的所有接口
- */
-@interface WXApi : NSObject
-
-/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
- *
- * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。
- * iOS7及以上系统需要调起一次微信才会出现在微信的可用应用列表中。
- * @attention 请保证在主线程中调用此函数
- * @param appid 微信开发者ID
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) registerApp:(NSString *)appid;
-
-
-
-/*! @brief WXApi的成员函数,向微信终端程序注册第三方应用。
- *
- * 需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。
- * @see registerApp
- * @param appid 微信开发者ID
- * @param appdesc 应用附加信息,长度不超过1024字节
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) registerApp:(NSString *)appid withDescription:(NSString *)appdesc;
-
-
-
-/*! @brief 处理微信通过URL启动App时传递的数据
- *
- * 需要在 application:openURL:sourceApplication:annotation:或者application:handleOpenURL中调用。
- * @param url 微信启动第三方应用时传递过来的URL
- * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) handleOpenURL:(NSURL *) url delegate:(id<WXApiDelegate>) delegate;
-
-
-
-/*! @brief 检查微信是否已被用户安装
- *
- * @return 微信已安装返回YES,未安装返回NO。
- */
-+(BOOL) isWXAppInstalled;
-
-
-
-/*! @brief 判断当前微信的版本是否支持OpenApi
- *
- * @return 支持返回YES,不支持返回NO。
- */
-+(BOOL) isWXAppSupportApi;
-
-
-
-/*! @brief 获取微信的itunes安装地址
- *
- * @return 微信的安装地址字符串。
- */
-+(NSString *) getWXAppInstallUrl;
-
-
-
-/*! @brief 获取当前微信SDK的版本号
- *
- * @return 返回当前微信SDK的版本号
- */
-+(NSString *) getApiVersion;
-
-
-
-/*! @brief 打开微信
- *
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) openWXApp;
-
-
-
-/*! @brief 发送请求到微信,等待微信返回onResp
- *
- * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持以下类型
- * SendAuthReq、SendMessageToWXReq、PayReq等。
- * @param req 具体的发送请求,在调用函数后,请自己释放。
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) sendReq:(BaseReq*)req;
-
-/*! @brief 发送Auth请求到微信,支持用户没安装微信,等待微信返回onResp
- *
- * 函数调用后,会切换到微信的界面。第三方应用程序等待微信返回onResp。微信在异步处理完成后一定会调用onResp。支持SendAuthReq类型。
- * @param req 具体的发送请求,在调用函数后,请自己释放。
- * @param viewController 当前界面对象。
- * @param delegate  WXApiDelegate对象,用来接收微信触发的消息。
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id<WXApiDelegate>) delegate;
-
-
-/*! @brief 收到微信onReq的请求,发送对应的应答给微信,并切换到微信界面
- *
- * 函数调用后,会切换到微信的界面。第三方应用程序收到微信onReq的请求,异步处理该请求,完成后必须调用该函数。可能发送的相应有
- * GetMessageFromWXResp、ShowMessageFromWXResp等。
- * @param resp 具体的应答内容,调用函数后,请自己释放
- * @return 成功返回YES,失败返回NO。
- */
-+(BOOL) sendResp:(BaseResp*)resp;
-
-
-@end

+ 0 - 605
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/WXApiObject.h

xqd
@@ -1,605 +0,0 @@
-//
-//  MMApiObject.h
-//  Api对象,包含所有接口和对象数据定义
-//
-//  Created by Wechat on 12-2-28.
-//  Copyright (c) 2012年 Tencent. All rights reserved.
-//
-
-#import <Foundation/Foundation.h>
-
-/*! @brief 错误码
- *
- */
-enum  WXErrCode {
-    WXSuccess           = 0,    /**< 成功    */
-    WXErrCodeCommon     = -1,   /**< 普通错误类型    */
-    WXErrCodeUserCancel = -2,   /**< 用户点击取消并返回    */
-    WXErrCodeSentFail   = -3,   /**< 发送失败    */
-    WXErrCodeAuthDeny   = -4,   /**< 授权失败    */
-    WXErrCodeUnsupport  = -5,   /**< 微信不支持    */
-};
-
-
-
-/*! @brief 请求发送场景
- *
- */
-enum WXScene {
-    WXSceneSession  = 0,        /**< 聊天界面    */
-    WXSceneTimeline = 1,        /**< 朋友圈      */
-    WXSceneFavorite = 2,        /**< 收藏       */
-};
-
-
-
-enum WXAPISupport {
-    WXAPISupportSession = 0,
-};
-
-
-
-/*! @brief 跳转profile类型
- *
- */
-enum WXBizProfileType{
-    WXBizProfileType_Normal = 0,    //**< 普通公众号  */
-    WXBizProfileType_Device = 1,    //**< 硬件公众号  */
-};
-
-
-
-/*! @brief 跳转mp网页类型
- *
- */
-enum WXMPWebviewType {
-    WXMPWebviewType_Ad = 0,        /**< 广告网页 **/
-};
-
-#pragma mark - BaseReq
-/*! @brief 该类为微信终端SDK所有请求类的基类
- *
- */
-@interface BaseReq : NSObject
-
-/** 请求类型 */
-@property (nonatomic, assign) int type;
-/** 由用户微信号和AppID组成的唯一标识,发送请求时第三方程序必须填写,用于校验微信用户是否换号登录*/
-@property (nonatomic, retain) NSString* openID;
-
-@end
-
-
-
-#pragma mark - BaseResp
-/*! @brief 该类为微信终端SDK所有响应类的基类
- *
- */
-@interface BaseResp : NSObject
-/** 错误码 */
-@property (nonatomic, assign) int errCode;
-/** 错误提示字符串 */
-@property (nonatomic, retain) NSString *errStr;
-/** 响应类型 */
-@property (nonatomic, assign) int type;
-
-@end
-
-
-
-#pragma mark - WXMediaMessage
-@class WXMediaMessage;
-
-/*! @brief 第三方向微信终端发起支付的消息结构体
- *
- *  第三方向微信终端发起支付的消息结构体,微信终端处理后会向第三方返回处理结果
- * @see PayResp
- */
-@interface PayReq : BaseReq
-
-/** 商家向财付通申请的商家id */
-@property (nonatomic, retain) NSString *partnerId;
-/** 预支付订单 */
-@property (nonatomic, retain) NSString *prepayId;
-/** 随机串,防重发 */
-@property (nonatomic, retain) NSString *nonceStr;
-/** 时间戳,防重发 */
-@property (nonatomic, assign) UInt32 timeStamp;
-/** 商家根据财付通文档填写的数据和签名 */
-@property (nonatomic, retain) NSString *package;
-/** 商家根据微信开放平台文档对数据做的签名 */
-@property (nonatomic, retain) NSString *sign;
-
-@end
-
-
-
-#pragma mark - PayResp
-/*! @brief 微信终端返回给第三方的关于支付结果的结构体
- *
- *  微信终端返回给第三方的关于支付结果的结构体
- */
-@interface PayResp : BaseResp
-
-/** 财付通返回给商家的信息 */
-@property (nonatomic, retain) NSString *returnKey;
-
-@end
-
-
-
-#pragma mark - SendAuthReq
-/*! @brief 第三方程序向微信终端请求认证的消息结构
- *
- * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,
- * 向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
- * @see SendAuthResp
- */
-@interface SendAuthReq : BaseReq
-/** 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。微信终端处理完后会向第三方程序发送一个处理结果。
- * @see SendAuthResp
- * @note scope字符串长度不能超过1K
- */
-@property (nonatomic, retain) NSString* scope;
-/** 第三方程序本身用来标识其请求的唯一性,最后跳转回第三方程序时,由微信终端回传。
- * @note state字符串长度不能超过1K
- */
-@property (nonatomic, retain) NSString* state;
-@end
-
-
-
-#pragma mark - SendAuthResp
-/*! @brief 微信处理完第三方程序的认证和权限申请后向第三方程序回送的处理结果。
- *
- * 第三方程序要向微信申请认证,并请求某些权限,需要调用WXApi的sendReq成员函数,向微信终端发送一个SendAuthReq消息结构。
- * 微信终端处理完后会向第三方程序发送一个SendAuthResp。
- * @see onResp
- */
-@interface SendAuthResp : BaseResp
-@property (nonatomic, retain) NSString* code;
-/** 第三方程序发送时用来标识其请求的唯一性的标志,由第三方程序调用sendReq时传入,由微信终端回传
- * @note state字符串长度不能超过1K
- */
-@property (nonatomic, retain) NSString* state;
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - SendMessageToWXReq
-/*! @brief 第三方程序发送消息至微信终端程序的消息结构体
- *
- * 第三方程序向微信发送信息需要传入SendMessageToWXReq结构体,信息类型包括文本消息和多媒体消息,
- * 分别对应于text和message成员。调用该方法后,微信处理完信息会向第三方程序发送一个处理结果。
- * @see SendMessageToWXResp
- */
-@interface SendMessageToWXReq : BaseReq
-/** 发送消息的文本内容
- * @note 文本长度必须大于0且小于10K
- */
-@property (nonatomic, retain) NSString* text;
-/** 发送消息的多媒体内容
- * @see WXMediaMessage
- */
-@property (nonatomic, retain) WXMediaMessage* message;
-/** 发送消息的类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
-@property (nonatomic, assign) BOOL bText;
-/** 发送的目标场景,可以选择发送到会话(WXSceneSession)或者朋友圈(WXSceneTimeline)。 默认发送到会话。
- * @see WXScene
- */
-@property (nonatomic, assign) int scene;
-
-@end
-
-
-
-#pragma mark - SendMessageToWXResp
-/*! @brief 微信终端向第三方程序返回的SendMessageToWXReq处理结果。
- *
- * 第三方程序向微信终端发送SendMessageToWXReq后,微信发送回来的处理结果,该结果用SendMessageToWXResp表示。
- */
-@interface SendMessageToWXResp : BaseResp
-@property(nonatomic, retain) NSString* lang;
-@property(nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - GetMessageFromWXReq
-/*! @brief 微信终端向第三方程序请求提供内容的消息结构体。
- *
- * 微信终端向第三方程序请求提供内容,微信终端会向第三方程序发送GetMessageFromWXReq消息结构体,
- * 需要第三方程序调用sendResp返回一个GetMessageFromWXResp消息结构体。
- */
-@interface GetMessageFromWXReq : BaseReq
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - GetMessageFromWXResp
-/*! @brief 微信终端向第三方程序请求提供内容,第三方程序向微信终端返回的消息结构体。
- *
- * 微信终端向第三方程序请求提供内容,第三方程序调用sendResp向微信终端返回一个GetMessageFromWXResp消息结构体。
- */
-@interface GetMessageFromWXResp : BaseResp
-/** 向微信终端提供的文本内容
- @note 文本长度必须大于0且小于10K
- */
-@property (nonatomic, retain) NSString* text;
-/** 向微信终端提供的多媒体内容。
- * @see WXMediaMessage
- */
-@property (nonatomic, retain) WXMediaMessage* message;
-/** 向微信终端提供内容的消息类型,包括文本消息和多媒体消息两种,两者只能选择其一,不能同时发送文本和多媒体消息 */
-@property (nonatomic, assign) BOOL bText;
-@end
-
-
-
-#pragma mark - ShowMessageFromWXReq
-/*! @brief 微信通知第三方程序,要求第三方程序显示的消息结构体。
- *
- * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
- * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
- */
-@interface ShowMessageFromWXReq : BaseReq
-/** 微信终端向第三方程序发送的要求第三方程序处理的多媒体内容
- * @see WXMediaMessage
- */
-@property (nonatomic, retain) WXMediaMessage* message;
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-
-
-#pragma mark - ShowMessageFromWXResp
-/*! @brief 微信通知第三方程序,要求第三方程序显示或处理某些消息,第三方程序处理完后向微信终端发送的处理结果。
- *
- * 微信需要通知第三方程序显示或处理某些内容时,会向第三方程序发送ShowMessageFromWXReq消息结构体。
- * 第三方程序处理完内容后调用sendResp向微信终端发送ShowMessageFromWXResp。
- */
-@interface ShowMessageFromWXResp : BaseResp
-@end
-
-
-
-#pragma mark - LaunchFromWXReq
-/*! @brief 微信终端打开第三方程序携带的消息结构体
- *
- *  微信向第三方发送的结构体,第三方不需要返回
- */
-@interface LaunchFromWXReq : BaseReq
-@property (nonatomic, retain) WXMediaMessage* message;
-@property (nonatomic, retain) NSString* lang;
-@property (nonatomic, retain) NSString* country;
-@end
-
-#pragma mark - JumpToBizProfileReq
-/* ! @brief 第三方通知微信,打开指定微信号profile页面
- *
- * 第三方通知微信,打开指定微信号profile页面
- */
-@interface JumpToBizProfileReq : BaseReq
-/** 跳转到该公众号的profile
- * @attention 长度不能超过512字节
- */
-@property (nonatomic, retain) NSString* username;
-/** 如果用户加了该公众号为好友,extMsg会上传到服务器
- * @attention 长度不能超过1024字节
- */
-@property (nonatomic, retain) NSString* extMsg;
-/**
- * 跳转的公众号类型
- * @see WXBizProfileType
- */
-@property (nonatomic, assign) int profileType;
-@end
-
-
-
-#pragma mark - JumpToBizWebviewReq
-/* ! @brief 第三方通知微信,打开指定usrname的profile网页版
- *
- */
-@interface JumpToBizWebviewReq : BaseReq
-/** 跳转的网页类型,目前只支持广告页
- * @see WXMPWebviewType
- */
-@property(nonatomic, assign) int webType;
-/** 跳转到该公众号的profile网页版
- * @attention 长度不能超过512字节
- */
-@property(nonatomic, retain) NSString* tousrname;
-/** 如果用户加了该公众号为好友,extMsg会上传到服务器
- * @attention 长度不能超过1024字节
- */
-@property(nonatomic, retain) NSString* extMsg;
-
-@end
-
-#pragma mark - WXCardItem
-
-@interface WXCardItem : NSObject
-/** 卡id
- * @attention 长度不能超过1024字节
- */
-@property (nonatomic,retain) NSString* cardId;
-/** ext信息
- * @attention 长度不能超过2024字节
- */
-@property (nonatomic,retain) NSString* extMsg;
-/**
- * @attention 卡的状态,req不需要填。resp:0为未添加,1为已添加。
- */
-@property (nonatomic,assign) UInt32 cardState;
-@end;
-
-#pragma mark - AddCardToWXCardPackageReq
-/* ! @brief 请求添加卡券至微信卡包
- *
- */
-
-@interface AddCardToWXCardPackageReq : BaseReq
-/** 卡列表
- * @attention 个数不能超过40个 类型WXCardItem
- */
-@property (nonatomic,retain) NSArray* cardAry;
-
-@end
-
-
-#pragma mark - AddCardToWXCardPackageResp
-/** ! @brief 微信返回第三方添加卡券结果
- *
- */
-
-@interface AddCardToWXCardPackageResp : BaseResp
-/** 卡列表
- * @attention 个数不能超过40个 类型WXCardItem
- */
-@property (nonatomic,retain) NSArray* cardAry;
-@end
-
-
-#pragma mark - WXMediaMessage
-
-/*! @brief 多媒体消息结构体
- *
- * 用于微信终端和第三方程序之间传递消息的多媒体消息内容
- */
-@interface WXMediaMessage : NSObject
-
-+(WXMediaMessage *) message;
-
-/** 标题
- * @note 长度不能超过512字节
- */
-@property (nonatomic, retain) NSString *title;
-/** 描述内容
- * @note 长度不能超过1K
- */
-@property (nonatomic, retain) NSString *description;
-/** 缩略图数据
- * @note 大小不能超过32K
- */
-@property (nonatomic, retain) NSData   *thumbData;
-/**
- * @note 长度不能超过64字节
- */
-@property (nonatomic, retain) NSString *mediaTagName;
-/**
- *
- */
-@property (nonatomic, retain) NSString *messageExt;
-@property (nonatomic, retain) NSString *messageAction;
-/**
- * 多媒体数据对象,可以为WXImageObject,WXMusicObject,WXVideoObject,WXWebpageObject等。
- */
-@property (nonatomic, retain) id        mediaObject;
-
-/*! @brief 设置消息缩略图的方法
- *
- * @param image 缩略图
- * @note 大小不能超过32K
- */
-- (void) setThumbImage:(UIImage *)image;
-
-@end
-
-
-
-#pragma mark - WXImageObject
-/*! @brief 多媒体消息中包含的图片数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的图片数据对象。
- * @note imageData和imageUrl成员不能同时为空
- * @see WXMediaMessage
- */
-@interface WXImageObject : NSObject
-/*! @brief 返回一个WXImageObject对象
- *
- * @note 返回的WXImageObject对象是自动释放的
- */
-+(WXImageObject *) object;
-
-/** 图片真实数据内容
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData    *imageData;
-/** 图片url
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString  *imageUrl;
-
-@end
-
-
-#pragma mark - WXMusicObject
-/*! @brief 多媒体消息中包含的音乐数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的音乐数据对象。
- * @note musicUrl和musicLowBandUrl成员不能同时为空。
- * @see WXMediaMessage
- */
-@interface WXMusicObject : NSObject
-/*! @brief 返回一个WXMusicObject对象
- *
- * @note 返回的WXMusicObject对象是自动释放的
- */
-+(WXMusicObject *) object;
-
-/** 音乐网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicUrl;
-/** 音乐lowband网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicLowBandUrl;
-/** 音乐数据url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicDataUrl;
-
-/**音乐lowband数据url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *musicLowBandDataUrl;
-
-@end
-
-
-
-#pragma mark - WXVideoObject
-/*! @brief 多媒体消息中包含的视频数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的视频数据对象。
- * @note videoUrl和videoLowBandUrl不能同时为空。
- * @see WXMediaMessage
- */
-@interface WXVideoObject : NSObject
-/*! @brief 返回一个WXVideoObject对象
- *
- * @note 返回的WXVideoObject对象是自动释放的
- */
-+(WXVideoObject *) object;
-
-/** 视频网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *videoUrl;
-/** 视频lowband网页的url地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *videoLowBandUrl;
-
-@end
-
-
-
-#pragma mark - WXWebpageObject
-/*! @brief 多媒体消息中包含的网页数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的网页数据对象。
- * @see WXMediaMessage
- */
-@interface WXWebpageObject : NSObject
-/*! @brief 返回一个WXWebpageObject对象
- *
- * @note 返回的WXWebpageObject对象是自动释放的
- */
-+(WXWebpageObject *) object;
-
-/** 网页的url地址
- * @note 不能为空且长度不能超过10K
- */
-@property (nonatomic, retain) NSString *webpageUrl;
-
-@end
-
-
-
-#pragma mark - WXAppExtendObject
-/*! @brief 多媒体消息中包含的App扩展数据对象
- *
- * 第三方程序向微信终端发送包含WXAppExtendObject的多媒体消息,
- * 微信需要处理该消息时,会调用该第三方程序来处理多媒体消息内容。
- * @note url,extInfo和fileData不能同时为空
- * @see WXMediaMessage
- */
-@interface WXAppExtendObject : NSObject
-/*! @brief 返回一个WXAppExtendObject对象
- *
- * @note 返回的WXAppExtendObject对象是自动释放的
- */
-+(WXAppExtendObject *) object;
-
-/** 若第三方程序不存在,微信终端会打开该url所指的App下载地址
- * @note 长度不能超过10K
- */
-@property (nonatomic, retain) NSString *url;
-/** 第三方程序自定义简单数据,微信终端会回传给第三方程序处理
- * @note 长度不能超过2K
- */
-@property (nonatomic, retain) NSString *extInfo;
-/** App文件数据,该数据发送给微信好友,微信好友需要点击后下载数据,微信终端会回传给第三方程序处理
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData   *fileData;
-
-@end
-
-
-
-#pragma mark - WXEmoticonObject
-/*! @brief 多媒体消息中包含的表情数据对象
- *
- * 微信终端和第三方程序之间传递消息中包含的表情数据对象。
- * @see WXMediaMessage
- */
-@interface WXEmoticonObject : NSObject
-
-/*! @brief 返回一个WXEmoticonObject对象
- *
- * @note 返回的WXEmoticonObject对象是自动释放的
- */
-+(WXEmoticonObject *) object;
-
-/** 表情真实数据内容
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData    *emoticonData;
-
-@end
-
-
-
-#pragma mark - WXFileObject
-/*! @brief 多媒体消息中包含的文件数据对象
- *
- * @see WXMediaMessage
- */
-@interface WXFileObject : NSObject
-
-/*! @brief 返回一个WXFileObject对象
- *
- * @note 返回的WXFileObject对象是自动释放的
- */
-+(WXFileObject *) object;
-
-/** 文件后缀名
- * @note 长度不超过64字节
- */
-@property (nonatomic, retain) NSString  *fileExtension;
-
-/** 文件真实数据内容
- * @note 大小不能超过10M
- */
-@property (nonatomic, retain) NSData    *fileData;
-
-@end

BIN
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/libWeChatSDK.a


+ 0 - 6
miaomiao/plugins/cordova-plugin-wechat/temp/src/ios/libs/WeChatSDK_1.5/WeChatSDK_1.5_OnlyIphone/read_me.txt

xqd
@@ -1,6 +0,0 @@
-重要!
-SDK1.5
-1、废弃safeSendReq:接口,使用sendReq:即可。
-2、新增+(BOOL) sendAuthReq:(SendAuthReq*) req viewController : (UIViewController*) viewController delegate:(id<WXApiDelegate>) delegate;
-支持未安装微信情况下Auth,具体见WXApi.h接口描述
-3、微信开放平台新增了微信模块用户统计功能,便于开发者统计微信功能模块的用户使用和活跃情况。开发者需要在工程中链接上:SystemConfiguration.framework,libz.dylib,libsqlite3.0.dylib。

+ 0 - 99
miaomiao/plugins/cordova-plugin-wechat/temp/www/wechat.js

xqd
@@ -1,99 +0,0 @@
-var exec = require('cordova/exec');
-
-module.exports = {
-    Scene: {
-        SESSION:  0, // 聊天界面
-        TIMELINE: 1, // 朋友圈
-        FAVORITE: 2  // 收藏
-    },
-
-    Type: {
-        APP:     1,
-        EMOTION: 2,
-        FILE:    3,
-        IMAGE:   4,
-        MUSIC:   5,
-        VIDEO:   6,
-        WEBPAGE: 7
-    },
-
-    isInstalled: function (onSuccess, onError) {
-        exec(onSuccess, onError, "Wechat", "isWXAppInstalled", []);
-    },
-
-    /**
-     * Share a message to wechat app
-     *
-     * @example
-     * <code>
-     * Wechat.share({
-     *     message: {
-     *        title: "Message Title",
-     *        description: "Message Description(optional)",
-     *        mediaTagName: "Media Tag Name(optional)",
-     *        thumb: "http://YOUR_THUMBNAIL_IMAGE",
-     *        media: {
-     *            type: Wechat.Type.WEBPAGE,   // webpage
-     *            webpageUrl: "https://github.com/xu-li/cordova-plugin-wechat"    // webpage
-     *        }
-     *    },
-     *    scene: Wechat.Scene.TIMELINE   // share to Timeline
-     * }, function () {
-     *     alert("Success");
-     * }, function (reason) {
-     *     alert("Failed: " + reason);
-     * });
-     * </code>
-     */
-    share: function (message, onSuccess, onError) {
-        exec(onSuccess, onError, "Wechat", "share", [message]);
-    },
-
-    /**
-     * Sending an auth request to Wechat
-     *
-     * @example
-     * <code>
-     * Wechat.auth(function (response) { alert(response.code); });
-     * </code>
-     */
-    auth: function (scope, state, onSuccess, onError) {
-        if (typeof scope == "function") {
-            // Wechat.auth(function () { alert("Success"); });
-            // Wechat.auth(function () { alert("Success"); }, function (error) { alert(error); });
-            return exec(scope, state, "Wechat", "sendAuthRequest");
-        }
-
-        if (typeof state == "function") {
-            // Wechat.auth("snsapi_userinfo", function () { alert("Success"); });
-            // Wechat.auth("snsapi_userinfo", function () { alert("Success"); }, function (error) { alert(error); });
-            return exec(state, onSuccess, "Wechat", "sendAuthRequest", [scope]);
-        }
-
-        return exec(onSuccess, onError, "Wechat", "sendAuthRequest", [scope, state]);
-    },
-
-    /**
-     * Send a payment request
-     *
-     * @link https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=9_1
-     * @example
-     * <code>
-     * var params = {
-     *     mch_id: '10000100', // merchant id
-     *     prepay_id: 'wx201411101639507cbf6ffd8b0779950874', // prepay id returned from server
-     *     nonce: '1add1a30ac87aa2db72f57a2375d8fec', // nonce string returned from server
-     *     timestamp: '1439531364', // timestamp
-     *     sign: '0CB01533B8C1EF103065174F50BCA001', // signed string
-     * };
-     * Wechat.sendPaymentRequest(params, function () {
-     *     alert("Success");
-     * }, function (reason) {
-     *     alert("Failed: " + reason);
-     * });
-     * </code>
-     */
-    sendPaymentRequest: function (params, onSuccess, onError) {
-        exec(onSuccess, onError, "Wechat", "sendPaymentRequest", [params]);
-    }
-};

+ 25 - 28
miaomiao/plugins/fetch.json

xqd xqd xqd
@@ -63,14 +63,6 @@
         "is_top_level": false,
         "variables": {}
     },
-    "cordova-plugin-camera": {
-        "source": {
-            "type": "registry",
-            "id": "cordova-plugin-camera@2.4.0"
-        },
-        "is_top_level": true,
-        "variables": {}
-    },
     "cordova-plugin-actionsheet": {
         "source": {
             "type": "registry",
@@ -91,14 +83,6 @@
             "PHOTOLIBRARY_USAGE_DESCRIPTION": " "
         }
     },
-    "cordova-plugin-jcore": {
-        "source": {
-            "type": "registry",
-            "id": "cordova-plugin-jcore"
-        },
-        "is_top_level": false,
-        "variables": {}
-    },
     "phonegap-plugin-barcodescanner": {
         "source": {
             "type": "git",
@@ -118,39 +102,52 @@
             "PARTNER_ID": "2088721135315822"
         }
     },
-    "cordova-plugin-wechat": {
+    "cordova-plugin-whitelist": {
         "source": {
             "type": "registry",
-            "id": "cordova-plugin-wechat@^1.4.0"
+            "id": "cordova-plugin-whitelist@^1.3.2"
         },
         "is_top_level": true,
         "variables": {}
     },
-    "cordova-plugin-whitelist": {
+    "cordova-hot-code-push-plugin": {
         "source": {
             "type": "registry",
-            "id": "cordova-plugin-whitelist@1.3.2"
+            "id": "cordova-hot-code-push-plugin@^1.5.3"
         },
         "is_top_level": true,
         "variables": {}
     },
-    "cordova-hot-code-push-plugin": {
+    "cordova-plugin-camera": {
         "source": {
             "type": "registry",
-            "id": "cordova-hot-code-push-plugin"
+            "id": "cordova-plugin-camera"
         },
         "is_top_level": true,
         "variables": {}
     },
     "jpush-phonegap-plugin": {
         "source": {
-            "type": "git",
-            "url": "https://github.com/jpush/jpush-phonegap-plugin.git",
-            "subdir": "."
+            "type": "registry",
+            "id": "jpush-phonegap-plugin@^3.2.3"
         },
         "is_top_level": true,
-        "variables": {
-            "APP_KEY": "041b70b4c7eee686870a32cd"
-        }
+        "variables": {}
+    },
+    "cordova-plugin-jcore": {
+        "source": {
+            "type": "registry",
+            "id": "cordova-plugin-jcore"
+        },
+        "is_top_level": false,
+        "variables": {}
+    },
+    "cordova-plugin-wechat": {
+        "source": {
+            "type": "registry",
+            "id": "cordova-plugin-wechat@^2.0.0"
+        },
+        "is_top_level": true,
+        "variables": {}
     }
 }

+ 0 - 68
miaomiao/plugins/ios.json

xqd
@@ -1,68 +0,0 @@
-{
-    "prepare_queue": {
-        "installed": [],
-        "uninstalled": []
-    },
-    "config_munge": {
-        "files": {}
-    },
-    "installed_plugins": {
-        "cordova-hot-code-push-plugin": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-actionsheet": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-camera": {
-            "CAMERA_USAGE_DESCRIPTION": " ",
-            "PHOTOLIBRARY_USAGE_DESCRIPTION": " ",
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-console": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-device": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-file-transfer": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-media-capture": {
-            "CAMERA_USAGE_DESCRIPTION": " ",
-            "MICROPHONE_USAGE_DESCRIPTION": " ",
-            "PHOTOLIBRARY_USAGE_DESCRIPTION": " ",
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-splashscreen": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-statusbar": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-whitelist": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "ionic-plugin-keyboard": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "phonegap-plugin-barcodescanner": {
-            "CAMERA_USAGE_DESCRIPTION": " ",
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-wechat": {
-            "WECHATAPPID": "wxc5181c0d406023e6",
-            "PACKAGE_NAME": "com.miaomiao.app"
-        }
-    },
-    "dependent_plugins": {
-        "cordova-plugin-compat": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-file": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        },
-        "cordova-plugin-jcore": {
-            "PACKAGE_NAME": "com.miaomiao.app"
-        }
-    }
-}

BIN
miaomiao/plugins/jpush-phonegap-plugin/example/css/.DS_Store


BIN
miaomiao/plugins/jpush-phonegap-plugin/example/js/.DS_Store


+ 99 - 30
miaomiao/plugins/jpush-phonegap-plugin/package.json

xqd
@@ -1,34 +1,103 @@
 {
+  "_args": [
+    [
+      {
+        "raw": "jpush-phonegap-plugin",
+        "scope": null,
+        "escapedName": "jpush-phonegap-plugin",
+        "name": "jpush-phonegap-plugin",
+        "rawSpec": "",
+        "spec": "latest",
+        "type": "tag"
+      },
+      "D:\\my\\miao\\miaomiao\\node_modules"
+    ]
+  ],
+  "_from": "jpush-phonegap-plugin@latest",
+  "_id": "jpush-phonegap-plugin@3.2.3",
+  "_inCache": true,
+  "_location": "/jpush-phonegap-plugin",
+  "_nodeVersion": "8.1.3",
+  "_npmOperationalInternal": {
+    "host": "s3://npm-registry-packages",
+    "tmp": "tmp/jpush-phonegap-plugin-3.2.3.tgz_1500617862249_0.7207189484033734"
+  },
+  "_npmUser": {
+    "name": "jpush",
+    "email": "support@jpush.cn"
+  },
+  "_npmVersion": "5.0.3",
+  "_phantomChildren": {},
+  "_requested": {
+    "raw": "jpush-phonegap-plugin",
+    "scope": null,
+    "escapedName": "jpush-phonegap-plugin",
     "name": "jpush-phonegap-plugin",
-    "version": "3.2.3",
-    "description": "JPush for cordova plugin",
-    "cordova": {
-        "id": "jpush-phonegap-plugin",
-        "platforms": [
-            "ios",
-            "android"
-        ]
+    "rawSpec": "",
+    "spec": "latest",
+    "type": "tag"
+  },
+  "_requiredBy": [
+    "#USER",
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/jpush-phonegap-plugin/-/jpush-phonegap-plugin-3.2.3.tgz",
+  "_shasum": "c5c9166a015892184a451684ae4e284e35a65cc4",
+  "_shrinkwrap": null,
+  "_spec": "jpush-phonegap-plugin",
+  "_where": "D:\\my\\miao\\miaomiao\\node_modules",
+  "author": {
+    "name": "JiGuang"
+  },
+  "bugs": {
+    "url": "https://github.com/jpush/jpush-phonegap-plugin/issues"
+  },
+  "cordova": {
+    "id": "jpush-phonegap-plugin",
+    "platforms": [
+      "ios",
+      "android"
+    ]
+  },
+  "dependencies": {},
+  "description": "JPush for cordova plugin",
+  "devDependencies": {
+    "cordova-plugin-device": "*",
+    "cordova-plugin-jcore": "*"
+  },
+  "directories": {},
+  "dist": {
+    "integrity": "sha512-T89AdQQgTZyWvsSr0ZuemZtWHuIXBJ+daIoS9THzc2QEEfNZMLQPk8gXCKMNxOZKP0AlVc/YIs0e75rvFQucuQ==",
+    "shasum": "c5c9166a015892184a451684ae4e284e35a65cc4",
+    "tarball": "https://registry.npmjs.org/jpush-phonegap-plugin/-/jpush-phonegap-plugin-3.2.3.tgz"
+  },
+  "gitHead": "c5f79634252f0091ed60e78a1c6815f65b093c75",
+  "homepage": "https://github.com/jpush/jpush-phonegap-plugin#readme",
+  "keywords": [
+    "JPush",
+    "push",
+    "Push",
+    "ecosystem:cordova",
+    "cordova-ios",
+    "cordova-android"
+  ],
+  "license": "MIT",
+  "maintainers": [
+    {
+      "name": "hev1n",
+      "email": "hev1n@qq.com"
     },
-    "repository": {
-        "type": "git",
-        "url": "git+https://github.com/jpush/jpush-phonegap-plugin.git"
-    },
-    "keywords": [
-        "JPush",
-        "push",
-        "Push",
-        "ecosystem:cordova",
-        "cordova-ios",
-        "cordova-android"
-    ],
-    "devDependencies": {
-        "cordova-plugin-device": "*",
-        "cordova-plugin-jcore": "*"
-    },
-    "author": "JiGuang",
-    "license": "MIT",
-    "bugs": {
-        "url": "https://github.com/jpush/jpush-phonegap-plugin/issues"
-    },
-    "homepage": "https://github.com/jpush/jpush-phonegap-plugin#readme"
+    {
+      "name": "jpush",
+      "email": "support@jpush.cn"
+    }
+  ],
+  "name": "jpush-phonegap-plugin",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/jpush/jpush-phonegap-plugin.git"
+  },
+  "version": "3.2.3"
 }

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio