123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- import * as WeChat from 'react-native-wechat';
- import request from '../utils/request';
- import AndroidUtil from '../../util/AndroidUtil';
- /**
- public static String WX_APPID = "wx51acc19c8f7a0f6f";
- public static String WX_SECRET = "e830d45f497025041269ef6221140c3d";
- */
- WeChat.registerApp('wx51acc19c8f7a0f6f');
- export default class wechat {
- //登录方法
- static wechatLogin(callback) {
- WeChat.isWXAppInstalled().then((isInstalled) => {
- if (isInstalled) {
- WeChat.sendAuthRequest('snsapi_userinfo').then((result) => {
- var object = JSON.parse(JSON.stringify(result));
- var loginUrl =
- 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx51acc19c8f7a0f6f&secret=e830d45f497025041269ef6221140c3d&code=' +
- object['code'] +
- '&grant_type=authorization_code';
- request(loginUrl).then((res) => {
- console.log('code请求下一步返回结果:' + res['openid']);
- callback(res['openid']);
- });
- });
- } else {
- alert('请安装微信');
- }
- });
- }
- /**
- * 好友文字分享
- * @param {string} descriptiontext 测试微信好友分享的文本内容
- */
- static shareToSessionText(descriptiontext) {
- WeChat.isWXAppInstalled().then((isInstalled) => {
- if (isInstalled) {
- WeChat.shareToSession({
- type: 'text',
- description: descriptiontext
- })
- .then((result) => {
- console.log(result);
- })
- .catch((error) => {
- error(error.message);
- });
- } else {
- alert('请安装微信');
- }
- });
- }
- /**
- * 微信好友分享链接
- * @param {string} title_text 分享的标题
- * @param {string} description_text 分享的标题内容
- * @param {string} thumbImage_url 分享的标题图片
- * @param {string} webpageUrl_url 分享的链接
- */
- static shareToSessionNews(title_text, description_text, thumbImage_url, webpageUrl_url) {
- WeChat.isWXAppInstalled().then((isInstalled) => {
- if (isInstalled) {
- WeChat.shareToSession({
- title: title,
- description: description,
- thumbImage: thumbImage,
- type: 'news',
- webpageUrl: webpageUrl
- }).catch((error) => {
- alert(error.message);
- });
- } else {
- alert('请安装微信');
- }
- });
- }
- /**
- * 微信朋友圈分享的文本
- * @param {string} description_text 测试微信朋友圈分享的文本内容
- */
- static shareToTimelineText(description_text) {
- WeChat.isWXAppInstalled().then((isInstalled) => {
- if (isInstalled) {
- WeChat.shareToTimeline({
- type: 'text',
- description: description_text
- }).catch((error) => {
- console.log(error.message);
- });
- } else {
- alert('请安装微信');
- }
- });
- }
- /**
- * 微信好友分享链接
- * @param {string} title_text 分享的标题
- * @param {string} description_text 分享的标题内容
- * @param {string} thumbImage_url 分享的标题图片
- * @param {string} webpageUrl_url 分享的链接
- */
- static shareToTimelineNews(title_text, description_text, thumbImage_url, webpageUrl_url) {
- WeChat.isWXAppInstalled().then((isInstalled) => {
- if (isInstalled) {
- WeChat.shareToTimeline({
- title: title_text,
- description: description_text,
- thumbImage: thumbImage_url,
- type: 'news',
- webpageUrl: webpageUrl_url
- }).catch((error) => {
- console.log(error.message);
- });
- } else {
- alert('请安装微信');
- }
- });
- }
- /**
- * 微信支付
- * @param {string} partnerId 商家向财付通申请的商家id
- * @param {string} prepayId 预支付订单
- * @param {string} nonceStr 随机串,防重发
- * @param {string} timeStamp 时间戳,防重发.
- * @param {string} package 商家根据财付通文档填写的数据和签名
- * @param {string} sign 商家根据微信开放平台文档对数据做的签名
- */
- static pay(partnerId, prepayId, nonceStr, timeStamp, packages, sign) {
- WeChat.isWXAppInstalled().then((isInstalled) => {
- if (isInstalled) {
- WeChat.pay({
- partnerId: partnerId, // 商家向财付通申请的商家id
- prepayId: prepayId, // 预支付订单
- nonceStr: nonceStr, // 随机串,防重发
- timeStamp: timeStamp, // 时间戳,防重发.
- package: packages, // "Sign=WXPay", // 商家根据财付通文档填写的数据和签名
- sign: sign // 商家根据微信开放平台文档对数据做的签名
- })
- .then((requestJson) => {
- //支付成功回调
- if (requestJson.errCode == '0') {
- //回调成功处理
- }
- })
- .catch((err) => {
- alert('支付失败');
- });
- } else {
- alert('请安装微信');
- }
- });
- }
- static toMiniProgram(programId, path) {
- AndroidUtil.toMiniProgram(programId, path);
- }
- }
- /***
- //github:https://github.com/yorkie/react-native-wechat
- 使用方法:
- 1.登录使用方法,返回openid
- // wechat.wechatLogin((openid) => {
- // alert(openid);
- // });
- //微信方法传参
- {
- type {Number} type of this message. Can be {news|text|imageUrl|imageFile|imageResource|video|audio|file}
- thumbImage {String} Thumb image of the message, which can be a uri or a resource id.
- description {String} The description about the sharing.
- webpageUrl {String} Required if type equals news. The webpage link to share.
- imageUrl {String} Provide a remote image if type equals image.
- videoUrl {String} Provide a remote video if type equals video.
- usicUrl {String} Provide a remote music if type equals audio.
- filePath {String} Provide a local file if type equals file.
- fileExtension {String} Provide the file type if type equals file.
- }
- */
|