ShareBehavior.js 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. import BehaviorBase from '../framework/BehaviorBase';
  2. import DataModelManager from '../framework/DataModelManager';
  3. import ConstDefine from '../model/ConstDefine';
  4. export default class ShareBehavior extends BehaviorBase
  5. {
  6. constructor()
  7. {
  8. super();
  9. this.teamId = -1;
  10. this.teamMatchId = -1;
  11. this.roomId = -1;
  12. this.roomMatchId = -1;
  13. }
  14. //内部逻辑方法,外部不要直接调用
  15. _shareMessageToWX(shareParams, snsReportFunc, shareSuccessFunc, shareFailFunc)
  16. {
  17. var succ = false;
  18. window["wx"]["shareAppMessage"]({
  19. "withShareTicket": true,
  20. "title": shareParams["title"],
  21. "imageUrl": shareParams["image_url"],
  22. "query": shareParams['query'],
  23. "success": function (res) {
  24. succ = true;
  25. if(typeof(snsReportFunc) == "function") {
  26. snsReportFunc({"retCode": succ ? 0 : 1});
  27. }
  28. if (shareSuccessFunc) {
  29. console.log("shareAppMessage shareSuccessFunc");
  30. shareSuccessFunc(res, shareParams['query']);
  31. }
  32. console.log("shareAppMessage success end");
  33. },
  34. "fail": function () {
  35. console.log("shareAppMessage fail");
  36. succ = false;
  37. if(typeof(snsReportFunc) == "function") {
  38. snsReportFunc({"retCode": succ ? 0 : 1});
  39. }
  40. if (shareFailFunc) {
  41. shareFailFunc();
  42. }
  43. },
  44. "complete": function() {
  45. console.log("shareAppMessage complete succ:%s", succ ? "true" : "false");
  46. }
  47. });
  48. }
  49. //好友PK 其实是单人的
  50. shareFriendPKToWx(roomId,matchId,snsReportFunc, shareSuccessFunc, shareFailFunc)
  51. {
  52. if (roomId == null || matchId == null)
  53. {
  54. console.log("roomId == null || matchId == null:" + roomId + " " + matchId );
  55. return ;
  56. }
  57. if(CC_WECHATGAME)
  58. {
  59. this._wxUserInfo = DataModelManager.getModel('PlayerInfoModel').getSelfWXPlayerInfo();
  60. // var queryValue = {};
  61. // queryValue['method'] = ConstDefine.ShareMessage.shareType;
  62. // queryValue['wxPlayerInfo'] = this._wxUserInfo;
  63. // queryValue['roomId'] = roomId;
  64. // queryValue['matchId'] = matchId;
  65. // var queryStr = JSON.stringify(queryValue);
  66. var queryStr = 'method=' + ConstDefine.ShareFriendPKMessage.shareType+'&wxPlayerInfo=' + JSON.stringify(this._wxUserInfo)+'&roomId=' + roomId + '&matchId=' + matchId;
  67. console.log("query:" + queryStr);
  68. let shareParams = {};
  69. shareParams["title"] = ConstDefine.ShareFriendPKMessage.title;
  70. shareParams["image_url"] = ConstDefine.ShareFriendPKMessage.url;
  71. shareParams['query'] = queryStr
  72. this._shareMessageToWX(shareParams,snsReportFunc, shareSuccessFunc, shareFailFunc);
  73. }
  74. }
  75. //双人PK
  76. shareDoublePKToWx(teamId,matchId,snsReportFunc, shareSuccessFunc, shareFailFunc)
  77. {
  78. if (teamId == null || matchId == null)
  79. {
  80. console.log("teamId == null || matchId == null:" + teamId + " " + matchId );
  81. return ;
  82. }
  83. if(CC_WECHATGAME)
  84. {
  85. this._wxUserInfo = DataModelManager.getModel('PlayerInfoModel').getSelfWXPlayerInfo();
  86. // var queryValue = {};
  87. // queryValue['method'] = ConstDefine.ShareDoublePKMessage.shareType;
  88. // queryValue['wxPlayerInfo'] = this._wxUserInfo;
  89. // queryValue['roomId'] = roomId;
  90. // queryValue['matchId'] = matchId;
  91. // var queryStr = JSON.stringify(queryValue);
  92. var queryStr = 'method=' + ConstDefine.ShareDoublePKMessage.shareType+'&wxPlayerInfo=' + JSON.stringify(this._wxUserInfo)+'&teamId=' + teamId + '&matchId=' + matchId;
  93. console.log("query:" + queryStr);
  94. let shareParams = {};
  95. shareParams["title"] = ConstDefine.ShareDoublePKMessage.title;
  96. shareParams["image_url"] = ConstDefine.ShareDoublePKMessage.url;
  97. shareParams['query'] = queryStr
  98. this._shareMessageToWX(shareParams,snsReportFunc, shareSuccessFunc, shareFailFunc);
  99. }
  100. }
  101. shareGroupRankToWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  102. {
  103. if(CC_WECHATGAME)
  104. {
  105. this._wxUserInfo = DataModelManager.getModel('PlayerInfoModel').getSelfWXPlayerInfo();
  106. var queryStr = 'method=' + ConstDefine.ShareGroupRankMessage.shareType+'&wxPlayerInfo=' + JSON.stringify(this._wxUserInfo);
  107. console.log("query:" + queryStr);
  108. let shareParams = {};
  109. shareParams["title"] = ConstDefine.ShareGroupRankMessage.title;
  110. shareParams["image_url"] = ConstDefine.ShareGroupRankMessage.url;
  111. shareParams['query'] = queryStr
  112. this._shareMessageToWX(shareParams,snsReportFunc, shareSuccessFunc, shareFailFunc);
  113. }
  114. }
  115. //share honor
  116. shareHonorToWx(title, url, snsReportFunc, shareSuccessFunc, shareFailFunc)
  117. {
  118. if (CC_WECHATGAME)
  119. {
  120. this._wxUserInfo = DataModelManager.getModel('PlayerInfoModel').getSelfWXPlayerInfo();
  121. var queryStr = 'method=' + ConstDefine.ShareHonorMessage.shareType + '&wxPlayerInfo=' + JSON.stringify(this._wxUserInfo);
  122. console.log('query:' + queryStr);
  123. let shareParams = {};
  124. shareParams["title"] = title;
  125. shareParams["image_url"] = url;
  126. shareParams["query"] = queryStr;
  127. this._shareMessageToWX(shareParams, snsReportFunc, shareSuccessFunc, shareFailFunc);
  128. }
  129. }
  130. //share achievement
  131. shareACMToWx(url,snsReportFunc, shareSuccessFunc, shareFailFunc)
  132. {
  133. if (url == null)
  134. {
  135. console.log("url = null :");
  136. return ;
  137. }
  138. if(CC_WECHATGAME)
  139. {
  140. this._wxUserInfo = DataModelManager.getModel('PlayerInfoModel').getSelfWXPlayerInfo();
  141. var queryStr = 'method=' + ConstDefine.ShareACMMessage.shareType+'&wxPlayerInfo=' + JSON.stringify(this._wxUserInfo);
  142. console.log("query:" + queryStr);
  143. let shareParams = {};
  144. shareParams["title"] = ConstDefine.ShareACMMessage.title;
  145. shareParams["image_url"] = url;
  146. shareParams['query'] = queryStr
  147. this._shareMessageToWX(shareParams,snsReportFunc, shareSuccessFunc, shareFailFunc);
  148. }
  149. }
  150. //好友PK 其实是单人的
  151. shareFriendPKWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  152. {
  153. this.shareFriendPKToWx(this.roomId,this.roomMatchId,snsReportFunc, shareSuccessFunc, shareFailFunc);
  154. }
  155. //双人PK
  156. shareDoublePKWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  157. {
  158. this.shareDoublePKToWx(this.teamId,this.teamMatchId,snsReportFunc, shareSuccessFunc, shareFailFunc);
  159. }
  160. //群排行
  161. shareGroupRankWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  162. {
  163. this.shareGroupRankToWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  164. }
  165. //share achievement
  166. shareACMWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  167. {
  168. this.shareACMToWx(snsReportFunc, shareSuccessFunc, shareFailFunc)
  169. }
  170. setTeam(team_id,team_match_id)
  171. {
  172. this.teamId = team_id;
  173. this.teamMatchId = team_match_id;
  174. }
  175. setRoom(room_Id,room_match_id)
  176. {
  177. this.roomId = room_Id;
  178. this.roomMatchId = room_match_id;
  179. }
  180. }