Mini program method | MiniOpenApiProxyV2 implementation method | Description | Default implementation |
wx.login | login | Login API SDK | Default implementation from version 2.1.0 |
wx.getUserInfo | getUserInfo | Retrieves basic user information | No default implementation |
wx.getUserProfile | getUserProfile | Retrieves user profile information | No default implementation |
wx.getPhoneNumber | getPhoneNumber | Retrieves phone number | Default implementation from version 2.1.0 |
wx.requestPayment | requestPayment | Initiates a payment | No default implementation |
wx.requestMidasPaymentGameItem | requestMidasPaymentGameItem | request mini game payment | No default implementation from version 2.2.4 |
wx.checkSession | checkSession | Checks if the login session is expired | Default implementation from version 2.1.0 |
wx.getEmail | getEmail | Retrieves user email | Default implementation from version 2.1.0 |
wx.chooseAvatar | chooseAvatar | Retrieves the user profile photo | Default implementation from version 2.1.0 |
wx.getNickName | getNickName | Retrieves the user nickname | Default implementation from version 2.1.0 |
@ProxyService(proxy = MiniOpenApiProxyV2.class)public class MiniOpenApiProxyImplV2 extends MiniOpenApiProxyDefault {private static final String TAG = "MiniOpenApiProxyImplV2";@Overridepublic void getUserInfo(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) {QMLog.d(TAG, "getUserInfo:" + params);JSONObject jsonObject = new JSONObject();try {final JSONObject userInfo = new JSONObject();TmfMiniSDK.callMainProcessPlugin(OpenDataIPC.OPEN_DATA_IPC_EVENT_GET_USER_ID, new Bundle(), new IpcCallback() {@Overridepublic void result(boolean b, Bundle bundle) {try {userInfo.put("nickName", bundle.getString("userId"));userInfo.put("avatarUrl", bundle.getString("avatarUrl"));} catch (JSONException e) {e.printStackTrace();}}});userInfo.put("gender", 0);userInfo.put("country", "CN");userInfo.put("province", "BeiJing");userInfo.put("city", "BeiJing");userInfo.put("language", "en");jsonObject.put("userInfo", userInfo);} catch (JSONException e) {e.printStackTrace();}result.onReceiveResult(true, jsonObject);}@Overridepublic void getUserProfile(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) {QMLog.d(TAG, "getUserProfile:" + params);JSONObject jsonObject = new JSONObject();try {final JSONObject userInfo = new JSONObject();TmfMiniSDK.callMainProcessPlugin(OpenDataIPC.OPEN_DATA_IPC_EVENT_GET_USER_ID, new Bundle(), new IpcCallback() {@Overridepublic void result(boolean b, Bundle bundle) {try {userInfo.put("nickName", bundle.getString("userId"));userInfo.put("avatarUrl", bundle.getString("avatarUrl"));} catch (JSONException e) {e.printStackTrace();}}});userInfo.put("gender", 0);userInfo.put("country", "CN");userInfo.put("province", "BeiJing");userInfo.put("city", "BeiJing");userInfo.put("language", "en");jsonObject.put("userInfo", userInfo);} catch (JSONException e) {e.printStackTrace();}result.onReceiveResult(true, jsonObject);}@Overridepublic void requestPayment(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) {QMLog.d(TAG, "requestPayment:" + params);JSONObject jsonObject = new JSONObject();try {jsonObject.put("key", "wx.requestPayment");} catch (JSONException e) {e.printStackTrace();}PaymentManager.g(miniAppContext.getContext()).startPayment(miniAppContext, params, result);}@Overridepublic void requestMidasPaymentGameItem(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) {// call your custom payment implementationboolean paySuccess = PaymentManagerV2.g().startMidasPayment(miniAppContext, params, result);// notify payment result with AsynResultif(paySuccess){result.onReceiveResult(true,successData);}else{result.onReceiveResult(false,failedData);}}}
@ProxyService(proxy = MiniAppProxy.class)public class MiniAppProxyImpl extends BaseMiniAppProxyImpl {@Overridepublic String getAccount() {// User identifier of the host applicationString uid = getHostAppUserId();return uid;}}
Mini program method | MiniOpenApiProxy method | Description |
wx.login | login | Login API |
wx.getUserInfo | getUserInfo | Retrieves basic user information |
wx.getUserProfile | getUserProfile | Retrieves user profile information |
wx.getPhoneNumber | getPhoneNumber | Retrieves phone number |
wx.requestPayment | requestPayment | Initiates a payment |
wx.checkSession | checkSession | Checks if the login session is expired |
@ProxyService(proxy = MiniOpenApiProxy.class) public class MiniOpenApiProxyImpl implements MiniOpenApiProxy { private static final String TAG = "MiniOpenApiProxyImpl"; @Override public void login(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) { QMLog.d(TAG, "login:" + params); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("key", "wx.login"); } catch (JSONException e) { e.printStackTrace(); } result.onReceiveResult(true, jsonObject); } @Override public void checkSession(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) { QMLog.d(TAG, "checkSession:" + params); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("key", "wx.checkSession"); } catch (JSONException e) { e.printStackTrace(); } result.onReceiveResult(true, jsonObject); } @Override public void getUserInfo(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) { QMLog.d(TAG, "getUserInfo:" + params); JSONObject jsonObject = new JSONObject(); try { final JSONObject userInfo = new JSONObject(); userInfo.put("nickName", "userInfo"); // userInfo.put("avatarUrl", bundle.getString("avatarUrl")); userInfo.put("gender", 0); userInfo.put("country", "CN"); userInfo.put("province", "BeiJing"); userInfo.put("city", "BeiJing"); userInfo.put("language", "en"); jsonObject.put("userInfo", userInfo); } catch (JSONException e) { e.printStackTrace(); } result.onReceiveResult(true, jsonObject); } @Override public void getUserProfile(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) { QMLog.d(TAG, "getUserProfile:" + params); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("key", "wx.getUserProfile"); } catch (JSONException e) { e.printStackTrace(); } result.onReceiveResult(true, jsonObject); } @Override public void getPhoneNumber(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) { QMLog.d(TAG, "getPhoneNumber:" + params); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("key", "wx.getPhoneNumber"); } catch (JSONException e) { e.printStackTrace(); } result.onReceiveResult(true, jsonObject); } @Override public void requestPayment(IMiniAppContext miniAppContext, JSONObject params, AsyncResult result) { QMLog.d(TAG, "requestPayment:" + params); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("key", "wx.requestPayment"); } catch (JSONException e) { e.printStackTrace(); } result.onReceiveResult(true, jsonObject); }
@ProxyService(proxy = MiniOpenApiProxyV2.class)public class DisableDefaultOpenApiProxyImpl extends MiniOpenApiProxyV2 {@Overridepublic boolean disableV2API(IMiniAppContext miniAppContext) {// Return true to disable the default login implementation, false to use the default.// Default value: false.return true;}}