Commit da0197bc by amateur

1

1 parent e612f0ee
...@@ -6,17 +6,17 @@ import android.content.Intent; ...@@ -6,17 +6,17 @@ import android.content.Intent;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.polysoft.nafmii.bean.Result; import com.polysoft.nafmii.bean.Result;
public class ShareReceiver extends Receiver<Result> { public class WechatReceiver extends Receiver<Result> {
public static final String ACTION = "com.polysoft.nafmii.action_share"; public static final String ACTION = "com.polysoft.nafmii.action_wechat";
protected ShareReceiver(Context context) { protected WechatReceiver(Context context) {
super(context); super(context);
} }
public static Receiver<Result> getInstance(Context context) { public static Receiver<Result> getInstance(Context context) {
Receiver<Result> receiver = getReceiver(ShareReceiver.class); Receiver<Result> receiver = getReceiver(WechatReceiver.class);
return null != receiver ? receiver : new ShareReceiver(context.getApplicationContext()); return null != receiver ? receiver : new WechatReceiver(context.getApplicationContext());
} }
public static void sendBroadcast(Context context, Result data) { public static void sendBroadcast(Context context, Result data) {
......
...@@ -58,8 +58,8 @@ public class ModuleUrlHandle { ...@@ -58,8 +58,8 @@ public class ModuleUrlHandle {
// Uri uri = Uri.parse(urlStr); // Uri uri = Uri.parse(urlStr);
// return uri.getScheme() +":"+ uri.getSchemeSpecificPart() + module.webUrl; // return uri.getScheme() +":"+ uri.getSchemeSpecificPart() + module.webUrl;
return BuildConfig.ONLINE_URL + "?"+System.currentTimeMillis() + module.webUrl; // return BuildConfig.ONLINE_URL + "?"+System.currentTimeMillis() + module.webUrl;
// return "http://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl; return "http://192.168.137.1:8080/"+System.currentTimeMillis() + module.webUrl;
} }
// return intent.getStringExtra(module.name); // return intent.getStringExtra(module.name);
return ""; return "";
......
...@@ -17,7 +17,7 @@ import com.polysoft.nafmii.bean.MenuBean; ...@@ -17,7 +17,7 @@ import com.polysoft.nafmii.bean.MenuBean;
import com.polysoft.nafmii.bean.Result; import com.polysoft.nafmii.bean.Result;
import com.polysoft.nafmii.broadcast.PhotosReceiver; import com.polysoft.nafmii.broadcast.PhotosReceiver;
import com.polysoft.nafmii.broadcast.Receiver; import com.polysoft.nafmii.broadcast.Receiver;
import com.polysoft.nafmii.broadcast.ShareReceiver; import com.polysoft.nafmii.broadcast.WechatReceiver;
import com.polysoft.nafmii.database.ObjectBox; import com.polysoft.nafmii.database.ObjectBox;
import com.polysoft.nafmii.database.entity.DataEntity; import com.polysoft.nafmii.database.entity.DataEntity;
import com.polysoft.nafmii.enums.DatabaseEnum; import com.polysoft.nafmii.enums.DatabaseEnum;
...@@ -35,7 +35,6 @@ import com.polysoft.nafmii.wechat.WechatApi; ...@@ -35,7 +35,6 @@ import com.polysoft.nafmii.wechat.WechatApi;
import com.whaty.nafmii.activity.OutsideWebviewActivity; import com.whaty.nafmii.activity.OutsideWebviewActivity;
import java.net.URLDecoder; import java.net.URLDecoder;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -81,6 +80,12 @@ public class NativeApi { ...@@ -81,6 +80,12 @@ public class NativeApi {
js.callJs(result); js.callJs(result);
})); }));
} else if ("2".equals(type)) { // 微信 } else if ("2".equals(type)) { // 微信
final Receiver<Result> receiver = WechatReceiver.getInstance(mActivity);
receiver.register();
receiver.addDefaultListener((action, login) -> {
js.callJs(login);
receiver.addDefaultListener(null);
});
this.mActivity.runOnUiThread(() -> { this.mActivity.runOnUiThread(() -> {
WechatApi instance = WechatApi.getInstance(this.mActivity); WechatApi instance = WechatApi.getInstance(this.mActivity);
instance.login(); instance.login();
...@@ -108,7 +113,7 @@ public class NativeApi { ...@@ -108,7 +113,7 @@ public class NativeApi {
if (!instance.isWXAppInstalled()) { if (!instance.isWXAppInstalled()) {
js.callJs(Result.fail("未安装应用")); js.callJs(Result.fail("未安装应用"));
} }
final Receiver<Result> shareReceiver = ShareReceiver.getInstance(mActivity); final Receiver<Result> shareReceiver = WechatReceiver.getInstance(mActivity);
shareReceiver.addDefaultListener((action, share) -> { shareReceiver.addDefaultListener((action, share) -> {
js.callJs(share); js.callJs(share);
shareReceiver.addDefaultListener(null); shareReceiver.addDefaultListener(null);
......
...@@ -4,20 +4,26 @@ import android.text.TextUtils; ...@@ -4,20 +4,26 @@ import android.text.TextUtils;
import com.polysoft.nafmii.bean.Result; import com.polysoft.nafmii.bean.Result;
public class ShareResult { public class WechatResult {
public static final String CANCEL = "-2"; public static final String CANCEL = "-2";
public static Result shareSuccess() { public static Result shareSuccess() {
return Result.success("分享成功", null); return Result.success("分享成功", null);
} }
public static Result shareFail(String text) { public static Result fail(String text) {
String statusText = TextUtils.isEmpty(text) ? text : "分享失败"; String statusText = TextUtils.isEmpty(text) ? text : "操作失败";
return Result.fail(statusText); return Result.fail(statusText);
} }
public static Result shareCancel() { public static Result cancel() {
return new Result(CANCEL, "分享取消", null); return new Result(CANCEL, "用户取消", null);
}
public static Result refuse() {
return Result.fail("授权失败");
} }
public static Result loginSuccess(Object loginResult) {
return Result.success(loginResult);
}
} }
...@@ -4,8 +4,8 @@ import android.app.Activity; ...@@ -4,8 +4,8 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import com.polysoft.nafmii.broadcast.ShareReceiver; import com.polysoft.nafmii.broadcast.WechatReceiver;
import com.polysoft.nafmii.wechat.ShareResult; import com.polysoft.nafmii.wechat.WechatResult;
import com.polysoft.nafmii.wechat.WechatApi; import com.polysoft.nafmii.wechat.WechatApi;
import com.tencent.mm.opensdk.modelbase.BaseReq; import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp; import com.tencent.mm.opensdk.modelbase.BaseResp;
...@@ -32,18 +32,21 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler { ...@@ -32,18 +32,21 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
@Override @Override
public void onResp(BaseResp resp) { public void onResp(BaseResp resp) {
if (resp instanceof SendAuth.Resp) {
}
int code = resp.errCode; int code = resp.errCode;
if (code == BaseResp.ErrCode.ERR_OK) { // 分享成功 if (code == BaseResp.ErrCode.ERR_OK) { // 成功
ShareReceiver.sendBroadcast(this, ShareResult.shareSuccess()); if (resp instanceof SendAuth.Resp) {
WechatReceiver.sendBroadcast(this, WechatResult.loginSuccess(resp));
} else {
WechatReceiver.sendBroadcast(this, WechatResult.shareSuccess());
}
} else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消 } else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消
ShareReceiver.sendBroadcast(this, ShareResult.shareCancel()); WechatReceiver.sendBroadcast(this, WechatResult.cancel());
} else { // 分享失败 } else { // 失败
String errStr = resp.errStr; String errStr = resp.errStr;
ShareReceiver.sendBroadcast(this, ShareResult.shareFail(errStr)); // if (resp instanceof SendAuth.Resp) {
// WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
// }
WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
} }
super.finish(); super.finish();
} }
......
...@@ -4,8 +4,8 @@ import android.app.Activity; ...@@ -4,8 +4,8 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import com.polysoft.nafmii.broadcast.ShareReceiver; import com.polysoft.nafmii.broadcast.WechatReceiver;
import com.polysoft.nafmii.wechat.ShareResult; import com.polysoft.nafmii.wechat.WechatResult;
import com.polysoft.nafmii.wechat.WechatApi; import com.polysoft.nafmii.wechat.WechatApi;
import com.tencent.mm.opensdk.modelbase.BaseReq; import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp; import com.tencent.mm.opensdk.modelbase.BaseResp;
...@@ -32,18 +32,21 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler { ...@@ -32,18 +32,21 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
@Override @Override
public void onResp(BaseResp resp) { public void onResp(BaseResp resp) {
if (resp instanceof SendAuth.Resp) {
}
int code = resp.errCode; int code = resp.errCode;
if (code == BaseResp.ErrCode.ERR_OK) { // 分享成功 if (code == BaseResp.ErrCode.ERR_OK) { // 成功
ShareReceiver.sendBroadcast(this, ShareResult.shareSuccess()); if (resp instanceof SendAuth.Resp) {
WechatReceiver.sendBroadcast(this, WechatResult.loginSuccess(resp));
} else {
WechatReceiver.sendBroadcast(this, WechatResult.shareSuccess());
}
} else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消 } else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消
ShareReceiver.sendBroadcast(this, ShareResult.shareCancel()); WechatReceiver.sendBroadcast(this, WechatResult.cancel());
} else { // 分享失败 } else { // 失败
String errStr = resp.errStr; String errStr = resp.errStr;
ShareReceiver.sendBroadcast(this, ShareResult.shareFail(errStr)); // if (resp instanceof SendAuth.Resp) {
// WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
// }
WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
} }
super.finish(); super.finish();
} }
......
...@@ -4,8 +4,8 @@ import android.app.Activity; ...@@ -4,8 +4,8 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import com.polysoft.nafmii.broadcast.ShareReceiver; import com.polysoft.nafmii.broadcast.WechatReceiver;
import com.polysoft.nafmii.wechat.ShareResult; import com.polysoft.nafmii.wechat.WechatResult;
import com.polysoft.nafmii.wechat.WechatApi; import com.polysoft.nafmii.wechat.WechatApi;
import com.tencent.mm.opensdk.modelbase.BaseReq; import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp; import com.tencent.mm.opensdk.modelbase.BaseResp;
...@@ -37,13 +37,19 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler { ...@@ -37,13 +37,19 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
} }
int code = resp.errCode; int code = resp.errCode;
if (code == BaseResp.ErrCode.ERR_OK) { // 分享成功 if (code == BaseResp.ErrCode.ERR_OK) { // 成功
ShareReceiver.sendBroadcast(this, ShareResult.shareSuccess()); if (resp instanceof SendAuth.Resp) {
WechatReceiver.sendBroadcast(this, WechatResult.loginSuccess(resp));
} else {
WechatReceiver.sendBroadcast(this, WechatResult.shareSuccess());
}
} else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消 } else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消
ShareReceiver.sendBroadcast(this, ShareResult.shareCancel()); WechatReceiver.sendBroadcast(this, WechatResult.cancel());
} else { // 分享失败 } else if (code == BaseResp.ErrCode.ERR_AUTH_DENIED) {
WechatReceiver.sendBroadcast(this, WechatResult.refuse());
} else { // 失败
String errStr = resp.errStr; String errStr = resp.errStr;
ShareReceiver.sendBroadcast(this, ShareResult.shareFail(errStr)); WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
} }
super.finish(); super.finish();
} }
......
...@@ -4,8 +4,8 @@ import android.app.Activity; ...@@ -4,8 +4,8 @@ import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import com.polysoft.nafmii.broadcast.ShareReceiver; import com.polysoft.nafmii.broadcast.WechatReceiver;
import com.polysoft.nafmii.wechat.ShareResult; import com.polysoft.nafmii.wechat.WechatResult;
import com.polysoft.nafmii.wechat.WechatApi; import com.polysoft.nafmii.wechat.WechatApi;
import com.tencent.mm.opensdk.modelbase.BaseReq; import com.tencent.mm.opensdk.modelbase.BaseReq;
import com.tencent.mm.opensdk.modelbase.BaseResp; import com.tencent.mm.opensdk.modelbase.BaseResp;
...@@ -32,18 +32,21 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler { ...@@ -32,18 +32,21 @@ public class WXEntryActivity extends Activity implements IWXAPIEventHandler {
@Override @Override
public void onResp(BaseResp resp) { public void onResp(BaseResp resp) {
if (resp instanceof SendAuth.Resp) {
}
int code = resp.errCode; int code = resp.errCode;
if (code == BaseResp.ErrCode.ERR_OK) { // 分享成功 if (code == BaseResp.ErrCode.ERR_OK) { // 成功
ShareReceiver.sendBroadcast(this, ShareResult.shareSuccess()); if (resp instanceof SendAuth.Resp) {
WechatReceiver.sendBroadcast(this, WechatResult.loginSuccess(resp));
} else {
WechatReceiver.sendBroadcast(this, WechatResult.shareSuccess());
}
} else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消 } else if (code == BaseResp.ErrCode.ERR_USER_CANCEL) { // 用户取消
ShareReceiver.sendBroadcast(this, ShareResult.shareCancel()); WechatReceiver.sendBroadcast(this, WechatResult.cancel());
} else { // 分享失败 } else { // 失败
String errStr = resp.errStr; String errStr = resp.errStr;
ShareReceiver.sendBroadcast(this, ShareResult.shareFail(errStr)); // if (resp instanceof SendAuth.Resp) {
// WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
// }
WechatReceiver.sendBroadcast(this, WechatResult.fail(errStr));
} }
super.finish(); super.finish();
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!