From 79ff43d68b91c0275d9ed4c59b14bc2e8aa0506a Mon Sep 17 00:00:00 2001 From: leo <907600065@qq.com> Date: Tue, 9 Jul 2019 10:38:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BE=AE=E4=BF=A1=E5=B0=8F?= =?UTF-8?q?=E6=B8=B8=E6=88=8F=E7=9A=84=E5=BC=80=E5=8F=91=E8=83=BD=E5=8A=9B?= =?UTF-8?q?api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WXSmallGame/wechatApi/wxshare.d.ts | 16 ++++ WXSmallGame/wechatApi/wxshare.js | 135 +++++++++++++++++++++++++++ WXSmallGame/wechatApi/wxshare.min.js | 135 +++++++++++++++++++++++++++ 3 files changed, 286 insertions(+) create mode 100644 WXSmallGame/wechatApi/wxshare.d.ts create mode 100644 WXSmallGame/wechatApi/wxshare.js create mode 100644 WXSmallGame/wechatApi/wxshare.min.js diff --git a/WXSmallGame/wechatApi/wxshare.d.ts b/WXSmallGame/wechatApi/wxshare.d.ts new file mode 100644 index 0000000..17d6be2 --- /dev/null +++ b/WXSmallGame/wechatApi/wxshare.d.ts @@ -0,0 +1,16 @@ +declare function getLaunchOptionsSync(): any; +declare function together(key:string,query:Object):void; +declare function getWxUserInfo(callback:any):any; +//查询字符串,从这条转发消息进入后,可通过 wx.getLaunchInfoSync() 或 wx.onShow() 获取启动参数中的 query。必须是 key1=val1&key2=val2 的格式。 +declare function getWxShareInfo(shareTicket:any,callback:any):any; +/** + * 获取 OpenID + * @param obj {any} {success:function(res),fail:function(res)} + */ +declare function getUserOpenID(obj:any):any; + +declare class TestTS{ + getLaunchOptionsSync(): any; + together(key:string,query:Object):void; + getWxUserInfo():any; +} \ No newline at end of file diff --git a/WXSmallGame/wechatApi/wxshare.js b/WXSmallGame/wechatApi/wxshare.js new file mode 100644 index 0000000..566cdeb --- /dev/null +++ b/WXSmallGame/wechatApi/wxshare.js @@ -0,0 +1,135 @@ +var wxShareConf = { + getOpenIDAddr:"http://www.villeboss.com/getOpenID?" //传入code获取微信openID的服务端地址 +} + +/** + * 获取启动参数 + */ +function getLaunchOptionsSync() { + if (!window["wx"]) { + return; + } + var LaunchOption = wx.getLaunchOptionsSync(); + console.log("LaunchOption:" + JSON.stringify(LaunchOption)); + console.log("LaunchOption quary:" + JSON.stringify(LaunchOption.query)); + return LaunchOption; +} + +/** + * 约战API + * @param {string} title + * @param {string} query getLaunchOptionsSync 中的参数 + */ +function together(title, query) { + if (!window["wx"]) { + return; + } + wx.shareAppMessage({ + title: title, + query: query, + complete: function () { + console.log(arguments); + }, + success: function (shareTickets, groupMsgInfos) { + console.log(shareTickets); + console.log(groupMsgInfos); + } + }) + + wx.updateShareMenu({ + withShareTicket: true,//开启群发 + success: function () { + console.log("updateShareMenu success"); + }, + fail: function (e) { + console.log("updateShareMenu fail" + e); + } + }); + + +} + +/** + * 获取用户信息 + */ +function getWxUserInfo(data) { + if (!window["wx"]) { + return; + } + wx.getUserInfo({ + openIdList: ['selfOpenId'], + lang: 'zh_CN', + success: function (res) { + console.log('success', res.userInfo); + return data(res.userInfo); + }, + fail: function (res) { + data(); + console.log("fail", res); + return ''; + }}); + +} + +/** + * 获取用户信息 + */ +function getWxShareInfo(shareTicket,cb) { + if (!window["wx"]) { + return; + } + wx.getShareInfo({ + "shareTicket": shareTicket, + "timeout": 10000, + success: function (res) { + console.log('[getWxShareInfo] success', res.userInfo); + return data(res); + }, + fail: function (res) { + data(); + console.log("[getWxShareInfo] fail", res); + return ''; + }}); + +} + +/** + * 获取用户OpenID + * @param {object} obj {success:function(res),fail:function(res)} + */ +function getUserOpenID(obj) { + if (!window["wx"]) { + return; + } + var callObj = obj; + wx.login({ + success: function (res) { + var wcode = res.code; + wx.request({ + url: wxShareConf.getOpenIDAddr, + method: "GET", + data: { + code: wcode + }, + success: function (res) { + if (callObj.success) { + callObj.success(res.data); + } + } + }); + }, + fail: function (res) { + if (callObj.fail) { + callObj.fail(res); + } + }, + }); +} + + + +window.getLaunchOptionsSync = getLaunchOptionsSync; +window.together = together; +window.getWxUserInfo = getWxUserInfo; +window.getUserOpenID = getUserOpenID; +window.getWxShareInfo = getWxShareInfo; \ No newline at end of file diff --git a/WXSmallGame/wechatApi/wxshare.min.js b/WXSmallGame/wechatApi/wxshare.min.js new file mode 100644 index 0000000..566cdeb --- /dev/null +++ b/WXSmallGame/wechatApi/wxshare.min.js @@ -0,0 +1,135 @@ +var wxShareConf = { + getOpenIDAddr:"http://www.villeboss.com/getOpenID?" //传入code获取微信openID的服务端地址 +} + +/** + * 获取启动参数 + */ +function getLaunchOptionsSync() { + if (!window["wx"]) { + return; + } + var LaunchOption = wx.getLaunchOptionsSync(); + console.log("LaunchOption:" + JSON.stringify(LaunchOption)); + console.log("LaunchOption quary:" + JSON.stringify(LaunchOption.query)); + return LaunchOption; +} + +/** + * 约战API + * @param {string} title + * @param {string} query getLaunchOptionsSync 中的参数 + */ +function together(title, query) { + if (!window["wx"]) { + return; + } + wx.shareAppMessage({ + title: title, + query: query, + complete: function () { + console.log(arguments); + }, + success: function (shareTickets, groupMsgInfos) { + console.log(shareTickets); + console.log(groupMsgInfos); + } + }) + + wx.updateShareMenu({ + withShareTicket: true,//开启群发 + success: function () { + console.log("updateShareMenu success"); + }, + fail: function (e) { + console.log("updateShareMenu fail" + e); + } + }); + + +} + +/** + * 获取用户信息 + */ +function getWxUserInfo(data) { + if (!window["wx"]) { + return; + } + wx.getUserInfo({ + openIdList: ['selfOpenId'], + lang: 'zh_CN', + success: function (res) { + console.log('success', res.userInfo); + return data(res.userInfo); + }, + fail: function (res) { + data(); + console.log("fail", res); + return ''; + }}); + +} + +/** + * 获取用户信息 + */ +function getWxShareInfo(shareTicket,cb) { + if (!window["wx"]) { + return; + } + wx.getShareInfo({ + "shareTicket": shareTicket, + "timeout": 10000, + success: function (res) { + console.log('[getWxShareInfo] success', res.userInfo); + return data(res); + }, + fail: function (res) { + data(); + console.log("[getWxShareInfo] fail", res); + return ''; + }}); + +} + +/** + * 获取用户OpenID + * @param {object} obj {success:function(res),fail:function(res)} + */ +function getUserOpenID(obj) { + if (!window["wx"]) { + return; + } + var callObj = obj; + wx.login({ + success: function (res) { + var wcode = res.code; + wx.request({ + url: wxShareConf.getOpenIDAddr, + method: "GET", + data: { + code: wcode + }, + success: function (res) { + if (callObj.success) { + callObj.success(res.data); + } + } + }); + }, + fail: function (res) { + if (callObj.fail) { + callObj.fail(res); + } + }, + }); +} + + + +window.getLaunchOptionsSync = getLaunchOptionsSync; +window.together = together; +window.getWxUserInfo = getWxUserInfo; +window.getUserOpenID = getUserOpenID; +window.getWxShareInfo = getWxShareInfo; \ No newline at end of file