app.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. //引入公共方法
  2. const dever = require('./dever/core.js');
  3. App({
  4. /**
  5. * 保存邀请人id
  6. */
  7. saveInviteUid(uid){
  8. dever.save('invite_uid', uid);
  9. },
  10. /**
  11. * 获取邀请人id
  12. */
  13. getInviteUid(){
  14. let inviteUid = dever.getSave('invite_uid')
  15. return inviteUid == null ? '': inviteUid;
  16. },
  17. /**
  18. * 判断是否登录状态
  19. */
  20. isLogin: function (){
  21. return dever.getSign() == '' ? false : true;
  22. },
  23. /**
  24. * 获取用户id
  25. */
  26. getUid: function(){
  27. return dever.getUid();
  28. },
  29. /**
  30. * 设置模板变量[单个]
  31. */
  32. set: function (self, key, value) {
  33. var data = {};
  34. data[key] = value;
  35. this.sets(self, data);
  36. },
  37. /**
  38. * 设置模板变量[多个]
  39. */
  40. sets: function (self, data) {
  41. self.setData(data);
  42. },
  43. /**
  44. * 设置模板变量[列表]
  45. */
  46. setList: function (self, value, isAppend) {
  47. if (isAppend) {
  48. let list = self.data.list;
  49. for (var i = 0; i < value.length; i++) {
  50. list.push(value[i]);
  51. }
  52. this.set(self, 'list', list);
  53. } else {
  54. this.set(self, 'list', value);
  55. }
  56. },
  57. /**
  58. * 获取模板里传过来的data
  59. */
  60. getData: function (event) {
  61. return event.currentTarget.dataset;
  62. },
  63. /**
  64. * Toast提示框 3s消失
  65. */
  66. toast: function (msg, title) {
  67. wx.showToast({
  68. title: msg,
  69. icon: 'none',
  70. duration: 3000
  71. });
  72. },
  73. /**
  74. * 解析html
  75. */
  76. html: function (bindName, data, target) {
  77. var wxParse = dever.package('wxParse/wxParse');
  78. wxParse.wxParse(bindName, 'html', data, target, 0);
  79. },
  80. /**
  81. * 跳转页面
  82. */
  83. location: function (url) {
  84. dever.log('location', url);
  85. wx.navigateTo({
  86. url: '../../template/' + url,
  87. })
  88. },
  89. /**
  90. * 重定向页面
  91. */
  92. redirect: function (url) {
  93. dever.log('redirect', url);
  94. wx.redirectTo({
  95. url: '../../template/' + url,
  96. })
  97. },
  98. /**
  99. * 回退 delta 返回的页面数,如果 delta 大于现有页面数,则返回到首页
  100. */
  101. goBack: function (delta) {
  102. if (typeof delta != 'number') delta = 1;
  103. wx.navigateBack({
  104. delta: delta
  105. })
  106. },
  107. /**
  108. * 开始下拉刷新
  109. */
  110. startPullDown: function (self) {
  111. wx.showNavigationBarLoading();
  112. self.onLoad();
  113. },
  114. /**
  115. * 停止下拉刷新
  116. */
  117. stopPullDown: function () {
  118. wx.hideNavigationBarLoading();
  119. wx.stopPullDownRefresh();
  120. },
  121. /**
  122. * 显示加载中[数据交互动画]
  123. */
  124. showLoading: function () {
  125. wx.showLoading({
  126. title: '加载中',
  127. mask: true
  128. })
  129. },
  130. /**
  131. * 隐藏加载中
  132. */
  133. hideLoading: function () {
  134. wx.hideLoading();
  135. },
  136. /**
  137. * http请求
  138. * url 请求路径
  139. * param 请求参数 {}
  140. * callback 回调方法 {success fail complete}
  141. * method 请求方式 OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
  142. */
  143. request: function (url, param, callback, method){
  144. if (!param) param = {};
  145. //是否返回json格式的数据1为返回2为不返回
  146. param['json'] = 1;
  147. //用于登录后的uid验证,每次都要传入
  148. param['signature'] = dever.getSign();
  149. var that = this;
  150. console.log(url, param);
  151. dever.package('network').request(dever, url, param, {
  152. success: function(res){
  153. if (res.data.status == 1) {
  154. let data = res.data.data;
  155. if (data.config) {
  156. dever.setSetting(data.config);
  157. }
  158. if (url == 'passport.applet.bind'){
  159. dever.saveLoginInfo(data);
  160. }
  161. callback.success(data, res);
  162. } else {
  163. callback.fail(res);
  164. }
  165. },
  166. fail: function(res){
  167. callback.fail(res);
  168. },
  169. complete: function(res){
  170. if(callback.complete){
  171. callback.complete(res);
  172. }
  173. that.stopPullDown();
  174. dever.log('request ' + url, res);
  175. }
  176. }, method);
  177. }
  178. })