mirror of
https://github.com/little-snow-fox/react-native-wechat-lib.git
synced 2025-12-07 07:46:49 +08:00
feat: android add choose invoice
This commit is contained in:
parent
8049474db8
commit
e8c6f55963
@ -31,6 +31,7 @@ import com.facebook.react.bridge.WritableMap;
|
|||||||
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
||||||
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;
|
||||||
|
import com.tencent.mm.opensdk.modelbiz.ChooseCardFromWXCardPackage;
|
||||||
import com.tencent.mm.opensdk.modelmsg.SendAuth;
|
import com.tencent.mm.opensdk.modelmsg.SendAuth;
|
||||||
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
|
import com.tencent.mm.opensdk.modelmsg.SendMessageToWX;
|
||||||
import com.tencent.mm.opensdk.modelmsg.ShowMessageFromWX;
|
import com.tencent.mm.opensdk.modelmsg.ShowMessageFromWX;
|
||||||
@ -197,8 +198,29 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
callback.invoke(null, api.sendReq(req));
|
callback.invoke(null, api.sendReq(req));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 选择发票
|
||||||
|
*
|
||||||
|
* @param data
|
||||||
|
* @param callback
|
||||||
|
*/
|
||||||
|
@ReactMethod
|
||||||
|
public void chooseInvoice(ReadableMap data, Callback callback) {
|
||||||
|
ChooseCardFromWXCardPackage.Req req = new ChooseCardFromWXCardPackage.Req();
|
||||||
|
|
||||||
|
req.appId = this.appId;
|
||||||
|
req.cardType = "INVOICE";
|
||||||
|
req.timeStamp = String.valueOf(data.getInt("timeStamp"));
|
||||||
|
req.nonceStr = data.getString("nonceStr");
|
||||||
|
req.cardSign = data.getString("cardSign");
|
||||||
|
req.signType = data.getString("signType");
|
||||||
|
|
||||||
|
callback.invoke(null, api.sendReq(req));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享文本
|
* 分享文本
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -222,6 +244,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享图片
|
* 分享图片
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -255,8 +278,10 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
}
|
}
|
||||||
// private static final String SDCARD_ROOT = Environment.getExternalStorageDirectory().getAbsolutePath();
|
// private static final String SDCARD_ROOT = Environment.getExternalStorageDirectory().getAbsolutePath();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享本地图片
|
* 分享本地图片
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -318,6 +343,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享音乐
|
* 分享音乐
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -365,6 +391,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享视频
|
* 分享视频
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -407,6 +434,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享网页
|
* 分享网页
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -449,6 +477,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 分享小程序
|
* 分享小程序
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -525,6 +554,7 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 一次性订阅消息
|
* 一次性订阅消息
|
||||||
|
*
|
||||||
* @param data
|
* @param data
|
||||||
* @param callback
|
* @param callback
|
||||||
*/
|
*/
|
||||||
@ -895,6 +925,10 @@ public class WeChatModule extends ReactContextBaseJavaModule implements IWXAPIEv
|
|||||||
map.putString("type", "WXLaunchMiniProgramReq.Resp");
|
map.putString("type", "WXLaunchMiniProgramReq.Resp");
|
||||||
map.putString("extraData", extraData);
|
map.putString("extraData", extraData);
|
||||||
map.putString("extMsg", extraData);
|
map.putString("extMsg", extraData);
|
||||||
|
} else if (baseResp instanceof ChooseCardFromWXCardPackage.Resp) {
|
||||||
|
ChooseCardFromWXCardPackage.Resp resp = (ChooseCardFromWXCardPackage.Resp) baseResp;
|
||||||
|
map.putString("type", "WXChooseInvoiceResp.Resp");
|
||||||
|
map.putString("cardItemList", resp.cardItemList);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getReactApplicationContext()
|
this.getReactApplicationContext()
|
||||||
|
|||||||
2
index.d.ts
vendored
2
index.d.ts
vendored
@ -159,7 +159,7 @@ declare module 'react-native-wechat-lib' {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function chooseInvoice(
|
export function chooseInvoice(
|
||||||
data?: ChooseInvoice,
|
data: ChooseInvoice,
|
||||||
): Promise<{ errCode?: number; errStr?: string; cards: Invoice[] }>;
|
): Promise<{ errCode?: number; errStr?: string; cards: Invoice[] }>;
|
||||||
|
|
||||||
export interface ShareFileMetadata {
|
export interface ShareFileMetadata {
|
||||||
|
|||||||
9
index.js
9
index.js
@ -205,11 +205,18 @@ export function shareText(data) {
|
|||||||
* @method chooseInvoice
|
* @method chooseInvoice
|
||||||
* @param {Object} data
|
* @param {Object} data
|
||||||
*/
|
*/
|
||||||
export function chooseInvoice(data) {
|
export function chooseInvoice(data = {}) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
nativeChooseInvoice(data);
|
nativeChooseInvoice(data);
|
||||||
emitter.once('WXChooseInvoiceResp.Resp', (resp) => {
|
emitter.once('WXChooseInvoiceResp.Resp', (resp) => {
|
||||||
if (resp.errCode === 0) {
|
if (resp.errCode === 0) {
|
||||||
|
if (Platform.OS === 'android') {
|
||||||
|
const cardItemList = JSON.parse(resp.cardItemList);
|
||||||
|
resp.cards = cardItemList.map((item) => ({
|
||||||
|
cardId: item.card_id,
|
||||||
|
encryptCode: item.encrypt_code,
|
||||||
|
}));
|
||||||
|
}
|
||||||
resolve(resp);
|
resolve(resp);
|
||||||
} else {
|
} else {
|
||||||
reject(new WechatError(resp));
|
reject(new WechatError(resp));
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user