core.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. //公共方法,写的匆忙。暂时先扔这里吧。
  2. var dever =
  3. {
  4. //初始化
  5. init : function()
  6. {
  7. if (!this.config) {
  8. this.config = require('config.js').config;
  9. this.setting = {};
  10. this.log('init config', this.config);
  11. }
  12. }
  13. //设置title
  14. ,title : function(title)
  15. {
  16. wx.setNavigationBarTitle({
  17. title: title
  18. })
  19. }
  20. //获取模板里传过来的data
  21. ,getData : function(event)
  22. {
  23. return event.currentTarget.dataset;
  24. }
  25. //保存数据到存储器
  26. ,save : function(key, value)
  27. {
  28. wx.setStorageSync(key, value);
  29. this.log('save ' + key, value);
  30. }
  31. //读取保存数据到存储器
  32. ,getSave: function (key) {
  33. return wx.getStorageSync(key);
  34. }
  35. //保存登录信息
  36. ,saveLoginInfo: function(value){
  37. this.save('applet.bind', value);
  38. }
  39. //获取登录信息
  40. ,getLoginInfo: function(){
  41. return this.getSave('applet.bind');
  42. }
  43. //设置服务器传过来的公共值
  44. ,setSetting : function(value)
  45. {
  46. this.setting = value;
  47. this.log('init server setting', this.setting);
  48. if (value.title) {
  49. this.title(value.title);
  50. } else if(value.name) {
  51. this.title(value.name);
  52. }
  53. }
  54. //设置模板变量
  55. ,set : function(self, key, value)
  56. {
  57. var data = {};
  58. data[key] = value;
  59. this.sets(self, data);
  60. }
  61. //设置模板变量
  62. ,setList: function (self, value) {
  63. this.set(self, 'list', value);
  64. }
  65. //设置模板变量
  66. ,sets: function (self, data) {
  67. this.log('data', data);
  68. self.setData(data);
  69. }
  70. //列表分页追加
  71. , appendList: function (self, value) {
  72. var list = self.data.list;
  73. for(var i=0; i<value.length; i++){
  74. list.push(value[i]);
  75. }
  76. this.setList(self, list);
  77. }
  78. //设置模板变量
  79. , setView: function (self, value) {
  80. this.set(self, 'view', value);
  81. }
  82. //获取包
  83. ,package : function(name)
  84. {
  85. return require('package/' + name + '.js');
  86. }
  87. //html解析
  88. , html: function (bindName, data, target)
  89. {
  90. var wxParse = this.package('wxParse/wxParse');
  91. wxParse.wxParse(bindName, 'html', data, target, 0);
  92. }
  93. //获取请求
  94. ,request : function(url, param, callback, method)
  95. {
  96. if (!method) {
  97. method = 'get';
  98. }
  99. return this.package('network').request(this, url, param, callback, method);
  100. }
  101. //提示框
  102. ,alert : function(msg, title)
  103. {
  104. wx.showToast({
  105. title: msg,
  106. icon: 'success',
  107. duration: 3000
  108. });
  109. }
  110. //跳转
  111. ,location : function(url)
  112. {
  113. this.log('location', url);
  114. wx.navigateTo({
  115. url: '../../template/' + url,
  116. })
  117. }
  118. //回退 delta 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
  119. ,goBack: function(delta){
  120. if(typeof delta != 'number') delta = 1;
  121. wx.navigateBack({
  122. delta: delta
  123. })
  124. }
  125. //log
  126. ,log : function(title, msg)
  127. {
  128. if (this.config.debug) {
  129. console.log('dever debug -- ' + title, msg);
  130. }
  131. }
  132. //开始下拉刷新
  133. ,startPullDown : function(self)
  134. {
  135. wx.showNavigationBarLoading();
  136. self.onLoad();
  137. }
  138. //停止下拉刷新
  139. ,stopPullDown: function () {
  140. wx.hideNavigationBarLoading();
  141. wx.stopPullDownRefresh();
  142. }
  143. //加载购物车
  144. ,carts: function(self, save, path)
  145. {
  146. this.package('carts').load(self, save, path);
  147. }
  148. //检查用户是否登录状态,暂支持微信登录
  149. ,isLogin: function(fun){
  150. wx.checkSession({
  151. success: function(res){
  152. fun(true);
  153. },
  154. fail: function(res){
  155. fun(false);
  156. }
  157. })
  158. }
  159. }
  160. dever.init();
  161. module.exports = {
  162. load: dever
  163. }