requestmessage.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  1. const req = require("./request.js");
  2. let tmplIds = [];
  3. /**
  4. * 根据状态添加订阅id
  5. */
  6. const getsendTemplateId = arr => {
  7. // console.log("dddaaaa", arr); // if(arr=='') return false
  8. return new Promise((res, rej) => {
  9. req.getRequest('/api/wxmes/querylist', {}, data => {
  10. req.setStorage('tmplIds', data);
  11. });
  12. if (req.getStorage('tmplIds')) {
  13. gettmplIds(req.getStorage('tmplIds'), arr, success => {
  14. // console.log("debug5", success);
  15. res(success);
  16. });
  17. } else {
  18. req.getRequest('/api/wxmes/querylist', {}, data => {
  19. req.setStorage('tmplIds', data);
  20. gettmplIds(data, arr, success => {
  21. // console.log("debug5", success);
  22. res(success);
  23. });
  24. });
  25. }
  26. });
  27. };
  28. const gettmplIds = async (data, arr, success) => {
  29. // debugger
  30. tmplIds = [];
  31. var item
  32. if (data && data.length > 0) {
  33. for (item in arr) {
  34. data.forEach(res => {
  35. if (res.bsusinessType == arr[item]) {
  36. tmplIds.push(res.sendTemplateId);
  37. }
  38. });
  39. }
  40. await uni.requestSubscribeMessage({
  41. tmplIds: tmplIds,
  42. success(res) {
  43. // console.log(res);
  44. },
  45. complete(res) {
  46. // console.log("deee", 1111);
  47. success.call(this, 2);
  48. },
  49. fail(res) {
  50. // console.log(res);
  51. }
  52. });
  53. } else {
  54. success.call(this, 1);
  55. }
  56. }; //传入特定场景(bsusinessType)的参数来获取对应模板id
  57. /**
  58. * num=[]
  59. * @param {*} num
  60. * 1 门店新订单
  61. * 2 门店日报表
  62. * 3 付款成功
  63. * 4 发货通知
  64. * 5 待签收提醒
  65. * 6 签收成功提醒
  66. * 7 确认收货提醒
  67. * 8 已预约活动开始提醒
  68. * 9 处方审核通知
  69. * 99 送药到家进度提醒
  70. * 11 "自提提醒"
  71. * 13 "预约提醒"
  72. * 12 "直播开播通知"
  73. * 15 退款成功提醒
  74. * 16 开团拼团审核订阅消息
  75. * 17 团长申请结果通知
  76. * 100 提现申请通知
  77. * 18 活动报名成功
  78. * 19 挂号成功
  79. * 20 预约到期
  80. * 24 积分模板
  81. */
  82. // 活动预约提醒
  83. const remind = () => {
  84. return new Promise(aaa => {
  85. getsendTemplateId([8, 13]).then(res => {
  86. aaa(res);
  87. });
  88. }); // getsendTemplateId([4, 6])
  89. // console.log(tmplIds)
  90. // console.log(tmplIds)
  91. }; //自提订阅
  92. const selfRaising = () => {
  93. return new Promise(aaa => {
  94. try {
  95. getsendTemplateId([3,6,11]).then(res => {
  96. aaa(res);
  97. // console.log("debug1", res);
  98. }, rej => {
  99. // console.log("debug2", rej);
  100. });
  101. } catch (error) {
  102. // console.log("debug3", error);
  103. }
  104. });
  105. };
  106. //配送订阅
  107. const distribution = () => {
  108. return new Promise(aaa => {
  109. var arr = [3, 4, 6, 5, 7];
  110. if (req.getStorage("tmplIds")) {
  111. let res = req.getStorage("tmplIds");
  112. let i = [];
  113. var item
  114. for (item in arr) {
  115. res.forEach(res => {
  116. if (res.bsusinessType == arr[item] && res.sendTemplateId != '') {
  117. i.push(res.bsusinessType);
  118. }
  119. });
  120. }
  121. if (i.length >= 3) {
  122. i.splice(3);
  123. }
  124. try {
  125. getsendTemplateId(i).then(res => {
  126. // console.log("debug2", res);
  127. aaa(res);
  128. }, rej => {
  129. // console.log("debug3", rej);
  130. });
  131. } catch (error) {
  132. // console.log("debug1", error);
  133. }
  134. } else {
  135. // console.log("==========================456");
  136. req.getRequest('/api/wxmes/querylist', {}, res => {
  137. req.setStorage('tmplIds', res);
  138. let i = [];
  139. for (item in arr) {
  140. res.forEach(res => {
  141. if (res.bsusinessType == arr[item] && res.sendTemplateId != '') {
  142. i.push(res.bsusinessType);
  143. }
  144. });
  145. }
  146. if (i.length >= 3) {
  147. i.splice(3);
  148. }
  149. try {
  150. getsendTemplateId(i).then(res => {
  151. aaa(res);
  152. }, rej => { // console.log("debug3", rej)
  153. });
  154. } catch (error) { // console.log("debug1", error)
  155. }
  156. });
  157. }
  158. }); // console.log("rrr",rrr)
  159. // return rrr
  160. }; //及时达订阅
  161. const jisda = () => {
  162. return new Promise(aaa => {
  163. getsendTemplateId([3,6,7]).then(res => {
  164. aaa(res);
  165. });
  166. });
  167. };
  168. // 处方订阅
  169. const recipel = (mode) => {
  170. return new Promise(aaa => {
  171. let arr = [9]
  172. // console.log(mode)
  173. if (mode == '1') {
  174. arr = arr.concat([11])
  175. try {
  176. getsendTemplateId(arr).then(res => {
  177. aaa(res);
  178. }, rej => { // console.log("debug3", rej)
  179. });
  180. } catch (error) { // console.log("debug1", error)
  181. }
  182. } else {
  183. var a = [3, 4, 6, 5, 7];
  184. if (req.getStorage("tmplIds")) {
  185. let res = req.getStorage("tmplIds");
  186. let i = [];
  187. var item
  188. for (item in a) {
  189. res.forEach(res => {
  190. if (res.bsusinessType == a[item] && res.sendTemplateId != '') {
  191. i.push(res.bsusinessType);
  192. }
  193. });
  194. }
  195. if (i.length >= 2) {
  196. i.splice(2);
  197. }
  198. arr = arr.concat(i)
  199. // console.log(arr, "11111111", i)
  200. try {
  201. getsendTemplateId(arr).then(res => {
  202. aaa(res);
  203. }, rej => { // console.log("debug3", rej)
  204. });
  205. } catch (error) { // console.log("debug1", error)
  206. }
  207. } else {
  208. // console.log("=========================789=");
  209. req.getRequest('/api/wxmes/querylist', {}, res => {
  210. req.setStorage('tmplIds', res);
  211. let i = [];
  212. for (item in a) {
  213. res.forEach(res => {
  214. if (res.bsusinessType == arr[item] && res.sendTemplateId !=
  215. '') {
  216. i.push(res.bsusinessType);
  217. }
  218. });
  219. }
  220. if (i.length >= 2) {
  221. i.splice(2);
  222. }
  223. arr = arr.concat(i)
  224. try {
  225. getsendTemplateId(arr).then(res => {
  226. aaa(res);
  227. }, rej => { // console.log("debug3", rej)
  228. });
  229. } catch (error) { // console.log("debug1", error)
  230. }
  231. });
  232. }
  233. }
  234. // getsendTemplateId(arr).then(res => {
  235. // aaa(res);
  236. // });
  237. });
  238. };
  239. const refund = () => {
  240. return new Promise(aaa => {
  241. try {
  242. getsendTemplateId([15]).then(res => {
  243. aaa(res);
  244. // console.log("debug1", res);
  245. }, rej => {
  246. // console.log("debug2", rej);
  247. });
  248. } catch (error) {
  249. // console.log("debug3", error);
  250. }
  251. });
  252. };
  253. //活动订阅
  254. const remindActivity = () => {
  255. return new Promise(aaa => {
  256. try {
  257. getsendTemplateId([18]).then(res => {
  258. aaa(res);
  259. // console.log("debug1", res);
  260. }, rej => {
  261. // console.log("debug2", rej);
  262. });
  263. } catch (error) {
  264. // console.log("debug3", error);
  265. }
  266. });
  267. };
  268. //积分订阅
  269. const remindIntegral = () => {
  270. console.log('订阅积分通知')
  271. return new Promise(aaa => {
  272. try {
  273. getsendTemplateId([24]).then(res => {
  274. aaa(res);
  275. // console.log("debug1", res);
  276. }, rej => {
  277. // console.log("debug2", rej);
  278. });
  279. } catch (error) {
  280. // console.log("debug3", error);
  281. }
  282. });
  283. };
  284. module.exports = {
  285. remind: remind,
  286. selfRaising: selfRaising,
  287. getsendTemplateId: getsendTemplateId,
  288. distribution: distribution,
  289. jisda: jisda,
  290. recipel: recipel,
  291. refund: refund,
  292. remindActivity: remindActivity,
  293. remindIntegral: remindIntegral,
  294. // templateId,
  295. // requsetmessage,
  296. tmplIds
  297. };