JSPM

cordova-plugin-wechat-ex

3.1.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q51858F
  • License MIT

A cordova plugin, a JS version of Wechat SDK with openCustomerServiceChat

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cordova-plugin-wechat-ex) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    This project is a fork of cordova-plugin-wechat, and add openCustomerServiceChat feature.

    在Capacitor项目中,虽然AndroidManifest.xml文件会被创建,并且WXEntryActivity和WXPayEntryActivity也会被添加到AndroidManifest.xml文件中,但是微信 SDK 不会回调这个路径,因为它默认调用的是主应用包路径下的 com.xxxx.wxapi.WXEntryActivity。 还有 在 Capacitor 中,Cordova 插件的 plugin.xml 并不能直接把文件拷贝到 主应用目录下。这是因为: Capacitor 不允许 Cordova 插件写入主应用源码(即 app module)下的任何目录。 可以用postinstall npm 脚本来复制文件。 但现在建议手工一次性拷贝。 需要把三个Java文件拷贝到主应用包路径下的 wxapi目录下,并添加

        <!-- 新增:微信 WXEntryActivity -->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:exported="true"
            android:launchMode="singleTask"
            android:taskAffinity="${applicationId}">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="wx1234567890abcdef" />
            </intent-filter>
        </activity>
    
        <!-- 新增:微信 WXPayEntryActivity -->
        <activity
            android:name=".wxapi.WXPayEntryActivity"
            android:exported="true"
            android:launchMode="singleTop">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="wx1234567890abcdef" />
            </intent-filter>
        </activity>

    到AndroidManifest.xml文件中。其中android:scheme是微信appid。

    Active Downloads version

    4.x

    4.x版本适配了最新的微信SDK和Cordova,由BSF软件基金会运营维护,点击了解

    重要说明

    Due to the security upgrade of iOS 13 system version, the official WeChat SDK has been adapted from 1.8.6 with supports * Universal Links * mode jumps, and the validity check when sharing.

    From version 3.0.0 of our plugin, we changed to the latest WeChat SDK. Before using it, you need to configure the Universal Links service, and pay attention to passing the universallink variable when installing the plugin, otherwise it will not work properly.

    If you don't want to use the new version features, you can fall back to version 3.0.0 prior

    cordova-plugin-wechat-ex

    A cordova plugin, a JS version of Wechat SDK

    Feature

    • check wechat client is installed;
    • Share text, image, link,music,video,miniprogram to wechat timeline,session or favorite;
    • open wechat auth;
    • send wechat payment request;
    • open wechat miniprogram;
    • listener wx-open-launch-app event;

    Documentation

    文档 · 教程 · FAQ · DEMO

    Install

    cordova plugin add cordova-plugin-wechat  --variable wechatappid=YOUR_WECHAT_APPID --variable universallink=YOUR_UNIVERSAL_LINK
    cordova build ios
    cordova build android

    Usage

    Check if wechat is installed

    Wechat.isInstalled(function (installed) {
        alert("Wechat installed: " + (installed ? "Yes" : "No"));
    }, function (reason) {
        alert("Failed: " + reason);
    });

    Authenticate using Wechat

    var scope = "snsapi_userinfo",
        state = "_" + (+new Date());
    Wechat.auth(scope, state, function (response) {
        // you may use response.code to get the access token.
        alert(JSON.stringify(response));
    }, function (reason) {
        alert("Failed: " + reason);
    });

    Share text

    Wechat.share({
        text: "This is just a plain string",
        scene: Wechat.Scene.TIMELINE   // share to Timeline
    }, function () {
        alert("Success");
    }, function (reason) {
        alert("Failed: " + reason);
    });
    Wechat.share({
        message: {
            title: "Hi, there",
            description: "This is description.",
            thumb: "www/img/thumbnail.png",
            mediaTagName: "TEST-TAG-001",
            messageExt: "这是第三方带的测试字段",
            messageAction: "<action>dotalist</action>",
            media: "YOUR_MEDIA_OBJECT_HERE"
        },
        scene: Wechat.Scene.TIMELINE   // share to Timeline
    }, function () {
        alert("Success");
    }, function (reason) {
        alert("Failed: " + reason);
    });
    Wechat.share({
        message: {
            ...
            media: {
                type: Wechat.Type.WEBPAGE,
                webpageUrl: "http://www.jason-z.com"
            }
        },
        scene: Wechat.Scene.TIMELINE   // share to Timeline
    }, function () {
        alert("Success");
    }, function (reason) {
        alert("Failed: " + reason);
    });

    Share mini program

    Wechat.share({
        message: {
            ...
            media: {
                type: Wechat.Type.MINI,
                webpageUrl: "https://www.jason-z.com", // 兼容低版本的网页链接
                userName: "wxxxxxxxx", // 小程序原始id
                path: "user/info", // 小程序的页面路径
                hdImageData: "http://wwww.xxx.com/xx.jpg", // 程序新版本的预览图二进制数据 不超过128kb 支持 地址 base64 temp
                withShareTicket: true, // 是否使用带shareTicket的分享
                miniprogramType: Wechat.Mini.RELEASE 
            }
        },
        scene: Wechat.Scene.SESSION   // 小程序仅支持聊天界面
    }, function () {
        alert("Success");
    }, function (reason) {
        alert("Failed: " + reason);
    });

    Send payment request

    // See https://github.com/xu-li/cordova-plugin-wechat-example/blob/master/server/payment_demo.php for php demo
    var params = {
        partnerid: '10000100', // merchant id
        prepayid: 'wx201411101639507cbf6ffd8b0779950874', // prepay id
        noncestr: '1add1a30ac87aa2db72f57a2375d8fec', // nonce
        timestamp: '1439531364', // timestamp
        sign: '0CB01533B8C1EF103065174F50BCA001', // signed string
    };
    
    Wechat.sendPaymentRequest(params, function () {
        alert("Success");
    }, function (reason) {
        alert("Failed: " + reason);
    });

    Choose invoices from card list

    //offical doc https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496561749_f7T6D
    var params = {
        timeStamp: '1510198391', // timeStamp
        signType: 'SHA1', // sign type
        cardSign: 'dff450eeeed08120159d285e79737173aec3df94', // cardSign
        nonceStr: '5598190f-5fb3-4bff-8314-fd189ab4e4b8', // nonce
    };
    
    Wechat.chooseInvoiceFromWX(params,function(data){
        console.log(data);
    },function(){
        alert('error');
    })

    open wechat mini program

    //offical doc https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646437Y6nEC&token=&lang=zh_CN
    var params = {
        userName: 'gh_d43f693ca31f', // userName
        path: 'pages/index/index?name1=key1&name2=key2', // open mini program page
        miniprogramType: Wechat.Mini.RELEASE // Developer version, trial version, and official version are available for selection
    };
    
    Wechat.openMiniProgram(params,function(data){
        console.log(data); // data:{extMsg:""}  extMsg: Corresponds to the app-parameter attribute in the Mini Program component <button open-type="launchApp">
    },function(){
        alert('error');
    })

    wx-open-launch-app event

    Wechat.isInstalled((installed) => {
      if (!installed) return
      document.addEventListener(
        'wechat.launchFromWX',
        ({ extinfo }) => {
          console.log('launch from wechat extinfo = ', extinfo)
        },
        false
      )
    })

    more usage please see https://jasonz1987.github.io/cordova-wechat-docs/docs/usages

    Join us

    QQ群:190808518 cordova-wechat官方交流群

    Donate

    we need your support to improve open source software ,if we induce your develop time ,welcome to donate us.

    paypal

    donate.png

    LICENSE

    MIT LICENSE