Switch branches/tags
Nothing to show
Find file History
Pull request Compare This branch is 45 commits ahead, 421 commits behind phonegap:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
Example
Example_for_2.1.0
WeChat SDK
README.md
SinaWeixinPlugin.h
SinaWeixinPlugin.m
weixin.js

README.md

#Weixin

微信插件

##2012.10.08 更新提示 update note

  1. 更新微信SDK,以支持armv7s/iOS6
  2. 更新weixin.js,以支持phonegap2.0及以上
  3. 添加phonegap2.1.0版本的示例工程项目:Example_for_2.1.0. (注:将工程项目中的CordovaLib.xcodeproj定位到本地已安装好的CordovaLib目录下。)

##1.1 更新提示

在以下API中的参数options中添加了scene项:发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0

sina.weixin.textContent(onSuccess, onError, types, text, options)

sina.weixin.imageContent(onSuccess, onError, types, imageUrl, options)

sina.weixin.musicContent(onSuccess, onError, types, musicUrl, options)

sina.weixin.videoContent(onSuccess, onError, types, videoUrl, options)

sina.weixin.webpageContent(onSuccess, onError, types, webpageUrl, options)

sina.weixin.APPContent(onSuccess, onError, types, options)

详见下面使用说明……

##Adding the Plugin to your project

1.add weixin.js to your www folder and include it to your html file below cordova.js


<script type="text/javascript" charset="utf-8" src="cordova.js">
<script type="text/javascript" charset="utf-8" src="weixin.js">

2.Add WeChatSDK & SinaWeixinPlugin src files to your project.

3.Add Weixin-SinaWeixinPlugin [key-value] to Cordova.plist->Plugins

4.Modify project info.plist : add URL types -> URl Schemes -> Item0-'your appId' (key-value)

##Usage

###sina.weixin.registerApp(onSuccess,onError,appId)

在微信终端程序中注册第三方应用 说明:需要在每次启动第三方应用程序时调用。第一次调用后,会在微信的可用应用列表中出现。

  • appId 微信开发的ID (通过http://open.weixin.qq.com/ 申请)
  • onSuccess 注册成功时的回调函数
  • onError 注册失败时的回调函数
    • errCode 错误值
    • errStr 错误说明

demo


sina.weixin.registerApp(function(){
                            registed=true;
                            },onError,"XXXXXXXXX");// 填入申请的微信应用开发appId
function onError(response){
    var detail = document.getElementById("detail");
    detail.innerHTML="error:"+response.errCode;
    detail.innerHTML=detail.innerHTML+"
"+response.errStr; }

###sina.weixin.getWXAppInstallUrl(onSuccess,onError) 获取微信的itunes安装地址

  • onSuccess 获取成功时回调函数
  • onError 获取失败时回调函数
    • errCode 错误值
    • errStr 错误说明

function onSuccess(url){ } url 为微信的itunes安装地址

function onError(error){ }

demo


sina.weixin.getWXAppInstallUrl(function(resultUrl){
                                   console.log(resultUrl);
                                   },function(error){
                                   console.log(error.errCode);
                                   console.log(error.errStr);
                                   });

###sina.weixin.isWeixinInstalled(onSuccess,onError)

检查微信是否已被用户安装

  • onSuccess 微信已安装的回调函数
  • onError 微信未安装的回调函数
    • errCode 错误值
    • errStr 错误说明

demo


sina.weixin.isWeixinInstalled(function(){
                          console.log('is installed');
                          },function(){
                          console.log('not installed');
                          });

###sina.weixin.isSupportApi(onSuccess,onError)

判断当前微信的版本是否支持OpenApi

  • onSuccess 当前微信版本支持OpenApi时的回调函数
  • onError 当前微信版本不支持OpenApi时的回调函数
    • errCode 错误值
    • errStr 错误说明

demo


sina.weixin.isSupportApi(function(){
                                  console.log('is support api');
                                  },function(){
                                  console.log('not support api');
                                  });

###sina.weixin.openWXApp(onSuccess,onError)

打开微信

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
    • errCode 错误值
    • errStr 错误说明

demo


sina.weixin.openWXApp(function(){
                          console.log('open success');
                          },function(){
                          console.log('open error');
                          });

###sina.weixin.textContent(onSuccess, onError, types, text, options)

发送/获取 文本信息

发送:发送请求到微信,等待微信返回应答

获取:收到微信的请求,发送文本类型应答给微信,并切换到微信界面

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
  • types 设置对文本信息的处理类型
    • send 表示:发送文本信息请求到微信
    • get 表示:收到微信的请求,发送文本类型应答给微信
  • text 文本信息内容
  • options 相关参数项,字典类型。包括
    • scene 发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0

demo


function getTextContent() {
    sina.weixin.textContent(onSuccess,onError,"get","Sina App Engine");
}

function sendTextContent() {
    sina.weixin.textContent(onSuccess,onError,"send","hello world",{
                            scene:"1"
                            });
}

function onSuccess(){
    console.log('success');
}

function onError(response){
    var detail = document.getElementById("detail");
    detail.innerHTML="error:"+response.errCode;
    detail.innerHTML=detail.innerHTML+"
"+response.errStr; }

###sina.weixin.imageContent(onSuccess, onError, types, imageUrl, options)

发送/获取 图片信息

发送:发送图片信息请求到微信,等待微信返回应答

获取:收到微信的请求,发送图片类型应答给微信,并切换到微信界面

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
  • types 设置对图片信息的处理类型
    • send 表示:发送图片信息请求到微信
    • get 表示:收到微信的请求,发送图片类型应答给微信
  • imageUrl 图片的Url链接
  • options 相关参数项,字典类型。包括
    • title
    • description
    • scene 发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0

demo


function sendImageContent(){
//从相册选择图片,并发送到微信应用
    var app={
    onCameraSuccess:function(imageURI){
        sina.weixin.imageContent(onSuccess,onError,"send",imageURI,{
                                     title:"kris",
                                     description:"picture",
                                     scene:"1"
                                     });
    },
    onCameraFail:function(msg){
        console.log('error msg:'+msg);
    },
    getPicture:function(){
        navigator.camera.getPicture(app.onCameraSuccess, app.onCameraFail, {
                                    quality: 50,
                                    destinationType: Camera.DestinationType.FILE_URI,
                                    sourceType: Camera.PictureSourceType.PHOTOLIBRARY,
                                    saveToPhotoAlbum: false
                                    });
    }
    };
    app.getPicture();
}

function getImageContent(){
//收到来自微信的请求后,发送图片应答给微信
    sina.weixin.getImageContent(onSuccess,onError,"http://pluginlist.sinaapp.com/client/images/music.png",{
                                title:"kris",
                                description:"picture",
                                });
}

function onSuccess(){
    console.log('success');
}
 
function onError(response){
    var detail = document.getElementById("detail");
    detail.innerHTML="error:"+response.errCode;
    detail.innerHTML=detail.innerHTML+"
"+response.errStr; }

###sina.weixin.musicContent(onSuccess, onError, types, musicUrl, options)

发送/获取 音乐信息。musicUrl和lowBandUrl不能同时为空。

发送:发送音乐信息请求到微信,等待微信返回应答

获取:收到微信的请求,发送音乐类型应答给微信,并切换到微信界面

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
  • types 设置对音乐信息的处理类型
    • send 表示:发送音乐信息请求到微信
    • get 表示:收到微信的请求,发送音乐类型应答给微信
  • musicUrl 音乐数据的url地址,不支持本地音乐URL。musicUrl和lowBandUrl不能同时为空。
  • options 相关参数项,字典类型。包括
    • title 音乐信息标题
    • description 音乐信息描述内容
    • lowBandUrl 音乐lowband数据的url地址,不支持本地音乐URL。musicUrl和lowBandUrl不能同时为空。
    • thumbUrl 音乐信息缩略图url。当thumbUrl和thumbData同时设置时,采用thumbData。
    • thumbData 音乐信息缩略图base64数据,大小不能超过32K。当thumbUrl和thumbData同时设置时,采用thumbData。
    • scene 发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0。

demo


function sendMusicContent(){
    sina.weixin.musicContent(onSuccess,onError,"send",
                                 "http://pluginlist.sinaapp.com/client/music/Sunshine.mp3",
                                 {
                                 title:"Sunshine",
                                 description:"Happy Music",
                                 thumbUrl:"http://pluginlist.sinaapp.com/client/images/music.png"
                                 });
}
function getMusicContent(){
    sina.weixin.musicContent(onSuccess,onError,"get",
                                    "http://pluginlist.sinaapp.com/client/music/Sunshine.mp3",
                                    {
                                    title:"Sunshine",
                                    description:"Happy Music",
                                    thumbUrl:"http://pluginlist.sinaapp.com/client/images/music.png"
                                    });
}
function onSuccess(){
    console.log('success');
}
function onError(response){
    var detail = document.getElementById("detail");
    detail.innerHTML="error:"+response.errCode;
    detail.innerHTML=detail.innerHTML+"
"+response.errStr; }

###sina.weixin.videoContent(onSuccess, onError, types, videoUrl, options)

发送/获取 视频信息。videoUrl和lowBandUrl不能同时为空。

发送:发送视频信息请求到微信,等待微信返回应答

获取:收到微信的请求,发送视频类型应答给微信,并切换到微信界面

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
  • types 设置对视频信息的处理类型
    • send 表示:发送视频信息请求到微信
    • get 表示:收到微信的请求,发送视频类型应答给微信
  • videoUrl 视频数据的url地址,不支持本地视频URL。videoUrl和lowBandUrl不能同时为空。
  • options 相关参数项,字典类型。包括
    • title 视频信息标题
    • description 视频信息描述内容
    • lowBandUrl 视频lowband数据的url地址,不支持本地视频URL。videoUrl和lowBandUrl不能同时为空。
    • thumbUrl 视频信息缩略图url。当thumbUrl和thumbData同时设置时,采用thumbData。
    • thumbData 视频信息缩略图base64数据,大小不能超过32K。当thumbUrl和thumbData同时设置时,采用thumbData。
    • scene 发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0

demo


function getVideoContent(){
    sina.weixin.videoContent(onSuccess,onError,"get",
                             "http://www.tudou.com/listplay/0nYp1obVv60/mA_xdJq7lSo.html",
                             {
                             title:"video",
                             description:"Get Happy Video",
                             thumbUrl:"http://pluginlist.sinaapp.com/client/images/video.png"
                             });
}
function sendVideoContent(){
    sina.weixin.videoContent(onSuccess,onError,"send",
                                 "http://www.tudou.com/listplay/0nYp1obVv60/mA_xdJq7lSo.html",
                                 {
                                 title:"video",
                                 description:"Happy Video",
                                 thumbUrl:"http://pluginlist.sinaapp.com/client/images/video.png",
                                 scene:"1"
                                 });
}

###sina.weixin.webpageContent(onSuccess, onError, types, webpageUrl, options)

发送/获取 网页信息

发送:发送网页信息请求到微信,等待微信返回应答

获取:收到微信的请求,发送网页类型应答给微信,并切换到微信界面

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
  • types 设置对网页信息的处理类型
    • send 表示:发送网页信息请求到微信
    • get 表示:收到微信的请求,发送网页类型应答给微信
  • webpageUrl 网页url地址
  • options 相关参数项,字典类型。包括
    • title 网页信息标题
    • description 网页信息描述内容
    • thumbUrl 网页信息缩略图url。当thumbUrl和thumbData同时设置时,采用thumbData。
    • thumbData 网页信息缩略图base64数据,大小不能超过32K。当thumbUrl和thumbData同时设置时,采用thumbData。
    • scene 发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0

demo


function sendWebpageContent(){
    sina.weixin.webpageContent(onSuccess,onError,"send",
                                   "http://sae.sina.com.cn/?m=devcenter&catId=235",
                                   {
                                   title:"新浪移动云平台介绍",
                                   description:"新浪移动云是在SAE基础上的子平台,专注于为移动设备同时提供云+端的能力。\n为方便开发者使用,移动云直接集成在SAE在线管理平台中。",
                                   thumbUrl:"http://pluginlist.sinaapp.com/client/images/icon.png",
                                   scene:"1"
                                   });
}
function getWebpageContent(){
    sina.weixin.webpageContent(onSuccess,onError,"get",
                                  "http://sae.sina.com.cn/?m=devcenter&catId=235",
                                  {
                                  title:"新浪移动云平台介绍",
                                  description:"新浪移动云是在SAE基础上的子平台,专注于为移动设备同时提供云+端的能力。\n为方便开发者使用,移动云直接集成在SAE在线管理平台中。",
                                  thumbUrl:"http://pluginlist.sinaapp.com/client/images/icon.png"
                                  });
}

###sina.weixin.APPContent(onSuccess, onError, types, options)

发送/获取 APP扩展信息。微信需要处理这种APP扩展信息时,会调用该第三方应用的监听回调方法来处理。监听回调方法的设置及相应操作,请参考sina.weixin.setResponser(responseString)。

发送:发送APP扩展信息请求到微信,等待微信返回应答

获取:收到微信的请求,发送APP扩展类型应答给微信,并切换到微信界面

  • onSuccess 成功时的回调函数
  • onError 失败时的回调函数
  • types 设置对APP扩展信息的处理类型
    • send 表示:发送APP扩展信息请求到微信
    • get 表示:收到微信的请求,发送APP扩展类型应答给微信
  • options 相关参数项,字典类型。包括
    • title APP扩展信息标题
    • description APP扩展信息描述内容
    • thumbUrl APP扩展信息缩略图url。当thumbUrl和thumbData同时设置时,采用thumbData。
    • thumbData APP扩展信息缩略图base64数据,大小不能超过32K。当thumbUrl和thumbData同时设置时,采用thumbData。
    • extInfo 自定义简单数据,长度不能超过2K。微信应用会回传给第三方应用处理。extInfo与fileData不能同时为空。
    • fileData APP文件数据,JSON对象,大小不能超过10M。该数据发送给微信好友,微信好友需要点击后下载数据,微信应用会回传给第三方应用处理。extInfo与fileData不能同时为空。
    • url 若第三方应用不存在,微信应用会打开该url所指的App下载地址。
    • scene 发送请求的类型,0表示发送到会话,1表示发送到朋友圈。默认值为0

demo


function getAPPContent(){
    sina.weixin.APPContent(onSuccess,onError,"get",
                           {
                           title:"App消息",
                           description:"您的App消息到啦,快去看看吧",
                           thumbUrl:"http://pluginlist.sinaapp.com/client/images/icon.png",
                           extInfo:"dictionary",
                           url:"http://sae.sina.com.cn",
                           fileData:JSON.stringify(
                                                   {title:"App消息名称",
                                                   description:"内容描述",
                                                   thumbUrl:"缩略图链接地址"}
                                                   )
                           });
}
function sendAPPContent(){
    sina.weixin.APPContent(onSuccess,onError,"send",
                           {
                           title:"App消息",
                           description:"您的App消息到啦,快去看看吧",
                           thumbUrl:"http://pluginlist.sinaapp.com/client/images/icon.png",
                           extInfo:"send APP",
                           url:"http://www.sina.com.cn",
                           fileData:JSON.stringify(
                                                   {title:"App消息名称",
                                                   description:"内容描述",
                                                   thumbUrl:"缩略图链接地址"}
                                                   ),
                           scene:"1"
                           });
}

###sina.weixin.setResponser(responseString)

设置监听回调函数,接收来自微信应用的请求

  • responseString 监听回调方法的名字,默认为receiveResponse

function receiveResponse(response);

  • type 回调信息的类型
    • 0 表示显示APP扩展格式信息。
    • 4 表示来自微信的请求信息,获取内容后返回给微信应用。
  • 当type==0时,response还包括下面几项:
    • extInfo 第三方应用自定义简单数据,微信应用会回传给第三方应用处理。[说明:长度不能超过2K]
    • fileData APP文件数据,JSON对象。该数据发送给微信好友,微信好友需要点击后下载数据,微信应用会回传给第三方应用处理。[说明:大小不能超过10M]
    • thumbData APP扩展格式信息缩略图base64数据。

demo


sina.weixin.setResponser("receiveResponse");
function receiveResponse(response){
    if(response.type==0)
    {//显示来自第三方的APP扩展信息
        var detail = document.getElementById("detail");
        detail.innerHTML="extInfo:"+response.extInfo;
        
        var a=JSON.parse(response.fileData);
        detail.innerHTML=detail.innerHTML+"
title:"+a.title; detail.innerHTML=detail.innerHTML+"
description:"+a.description; detail.innerHTML=detail.innerHTML+"
thumbUrl:"+a.thumbUrl; var viewport = document.getElementById('viewport'); viewport.style.display = ""; document.getElementById("picture").src = "data:image/jpeg;base64," + response.thumbData; } else if(response.type==4) {// 来自微信的请求信息,跳转到获取信息页面 var btn1=document.getElementById("btn1"); btn1.onclick=function(){sina.weixin.textContent(onSuccess,onError,"get","Sina App Engine");}; btn1.innerHTML="获取文本"; } }