Commit da0197bc by amateur

1

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