返回插件列表

基本信息:

微信插件相关API,利用开发平台支付平台,来提供支付,分享等功能.

准备工作

使用前需要在开发平台上申请相关appid以及支付,登录权限.步骤如下:

  1. 需要注册该平台开发者账号,注册成功后登录该平台.
  2. 创建移动相关平台应用,填写相关应用信息.可同时创建android和ios. android需要包名和签名值, ios需要bundle id
  3. 创建应用成功后,可以拿到appid,以及申请支付,登录的权限.

appid说明:

appcloud中添加MWXAPPID时,需要填写4段位

API:

1、支付

支付时序图(2B商城为例): MWeixin.pay(url, params, success, fail, contentType);

参数 类型 必填 作用
url string 自己的服务器后台url
params string 预下单的参数.具体详情需与对应后台接口对应
success(result) Function 支付成功回调, result为string类型,支付成功之后,业务服务器返回的数据原封不动返回.
fail(obj) Function 失败回调,失败回调参数为json对象
contentType string 请求方式,Content-Type默认为application/json
错误码
errCode errMsg 描述
-1 错误具体原因 可能值有:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。
999 用户取消 无需处理。发生场景:用户不支付了,点击取消,返回APP。

示例(此处接口2B商城为例):

MWeixin.pay("http://market-test.mypaas.com.cn/api/pay/create",
    {
       "user_id":"39d7f99f-c4cb-1f01-18fd-6cd7dab3501a",
       "goods":"{\"amount\":1,\"spcs_name\":\"移动验房半年卡\",\"tmp_id\":\"39d7f99f-c4cb-cf01-18fd-6cd7dab3501a\"}",
       "invoice":"{\"title\":\"广州万科\",\"content\":\"移动验房半年卡\",\"address\":\"广州\",\"receiver\":\"张三\"}",
       "seller_id":"39d7f99f-c4cb-cf01-18fd-6cd7dab35066",
       "wechat_app_id":"wxd56023cc00c93f01",
       "cust_code":"vanke",
       "trade_type":"APP",
       "pay_mode":"Wechat"
      },function(result) {
    }, function(obj) {
    });
    },

支付成功业务服务器返回数据: 即success(result)回调中result的值

{"errcode":"0","errmsg":"","data":{"success":true,"errcode":null,"errmsg":null,"nonce_str":"91403bTpzRDHKZLM","device_info":null,"order_id":"39d82615-53f5-dfe2-bc69-4f3ec01f8d8a","prepay_id":"wx201606030937319a8254d3d90574993001","mch_id":"1349189001","sign":"2A61865C087326C92E1E544B97478BA8","timestamp":"1464917851774714","app_sign":"9779447236C65B1E2AB5F2737A111DA3"}

用户在支付成功之后,前端拿到result里的参数,去调用自己服务器的接口.例如:根据order_id查询订单状态等

注: 插件成功回调不代表支付成功了,需要前端开发人员查下订单状态.状态成功才能证明已支付成功.

2、 分享

纯文本分享

MWeixin.shareText(params, success, fail, pengyouquan);
参数 类型 说明
params JSON对象
success() Function 分享成功回调
fail(obj) Function 失败回调,失败回调参数为json对象.格式如下:{"errCode":"具体错误代码", "errMsg":"具体错误描述"}
pengyouquan int 可选参数,1发朋友圈,0分享给朋友,默认0;
params结构说明
参数 类型 必填 作用
text string 要分享的文本

示例:

MWeixin.shareText({'text':'分享内容'},function() {
    }, function(obj) {
    },1);

纯图分享

MWeixin.shareImage(params, success, fail, pengyouquan);
参数 类型 说明
params JSON对象
success() Function 分享成功回调
fail(obj) Function 失败回调,失败回调参数为json对象.格式如下:{"errCode":"具体错误代码", "errMsg":"具体错误描述"}
pengyouquan int 可选参数,1发朋友圈,0分享给朋友,默认0;

params结构说明

参数 类型 必填 作用
url string

示例:

 MWeixin.shareImage({'url':'/sdcard/xxx.jpg'},function() {
    }, function(obj) {
    },0);

网页(图文)分享

MWeixin.shareWebPage(params, success, fail, pengyouquan);
参数 类型 说明
params JSON对象
success() Function 分享成功回调
fail(obj) Function 失败回调,失败回调参数为json对象.格式如下:{"errCode":"具体错误代码", "errMsg":"具体错误描述"}
pengyouquan int 可选参数,1发朋友圈,0分享给朋友,默认0;

params结构说明

参数 类型 必填 作用
webpageUrl string 要分享的网页url
title string 网页标题
description string 网页描述
thumbData string 网页的缩略图网络地址(分享前将自动下载该图片,打开微信分享速度依网速而定)

示例:

   MWeixin.shareWebPage({'webpageUrl':'http://www.baidu.com','title':'百度','description':'这是一个百度网页','thumbData':'/sdcard/xxx.jpg'
    } ,function() {
    }, function(obj) {
    },1);

音乐分享

MWeixin.shareMusic(params, success, fail, pengyouquan);
参数 类型 说明
params JSON对象
success() Function 分享成功回调
fail(obj) Function 失败回调,失败回调参数为json对象.格式如下:{"errCode":"具体错误代码", "errMsg":"具体错误描述"}
pengyouquan int 可选参数,1发朋友圈,0分享给朋友,默认0;

params结构说明

参数 类型 必填 作用
musicDataUrl string 要分享的音乐数据url
musicUrl string 点击分享内容,跳转页面的url
title string 音乐标题
description string 音乐描述
thumbData string 音乐缩略图的网络地址(分享前将自动下载该图片,打开微信分享速度依网速而定)

示例:

   MWeixin.shareMusic({'title':'音乐标题',
   'description':'这是一个音乐描述',
   'musicDataUrl':'http://mic-media-origin.oss-cn-hangzhou.aliyuncs.com/audio/%E9%99%88%E7%B2%92%20-%20%E5%A5%87%E5%A6%99%E8%83%BD%E5%8A%9B%E6%AD%8C.mp3',
   'musicUrl':'http://www.baidu.com',
   'thumbData':'/sdcard/testTakePhoto/aaatakePhoto.jpg'
    } ,function() {
    }, function(obj) {
    },1);

3、 微信是否安装

MWeixin.isInstalled(success, error);
检测微信是否安装. 若检测到未安装,则可不提供微信登陆等功能。
参数 作用
success(result) 执行成功回调。结果result:Android为int类型,1:已安装,0:未安装;iOS为Boolean类型, true:已安装,false:未安装
error 执行错误回调。错误为json对象

示例

  MWeixin.isInstalled(function(result) {
    }, function(obj) {
    });

4、 微信登陆

MWeixin.login(params, sucess, fail);
参数 类型 说明
params JSON对象 两个参数scope, state. 示例:{"scope":"snsapi_userinfo", "state":"wechat_sdk_demo_test"}
success(result) Function result为json对象,格式如:{"code":"用户换取access_token的code","state":"第三方程序发送时用来标识其请求的唯一性的标志","lang":"微信客户端当前语言","country":"微信用户当前国家信息"}
fail(error) Function error为JSON对象,错误信息。格式如下:{"errCode":"具体错误代码", "errMsg":"具体错误描述"}

有关参数具体说明,请参见 微信登录文档

示例

  MWeixin.login({"scope":"snsapi_userinfo", "state":"wechat_sdk_demo_test"},function(result) {
    }, function(obj) {
    });

小程序分享

MWeixin.shareMiniProgram(params, success, fail);
参数 类型 说明
params JSON对象
success() Function 分享成功回调
fail(obj) Function 失败回调,失败回调参数为json对象.格式如下:{"errCode":"具体错误代码", "errMsg":"具体错误描述"}

params结构说明

参数 类型 必填 作用
userName string 小程序的原始id,可通过微信公众平台-->设置-->基本设置-->帐号信息里得到
webpageUrl string 兼容低版本的网页链接,当手机安装微信为低版本时,以网页形式打开
thumbData string 缩略图地址,支持本地、网络地址(分享前将自动下载该图片,打开微信分享速度依网速而定)
path string 小程序页面的路径
title string 标题
description string 兼容低版本的描述语
miniProgramType int 0:正式版;1:开发版;2:体验版;默认为0

示例

var params = {  "userName":"gh_1c95c11a29e2",
			  "webpageUrl":"http://www.baidu.com",
			 	    "path":"pages/index/index",
			  	   "title":"小程序标题",
		     "description":"小程序desc",
			 "thumbData":"http://www.xiufa.com/BJUI/plugins/kindeditor_4.1.10/attached/image/20160427/20160427020327_69298.png"};
			 
MWeixin.shareMiniProgram(params,function(result) {
	console.log('success:',result);
    }, function(obj) {
    console.log('error:',obj);
    });