{"id":13750050,"url":"https://github.com/beefe/react-native-wechat-android","last_synced_at":"2025-05-09T15:31:27.303Z","repository":{"id":57341483,"uuid":"47801675","full_name":"beefe/react-native-wechat-android","owner":"beefe","description":"Wechat SDK for React Native(Android)","archived":false,"fork":false,"pushed_at":"2017-08-21T05:23:26.000Z","size":17530,"stargazers_count":187,"open_issues_count":3,"forks_count":43,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-04-30T16:06:21.629Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/beefe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-12-11T03:04:50.000Z","updated_at":"2024-12-28T14:44:48.000Z","dependencies_parsed_at":"2022-09-14T04:30:48.735Z","dependency_job_id":null,"html_url":"https://github.com/beefe/react-native-wechat-android","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beefe%2Freact-native-wechat-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beefe%2Freact-native-wechat-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beefe%2Freact-native-wechat-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/beefe%2Freact-native-wechat-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/beefe","download_url":"https://codeload.github.com/beefe/react-native-wechat-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253275602,"owners_count":21882333,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T08:00:20.626Z","updated_at":"2025-05-09T15:31:27.014Z","avatar_url":"https://github.com/beefe.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# react-native-wechat-android [![npm version](https://img.shields.io/npm/v/react-native-wechat-android.svg?style=flat-square)](https://www.npmjs.com/package/react-native-wechat-android) ![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)\nreact-native 的微信SDK辅助包，支持微信登录、微信分享、微信支付(本模块仅支持Android)。\n\n- [iOS模块](https://github.com/beefe/react-native-wechat-ios)地址\n- [兼容iOS](https://github.com/beefe/react-native-wechat-android/wiki/%E5%85%BC%E5%AE%B9iOS)示例\n\n## [安装及使用方法](https://github.com/beefe/react-native-wechat-android/wiki)\n\n## 提供以下方法 / Method\n\n* [registerApp](#registerappappidcallback)\n* [openWXApp](#openwxappcallback)\n* [isWXAppInstalled](#iswxappinstalledcallback)\n* [isWXAppSupportAPI](#iswxappsupportapicallback)\n* [getWXAppSupportAPI](#iswxappsupportapicallback)\n* [sendAuthReq](#sendauthreqscopestatecallback)\n* [sendReq](#sendreqoptionscallback)\n* [weChatPay](#wechatpayoptionscallback)\n\n### registerApp(appId,callback)\n\nappId : 在微信开放平台申请的AppID\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\nWeChatAndroid.registerApp(appId,(err,registerOK) =\u003e {\n ...\n});\n```\n\n### openWXApp(callback)\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\nWeChatAndroid.openWXApp((err,res) =\u003e {\n    ...\n});\n```\n\n### isWXAppInstalled(callback)\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\nWeChatAndroid.isWXAppInstalled(\n    (err,isInstalled) =\u003e {\n        ...\n    }\n);\n```\n\n### isWXAppSupportAPI(callback)\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\nWeChatAndroid.isWXAppSupportAPI(\n    (err,isSupport) =\u003e {\n        ...\n    }\n);\n```\n\n### getWXAppSupportAPI(callback)\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\nWeChatAndroid.getWXAppSupportAPI(\n    (err,supportAPI) =\u003e {\n        ...\n    }\n);\n```\n\n### sendAuthReq(scope,state,callback)\n\nscope : 微信登录需要的参数(可空)\n\nstate : 微信登录需要的参数(可空)\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\nWeChatAndroid.sendAuthReq('snsapi_userinfo','SECRET',(err,authReqOK) =\u003e {\n    ...\n});\n```\nor\n```javascript\nWeChatAndroid.sendAuthReq(null,null,(err,authReqOK) =\u003e {\n    ...\n});\n```\n```javascript\n// 处理登录回调结果\nDeviceEventEmitter.addListener('finishedAuth',function(event){\n    if(event.success){\n        ToastAndroid.show(\n            ' code = ' + JSON.stringify(event.code)\n            + ' state = ' + JSON.stringify(event.state),\n            ToastAndroid.LONG\n        );\n    }else{\n        ToastAndroid.show('授权失败',ToastAndroid.SHORT);\n    }\n});\n```\n\n### sendReq(options,callback)\n\noptions : 分享到微信需要的参数\n * type （必传，用来区分分享的内容）\n  * 1:文字\n  * 2:图片\n  * 3:网页\n  * 4:音乐\n  * 5:视频\n * title （分享的标题）\n * desc （分享的描述）\n * thumbSize （分享的缩略图大小，不传默认150）\n * tagName\n * transaction\n * scene （分享方式，传错或者不传默认为0）\n  * 0:聊天界面／好友\n  * 1:朋友圈\n  * 2:收藏\n * text （当分享类型为文本时使用）\n * imageUrl （当分享类型为网络照片时使用）\n * imagePath （当分享类型为本地照片时使用）\n * webpageUrl （当分享类型为网页时使用）\n * musicUrl （当分享类型为音乐时使用）\n * musicLowBandUrl （当分享类型为音乐时使用）\n * thumbImage （仅当分享类型为网页、音乐、视频时使用）\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\n\n//分享文本\nvar textOptions = {\n    title: '分享一段内容给你',\n    transaction: 'text',\n    scene: 0,\n    type: 1,\n    text: '这里是分享的文本内容',\n}\n\n//分享网络图片\nvar networkImageOptions = {\n    title: '分享一张图片给你',\n    thumbSize: 150,\n    scene: 0,\n    type: 2,\n\n    imageUrl: 'https://avatars3.githubusercontent.com/u/3015681?v=3\u0026s=460',\n}\n\n//分享本地图片\nvar localImageOptions = {\n    title: '分享一张图片给你',\n    thumbSize: 150,\n    scene: 0,\n    type: 2,\n\n    imagePath: '/mnt/sdcard/temp.png',\n}\n\n//分享网页\nvar webpageOptions = {\n    title: '分享这个网页给你',\n    desc: '我发现这个网页很有趣，特意分享给你',\n    thumbSize: 150,\n    scene: 0,\n    type: 3,\n\n    webpageUrl: 'https://github.com/beefe/react-native-wechat-android',\n    thumbImage: 'http://img1.imgtn.bdimg.com/it/u=3924416677,403957246\u0026fm=21\u0026gp=0.jpg',\n}\n\n//分享音乐\nvar musicOptions = {\n    title: '这里是分享的标题',\n    desc: '发现一首好听的音乐，分享给你',\n    transaction: 'music',\n    scene: 1,\n    type: 4,\n\n    musicUrl: 'http://staff2.ustc.edu.cn/~wdw/softdown/index.asp/0042515_05.ANDY.mp3',\n    thumbImage: 'http://img1.imgtn.bdimg.com/it/u=3924416677,403957246\u0026fm=21\u0026gp=0.jpg',\n}\n\n//分享视频\nvar videoOptions = {\n    title: '这里是分享的标题',\n    desc: '这个视频好有趣，一起来看看',\n    transaction: 'video',\n    scene: 1,\n    type: 5,\n\n    videoUrl: 'http://www.iqiyi.com/v_19rrnlidhk.html?src=sharemodclk131212',\n    thumbImage: 'http://img1.imgtn.bdimg.com/it/u=3924416677,403957246\u0026fm=21\u0026gp=0.jpg',\n}\n\nWeChatAndroid.sendReq(videoOptions,(err,sendOK) =\u003e {\n    ...\n});\n\n// 分享回调\nDeviceEventEmitter.addListener('finishedShare',function(event){\n    if(event.success){\n        ToastAndroid.show('分享成功',ToastAndroid.SHORT);\n    }else{\n        ToastAndroid.show('分享失败',ToastAndroid.SHORT);\n    }\n});\n```\n\n### weChatPay(options,callback)\n\noptions : [微信支付需要的参数](https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_12\u0026index=2)\n\ncallback : 回调(err,res)\n\n使用示例：\n\n```javascript\n\nvar payOptions = {\n    appId: 'wx8888888888888888',         \n    nonceStr: '5K8264ILTKCH16CQ2502SI8ZNMTM67VS',            \n    packageValue: 'Sign=WXPay',\n    partnerId: '1900000109',\n    prepayId: 'WX1217752501201407033233368018',\n    timeStamp: '1412000000',\n    sign: 'C380BEC2BFD727A4B6845133519F3AD6',\n};\n\nWeChatAndroid.weChatPay(payOptions,(err,sendReqOK) =\u003e {\n    ...\n});\n\n//  处理支付回调结果\nDeviceEventEmitter.addListener('finishedPay',function(event){\n    if(event.success){\n        // 在此发起网络请求由服务器验证是否真正支付成功，然后做出相应的处理\n    }else{\n        ToastAndroid.show('支付失败',ToastAndroid.SHORT);\n    }\n});\n```\n\n## Notes\n* 打包apk请参考[Generating Signed APK](http://facebook.github.io/react-native/docs/signed-apk-android.html#content)\n* 如需要混淆，需要在混淆文件里加上以下代码：\n```text\n-keep class com.tencent.mm.sdk.** {\n   *;\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeefe%2Freact-native-wechat-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbeefe%2Freact-native-wechat-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbeefe%2Freact-native-wechat-android/lists"}