huangc 6 years ago
commit
c51c879585
5 changed files with 145 additions and 0 deletions
  1. 51 0
      package.json
  2. 25 0
      plugin.xml
  3. 36 0
      src/android/CordovaLinker.java
  4. 28 0
      src/ios/cordovaLinker.m
  5. 5 0
      www/cordovaLinker.js

+ 51 - 0
package.json

@@ -0,0 +1,51 @@
+{
+  "_args": [
+    [
+      {
+        "raw": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+        "scope": null,
+        "escapedName": null,
+        "name": null,
+        "rawSpec": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+        "spec": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+        "type": "directory"
+      },
+      "E:\\work\\knowcar"
+    ]
+  ],
+  "_from": "plugins\\cn-amtxts-linker-cordova",
+  "_id": "cn-amtxts-linker-cordova@1.0.0",
+  "_inCache": true,
+  "_location": "/cn-amtxts-linker-cordova",
+  "_phantomChildren": {},
+  "_requested": {
+    "raw": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+    "scope": null,
+    "escapedName": null,
+    "name": null,
+    "rawSpec": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+    "spec": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+    "type": "directory"
+  },
+  "_requiredBy": [
+    "#USER",
+    "/"
+  ],
+  "_resolved": "file:plugins\\cn-amtxts-linker-cordova",
+  "_shasum": "c2836d6f0745e665bf74aa3345d53c228736968c",
+  "_shrinkwrap": null,
+  "_spec": "E:\\work\\knowcar\\plugins\\cn-amtxts-linker-cordova",
+  "_where": "E:\\work\\knowcar",
+  "author": "",
+  "dependencies": {},
+  "devDependencies": {},
+  "license": "ISC",
+  "main": "index.js",
+  "name": "cn-amtxts-linker-cordova",
+  "optionalDependencies": {},
+  "readme": "ERROR: No README data found!",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "version": "1.0.0"
+}

+ 25 - 0
plugin.xml

@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='utf-8'?>
+<plugin id="cn-amtxts-linker-cordova" version="1.0.0" xmlns="http://apache.org/cordova/ns/plugins/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
+    <name>cordovaLinker</name>
+    <AUTHOR>LINKER</AUTHOR>
+    <js-module name="CordovaLinker" src="www/cordovaLinker.js">
+        <clobbers target="cordovaLinker" />
+    </js-module>
+    <platform name="android">
+        <config-file parent="/*" target="res/xml/config.xml">
+            <feature name="CordovaLinker">
+                <param name="android-package" value="cn.amtxts.linker.cordova.CordovaLinker" />
+            </feature>
+        </config-file>
+        <config-file parent="/*" target="AndroidManifest.xml" />
+        <source-file src="src/android/CordovaLinker.java" target-dir="src/cn/amtxts/linker/cordova" />
+    </platform>
+    <platform name="ios">
+        <config-file parent="/*" target="config.xml">
+            <feature name="CordovaLinker">
+                <param name="ios-package" value="CordovaLinker" />
+            </feature>
+        </config-file>
+        <source-file src="src/ios/cordovaLinker.m" />
+    </platform>
+</plugin>

+ 36 - 0
src/android/CordovaLinker.java

@@ -0,0 +1,36 @@
+package cn.amtxts.linker.cordova;
+
+import android.app.Activity;
+
+import org.apache.cordova.CallbackContext;
+import org.apache.cordova.CordovaPlugin;
+import org.json.JSONArray;
+import org.json.JSONException;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import cn.rongcloud.im.server.utils.NLog;
+
+public class CordovaLinker extends CordovaPlugin {
+    private final String TAG = CordovaLinker.class.getSimpleName();
+    public static final String _quit = "goBack";
+    public static final ArrayList<String> Actions = new ArrayList<String>(Arrays.asList(_quit));
+
+    @Override
+    protected void pluginInitialize() {
+        super.pluginInitialize();
+    }
+
+    @Override
+    public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
+        final Activity activity = this.cordova.getActivity();
+        switch (action){
+            case _quit:
+                activity.finish();
+                return true;
+        }
+        return false;
+    }
+
+}

+ 28 - 0
src/ios/cordovaLinker.m

@@ -0,0 +1,28 @@
+/********* cordovaLinker.m Cordova Plugin Implementation *******/
+
+#import <Cordova/CDV.h>
+
+@interface cordovaLinker : CDVPlugin {
+  // Member variables go here.
+}
+
+- (void)coolMethod:(CDVInvokedUrlCommand*)command;
+@end
+
+@implementation cordovaLinker
+
+- (void)coolMethod:(CDVInvokedUrlCommand*)command
+{
+    CDVPluginResult* pluginResult = nil;
+    NSString* echo = [command.arguments objectAtIndex:0];
+
+    if (echo != nil && [echo length] > 0) {
+        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString:echo];
+    } else {
+        pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR];
+    }
+
+    [self.commandDelegate sendPluginResult:pluginResult callbackId:command.callbackId];
+}
+
+@end

+ 5 - 0
www/cordovaLinker.js

@@ -0,0 +1,5 @@
+var exec = require('cordova/exec');
+
+exports.common = function (methodName, arg0, success, error) {
+    exec(success, error, "CordovaLinker", methodName, [arg0]);
+};