优化代码

This commit is contained in:
Hevin
2016-03-10 13:42:09 +08:00
parent 6cee953edd
commit c5c6b3da06
2 changed files with 290 additions and 287 deletions
+219 -216
View File
@@ -5,186 +5,192 @@ var JPushPlugin = function(){
//private plugin function
JPushPlugin.prototype.receiveMessage={}
JPushPlugin.prototype.openNotification={}
JPushPlugin.prototype.receiveNotification={}
JPushPlugin.prototype.receiveMessage = {}
JPushPlugin.prototype.openNotification = {}
JPushPlugin.prototype.receiveNotification = {}
JPushPlugin.prototype.isPlatformIOS = function(){
return device.platform == "iPhone" || device.platform == "iPad" || device.platform == "iPod touch" || device.platform == "iOS"
JPushPlugin.prototype.isPlatformIOS = function() {
var isPlatformIOS = device.platform == "iPhone"
|| device.platform == "iPad"
|| device.platform == "iPod touch"
|| device.platform == "iOS";
return isPlatformIOS;
}
JPushPlugin.prototype.error_callback = function(msg){
console.log("Javascript Callback Error: " + msg)
JPushPlugin.prototype.error_callback = function(msg) {
console.log("Javascript Callback Error: " + msg);
}
JPushPlugin.prototype.call_native = function(name, args, callback){
ret = cordova.exec(callback,this.error_callback,'JPushPlugin',name,args);
JPushPlugin.prototype.call_native = function(name, args, callback) {
ret = cordova.exec(callback, this.error_callback, 'JPushPlugin', name, args);
return ret;
}
//public plugin function
JPushPlugin.prototype.startLogPageView = function(pageName){
if(this.isPlatformIOS()){
this.call_native( "startLogPageView",[pageName],null);
}
JPushPlugin.prototype.startLogPageView = function(pageName) {
if(this.isPlatformIOS()) {
this.call_native("startLogPageView", [pageName], null);
}
}
JPushPlugin.prototype.stopLogPageView = function(pageName){
if(this.isPlatformIOS()){
this.call_native( "stopLogPageView",[pageName],null);
JPushPlugin.prototype.stopLogPageView = function(pageName) {
if(this.isPlatformIOS()) {
this.call_native("stopLogPageView", [pageName], null);
}
}
JPushPlugin.prototype.beginLogPageView = function(pageName,duration){
if(this.isPlatformIOS()){
this.call_native( "beginLogPageView",[pageName,duration],null);
JPushPlugin.prototype.beginLogPageView = function(pageName, duration) {
if(this.isPlatformIOS()) {
this.call_native("beginLogPageView", [pageName, duration], null);
}
}
JPushPlugin.prototype.setApplicationIconBadgeNumber = function(badge){
if(this.isPlatformIOS()){
this.call_native( "setApplicationIconBadgeNumber",[badge],null);
}
}
JPushPlugin.prototype.getApplicationIconBadgeNumber = function(callback){
if(this.isPlatformIOS()){
this.call_native( "getApplicationIconBadgeNumber",[],callback);
}
}
JPushPlugin.prototype.setTagsWithAlias = function(tags,alias){
try{
if(tags==null){
this.setAlias(alias);
return;
}
if(alias==null){
this.setTags(tags);
JPushPlugin.prototype.setApplicationIconBadgeNumber = function(badge) {
if(this.isPlatformIOS()) {
this.call_native("setApplicationIconBadgeNumber", [badge], null);
}
}
JPushPlugin.prototype.getApplicationIconBadgeNumber = function(callback) {
if(this.isPlatformIOS()) {
this.call_native("getApplicationIconBadgeNumber", [], callback);
}
}
JPushPlugin.prototype.setTagsWithAlias = function(tags, alias) {
try {
if(tags == null) {
this.setAlias(alias);
return;
}
if(alias == null) {
this.setTags(tags);
return;
}
var arrayTagWithAlias=[tags];
var arrayTagWithAlias = [tags];
arrayTagWithAlias.unshift(alias);
this.call_native( "setTagsWithAlias", arrayTagWithAlias,null);
}
catch(exception){
this.call_native("setTagsWithAlias", arrayTagWithAlias, null);
} catch(exception) {
console.log(exception);
}
}
JPushPlugin.prototype.setTags = function(tags){
try{
this.call_native("setTags",tags,null);
}
catch(exception){
JPushPlugin.prototype.setTags = function(tags) {
try {
this.call_native("setTags", tags, null);
} catch(exception) {
console.log(exception);
}
}
JPushPlugin.prototype.setAlias = function(alias){
try{
this.call_native("setAlias",[alias],null);
}
catch(exception){
console.log(exception);
}
}
JPushPlugin.prototype.getRegistrationID = function(callback){
try{
var data=[];
this.call_native("getRegistrationID",[data],callback);
}
catch(exception){
JPushPlugin.prototype.setAlias = function(alias) {
try {
this.call_native("setAlias", [alias], null);
} catch(exception) {
console.log(exception);
}
}
JPushPlugin.prototype.setBadge = function(value){
if(this.isPlatformIOS()){
try{
this.call_native("setBadge",[value],null);
}
catch(exception){
console.log(exception);
}
}
}
JPushPlugin.prototype.resetBadge = function(){
if(this.isPlatformIOS()){
try{
var data=[];
this.call_native("resetBadge",[data],null);
}
catch(exception){
console.log(exception);
}
}
}
JPushPlugin.prototype.setDebugModeFromIos = function(){
if(this.isPlatformIOS()){
var data=[];
this.call_native("setDebugModeFromIos",[data],null);
}
}
JPushPlugin.prototype.setLogOFF = function(){
if(this.isPlatformIOS()){
var data=[];
this.call_native("setLogOFF",[data],null);
JPushPlugin.prototype.getRegistrationID = function(callback) {
try {
var data = [];
this.call_native("getRegistrationID", [data], callback);
} catch(exception) {
console.log(exception);
}
}
JPushPlugin.prototype.setCrashLogON = function(){
JPushPlugin.prototype.setBadge = function(value) {
if(this.isPlatformIOS()) {
try {
this.call_native("setBadge", [value], null);
} catch(exception) {
console.log(exception);
}
}
}
JPushPlugin.prototype.resetBadge = function() {
if(this.isPlatformIOS()) {
try {
var data = [];
this.call_native("resetBadge", [data], null);
} catch(exception) {
console.log(exception);
}
}
}
JPushPlugin.prototype.setDebugModeFromIos = function() {
if(this.isPlatformIOS()) {
var data = [];
this.call_native("setDebugModeFromIos", [data], null);
}
}
JPushPlugin.prototype.setLogOFF = function() {
if(this.isPlatformIOS()) {
var data = [];
this.call_native("setLogOFF", [data], null);
}
}
JPushPlugin.prototype.setCrashLogON = function() {
if (this.isPlatformIOS()) {
var data=[];
this.call_native("crashLogON",[data],null);
var data = [];
this.call_native("crashLogON", [data], null);
}
}
JPushPlugin.prototype.addLocalNotificationForIOS = function(delayTime,content,badge,notificationID,extras){
JPushPlugin.prototype.addLocalNotificationForIOS = function(delayTime, content,
badge, notificationID, extras) {
if (this.isPlatformIOS()) {
var data = [delayTime,content,badge,notificationID,extras];
this.call_native("setLocalNotification",data,null);
var data = [delayTime, content, badge, notificationID, extras];
this.call_native("setLocalNotification", data, null);
}
}
JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function(identifierKey){
JPushPlugin.prototype.deleteLocalNotificationWithIdentifierKeyInIOS = function(
identifierKey) {
if (this.isPlatformIOS()) {
var data=[identifierKey];
this.call_native("deleteLocalNotificationWithIdentifierKey",data,null);
var data = [identifierKey];
this.call_native("deleteLocalNotificationWithIdentifierKey", data, null);
}
}
JPushPlugin.prototype.clearAllLocalNotifications = function(){
if (this.isPlatformIOS()) {
var data=[];
this.call_native("clearAllLocalNotifications",data,null);
var data = [];
this.call_native("clearAllLocalNotifications", data, null);
}
}
JPushPlugin.prototype.setLocation = function(latitude,longitude){
JPushPlugin.prototype.setLocation = function(latitude, longitude){
if (this.isPlatformIOS()) {
var data=[latitude,longitude];
this.call_native("setLocation",data,null);
var data = [latitude, longitude];
this.call_native("setLocation", data, null);
}
}
JPushPlugin.prototype.receiveMessageIniOSCallback = function(data){
try{
console.log("JPushPlugin:receiveMessageIniOSCallback--data:"+data);
JPushPlugin.prototype.receiveMessageIniOSCallback = function(data) {
try {
console.log("JPushPlugin:receiveMessageIniOSCallback--data:" + data);
var bToObj = JSON.parse(data);
var content = bToObj.content;
console.log(content);
}
catch(exception){
console.log("JPushPlugin:receiveMessageIniOSCallback"+exception);
console.log(content);
} catch(exception) {
console.log("JPushPlugin:receiveMessageIniOSCallback" + exception);
}
}
JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data){
try{
JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data) {
try {
console.log("JPushPlugin:receiveMessageInAndroidCallback");
var bToObj = JSON.parse(data);
this.receiveMessage=bToObj
cordova.fireDocumentEvent('jpush.receiveMessage',null);
var bToObj = JSON.parse(data);
this.receiveMessage = bToObj
cordova.fireDocumentEvent('jpush.receiveMessage', null);
//console.log(data);
//var message = bToObj.message;
//var extras = bToObj.extras;
@@ -193,19 +199,17 @@ JPushPlugin.prototype.receiveMessageInAndroidCallback = function(data){
//console.log(extras['cn.jpush.android.MSG_ID']);
//console.log(extras['cn.jpush.android.CONTENT_TYPE']);
//console.log(extras['cn.jpush.android.EXTRA']);
}
catch(exception){
console.log("JPushPlugin:pushCallback "+exception);
} catch(exception) {
console.log("JPushPlugin:pushCallback " + exception);
}
}
//
JPushPlugin.prototype.openNotificationInAndroidCallback = function(data){
try{
JPushPlugin.prototype.openNotificationInAndroidCallback = function(data) {
try {
console.log("JPushPlugin:openNotificationInAndroidCallback");
var bToObj = JSON.parse(data);
this.openNotification=bToObj;
cordova.fireDocumentEvent('jpush.openNotification',null);
var bToObj = JSON.parse(data);
this.openNotification = bToObj;
cordova.fireDocumentEvent('jpush.openNotification', null);
//console.log(data);
//var bToObj = JSON.parse(data);
@@ -220,17 +224,17 @@ JPushPlugin.prototype.openNotificationInAndroidCallback = function(data){
//console.log(extras['cn.jpush.android.PUSH_ID']);
//console.log(extras['cn.jpush.android.NOTIFICATION_ID']);
//console.log("JPushPlugin:openNotificationCallback is ready");
}
catch(exception){
} catch(exception) {
console.log(exception);
}
}
JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data){
JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data) {
try{
console.log("JPushPlugin:receiveNotificationInAndroidCallback");
var bToObj = JSON.parse(data);
this.receiveNotification=bToObj;
cordova.fireDocumentEvent('jpush.receiveNotification',null);
var bToObj = JSON.parse(data);
this.receiveNotification = bToObj;
cordova.fireDocumentEvent('jpush.receiveNotification', null);
//console.log(data);
//var bToObj = JSON.parse(data);
@@ -245,109 +249,109 @@ JPushPlugin.prototype.receiveNotificationInAndroidCallback = function(data){
//console.log(extras['cn.jpush.android.PUSH_ID']);
//console.log(extras['cn.jpush.android.NOTIFICATION_ID']);
//console.log("JPushPlugin:openNotificationCallback is ready");
}
catch(exception){
} catch(exception) {
console.log(exception);
}
}
//android single
JPushPlugin.prototype.setBasicPushNotificationBuilder = function(){
JPushPlugin.prototype.setBasicPushNotificationBuilder = function() {
if(device.platform == "Android") {
data=[]
this.call_native("setBasicPushNotificationBuilder",data,null);
data = [];
this.call_native("setBasicPushNotificationBuilder", data, null);
}
}
JPushPlugin.prototype.setCustomPushNotificationBuilder = function(){
JPushPlugin.prototype.setCustomPushNotificationBuilder = function() {
if(device.platform == "Android") {
data=[];
this.call_native("setCustomPushNotificationBuilder",data,null);
data = [];
this.call_native("setCustomPushNotificationBuilder", data, null);
}
}
JPushPlugin.prototype.stopPush = function(){
data=[];
this.call_native("stopPush",data,null);
JPushPlugin.prototype.stopPush = function() {
data = [];
this.call_native("stopPush", data, null);
}
JPushPlugin.prototype.resumePush = function(){
data=[]
this.call_native("resumePush",data,null);
JPushPlugin.prototype.resumePush = function() {
data = [];
this.call_native("resumePush", data, null);
}
JPushPlugin.prototype.setDebugMode = function(mode){
JPushPlugin.prototype.setDebugMode = function(mode) {
if(device.platform == "Android") {
this.call_native("setDebugMode",[mode],null);
this.call_native("setDebugMode", [mode], null);
}
}
//setDebugMode
JPushPlugin.prototype.clearAllNotification = function(){
JPushPlugin.prototype.clearAllNotification = function() {
if(device.platform == "Android") {
data=[]
this.call_native("clearAllNotification",data,null);
data = [];
this.call_native("clearAllNotification", data, null);
}
}
JPushPlugin.prototype.clearNotificationById = function(notificationId){
if(device.platform == "Android") {
data=[]
this.call_native("clearNotificationById",[notificationId],null);
}
}
JPushPlugin.prototype.setLatestNotificationNum = function(num){
if(device.platform == "Android") {
this.call_native("setLatestNotificationNum",[num],null);
JPushPlugin.prototype.clearNotificationById = function(notificationId) {
if(device.platform == "Android") {
data = [];
this.call_native("clearNotificationById", [notificationId], null);
}
}
JPushPlugin.prototype.isPushStopped = function(callback){
data=[];
this.call_native("isPushStopped",data,callback)
}
JPushPlugin.prototype.init = function(){
if(this.isPlatformIOS()){
var data=[];
this.call_native("initial",data,null);
}else{
data=[];
this.call_native("init",data,null);
}
}
JPushPlugin.prototype.setDebugMode = function(mode){
JPushPlugin.prototype.setLatestNotificationNum = function(num) {
if(device.platform == "Android") {
this.call_native("setDebugMode",[mode],null);
}
}
JPushPlugin.prototype.addLocalNotification = function(builderId,content,title,notificaitonID,broadcastTime,extras){
if(device.platform == "Android") {
data=[builderId,content,title,notificaitonID,broadcastTime,extras];
this.call_native("addLocalNotification",data,null);
}
}
JPushPlugin.prototype.removeLocalNotification = function(notificationID){
if(device.platform == "Android") {
this.call_native("removeLocalNotification",[notificationID],null);
}
}
JPushPlugin.prototype.clearLocalNotifications = function(){
if(device.platform == "Android") {
data=[]
this.call_native("clearLocalNotifications",data,null);
this.call_native("setLatestNotificationNum", [num], null);
}
}
JPushPlugin.prototype.reportNotificationOpened = function(msgID){
if(device.platform == "Android") {
JPushPlugin.prototype.isPushStopped = function(callback) {
data = [];
this.call_native("isPushStopped", data, callback);
}
this.call_native("reportNotificationOpened",[msgID],null);
JPushPlugin.prototype.init = function() {
if(this.isPlatformIOS()) {
var data = [];
this.call_native("initial", data, null);
} else {
data = [];
this.call_native("init", data, null);
}
}
JPushPlugin.prototype.setDebugMode = function(mode) {
if(device.platform == "Android") {
this.call_native("setDebugMode", [mode], null);
}
}
JPushPlugin.prototype.addLocalNotification = function(builderId, content, title,
notificaitonID, broadcastTime, extras) {
if(device.platform == "Android") {
data = [builderId, content, title, notificaitonID, broadcastTime, extras];
this.call_native("addLocalNotification", data, null);
}
}
JPushPlugin.prototype.removeLocalNotification = function(notificationID) {
if(device.platform == "Android") {
this.call_native("removeLocalNotification", [notificationID], null);
}
}
JPushPlugin.prototype.clearLocalNotifications = function() {
if(device.platform == "Android") {
data = [];
this.call_native("clearLocalNotifications", data, null);
}
}
JPushPlugin.prototype.reportNotificationOpened = function(msgID) {
if(device.platform == "Android") {
this.call_native("reportNotificationOpened", [msgID], null);
}
}
@@ -356,19 +360,18 @@ JPushPlugin.prototype.reportNotificationOpened = function(msgID){
*在 Portal 上展示给开发者。
**/
JPushPlugin.prototype.setStatisticsOpen = function(mode) {
if(device.platform == "Android") {
this.call_native("setStatisticsOpen", [mode], null);
}
if(device.platform == "Android") {
this.call_native("setStatisticsOpen", [mode], null);
}
}
//iOS single
if(!window.plugins){
if(!window.plugins) {
window.plugins = {};
}
if(!window.plugins.jPushPlugin){
if(!window.plugins.jPushPlugin) {
window.plugins.jPushPlugin = new JPushPlugin();
}