dever 6 gadi atpakaļ
vecāks
revīzija
073308e8bd
71 mainītis faili ar 3509 papildinājumiem un 613 dzēšanām
  1. 1 13
      app.js
  2. 32 5
      app.json
  3. 122 33
      app.wxss
  4. 155 50
      dever/core.js
  5. 9 9
      dever/package/network.js
  6. 1 1
      project.config.json
  7. 2953 0
      static/colorui/colorui.wxss
  8. 57 0
      static/colorui/icon.wxss
  9. BIN
      static/img/cart1.png
  10. BIN
      static/img/cart2.png
  11. BIN
      static/img/carts-add.png
  12. BIN
      static/img/carts-sub.png
  13. BIN
      static/img/cash.png
  14. BIN
      static/img/item-1.png
  15. BIN
      static/img/item-2.png
  16. BIN
      static/img/ok.png
  17. BIN
      static/img/tabbar/basics.png
  18. BIN
      static/img/tabbar/basics_cur.png
  19. BIN
      static/img/tabbar/component.png
  20. BIN
      static/img/tabbar/component_cur.png
  21. BIN
      static/img/tabbar/plugin.png
  22. BIN
      static/img/tabbar/plugin_cur.png
  23. 0 5
      static/weiui/base/fn.wxss
  24. 0 5
      static/weiui/base/mixin/setArrow.wxss
  25. 0 5
      static/weiui/base/mixin/setOnepx.wxss
  26. 0 5
      static/weiui/base/mixin/text.wxss
  27. 0 6
      static/weiui/base/reset.wxss
  28. 0 5
      static/weiui/base/variable/color.wxss
  29. 0 5
      static/weiui/base/variable/global.wxss
  30. 0 5
      static/weiui/base/variable/weui-button.wxss
  31. 0 5
      static/weiui/base/variable/weui-cell.wxss
  32. 0 5
      static/weiui/base/variable/weui-dialog.wxss
  33. 0 5
      static/weiui/base/variable/weui-grid.wxss
  34. 0 5
      static/weiui/base/variable/weui-msg.wxss
  35. 0 5
      static/weiui/base/variable/weui-progress.wxss
  36. 0 5
      static/weiui/weui.wxss
  37. 0 6
      static/weiui/widget/weui-agree/weui-agree.wxss
  38. 0 6
      static/weiui/widget/weui-animate/weui-animate.wxss
  39. 0 6
      static/weiui/widget/weui-button/weui-button.wxss
  40. 0 6
      static/weiui/widget/weui-cell/weui-access.wxss
  41. 0 6
      static/weiui/widget/weui-cell/weui-cell.wxss
  42. 0 6
      static/weiui/widget/weui-cell/weui-check.wxss
  43. 0 5
      static/weiui/widget/weui-cell/weui-form.wxss
  44. 0 6
      static/weiui/widget/weui-cell/weui-form/weui-form-preview.wxss
  45. 0 6
      static/weiui/widget/weui-cell/weui-form/weui-form_common.wxss
  46. 0 6
      static/weiui/widget/weui-cell/weui-form/weui-select.wxss
  47. 0 6
      static/weiui/widget/weui-cell/weui-form/weui-vcode.wxss
  48. 0 6
      static/weiui/widget/weui-cell/weui-switch.wxss
  49. 0 6
      static/weiui/widget/weui-cell/weui-uploader.wxss
  50. 0 6
      static/weiui/widget/weui-flex/weui-flex.wxss
  51. 0 6
      static/weiui/widget/weui-footer/weui-footer.wxss
  52. 0 6
      static/weiui/widget/weui-grid/weui-grid.wxss
  53. 0 5
      static/weiui/widget/weui-loading/weui-loading.wxss
  54. 0 6
      static/weiui/widget/weui-media-box/weui-media-box.wxss
  55. 0 6
      static/weiui/widget/weui-page/weui-article.wxss
  56. 0 6
      static/weiui/widget/weui-page/weui-msg.wxss
  57. 0 6
      static/weiui/widget/weui-panel/weui-panel.wxss
  58. 0 6
      static/weiui/widget/weui-progress/weui-progress.wxss
  59. 0 6
      static/weiui/widget/weui-searchbar/weui-searchbar.wxss
  60. 0 6
      static/weiui/widget/weui-tab/weui-navbar.wxss
  61. 0 6
      static/weiui/widget/weui-tab/weui-tab.wxss
  62. 0 6
      static/weiui/widget/weui-tips/weui-badge.wxss
  63. 0 6
      static/weiui/widget/weui-tips/weui-loadmore.wxss
  64. 23 133
      template/home/index.js
  65. 1 4
      template/home/index.json
  66. 67 11
      template/home/index.wxml
  67. 0 51
      template/home/index.wxss
  68. 17 66
      template/view/index.js
  69. 1 3
      template/view/index.json
  70. 70 2
      template/view/index.wxml
  71. 0 1
      template/view/index.wxss

+ 1 - 13
app.js

@@ -1,14 +1,2 @@
 var dever = require('./dever/core.js');
-
-App({
-    onLaunch: function () {
-        console.log('App Launch');
-    },
-    onShow: function () {
-        console.log('App Show');
-    },
-    onHide: function () {
-        console.log('App Hide');
-    },
-    dever: dever.load
-});
+App(dever.app);

+ 32 - 5
app.json

@@ -7,11 +7,38 @@
     "template/view/index"
   ],
   "window": {
-    "navigationBarTextStyle": "#fff",
-    "navigationBarTitleText": "农小盒",
-    "navigationBarBackgroundColor": "#000",
-    "backgroundColor": "#f8f8f8",
-    "enablePullDownRefresh": false
+    "navigationBarBackgroundColor": "#39b54a",
+    "navigationBarTitleText": "Dever",
+    "navigationStyle": "custom",
+    "navigationBarTextStyle": "white",
+    "enablePullDownRefresh": true
+  },
+  "component": true,
+  "tabBar": {
+    "color": "#aaa",
+    "selectedColor": "#39b54a",
+    "borderStyle": "black",
+    "backgroundColor": "#ffffff",
+    "list": [
+      {
+        "pagePath": "template/home/index",
+        "iconPath": "/static/img/tabbar/basics.png",
+        "selectedIconPath": "/static/img/tabbar/basics_cur.png",
+        "text": "基础"
+      },
+      {
+        "pagePath": "template/pay/index",
+        "iconPath": "/static/img/tabbar/component.png",
+        "selectedIconPath": "/static/img/tabbar/component_cur.png",
+        "text": "组件"
+      },
+      {
+        "pagePath": "template/carts/index",
+        "iconPath": "/static/img/tabbar/plugin.png",
+        "selectedIconPath": "/static/img/tabbar/plugin_cur.png",
+        "text": "扩展"
+      }
+    ]
   },
   "networkTimeout": {
     "request": 10000,

+ 122 - 33
app.wxss

@@ -1,43 +1,132 @@
-@import 'static/weiui/weui.wxss';
+@import 'static/colorui/icon.wxss';
+@import 'static/colorui/colorui.wxss';
 
-page{
-    background-color: #FFFFFF;
-    font-size: 16px;
-    font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
+.nav-list {
+  display: flex;
+  flex-wrap: wrap;
+  padding: 0px 20px 0px;
+  justify-content: space-between;
 }
-/*
-.page__hd {
-    padding: 40px;
+
+.nav-li {
+  color: #666;
+  padding: 15px;
+  border-radius: 6px;
+  width: 45%;
+  margin: 0 2.5% 20px;
+  background-image: url(https://image.weilanwl.com/color2.0/cardBg.png);
+  background-size: cover;
+  background-position: center;
+  position: relative;
+  z-index: 1;
 }
-.page__bd {
-    padding-bottom: 40px;
+
+.nav-li::after {
+  content: "";
+  position: absolute;
+  z-index: -1;
+  background-color: inherit;
+  width: 100%;
+  height: 100%;
+  left: 0;
+  bottom: -10%;
+  border-radius: 5px;
+  opacity: 0.2;
+  transform: scale(0.9, 0.9);
 }
-.page__bd_spacing {
-    padding-left: 15px;
-    padding-right: 15px;
+
+.nav-li.cur {
+  color: #fff;
+  background: rgb(94, 185, 94);
+  box-shadow: 2px 2px 3px rgba(94, 185, 94, 0.4);
 }
 
-.page__ft{
-    padding-bottom: 10px;
-    text-align: center;
+.nav-title {
+  font-size: 16px;
+  font-weight: 300;
 }
 
-.page__title {
-    text-align: left;
-    font-size: 20px;
-    font-weight: 400;
+.nav-title::first-letter {
+  font-size: 20px;
+  margin-right: 2px;
 }
 
-.page__desc {
-    margin-top: 5px;
-    color: #888888;
-    text-align: left;
-    font-size: 14px;
-}*/
-.nxh__button {
-  background: #539804;
-  color: #fff;
-  border-radius: 50rpx;
-  width: 420rpx;
-  font-size: 35rpx;
-}
+.nav-name {
+  font-size: 14px;
+  text-transform: Capitalize;
+  margin-top: 10px;
+  position: relative;
+}
+
+.nav-name::before {
+  content: "";
+  position: absolute;
+  display: block;
+  width: 20px;
+  height: 3px;
+  background: #fff;
+  bottom: 0;
+  right: 0;
+  opacity: 0.5;
+}
+
+.nav-name::after {
+  content: "";
+  position: absolute;
+  display: block;
+  width: 50px;
+  height: 1px;
+  background: #fff;
+  bottom: 0;
+  right: 20px;
+  opacity: 0.3;
+}
+
+.nav-name::first-letter {
+  font-weight: bold;
+  font-size: 18px;
+  margin-right: 1px;
+}
+
+.nav-li icon {
+  position: absolute;
+  right: 15px;
+  top: 15px;
+  font-size: 26px;
+  width: 30px;
+  height: 30px;
+  text-align: center;
+  line-height: 30px;
+}
+
+.text-light {
+  font-weight: 300;
+}
+
+@keyframes show {
+  0% {
+    transform: translateY(-50px);
+  }
+
+  60% {
+    transform: translateY(20px);
+  }
+
+  100% {
+    transform: translateY(0px);
+  }
+}
+
+@-webkit-keyframes show {
+  0% {
+    transform: translateY(-50px);
+  }
+
+  60% {
+    transform: translateY(20px);
+  }
+
+  100% {
+    transform: translateY(0px);
+  }
+}

+ 155 - 50
dever/core.js

@@ -1,5 +1,4 @@
 
-//公共方法,写的匆忙。暂时先扔这里吧。
 var dever =
 {
     //初始化
@@ -9,7 +8,16 @@ var dever =
           this.config = require('config.js').config;
           this.setting = {};
           this.log('init config', this.config);
+
+          wx.getSystemInfo({
+            success: e => {
+              this.config.bar = {};
+              this.config.bar.status = e.statusBarHeight;
+              this.config.bar.custom = e.platform == 'android' ? e.statusBarHeight + 50 : e.statusBarHeight + 45;
+            }
+          })
         }
+        return this;
     }
 
     //设置title
@@ -34,7 +42,8 @@ var dever =
     }
 
     //读取保存数据到存储器
-    ,getSave: function (key) {
+    ,getSave: function (key)
+    {
       wx.getStorageSync(key)
     }
 
@@ -50,30 +59,6 @@ var dever =
         }
     }
 
-    //设置模板变量
-    ,set : function(self, key, value)
-    {
-      var data = {};
-      data[key] = value;
-      this.sets(self, data);
-    }
-
-    //设置模板变量
-    ,setList: function (self, value) {
-      this.set(self, 'list', value);
-    }
-
-    //设置模板变量
-    , setView: function (self, value) {
-      this.set(self, 'view', value);
-    }
-
-    //设置模板变量
-    ,sets: function (self, data) {
-      this.log('data', data);
-      self.setData(data);
-    }
-
     //获取包
     ,package : function(name)
     {
@@ -86,15 +71,6 @@ var dever =
         var wxParse = this.package('wxParse');
     }
 
-    //获取请求
-    ,request : function(url, param, callback, method)
-    {
-        if (!method) {
-            method = 'get';
-        }
-        return this.package('network').request(this, url, param, callback, method);
-    }
-
     //提示框
     ,alert : function(msg, title)
     {
@@ -115,7 +91,8 @@ var dever =
     }
 
     //回退 delta 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
-    ,goBack: function(delta){
+    ,goBack: function(delta)
+    {
       if(typeof delta == 'undefined') delta = 1;
       wx.navigateBack({
         delta: delta
@@ -130,26 +107,154 @@ var dever =
       }
     }
 
-    //开始下拉刷新
-    ,startPullDown : function(self)
+    //加载购物车
+    ,carts: function(self, save, path)
     {
-      wx.showNavigationBarLoading();
-      self.onLoad();
+      this.package('carts').load(self, save, path);
     }
+}
+
+var page =
+{
+  dever : dever.init()
+  ,data: {}
 
-    //停止下拉刷新
-    ,stopPullDown: function () {
-      wx.hideNavigationBarLoading();
-      wx.stopPullDownRefresh();
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  ,onLoad: function (options) {
+    this.setConfig();
+    this.stopPullDown();
+    if (this.hasOwnProperty('load')) {
+      this.load();
     }
+  }
 
-    //加载购物车
-    ,carts: function(self, save, path)
-    {
-      this.package('carts').load(self, save, path);
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  ,onReady: function () {
+    if (this.hasOwnProperty('ready')) {
+      this.ready();
+    }
+  }
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  ,onShow: function () {
+    if (this.hasOwnProperty('show')) {
+      this.show();
+    }
+  }
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  ,onHide: function () {
+    if (this.hasOwnProperty('hide')) {
+      this.hide();
+    }
+  }
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  ,onUnload: function () {
+    if (this.hasOwnProperty('unload')) {
+      this.unload();
     }
+  }
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  ,onPullDownRefresh: function () {
+    wx.showNavigationBarLoading();
+    this.onLoad();
+  }
+
+  /**
+   * 停止下拉刷新
+   */
+  ,stopPullDown: function () {
+    wx.hideNavigationBarLoading();
+    wx.stopPullDownRefresh();
+  }
+
+  /**
+   * 用户点击右上角分享
+   */
+  ,onShareAppMessage: function () {
+    if (this.hasOwnProperty('share')) {
+      this.share();
+    }
+  }
+
+  //设置模板变量
+  ,set : function(key, value)
+  {
+    var data = {};
+    data[key] = value;
+    this.sets(data);
+  }
+
+  //设置列表页模板变量
+  ,setList: function (value)
+  {
+    this.set('list', value);
+  }
+
+  //设置详情页模板变量
+  ,setView: function (value)
+  {
+    this.set('view', value);
+  }
+
+  //设置模板变量
+  ,sets: function (data)
+  {
+    this.dever.log('data', data);
+    this.setData(data);
+  }
+
+  //设置基本配置模板变量
+  ,setConfig: function ()
+  {
+    this.set('config', this.dever.config);
+  }
+
+  //获取请求
+  ,request : function(url, param, callback, method)
+  {
+      if (!method) {
+          method = 'get';
+      }
+      return this.dever.package('network').request(this, url, param, callback, method);
+  }
+}
+
+var app =
+{
+  onLaunch: function () {
+    if (this.hasOwnProperty('launch')) {
+      this.launch();
+    }
+  },
+  onShow: function () {
+    if (this.hasOwnProperty('show')) {
+      this.show();
+    }
+  },
+  onHide: function () {
+    if (this.hasOwnProperty('hide')) {
+      this.hide();
+    }
+  },
+  dever: dever,
+  page: page
 }
-dever.init();
+
 module.exports = {
-    load: dever
+    app: app
 }

+ 9 - 9
dever/package/network.js

@@ -1,5 +1,5 @@
 // method OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
-function request(dever, url, param, callback, method, header)
+function request(self, url, param, callback, method, header)
 {
     if (!header) {
         var header = {};
@@ -7,17 +7,17 @@ function request(dever, url, param, callback, method, header)
     }
 
     var types = url;
-    for (var i in dever.config.host) {
+    for (var i in self.dever.config.host) {
         if (url.indexOf(i + '.') != -1) {
-            url = url.replace(i + '.', dever.config.host[i]);
+            url = url.replace(i + '.', self.dever.config.host[i]);
             break;
         }
     }
 
-    if (url.indexOf('http') == -1 || dever.config.local) {
-      return dever.package('analog').data(dever, types, param, callback);
+    if (url.indexOf('http') == -1 || self.dever.config.local) {
+      return self.dever.package('analog').data(self.dever, types, param, callback);
     }
-
+    self.set('loading', true);
     wx.request(
     {
         url: url,
@@ -27,12 +27,12 @@ function request(dever, url, param, callback, method, header)
         success: function (res) {
             if (res.data.status == 1) {
                 if (res.data.data.config) {
-                  dever.setSetting(res.data.data.config);
+                  self.dever.setSetting(res.data.data.config);
                 }
-                dever.stopPullDown();
+                self.set('loading', false);
                 callback.success(res.data.data, res);
             } else {
-                dever.alert(res.msg);
+                self.dever.alert(res.msg);
             }
         },
         fail: function () {

+ 1 - 1
project.config.json

@@ -13,7 +13,7 @@
 	"compileType": "miniprogram",
 	"libVersion": "2.3.0",
 	"appid": "wxd03e9b0848beb6a7",
-	"projectname": "%E9%9F%AD%E8%8F%9C",
+	"projectname": "%E5%B9%B4%E5%A4%9C%E9%A5%AD",
 	"isGameTourist": false,
 	"condition": {
 		"search": {

+ 2953 - 0
static/colorui/colorui.wxss

@@ -0,0 +1,2953 @@
+/*
+  Color UI v2.0.2 | by 文晓港 
+  仅供学习交流,如作它用所承受的法律责任一概与作者无关   
+  (QQ交流群:240787041)
+  文档:http://www.color-ui.com/
+*/
+
+/* ==================
+        初始化
+ ==================== */
+
+page {
+  background: #f1f1f1;
+  font-size: 14px;
+  color: #333;
+  line-height: 1;
+  font-family: Helvetica Neue, Helvetica, sans-serif;
+}
+
+view, text, custom, tag, capsule, scroll-view, swiper, button, timeline, form,
+form-group, info, bar, progress-bar, input, textarea, label, navigator, list,
+item, chat, image {
+  box-sizing: border-box;
+}
+
+/* ==================
+          布局
+ ==================== */
+
+/*  -- flex弹性布局 -- */
+
+.flex {
+  display: flex;
+}
+
+.basis-xs {
+  flex-basis: 20%;
+}
+
+.basis-sm {
+  flex-basis: 40%;
+}
+
+.basis-df {
+  flex-basis: 50%;
+}
+
+.basis-lg {
+  flex-basis: 60%;
+}
+
+.basis-xl {
+  flex-basis: 80%;
+}
+
+.flex-sub {
+  flex: 1;
+}
+
+.flex-twice {
+  flex: 2;
+}
+
+.flex-treble {
+  flex: 3;
+}
+
+.flex-direction {
+  flex-direction: column;
+}
+
+.flex-wrap {
+  flex-wrap: wrap;
+}
+
+.align-start {
+  align-items: flex-start;
+}
+
+.align-end {
+  align-items: flex-end;
+}
+
+.align-center {
+  align-items: center;
+}
+
+.align-stretch {
+  align-items: stretch;
+}
+
+.self-start {
+  align-self: flex-start;
+}
+
+.self-center {
+  align-self: flex-center;
+}
+
+.self-end {
+  align-self: flex-end;
+}
+
+.self-stretch {
+  align-self: stretch;
+}
+
+.align-stretch {
+  align-items: stretch;
+}
+
+.justify-start {
+  justify-content: flex-start;
+}
+
+.justify-end {
+  justify-content: flex-end;
+}
+
+.justify-center {
+  justify-content: center;
+}
+
+.justify-between {
+  justify-content: space-between;
+}
+
+.justify-around {
+  justify-content: space-around;
+}
+
+/* grid布局 */
+
+.grid {
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.grid.grid-square {
+  margin-bottom: -10px;
+  overflow: hidden;
+}
+
+.grid.grid-square tag {
+  position: absolute;
+  right: 0;
+  top: 0;
+  border-bottom-left-radius: 3px;
+}
+
+.grid.grid-square view> icon, .grid.grid-square item> icon {
+  font-size: 26px;
+  position: absolute;
+  color: #aaa;
+  margin: auto;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+}
+
+.grid.grid-square view, .grid.grid-square item {
+  margin-right: 10px;
+  margin-bottom: 10px;
+  border-radius: 3px;
+  position: relative;
+  overflow: hidden;
+}
+
+.grid.col-1.grid-square view, .grid.col-1.grid-square item {
+  padding-bottom: 100%;
+  height: 0;
+  margin-right: 0;
+}
+
+.grid.col-2.grid-square view, .grid.col-2.grid-square item {
+  padding-bottom: calc((100% - 10px)/2);
+  height: 0;
+  width: calc((100% - 10px)/2);
+}
+
+.grid.col-2.grid-square view:nth-child(2n),
+.grid.col-2.grid-square item:nth-child(2n) {
+  margin-right: 0;
+}
+
+.grid.col-3.grid-square view, .grid.col-3.grid-square item {
+  padding-bottom: calc((100% - 20px)/3);
+  height: 0;
+  width: calc((100% - 20px)/3);
+}
+
+.grid.col-3.grid-square view:nth-child(3n),
+.grid.col-3.grid-square item:nth-child(3n) {
+  margin-right: 0;
+}
+
+.grid.col-4.grid-square view, .grid.col-4.grid-square item {
+  padding-bottom: calc((100% - 30px)/4);
+  height: 0;
+  width: calc((100% - 30px)/4);
+}
+
+.grid.col-4.grid-square view:nth-child(4n),
+.grid.col-4.grid-square item:nth-child(4n) {
+  margin-right: 0;
+}
+
+.grid.col-5.grid-square view, .grid.col-5.grid-square item {
+  padding-bottom: calc((100% - 40px)/5);
+  height: 0;
+  width: calc((100% - 40px)/5);
+}
+
+.grid.col-1>item, .grid.col-1>view {
+  width: 100%;
+}
+
+.grid.col-2>item, .grid.col-2>view {
+  width: 50%;
+}
+
+.grid.col-3>item, .grid.col-3>view {
+  width: 33.33%;
+}
+
+.grid.col-4>item, .grid.col-4>view {
+  width: 25%;
+}
+
+.grid.col-5>item, .grid.col-5>view {
+  width: 20%;
+}
+
+/*  -- 内外边距 -- */
+
+.margin-0 {
+  margin: 0 !important;
+}
+
+.margin-xs {
+  margin: 5px;
+}
+
+.margin-sm {
+  margin: 10px;
+}
+
+.margin {
+  margin: 15px;
+}
+
+.margin-lg {
+  margin: 20px;
+}
+
+.margin-xl {
+  margin: 25px;
+}
+
+.margin-top-xs {
+  margin-top: 5px;
+}
+
+.margin-top-sm {
+  margin-top: 10px;
+}
+
+.margin-top {
+  margin-top: 15px;
+}
+
+.margin-top-lg {
+  margin-top: 20px;
+}
+
+.margin-top-xl {
+  margin-top: 25px;
+}
+
+.margin-right-xs {
+  margin-right: 5px;
+}
+
+.margin-right-sm {
+  margin-right: 10px;
+}
+
+.margin-right {
+  margin-right: 15px;
+}
+
+.margin-right-lg {
+  margin-right: 20px;
+}
+
+.margin-right-xl {
+  margin-right: 25px;
+}
+
+.margin-bottom-xs {
+  margin-bottom: 5px;
+}
+
+.margin-bottom-sm {
+  margin-bottom: 10px;
+}
+
+.margin-bottom {
+  margin-bottom: 15px;
+}
+
+.margin-bottom-lg {
+  margin-bottom: 20px;
+}
+
+.margin-bottom-xl {
+  margin-bottom: 25px;
+}
+
+.margin-left-xs {
+  margin-left: 5px;
+}
+
+.margin-left-sm {
+  margin-left: 10px;
+}
+
+.margin-left {
+  margin-left: 15px;
+}
+
+.margin-left-lg {
+  margin-left: 20px;
+}
+
+.margin-left-xl {
+  margin-left: 25px;
+}
+
+.margin-lr-xs {
+  margin-left: 5px;
+  margin-right: 5px;
+}
+
+.margin-lr-sm {
+  margin-left: 10px;
+  margin-right: 10px;
+}
+
+.margin-lr {
+  margin-left: 15px;
+  margin-right: 15px;
+}
+
+.margin-lr-lg {
+  margin-left: 20px;
+  margin-right: 20px;
+}
+
+.margin-lr-xl {
+  margin-left: 25px;
+  margin-right: 25px;
+}
+
+.margin-tb-xs {
+  margin-top: 5px;
+  margin-bottom: 5px;
+}
+
+.margin-tb-sm {
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+
+.margin-tb {
+  margin-top: 15px;
+  margin-bottom: 15px;
+}
+
+.margin-tb-lg {
+  margin-top: 20px;
+  margin-bottom: 20px;
+}
+
+.margin-tb-xl {
+  margin-top: 25px;
+  margin-bottom: 25px;
+}
+
+.padding-0 {
+  padding: 0 !important;
+}
+
+.padding-xs {
+  padding: 5px;
+}
+
+.padding-sm {
+  padding: 10px;
+}
+
+.padding {
+  padding: 15px;
+}
+
+.padding-lg {
+  padding: 20px;
+}
+
+.padding-xl {
+  padding: 25px;
+}
+
+.padding-top-xs {
+  padding-top: 5px;
+}
+
+.padding-top-sm {
+  padding-top: 10px;
+}
+
+.padding-top {
+  padding-top: 15px;
+}
+
+.padding-top-lg {
+  padding-top: 20px;
+}
+
+.padding-top-xl {
+  padding-top: 25px;
+}
+
+.padding-right-xs {
+  padding-right: 5px;
+}
+
+.padding-right-sm {
+  padding-right: 10px;
+}
+
+.padding-right {
+  padding-right: 15px;
+}
+
+.padding-right-lg {
+  padding-right: 20px;
+}
+
+.padding-right-xl {
+  padding-right: 25px;
+}
+
+.padding-bottom-xs {
+  padding-bottom: 5px;
+}
+
+.padding-bottom-sm {
+  padding-bottom: 10px;
+}
+
+.padding-bottom {
+  padding-bottom: 15px;
+}
+
+.padding-bottom-lg {
+  padding-bottom: 20px;
+}
+
+.padding-bottom-xl {
+  padding-bottom: 25px;
+}
+
+.padding-left-xs {
+  padding-left: 5px;
+}
+
+.padding-left-sm {
+  padding-left: 10px;
+}
+
+.padding-left {
+  padding-left: 15px;
+}
+
+.padding-left-lg {
+  padding-left: 20px;
+}
+
+.padding-left-xl {
+  padding-left: 25px;
+}
+
+.padding-lr-xs {
+  padding-left: 5px;
+  padding-right: 5px;
+}
+
+.padding-lr-sm {
+  padding-left: 10px;
+  padding-right: 10px;
+}
+
+.padding-lr {
+  padding-left: 15px;
+  padding-right: 15px;
+}
+
+.padding-lr-lg {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+.padding-lr-xl {
+  padding-left: 25px;
+  padding-right: 25px;
+}
+
+.padding-tb-xs {
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+
+.padding-tb-sm {
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.padding-tb {
+  padding-top: 15px;
+  padding-bottom: 15px;
+}
+
+.padding-tb-lg {
+  padding-top: 20px;
+  padding-bottom: 20px;
+}
+
+.padding-tb-xl {
+  padding-top: 25px;
+  padding-bottom: 25px;
+}
+
+/* -- 浮动 --  */
+
+.cf::after, .cf::before {
+  content: " ";
+  display: table;
+}
+
+.cf::after {
+  clear: both;
+}
+
+.fl {
+  float: left;
+}
+
+.fr {
+  float: right;
+}
+
+/* ==================
+          图片
+ ==================== */
+
+image {
+  max-width: 100%;
+  display: inline-block;
+  position: relative;
+  z-index: 0;
+}
+
+image.loading::before {
+  content: "";
+  background: #f5f5f5;
+  display: block;
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  z-index: -2;
+}
+
+image.loading::after {
+  content: "\e7f1";
+  font-family: "iconfont";
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 16px;
+  height: 16px;
+  line-height: 16px;
+  right: 0;
+  bottom: 0;
+  z-index: -1;
+  font-size: 16px;
+  margin: auto;
+  color: #ccc;
+  -webkit-animation: icon-spin 2s infinite linear;
+  animation: icon-spin 2s infinite linear;
+  display: block;
+}
+
+image.response {
+  width: 100%;
+}
+
+/* ==================
+         开关
+ ==================== */
+
+switch, checkbox, radio {
+  position: relative;
+}
+
+switch::after {
+  font-family: "iconfont" !important;
+  content: "\e645";
+  position: absolute;
+  color: #fff;
+  top: 50%;
+  margin-top: -8px;
+  left: 10px;
+  font-size: 16px;
+  line-height: 16px;
+  pointer-events: none;
+  transform: scale(0, 0);
+  transition: all 0.3s ease-in-out 0s;
+}
+
+switch[checked]::after {
+  transform: scale(1, 1);
+}
+
+switch::before {
+  font-family: "iconfont" !important;
+  content: "\e646";
+  position: absolute;
+  color: #fff;
+  top: 50%;
+  margin-top: -8px;
+  right: 10px;
+  font-size: 16px;
+  line-height: 16px;
+  pointer-events: none;
+  transform: scale(1, 1);
+  transition: all 0.3s ease-in-out 0s;
+  z-index: 9;
+}
+
+radio::before, checkbox::before {
+  font-family: "iconfont" !important;
+  content: "\e645";
+  position: absolute;
+  color: #fff;
+  top: 50%;
+  margin-top: -8px;
+  right: 5px;
+  font-size: 16px;
+  line-height: 16px;
+  pointer-events: none;
+  transform: scale(1, 1);
+  transition: all 0.3s ease-in-out 0s;
+  z-index: 9;
+}
+
+switch[checked]::before {
+  transform: scale(0, 0);
+}
+
+switch .wx-switch-input {
+  background: #aaa !important;
+  border-color: #aaa;
+  padding: 0 30px;
+  margin: 0;
+}
+
+radio-group {
+  display: inline-block;
+}
+
+radio .wx-radio-input, checkbox .wx-checkbox-input {
+  margin: 0;
+  width: 24px;
+  height: 24px;
+}
+
+checkbox.round .wx-checkbox-input {
+  border-radius: 50px;
+}
+
+switch .wx-switch-input-checked::after {
+  margin-left: 10px;
+  box-shadow: none;
+}
+
+switch.radius .wx-switch-input::after, switch.radius .wx-switch-input,
+switch.radius .wx-switch-input::before {
+  border-radius: 5px;
+}
+
+switch .wx-switch-input::before, radio.radio::before,
+checkbox .wx-checkbox-input::before, radio .wx-radio-input::before {
+  display: none;
+}
+
+radio.radio[checked]::after {
+  content: "";
+  background: transparent;
+  display: block;
+  position: absolute;
+  width: 8px;
+  height: 8px;
+  z-index: 999;
+  top: 0px;
+  left: 0px;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+  border-radius: 100px;
+  border: 8px solid #fff;
+}
+
+switch.sm, checkbox.sm, radio.sm {
+  transform: scale(0.8);
+}
+
+.switch-sex::after {
+  content: "\e71c";
+}
+
+.switch-sex::before {
+  content: "\e71a";
+}
+
+.switch-sex .wx-switch-input {
+  background: #e54d42 !important;
+  border-color: #e54d42;
+}
+
+.switch-sex[checked] .wx-switch-input {
+  background: #0081ff !important;
+  border-color: #0081ff !important;
+}
+
+/* ==================
+          背景
+ ==================== */
+
+.line-red::after, .lines-red::after, switch.red[checked] .wx-switch-input,
+checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input {
+  border-color: #e54d42 !important;
+}
+
+.line-orange::after, .lines-orange::after,
+switch.orange[checked] .wx-switch-input,
+checkbox.orange[checked] .wx-checkbox-input,
+radio.orange[checked] .wx-radio-input {
+  border-color: #f37b1d !important;
+}
+
+.line-yellow::after, .lines-yellow::after,
+switch.yellow[checked] .wx-switch-input,
+checkbox.yellow[checked] .wx-checkbox-input,
+radio.yellow[checked] .wx-radio-input {
+  border-color: #fbbd08 !important;
+}
+
+.line-olive::after, .lines-olive::after, switch.olive[checked] .wx-switch-input,
+checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input {
+  border-color: #8dc63f !important;
+}
+
+.line-green::after, .lines-green::after, switch.green[checked] .wx-switch-input,
+checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input,
+radio.green[checked] .wx-radio-input {
+  border-color: #39b54a !important;
+}
+
+.line-cyan::after, .lines-cyan::after, switch.cyan[checked] .wx-switch-input,
+checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input {
+  border-color: #1cbbb4 !important;
+}
+
+.line-blue::after, .lines-blue::after, switch.blue[checked] .wx-switch-input,
+checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input {
+  border-color: #0081ff !important;
+}
+
+.line-purple::after, .lines-purple::after,
+switch.purple[checked] .wx-switch-input,
+checkbox.purple[checked] .wx-checkbox-input,
+radio.purple[checked] .wx-radio-input {
+  border-color: #6739b6 !important;
+}
+
+.line-mauve::after, .lines-mauve::after, switch.mauve[checked] .wx-switch-input,
+checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input {
+  border-color: #9c26b0 !important;
+}
+
+.line-pink::after, .lines-pink::after, switch.pink[checked] .wx-switch-input,
+checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input {
+  border-color: #e03997 !important;
+}
+
+.line-brown::after, .lines-brown::after, switch.brown[checked] .wx-switch-input,
+checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input {
+  border-color: #a5673f !important;
+}
+
+.line-grey::after, .lines-grey::after, switch.grey[checked] .wx-switch-input,
+checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input {
+  border-color: #8799a3 !important;
+}
+
+.line-gray::after, .lines-gray::after, switch.gray[checked] .wx-switch-input,
+checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input {
+  border-color: #aaa !important;
+}
+
+.line-black::after, .lines-black::after, switch.black[checked] .wx-switch-input,
+checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input {
+  border-color: #333 !important;
+}
+
+.line-white::after, .lines-white::after, switch.white[checked] .wx-switch-input,
+checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input {
+  border-color: #fff !important;
+}
+
+.bg-red, switch.red[checked] .wx-switch-input,
+checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input {
+  background-color: #e54d42 !important;
+  color: #fff !important;
+}
+
+.bg-orange, switch.orange[checked] .wx-switch-input,
+checkbox.orange[checked] .wx-checkbox-input,
+radio.orange[checked] .wx-radio-input {
+  background-color: #f37b1d !important;
+  color: #fff !important;
+}
+
+.bg-yellow, switch.yellow[checked] .wx-switch-input,
+checkbox.yellow[checked] .wx-checkbox-input,
+radio.yellow[checked] .wx-radio-input {
+  background-color: #fbbd08 !important;
+  color: #333 !important;
+}
+
+.bg-olive, switch.olive[checked] .wx-switch-input,
+checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input {
+  background-color: #8dc63f !important;
+  color: #fff !important;
+}
+
+.bg-green, switch.green[checked] .wx-switch-input,
+switch[checked] .wx-switch-input, checkbox.green[checked] .wx-checkbox-input,
+checkbox[checked] .wx-checkbox-input, radio.green[checked] .wx-radio-input,
+radio[checked] .wx-radio-input {
+  background-color: #39b54a !important;
+  color: #fff !important;
+}
+
+.bg-cyan, switch.cyan[checked] .wx-switch-input,
+checkbox.cyan[checked] .wx-checkbox-input, radio.cyan[checked] .wx-radio-input {
+  background-color: #1cbbb4 !important;
+  color: #fff !important;
+}
+
+.bg-blue, switch.blue[checked] .wx-switch-input,
+checkbox.blue[checked] .wx-checkbox-input, radio.blue[checked] .wx-radio-input {
+  background-color: #0081ff !important;
+  color: #fff !important;
+}
+
+.bg-purple, switch.purple[checked] .wx-switch-input,
+checkbox.purple[checked] .wx-checkbox-input,
+radio.purple[checked] .wx-radio-input {
+  background-color: #6739b6 !important;
+  color: #fff !important;
+}
+
+.bg-mauve, switch.mauve[checked] .wx-switch-input,
+checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input {
+  background-color: #9c26b0 !important;
+  color: #fff !important;
+}
+
+.bg-pink, switch.pink[checked] .wx-switch-input,
+checkbox.pink[checked] .wx-checkbox-input, radio.pink[checked] .wx-radio-input {
+  background-color: #e03997 !important;
+  color: #fff !important;
+}
+
+.bg-brown, switch.brown[checked] .wx-switch-input,
+checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input {
+  background-color: #a5673f !important;
+  color: #fff !important;
+}
+
+.bg-grey, switch.grey[checked] .wx-switch-input,
+checkbox.grey[checked] .wx-checkbox-input, radio.grey[checked] .wx-radio-input {
+  background-color: #8799a3 !important;
+  color: #fff !important;
+}
+
+.bg-gray, switch.gray[checked] .wx-switch-input,
+checkbox.gray[checked] .wx-checkbox-input, radio.gray[checked] .wx-radio-input {
+  background-color: #f0f0f0 !important;
+  color: #666 !important;
+}
+
+.bg-black, switch.black[checked] .wx-switch-input,
+checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input {
+  background-color: #333 !important;
+  color: #fff !important;
+}
+
+.bg-white, switch.white[checked] .wx-switch-input,
+checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input {
+  background-color: #fff !important;
+  color: #666;
+}
+
+.bg-shadeTop {
+  background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
+  color: #fff;
+}
+
+.bg-shadeBottom {
+  background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
+  color: #fff;
+}
+
+.none-bg, .line-white, .lines-white {
+  background-color: transparent !important;
+}
+
+.bg-red.light {
+  color: #e54d42 !important;
+  background: #fadbd9 !important;
+}
+
+.bg-orange.light {
+  color: #f37b1d !important;
+  background: #fde6d2 !important;
+}
+
+.bg-yellow.light {
+  color: #fbbd08 !important;
+  background: #fef2ce !important;
+}
+
+.bg-olive.light {
+  color: #8dc63f !important;
+  background: #e8f4d9 !important;
+}
+
+.bg-green.light {
+  color: #39b54a !important;
+  background: #d7f0db !important;
+}
+
+.bg-cyan.light {
+  color: #1cbbb4 !important;
+  background: #d2f1f0 !important;
+}
+
+.bg-blue.light {
+  color: #0081ff !important;
+  background: #cce6ff !important;
+}
+
+.bg-purple.light {
+  color: #6739b6 !important;
+  background: #e1d7f0 !important;
+}
+
+.bg-mauve.light {
+  color: #9c26b0 !important;
+  background: #ebd4ef !important;
+}
+
+.bg-pink.light {
+  color: #e03997 !important;
+  background: #f9d7ea !important;
+}
+
+.bg-brown.light {
+  color: #a5673f !important;
+  background: #ede1d9 !important;
+}
+
+.bg-grey.light {
+  color: #8799a3 !important;
+  background: #e7ebed !important;
+}
+
+.bg-gray.light {
+  color: #666 !important;
+  background: #fadbd9 !important;
+}
+
+.bg-gray.light {
+  color: #888 !important;
+  background: #f1f1f1 !important;
+}
+
+.gradual-red {
+  background-image: linear-gradient(45deg, #f43f3b, #ec008c) !important;
+  color: #fff !important;
+}
+
+.gradual-orange {
+  background-image: linear-gradient(45deg, #ff9700, #ed1c24) !important;
+  color: #fff !important;
+}
+
+.gradual-green {
+  background-image: linear-gradient(45deg, #39b54a, #8dc63f) !important;
+  color: #fff !important;
+}
+
+.gradual-purple {
+  background-image: linear-gradient(45deg, #9000ff, #5e00ff) !important;
+  color: #fff !important;
+}
+
+.gradual-pink {
+  background-image: linear-gradient(45deg, #ec008c, #6739b6) !important;
+  color: #fff !important;
+}
+
+.gradual-blue {
+  background-image: linear-gradient(45deg, #0081ff, #1cbbb4) !important;
+  color: #fff !important;
+}
+
+button.shadow[class*="-red"] {
+  box-shadow: 3px 3px 4px rgba(204, 69, 59, 0.2) !important;
+}
+
+button.shadow[class*="-orange"] {
+  box-shadow: 3px 3px 4px rgba(217, 109, 26, 0.2) !important;
+}
+
+button.shadow[class*="-yellow"] {
+  box-shadow: 3px 3px 4px rgba(224, 170, 7, 0.2) !important;
+}
+
+button.shadow[class*="-olive"] {
+  box-shadow: 3px 3px 4px rgba(124, 173, 55, 0.2) !important;
+}
+
+button.shadow[class*="-green"] {
+  box-shadow: 3px 3px 4px rgba(48, 156, 63, 0.2) !important;
+}
+
+button.shadow[class*="-cyan"] {
+  box-shadow: 3px 3px 4px rgba(28, 187, 180, 0.2) !important;
+}
+
+button.shadow[class*="-blue"] {
+  box-shadow: 3px 3px 4px rgba(0, 102, 204, 0.2) !important;
+}
+
+button.shadow[class*="-purple"] {
+  box-shadow: 3px 3px 4px rgba(88, 48, 156, 0.2) !important;
+}
+
+button.shadow[class*="-mauve"] {
+  box-shadow: 3px 3px 4px rgba(133, 33, 150, 0.2) !important;
+}
+
+button.shadow[class*="-pink"] {
+  box-shadow: 3px 3px 4px rgba(199, 50, 134, 0.2) !important;
+}
+
+button.shadow[class*="-brown"] {
+  box-shadow: 3px 3px 4px rgba(140, 88, 53, 0.2) !important;
+}
+
+button.shadow[class*="-grey"] {
+  box-shadow: 3px 3px 4px rgba(114, 130, 138, 0.2) !important;
+}
+
+button.shadow[class*="-gray"] {
+  box-shadow: 3px 3px 4px rgba(114, 130, 138, 0.2) !important;
+}
+
+button.shadow[class*="-black"] {
+  box-shadow: 3px 3px 4px rgba(26, 26, 26, 0.2) !important;
+}
+
+.bg-img {
+  background-size: cover;
+  background-position: center;
+  background-repeat: no-repeat;
+}
+
+.bg-mask {
+  background-color: #333;
+  position: relative;
+}
+
+.bg-mask::after {
+  content: "";
+  border-radius: inherit;
+  width: 100%;
+  height: 100%;
+  display: block;
+  background-color: rgba(0, 0, 0, 0.5);
+  position: absolute;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  top: 0;
+}
+
+.bg-mask view, .bg-mask cover-view {
+  z-index: 5;
+  position: relative;
+}
+
+.bg-mask>cover-view {
+  background-color: rgba(0, 0, 0, 0.5);
+}
+
+.bg-video {
+  position: relative;
+}
+
+.bg-video video {
+  display: block;
+  height: 100%;
+  width: 100%;
+  -o-object-fit: cover;
+  object-fit: cover;
+  position: absolute;
+  top: 0;
+  z-index: 0;
+  pointer-events: none;
+}
+
+/* ==================
+          文本
+ ==================== */
+
+.text-xs {
+  font-size: 10px;
+}
+
+.text-sm {
+  font-size: 12px;
+}
+
+.text-df {
+  font-size: 14px;
+}
+
+.text-lg {
+  font-size: 16px;
+}
+
+.text-xl {
+  font-size: 18px;
+}
+
+.text-xxl {
+  font-size: 22px;
+}
+
+.text-sl {
+  font-size: 40px;
+}
+
+.text-xsl {
+  font-size: 60px;
+}
+
+.text-Abc {
+  text-transform: Capitalize;
+}
+
+.text-ABC {
+  text-transform: Uppercase;
+}
+
+.text-abc {
+  text-transform: Lowercase;
+}
+
+.text-price::before {
+  content: "¥";
+  font-size: 80%;
+  margin-right: 2px;
+}
+
+.text-cut {
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+.text-bold {
+  font-weight: bold;
+}
+
+.text-center {
+  text-align: center;
+}
+
+.text-content {
+  line-height: 1.6;
+}
+
+.text-left {
+  text-align: left;
+}
+
+.text-right {
+  text-align: right;
+}
+
+.text-red, .line-red, .lines-red {
+  color: #e54d42 !important;
+}
+
+.text-orange, .line-orange, .lines-orange {
+  color: #f37b1d !important;
+}
+
+.text-yellow, .line-yellow, .lines-yellow {
+  color: #fbbd08 !important;
+}
+
+.text-olive, .line-olive, .lines-olive {
+  color: #8dc63f !important;
+}
+
+.text-green, .line-green, .lines-green {
+  color: #39b54a !important;
+}
+
+.text-cyan, .line-cyan, .lines-cyan {
+  color: #1cbbb4 !important;
+}
+
+.text-blue, .line-blue, .lines-blue {
+  color: #0081ff !important;
+}
+
+.text-purple, .line-purple, .lines-purple {
+  color: #6739b6 !important;
+}
+
+.text-mauve, .line-mauve, .lines-mauve {
+  color: #9c26b0 !important;
+}
+
+.text-pink, .line-pink, .lines-pink {
+  color: #e03997 !important;
+}
+
+.text-brown, .line-brown, .lines-brown {
+  color: #a5673f !important;
+}
+
+.text-grey, .line-grey, .lines-grey {
+  color: #8799a3 !important;
+}
+
+.text-gray, .line-gray, .lines-gray {
+  color: #aaa !important;
+}
+
+.text-black, .line-black, .lines-black {
+  color: #333 !important;
+}
+
+.text-white, .line-white, .lines-white {
+  color: #fff !important;
+}
+
+/* ==================
+          边框
+ ==================== */
+
+/* -- 实线 -- */
+
+.solid, .solid-top, .solid-right, .solid-bottom, .solid-left, .solids,
+.solids-top, .solids-right, .solids-bottom, .solids-left, .dashed, .dashed-top,
+.dashed-right, .dashed-bottom, .dashed-left {
+  position: relative;
+}
+
+.solid::after, .solid-top::after, .solid-right::after, .solid-bottom::after,
+.solid-left::after, .solids::after, .solids-top::after, .solids-right::after,
+.solids-bottom::after, .solids-left::after, .dashed::after, .dashed-top::after,
+.dashed-right::after, .dashed-bottom::after, .dashed-left::after {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  border-radius: inherit;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  pointer-events: none;
+  box-sizing: border-box;
+}
+
+.solid::after {
+  border: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-top::after {
+  border-top: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-right::after {
+  border-right: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-bottom::after {
+  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.solid-left::after {
+  border-left: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+.solids::after {
+  border: 4rpx solid #eee;
+}
+
+.solids-top::after {
+  border-top: 4rpx solid #eee;
+}
+
+.solids-right::after {
+  border-right: 4rpx solid #eee;
+}
+
+.solids-bottom::after {
+  border-bottom: 4rpx solid #eee;
+}
+
+.solids-left::after {
+  border-left: 4rpx solid #eee;
+}
+
+/* -- 虚线 -- */
+
+.dashed::after {
+  border: 1px dashed #ddd;
+}
+
+.dashed-top::after {
+  border-top: 1px dashed #ddd;
+}
+
+.dashed-right::after {
+  border-right: 1px dashed #ddd;
+}
+
+.dashed-bottom::after {
+  border-bottom: 1px dashed #ddd;
+}
+
+.dashed-left::after {
+  border-left: 1px dashed #ddd;
+}
+
+/* -- 阴影 -- */
+
+.shadow {
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+
+.shadow-lg {
+  box-shadow: 0px 20px 50px 0px rgba(0, 0, 0, 0.07);
+}
+
+.shadow-warp {
+  position: relative;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
+}
+
+.shadow-warp:before, .shadow-warp:after {
+  position: absolute;
+  content: "";
+  top: 10px;
+  bottom: 15px;
+  left: 10px;
+  width: 50%;
+  box-shadow: 0 15px 10px rgba(0, 0, 0, 0.2);
+  transform: rotate(-3deg);
+  z-index: -1;
+}
+
+.shadow-warp:after {
+  right: 10px;
+  left: auto;
+  transform: rotate(3deg);
+}
+
+.shadow-blur {
+  position: relative;
+}
+
+.shadow-blur::before {
+  content: "";
+  display: block;
+  background: inherit;
+  filter: blur(5px);
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  top: 5px;
+  left: 5px;
+  z-index: -1;
+  opacity: 0.4;
+  transform-origin: 0 0;
+  border-radius: inherit;
+  transform: scale(1, 1);
+}
+
+/* ==================
+          按钮
+ ==================== */
+
+.round, button.icon {
+  border-radius: 5000px !important;
+}
+
+.radius {
+  border-radius: 3px !important;
+}
+
+button {
+  position: relative;
+  display: inline-flex;
+  align-items: center;
+  justify-content: center;
+  box-sizing: border-box;
+  padding: 10px 15px 8px;
+  font-size: 14px;
+  line-height: 1;
+  text-align: center;
+  text-decoration: none;
+  border-radius: 3px;
+  overflow: visible;
+  color: #666;
+  background-color: #fff !important;
+  margin-left: initial;
+  transform: translate(0px, 0px);
+  margin-right: initial;
+}
+
+button::after, tag[class*="line-"]::after {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  border: 1rpx solid rgba(0, 0, 0, 0.2);
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  box-sizing: border-box;
+  border-radius: inherit;
+  z-index: 1;
+  pointer-events: none;
+}
+
+button[class*="line"]::after, tag.radius[class*="line"]::after {
+  border-radius: 6px;
+}
+
+button.round[class*="line"]::after, tag.round[class*="line"]::after {
+  border-radius: 500px;
+}
+
+button[class*="lines"]::after {
+  border: 3px solid rgba(0, 0, 0, 0.2);
+}
+
+button[class*="bg-"]::after {
+  display: none;
+}
+
+button.sm {
+  padding: 7px 10px 5px;
+  font-size: 12px;
+}
+
+button.lg {
+  padding: 16px 20px 14px;
+  font-size: 16px;
+}
+
+button.icon.sm {
+  width: 28px;
+  height: 28px;
+}
+
+button.icon {
+  width: 35px;
+  height: 35px;
+  padding: 0;
+}
+
+button.icon.lg {
+  width: 41px;
+  height: 41px;
+}
+
+button.shadow-blur::before {
+  top: 2px;
+  left: 2px;
+  filter: blur(3px);
+  opacity: 0.6;
+}
+
+button.button-hover {
+  transform: translate(1px, 1px);
+}
+
+.block {
+  display: block;
+}
+
+button.block {
+  display: flex;
+}
+
+button[disabled] {
+  opacity: 0.6;
+  color: #fff;
+}
+
+/* ==================
+          徽章
+ ==================== */
+
+tag {
+  font-size: 12px;
+  color: #666;
+  vertical-align: middle;
+  position: relative;
+  display: inline-flex;
+  align-items: stretch;
+  justify-content: center;
+  box-sizing: border-box;
+  padding: 6px 7px 5px;
+  line-height: 1;
+  background: #fff;
+  font-family: Helvetica Neue, Helvetica, sans-serif;
+}
+
+tag[class*="line-"]::after {
+  border-radius: 0;
+}
+
+tag+tag {
+  margin-left: 5px;
+}
+
+tag.sm {
+  font-size: 10px;
+  padding: 5px 6px 3px;
+}
+
+capsule {
+  display: inline-flex;
+  vertical-align: middle;
+}
+
+capsule + capsule {
+  margin-left: 5px;
+}
+
+capsule tag {
+  margin: 0;
+}
+
+capsule tag[class*="line-"]:last-child::after {
+  border-left: 0px solid transparent !important;
+}
+
+capsule tag[class*="line-"]:first-child::after {
+  border-right: 0px solid transparent !important;
+}
+
+capsule.radius tag:first-child {
+  border-top-left-radius: 3px;
+  border-bottom-left-radius: 3px;
+}
+
+capsule.radius tag:last-child::after, capsule.radius tag[class*="line-"] {
+  border-top-right-radius: 6px;
+  border-bottom-right-radius: 6px;
+}
+
+capsule.round tag:first-child {
+  border-top-left-radius: 100px;
+  border-bottom-left-radius: 100px;
+  text-indent: 2px;
+}
+
+capsule.round tag:last-child::after, capsule.round tag:last-child {
+  border-top-right-radius: 100px;
+  border-bottom-right-radius: 100px;
+  text-indent: -2px;
+}
+
+tag.badge {
+  background: #dd514c;
+  border-radius: 100px;
+  position: absolute;
+  top: -5px;
+  right: -5px;
+  font-size: 10px;
+  padding: 3px 5px 2px;
+  color: #fff;
+}
+
+tag:empty {
+  padding: 4px;
+  top: -2px;
+  right: -2px;
+}
+
+/* ==================
+          头像
+ ==================== */
+
+avatar {
+  font-variant: small-caps;
+  margin: 0;
+  padding: 0;
+  display: inline-block;
+  text-align: center;
+  background: #ccc;
+  color: #fff;
+  white-space: nowrap;
+  position: relative;
+  width: 32px;
+  height: 32px;
+  line-height: 32px;
+  background-size: cover;
+  background-position: center;
+  vertical-align: middle;
+}
+
+avatar text {
+  position: absolute;
+  left: 50%;
+  display: inline-block;
+  transform-origin: 0 center;
+  transform: scale(0.75) translateX(-50%);
+}
+
+avatar.sm {
+  width: 24px;
+  height: 24px;
+  line-height: 24px;
+}
+
+avatar > icon {
+  position: absolute;
+  left: 50%;
+  top: 0;
+  bottom: 0;
+  margin: auto;
+  transform-origin: 0 center;
+  transform: scale(1.2) translateX(-50%);
+}
+
+avatar.sm > icon {
+  transform: scale(0.75) translateX(-50%);
+}
+
+avatar.lg > icon {
+  transform: scale(1.75) translateX(-50%);
+}
+
+avatar.xl > icon {
+  transform: scale(2.2) translateX(-50%);
+}
+
+avatar.lg {
+  width: 45px;
+  height: 45px;
+  line-height: 45px;
+}
+
+avatar.xl {
+  width: 64px;
+  height: 64px;
+  line-height: 64px;
+}
+
+avatar-group {
+  direction: rtl;
+  unicode-bidi: bidi-override;
+  padding: 0 5px 0 20px;
+  display: inline-block;
+}
+
+avatar-group avatar {
+  margin-left: -15px;
+  border: 2px solid #f1f1f1;
+  vertical-align: middle;
+}
+
+avatar-group avatar.sm {
+  margin-left: -10px;
+  border: 1px solid #f1f1f1;
+}
+
+/* ==================
+         进度条
+ ==================== */
+
+progress-bar {
+  overflow: hidden;
+  height: 14px;
+  background-color: #ebeef5;
+  display: inline-flex;
+  align-items: center;
+  width: 100%;
+}
+
+progress-bar+view, progress-bar+text {
+  line-height: 1;
+}
+
+progress-bar.xs {
+  height: 5px;
+}
+
+progress-bar.sm {
+  height: 10px;
+}
+
+progress-bar view {
+  width: 0;
+  height: 100%;
+  align-items: center;
+  display: flex;
+  justify-items: flex-end;
+  justify-content: space-around;
+  font-size: 10px;
+  color: #fff;
+  background: #0081ff;
+  transition: width 0.6s ease;
+}
+
+progress-bar text {
+  align-items: center;
+  display: flex;
+  font-size: 10px;
+  color: #666;
+  text-indent: 5px;
+}
+
+progress-bar.text-progress {
+  padding-right: 30px;
+}
+
+progress-bar.striped view {
+  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
+  background-size: 36px 36px;
+}
+
+progress-bar.active view {
+  animation: progress-bar-stripes 2s linear infinite;
+}
+
+@keyframes progress-bar-stripes {
+  from {
+    background-position: 36px 0;
+  }
+
+  to {
+    background-position: 0 0;
+  }
+}
+
+/* ==================
+          加载
+ ==================== */
+
+load {
+  display: block;
+  line-height: 3em;
+  text-align: center;
+}
+
+load::before {
+  font-family: "iconfont" !important;
+  display: inline-block;
+  margin-right: 3px;
+}
+
+load.loading::before {
+  content: "\e67a";
+  animation: icon-spin 2s infinite linear;
+}
+
+load.loading::after {
+  content: "加载中...";
+}
+
+load.over::before {
+  content: "\e64a";
+}
+
+load.over::after {
+  content: "没有更多了";
+}
+
+load.erro::before {
+  content: "\e658";
+}
+
+load.erro::after {
+  content: "加载失败";
+}
+
+load.load-icon::before {
+  font-size: 16px;
+}
+
+load.load-icon::after {
+  display: none;
+}
+
+load.load-icon.over {
+  display: none;
+}
+
+/* ==================
+          列表
+ ==================== */
+
+.grayscale {
+  filter: grayscale(1);
+}
+
+list.menu {
+  padding: 0 15px;
+  background: #fff;
+  display: block;
+}
+
+list.menu.no-padding {
+  padding: 0;
+}
+
+list.menu+list.menu {
+  margin-top: 15px;
+}
+
+list+list {
+  margin-top: 15px;
+}
+
+list.menu>item {
+  position: relative;
+  line-height: 18px;
+  font-size: 16px;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  border-bottom: 1px solid #eee;
+  min-height: 50px;
+}
+
+list.menu>item.cur {
+  background-color: #fcf7e9;
+}
+
+list.menu>item:last-child {
+  border: none;
+}
+
+list.menu.no-padding>item {
+  padding: 15px;
+}
+
+list.menu-avatar.no-padding>item {
+  padding-left: 70px;
+}
+
+list.menu-avatar.no-padding>item avatar {
+  left: 15px;
+}
+
+list.menu.no-padding>item.arrow {
+  padding-right: 33px;
+}
+
+list.menu>item .content {
+  line-height: 1.6em;
+  flex: 1;
+}
+
+list.menu>item button.content {
+  padding: 0;
+  justify-content: flex-start;
+  font-size: 16px;
+}
+
+list.menu>item button.content::after {
+  display: none;
+}
+
+list.menu>item .content>text[class*="icon"], list.menu>item .content>image,
+list.menu>item .content>icon {
+  margin-right: 5px;
+  display: inline-block;
+  width: 1.4em;
+  height: 1.6em;
+  vertical-align: middle;
+  text-align: center;
+}
+
+list.menu>item .action {
+  text-align: right;
+}
+
+list>item.grayscale {
+  background-color: #f5f5f5;
+}
+
+list.menu>item .action tag:empty {
+  right: 5px;
+}
+
+list.menu>item.arrow {
+  padding-right: 18px;
+}
+
+list.menu>item.arrow::after {
+  font-family: "iconfont" !important;
+  display: block;
+  content: "\e6a3";
+  position: absolute;
+  font-size: 17px;
+  color: #aaa;
+  line-height: 15px;
+  height: 15px;
+  width: 15px;
+  text-align: center;
+  top: 1px;
+  bottom: 0;
+  right: 0;
+  margin: auto;
+}
+
+list.menu.no-padding>item.arrow::after {
+  right: 15px;
+}
+
+list.menu>item avatar-group avatar {
+  border-color: #fff;
+}
+
+list.card-menu {
+  margin-left: 15px;
+  margin-right: 15px;
+  border-radius: 10px;
+  overflow: hidden;
+}
+
+list.menu-avatar>item>avatar {
+  position: absolute;
+  left: 0;
+}
+
+list.menu-avatar>item {
+  padding-left: 55px;
+  height: 70px;
+}
+
+list.menu>item .content tag.sm {
+  font-size: 8px;
+  line-height: 80%;
+  padding: 4px 3px 2px;
+  margin-top: -3px;
+}
+
+list.grid {
+  text-align: center;
+  background: #fff;
+}
+
+list.grid>item {
+  display: flex;
+  flex-direction: column;
+  border-right: 1rpx solid #eee;
+  border-bottom: 1rpx solid #eee;
+  padding: 10px;
+}
+
+list.grid>item icon {
+  display: block;
+  width: 100%;
+  position: relative;
+  font-size: 24px;
+  margin-top: 10px;
+}
+
+list.grid>item text {
+  display: block;
+  color: #888;
+  margin-top: 5px;
+  line-height: 20px;
+  font-size: 13px;
+}
+
+list.grid>item tag {
+  left: 50%;
+  right: auto;
+  margin-left: 10px;
+}
+
+list.grid.col-3>item:nth-child(3n) {
+  border-right: 0px;
+}
+
+list.grid.col-4>item:nth-child(4n) {
+  border-right: 0px;
+}
+
+list.grid.col-5>item:nth-child(5n) {
+  border-right: 0px;
+}
+
+list.grid.no-border {
+  padding: 10px 5px;
+}
+
+list.grid.no-border>item {
+  border: none !important;
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+
+list.menu-avatar.comment > item {
+  height: auto;
+  padding-top: 15px;
+  padding-bottom: 15px;
+  padding-left: 45px;
+}
+
+list.menu-avatar.comment  avatar {
+  align-self: flex-start;
+}
+
+/* ==================
+          操作条
+ ==================== */
+
+bar {
+  display: flex;
+  position: relative;
+  align-items: center;
+  background: #fff;
+  height: 50px;
+  justify-content: space-between;
+  font-size: 16px;
+}
+
+bar .action {
+  display: flex;
+  align-items: center;
+  height: 100%;
+  justify-content: center;
+  max-width: 100%;
+}
+
+bar .action:first-child {
+  margin-left: 15px;
+  font-size: 15px;
+}
+
+bar .action:first-child text {
+  display: inline-block;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  text-align: left;
+  width: 100%;
+}
+
+bar avatar:first-child {
+  margin-left: 10px;
+}
+
+bar .action:first-child >icon[class*="icon"] {
+  margin-left: -0.5em;
+}
+
+bar .action:last-child {
+  margin-right: 15px;
+}
+
+bar .action>icon[class*="icon"] {
+  font-size: 18px;
+  height: 100%;
+  width: 1.4em;
+}
+
+bar .action>icon[class*="icon"]+icon[class*="icon"] {
+  margin-left: 0.5em;
+}
+
+bar .content {
+  position: absolute;
+  text-align: center;
+  width: 400rpx;
+  left: 0;
+  right: 0;
+  bottom: 8px;
+  margin: auto;
+  height: 30px;
+  font-size: 18px;
+  line-height: 30px;
+  cursor: none;
+  pointer-events: none;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+}
+
+bar.btn-group {
+  justify-content: space-around;
+}
+
+bar.btn-group button {
+  padding: 10px 16px;
+}
+
+bar.btn-group button {
+  flex: 1;
+  margin: 0 10px;
+  max-width: 50%;
+}
+
+bar .serach-form {
+  background: #f5f5f5;
+  line-height: 32px;
+  height: 32px;
+  font-size: 12px;
+  color: #666;
+  flex: 1;
+  display: flex;
+  align-items: center;
+  margin: 0 10px;
+}
+
+bar .serach-form +.action {
+  margin-right: 10px;
+}
+
+bar .serach-form +.action text+icon {
+  margin-right: -0.5em;
+}
+
+bar .serach-form input {
+  flex: 1;
+  padding-right: 10px;
+  height: 32px;
+  line-height: 32px;
+  font-size: 13px;
+}
+
+bar .serach-form [class*="icon"] {
+  width: 2em;
+  height: auto;
+}
+
+bar .serach-form.round [class*="icon"] {
+  margin-left: 0.5em;
+}
+
+bar .serach-form [class*="icon"]::before {
+  top: 0px;
+}
+
+bar.fixed, .nav.fixed {
+  position: fixed;
+  width: 100%;
+  top: 0;
+  z-index: 1024;
+  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
+}
+
+bar.foot {
+  position: fixed;
+  width: 100%;
+  bottom: 0;
+  z-index: 1024;
+  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.1);
+}
+
+bar.shop {
+  padding: 0;
+}
+
+bar.shop .action {
+  font-size: 12px;
+  position: relative;
+  flex: 1;
+  text-align: center;
+  padding: 0 10px;
+  display: block;
+  height: auto !important;
+  line-height: 1;
+  margin: 0 !important;
+}
+
+bar.shop [class*="icon"] {
+  width: 50px !important;
+  position: relative;
+  display: block;
+  height: auto !important;
+  margin: 0 auto 5px !important;
+}
+
+bar.shop .submit {
+  align-items: center;
+  display: flex;
+  justify-content: center;
+  text-align: center;
+  position: relative;
+  flex: 2;
+  height: 100%;
+}
+
+bar.shop .submit:last-child {
+  flex: 2.6;
+}
+
+bar.shop .submit+.submit {
+  flex: 2;
+}
+
+bar.shop .submit button {
+  margin-left: 10px;
+}
+
+bar.shop .submit:last-child button {
+  margin-left: 0px;
+}
+
+bar.shop .submit+.submit button {
+  margin-left: 0px;
+  margin-right: 10px;
+}
+
+bar.shop .action::after {
+  content: " ";
+  width: 200%;
+  height: 200%;
+  position: absolute;
+  top: 0;
+  left: 0;
+  transform: scale(0.5);
+  transform-origin: 0 0;
+  border-right: 1px solid rgba(0, 0, 0, 0.1);
+}
+
+bar.input {
+  padding-right: 10px;
+}
+
+bar.input input {
+  overflow: initial;
+  line-height: 32px;
+  height: 32px;
+  min-height: 32px;
+  flex: 1;
+  font-size: 15px;
+  margin: 0 10px;
+}
+
+bar.input .action {
+  margin-left: 10px;
+}
+
+bar.input .action [class*="icon"] {
+  font-size: 24px;
+}
+
+bar.input input+.action {
+  margin-right: 10px;
+  margin-left: 0px;
+}
+
+bar.input .action:first-child [class*="icon"] {
+  margin-left: 0px;
+}
+
+custom {
+  display: block;
+  position: relative;
+}
+
+custom bar {
+  padding-right: 110px;
+  box-shadow: 0px 0px 0px !important;
+}
+
+/* ==================
+         导航栏
+ ==================== */
+
+.nav {
+  white-space: nowrap;
+}
+
+::-webkit-scrollbar {
+  display: none;
+}
+
+.nav item {
+  height: 45px;
+  display: inline-block;
+  line-height: 45px;
+  margin: 0 5px;
+  padding: 0 10px;
+}
+
+.nav item.cur {
+  border-bottom: 2px solid;
+}
+
+/* ==================
+         时间轴
+ ==================== */
+
+timeline {
+  display: block;
+  background: #fff;
+}
+
+timeline time {
+  width: 60px;
+  text-align: center;
+  padding: 10px 0;
+  font-size: 13px;
+  color: #888;
+  display: block;
+}
+
+timeline>item {
+  padding: 15px 15px 15px 60px;
+  position: relative;
+  display: block;
+  color: #ccc;
+  z-index: 0;
+}
+
+timeline>item::after {
+  content: "";
+  display: block;
+  position: absolute;
+  width: 1rpx;
+  background: #ddd;
+  left: 30px;
+  height: 100%;
+  top: 0;
+  z-index: 8;
+}
+
+timeline>item::before {
+  font-family: "iconfont";
+  content: "\e763";
+  display: block;
+  position: absolute;
+  top: 18px;
+  z-index: 9;
+  background: #fff;
+  width: 25px;
+  height: 25px;
+  text-align: center;
+  border: none;
+  line-height: 25px;
+  left: 18px;
+}
+
+timeline>item[class*="icon"]::before {
+  background: #fff;
+  width: 25px;
+  height: 25px;
+  text-align: center;
+  border: none;
+  line-height: 25px;
+  left: 18px;
+}
+
+timeline>item>.content {
+  background: #f1f1f1;
+  padding: 15px;
+  border-radius: 3px;
+  display: block;
+  color: #666;
+}
+
+timeline>item>.content+.content {
+  margin-top: 10px;
+}
+
+/* ==================
+         聊天
+ ==================== */
+
+chat {
+  display: flex;
+  flex-direction: column;
+}
+
+chat item {
+  display: flex;
+  padding: 15px 15px 35px;
+  position: relative;
+}
+
+chat item>avatar {
+  width: 40px;
+  height: 40px;
+}
+
+chat item>.main {
+  max-width: calc(100% - 130px);
+  margin: 0 20px;
+  display: flex;
+  align-items: center;
+}
+
+chat item>image {
+  height: 160px;
+}
+
+chat item>.main .content {
+  background: #fff;
+  padding: 10px;
+  border-radius: 3px;
+  display: inline-flex;
+  max-width: 100%;
+  align-items: center;
+  color: #666;
+  font-size: 15px;
+  position: relative;
+  min-height: 40px;
+  line-height: 20px;
+  text-align: left;
+}
+
+chat item .date {
+  position: absolute;
+  font-size: 12px;
+  color: #aaa;
+  width: calc(100% - 160px);
+  bottom: 10px;
+  left: 80px;
+}
+
+chat item .action {
+  padding: 0 15px;
+  display: flex;
+  align-items: center;
+}
+
+chat item>.main .content::after {
+  content: "";
+  top: 12px;
+  transform: rotate(180deg);
+  position: absolute;
+  z-index: 100;
+  display: inline-block;
+  width: 0;
+  height: 0;
+  vertical-align: middle;
+  border-bottom: 8px solid transparent;
+  border-top: 8px solid transparent;
+  overflow: hidden;
+  border-right-color: #fff;
+  border-left: 8px solid #333;
+  border-right: 0 dotted;
+  border-left-color: #fff;
+  left: -7px;
+  right: initial;
+}
+
+chat item.self {
+  justify-content: flex-end;
+  text-align: right;
+}
+
+chat item.self>.main .content::after {
+  left: auto;
+  right: -7px;
+  border-right: 8px solid #fff;
+  border-left: 0 dotted;
+}
+
+chat item.self>.main .bg-green.content::after {
+  border-right-color: #39b50a;
+}
+
+chat info {
+  display: inline-block;
+  margin: 10px auto;
+  font-size: 12px;
+  padding: 4px 6px;
+  background-color: rgba(0, 0, 0, 0.2);
+  border-radius: 3px;
+  color: #fff;
+  max-width: 400rpx;
+  line-height: 1.4;
+}
+
+/* ==================
+         卡片
+ ==================== */
+
+card {
+  display: block;
+  overflow: hidden;
+}
+
+card > item {
+  display: block;
+  background: #fff;
+  overflow: hidden;
+  border-radius: 5px;
+  margin: 15px;
+}
+
+card > item.shadow-blur {
+  overflow: initial;
+}
+
+card.no-card > item {
+  margin: 0px;
+  border-radius: 0px;
+}
+
+card.case .image {
+  position: relative;
+}
+
+card.case .image image {
+  width: 100%;
+}
+
+card.case .image tag {
+  position: absolute;
+  right: 0;
+  top: 0;
+}
+
+card.case .image bar {
+  position: absolute;
+  bottom: 0;
+  width: 100%;
+  background-color: transparent;
+  padding: 0px 15px;
+  word-wrap: normal;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+card.case.no-card .image {
+  margin: 15px 15px 0;
+  overflow: hidden;
+  border-radius: 5px;
+}
+
+card.dynamic {
+  display: block;
+}
+
+card.dynamic>item {
+  display: block;
+  background-color: #fff;
+  overflow: hidden;
+}
+
+card.dynamic>item > .text-content {
+  padding: 0 15px 0;
+  max-height: 6.4em;
+  overflow: hidden;
+  font-size: 15px;
+  margin-bottom: 10px;
+}
+
+card.dynamic>item .square-img {
+  width: 100%;
+  height: 100px;
+  border-radius: 3px;
+}
+
+card.dynamic>item .only-img {
+  width: 100%;
+  height: 160px;
+  border-radius: 3px;
+}
+
+/* card.dynamic>item .comment {
+  padding: 10px;
+  background: #f1f1f1;
+  margin: 0 15px 15px;
+  border-radius: 3px;
+} */
+
+card.article {
+  display: block;
+}
+
+card.article>item {
+  padding-bottom: 15px;
+}
+
+card.article>item .title {
+  font-size: 15px;
+  font-weight: 900;
+  word-wrap: normal;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  color: #333;
+  line-height: 50px;
+  padding: 0 15px;
+}
+
+card.article>item .content {
+  display: flex;
+  padding: 0 15px;
+}
+
+card.article>item .content > image {
+  width: 120px;
+  height: 6.4em;
+  margin-right: 10px;
+  border-radius: 3px;
+}
+
+card.article>item .content .desc {
+  flex: 1;
+  width: 500rpx;
+  display: flex;
+  flex-direction: column;
+  justify-content: space-between;
+}
+
+card.article>item .content .text-content {
+  font-size: 14px;
+  color: #888;
+  height: 4.8em;
+  overflow: hidden;
+}
+
+/* ==================
+         表单
+ ==================== */
+
+form-group {
+  background: #fff;
+  padding: 0 15px;
+  display: flex;
+  align-items: center;
+  min-height: 100rpx;
+  justify-content: space-between;
+}
+
+form-group + form-group {
+  border-top: 1rpx solid #eee;
+}
+
+form-group .title {
+  text-align: justify;
+  padding-right: 15px;
+  font-size: 15px;
+  position: relative;
+  height: 30px;
+  line-height: 30px;
+}
+
+form-group.top {
+  align-items: baseline;
+}
+
+form-group input {
+  flex: 1;
+  font-size: 15px;
+  color: #555;
+  padding-right: 10px;
+}
+
+form-group > icon[class*="icon-"] {
+  font-size: 18px;
+  padding: 0;
+  box-sizing: border-box;
+}
+
+form-group textarea, form-group textarea textarea {
+  margin: 16px 0 15px;
+  height: 4.8em;
+  width: 100%;
+  line-height: 1.2em;
+  flex: 1;
+  font-size: 14px;
+  padding: 0;
+  box-sizing: content-box;
+  display: inline-block;
+  vertical-align: top;
+}
+
+form-group textarea::after {
+  content: "测试文字";
+  opacity: 0;
+}
+
+form-group .grid-square {
+  margin: 15px 0 0 !important;
+}
+
+form-group picker {
+  flex: 1;
+  padding-right: 20px;
+  overflow: hidden;
+  position: relative;
+}
+
+form-group picker .picker {
+  line-height: 50px;
+  font-size: 14px;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+  overflow: hidden;
+  width: 100%;
+  text-align: right;
+}
+
+form-group picker::after {
+  font-family: iconfont !important;
+  display: block;
+  content: "\e6a3";
+  position: absolute;
+  font-size: 17px;
+  color: #aaa;
+  line-height: 50px;
+  width: 30px;
+  text-align: center;
+  top: 0;
+  bottom: 0;
+  right: -10px;
+  margin: auto;
+}
+
+form-group textarea[disabled], form-group textarea[disabled] .placeholder {
+  color: transparent;
+}
+
+/* ==================
+         模态窗口
+ ==================== */
+
+modal-box {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  z-index: 1110;
+  opacity: 0;
+  outline: 0;
+  text-align: center;
+  -ms-transform: scale(1.185);
+  transform: scale(1.185);
+  backface-visibility: hidden;
+  perspective: 1000px;
+  background: rgba(0, 0, 0, 0.6);
+  transition: all 0.6s ease-in-out 0;
+  pointer-events: none;
+}
+
+modal-box::before {
+  content: "\200B";
+  display: inline-block;
+  height: 100%;
+  vertical-align: middle;
+}
+
+modal-box.show {
+  opacity: 1;
+  transition-duration: 0.3s;
+  -ms-transform: scale(1);
+  transform: scale(1);
+  overflow-x: hidden;
+  overflow-y: auto;
+  pointer-events: auto;
+}
+
+dialog {
+  position: relative;
+  display: inline-block;
+  vertical-align: middle;
+  margin-left: auto;
+  margin-right: auto;
+  width: 680rpx;
+  max-width: 100%;
+  background: #f8f8f8;
+  border-radius: 10rpx;
+  overflow: hidden;
+}
+
+modal-box.bottom-modal::before {
+  vertical-align: bottom;
+}
+
+modal-box.bottom-modal dialog {
+  width: 100%;
+  border-radius: 0;
+}
+
+modal-box.bottom-modal {
+  margin-bottom: -500px;
+}
+
+modal-box.bottom-modal.show {
+  margin-bottom: 0;
+}
+
+/* ==================
+         轮播
+ ==================== */
+
+swiper.square-dot .wx-swiper-dot {
+  background: #fff;
+  opacity: 0.4;
+  width: 5px !important;
+  height: 5px !important;
+  border-radius: 10px !important;
+  transition: all 0.3s ease-in-out 0s !important;
+}
+
+swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active {
+  opacity: 1;
+  width: 15px !important;
+}
+
+swiper.round-dot .wx-swiper-dot {
+  /* background: #39b54a; */
+  width: 5px !important;
+  height: 5px !important;
+  top: -2px !important;
+  transition: all 0.3s ease-in-out 0s !important;
+  position: relative;
+}
+
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after {
+  content: "";
+  position: absolute;
+  width: 5px;
+  height: 5px;
+  top: 0px;
+  left: 0px;
+  right: 0;
+  bottom: 0;
+  margin: auto;
+  background: #fff;
+  border-radius: 10px;
+}
+
+swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active {
+  width: 9px !important;
+  height: 9px !important;
+  top: 0px !important;
+}
+
+.screen-swiper {
+  min-height: 375rpx;
+}
+
+.screen-swiper image {
+  width: 100%;
+  display: block;
+  height: 100%;
+  margin: 0;
+}
+
+.card-swiper {
+  height: 420rpx;
+}
+
+.card-swiper swiper-item {
+  width: 610rpx !important;
+  left: 70rpx !important;
+  box-sizing: border-box;
+  padding: 20px 0px 35px;
+  overflow: initial !important;
+}
+
+.card-swiper swiper-item .bg-img {
+  width: 100%;
+  display: block;
+  height: 100%;
+  border-radius: 5px;
+  transform: scale(0.9);
+  transition: all 0.2s ease-in 0s;
+}
+
+.card-swiper swiper-item.cur .bg-img {
+  transform: none;
+  transition: all 0.2s ease-in 0s;
+}
+
+.tower-swiper {
+  height: 420rpx;
+  position: relative;
+}
+
+.tower-swiper .tower-item {
+  position: absolute;
+  width: 300rpx;
+  height: 380rpx;
+  top: 0;
+  bottom: 0;
+  left:50%;
+  margin: auto;
+  transition: all 0.3s ease-in 0s;
+  opacity: 1;
+}
+.tower-swiper .tower-item.none {
+  opacity: 0;
+}
+
+.tower-swiper .tower-item .bg-img {
+  width: 100%;
+  height: 100%;
+  border-radius: 3px;
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 57 - 0
static/colorui/icon.wxss


BIN
static/img/cart1.png


BIN
static/img/cart2.png


BIN
static/img/carts-add.png


BIN
static/img/carts-sub.png


BIN
static/img/cash.png


BIN
static/img/item-1.png


BIN
static/img/item-2.png


BIN
static/img/ok.png


BIN
static/img/tabbar/basics.png


BIN
static/img/tabbar/basics_cur.png


BIN
static/img/tabbar/component.png


BIN
static/img/tabbar/component_cur.png


BIN
static/img/tabbar/plugin.png


BIN
static/img/tabbar/plugin_cur.png


+ 0 - 5
static/weiui/base/fn.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/mixin/setArrow.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/mixin/setOnepx.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/mixin/text.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 6
static/weiui/base/reset.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-page{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}icon{vertical-align:middle}

+ 0 - 5
static/weiui/base/variable/color.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/global.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/weui-button.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/weui-cell.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/weui-dialog.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/weui-grid.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/weui-msg.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

+ 0 - 5
static/weiui/base/variable/weui-progress.wxss

@@ -1,5 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
static/weiui/weui.wxss


+ 0 - 6
static/weiui/widget/weui-agree/weui-agree.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree__text{color:#999}.weui-agree__link{display:inline;color:#586c94}.weui-agree__checkbox{position:absolute;left:-9999px}.weui-agree__checkbox-icon{position:relative;top:2px;display:inline-block;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:11px;height:11px}.weui-agree__checkbox-icon-check{position:absolute;top:1px;left:1px}

+ 0 - 6
static/weiui/widget/weui-animate/weui-animate.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-@-webkit-keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.weui-animate-slide-up{-webkit-animation:a ease .3s forwards;animation:a ease .3s forwards}@-webkit-keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.weui-animate-slide-down{-webkit-animation:b ease .3s forwards;animation:b ease .3s forwards}@-webkit-keyframes c{0%{opacity:0}to{opacity:1}}@keyframes c{0%{opacity:0}to{opacity:1}}.weui-animate-fade-in{-webkit-animation:c ease .3s forwards;animation:c ease .3s forwards}@-webkit-keyframes d{0%{opacity:1}to{opacity:0}}@keyframes d{0%{opacity:1}to{opacity:0}}.weui-animate-fade-out{-webkit-animation:d ease .3s forwards;animation:d ease .3s forwards}

+ 0 - 6
static/weiui/widget/weui-button/weui-button.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-btn{margin-top:15px}.weui-btn:first-child{margin-top:0}.weui-btn-area{margin:1.17647059em 15px .3em}

+ 0 - 6
static/weiui/widget/weui-cell/weui-access.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-cell_access{color:inherit}.weui-cell__ft_in-access{padding-right:13px;position:relative}.weui-cell__ft_in-access:after{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-4px;right:2px}.weui-cell_link{color:#586c94;font-size:14px}.weui-cell_link:active{background-color:#ececec}.weui-cell_link:first-child:before{display:block}

+ 0 - 6
static/weiui/widget/weui-cell/weui-cell.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-cells{position:relative;margin-top:1.17647059em;background-color:#fff;line-height:1.41176471;font-size:17px}.weui-cells:before{top:0;border-top:1rpx solid #d9d9d9}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d9d9d9}.weui-cells:after{bottom:0;border-bottom:1rpx solid #d9d9d9}.weui-cells__title{margin-top:.77em;margin-bottom:.3em;padding-left:15px;padding-right:15px;color:#999;font-size:14px}.weui-cells_after-title{margin-top:0}.weui-cells__tips{margin-top:.3em;color:#999;padding-left:15px;padding-right:15px;font-size:14px}.weui-cell{padding:10px 15px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #d9d9d9;color:#d9d9d9;left:15px}.weui-cell:first-child:before{display:none}.weui-cell_active{background-color:#ececec}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:#999}

+ 0 - 6
static/weiui/widget/weui-cell/weui-check.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-icon-radio{margin-left:3.2px;margin-right:3.2px}.weui-icon-checkbox_circle,.weui-icon-checkbox_success{margin-left:4.6px;margin-right:4.6px}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999px}.weui-check__hd_in-checkbox{padding-right:.35em}.weui-cell__ft_in-radio{padding-left:.35em}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
static/weiui/widget/weui-cell/weui-form.wxss


+ 0 - 6
static/weiui/widget/weui-cell/weui-form/weui-form-preview.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1rpx solid #d9d9d9}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#d9d9d9}.weui-form-preview:after{bottom:0;border-bottom:1rpx solid #d9d9d9}.weui-form-preview__value{font-size:14px}.weui-form-preview__value_in-hd{font-size:26px}.weui-form-preview__hd{position:relative;padding:10px 15px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid #d9d9d9;color:#d9d9d9;left:15px}.weui-form-preview__bd{padding:10px 15px;font-size:.9em;text-align:right;color:#999;line-height:2}.weui-form-preview__ft{position:relative;line-height:50px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #d5d5d6;color:#d5d5d6}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:#999;text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#3cc51f;text-align:center}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #d5d5d6;color:#d5d5d6}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_active{background-color:#eee}.weui-form-preview__btn_default{color:#999}.weui-form-preview__btn_primary{color:#0bb20c}

+ 0 - 6
static/weiui/widget/weui-cell/weui-form/weui-form_common.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-cell_input{padding-top:0;padding-bottom:0}.weui-label{width:105px;word-wrap:break-word;word-break:break-all}.weui-input{height:2.58823529em;min-height:2.58823529em;line-height:2.58823529em}.weui-toptips{position:fixed;-webkit-transform:translateZ(0);transform:translateZ(0);top:0;left:0;right:0;padding:5px;font-size:14px;text-align:center;color:#fff;z-index:5000;word-wrap:break-word;word-break:break-all}.weui-toptips_warn{background-color:#e64340}.weui-textarea{display:block;width:100%}.weui-textarea-counter{color:#b2b2b2;text-align:right}.weui-cell_warn,.weui-textarea-counter_warn{color:#e64340}

+ 0 - 6
static/weiui/widget/weui-cell/weui-form/weui-select.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-cell_select{padding:0}.weui-select{position:relative;padding-left:15px;padding-right:30px;height:2.58823529em;min-height:2.58823529em;line-height:2.58823529em;border-right:1rpx solid #d9d9d9}.weui-select:before{content:" ";display:inline-block;height:6px;width:6px;border-width:2px 2px 0 0;border-color:#c8c8cd;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;right:15px;margin-top:-4px}.weui-select_in-select-after{padding-left:0}.weui-cell__bd_in-select-before,.weui-cell__hd_in-select-after{padding-left:15px}

+ 0 - 6
static/weiui/widget/weui-cell/weui-form/weui-vcode.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-cell_vcode{padding-right:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:2.58823529em;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1px solid #e5e5e5;line-height:2.58823529em;font-size:17px;color:#3cc51f;white-space:nowrap}.weui-vcode-btn:active{color:#52a341}

+ 0 - 6
static/weiui/widget/weui-cell/weui-switch.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-cell_switch{padding-top:6px;padding-bottom:6px}

+ 0 - 6
static/weiui/widget/weui-cell/weui-uploader.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-uploader__hd{display:-webkit-box;display:-webkit-flex;display:flex;padding-bottom:10px;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__info{color:#b2b2b2}.weui-uploader__bd{margin-bottom:-4px;margin-right:-9px;overflow:hidden}.weui-uploader__file{float:left;margin-right:9px;margin-bottom:9px}.weui-uploader__img{display:block;width:79px;height:79px}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__input-box{float:left;position:relative;margin-right:9px;margin-bottom:9px;width:77px;height:77px;border:1px solid #d9d9d9}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#d9d9d9}.weui-uploader__input-box:before{width:2px;height:39.5px}.weui-uploader__input-box:after{width:39.5px;height:2px}.weui-uploader__input-box:active{border-color:#999}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#999}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0}

+ 0 - 6
static/weiui/widget/weui-flex/weui-flex.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}

+ 0 - 6
static/weiui/widget/weui-footer/weui-footer.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-footer{color:#999;font-size:14px;text-align:center}.weui-footer_fixed-bottom{position:fixed;bottom:.52em;left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 .62em;position:relative;font-size:14px;color:#586c94}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #c7c7c7;color:#c7c7c7;left:-.65em;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}

+ 0 - 6
static/weiui/widget/weui-grid/weui-grid.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-grids{border-top:1rpx solid #d9d9d9;border-left:1rpx solid #d9d9d9;overflow:hidden}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box;border-right:1rpx solid #d9d9d9;border-bottom:1rpx solid #d9d9d9}.weui-grid_active{background-color:#ececec}.weui-grid__icon{display:block;width:28px;height:28px;margin:0 auto}.weui-grid__label{margin-top:5px;display:block;text-align:center;color:#000;font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 5
static/weiui/widget/weui-loading/weui-loading.wxss


+ 0 - 6
static/weiui/widget/weui-media-box/weui-media-box.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-media-box{padding:15px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid #e5e5e5;color:#e5e5e5;left:15px}.weui-media-box:first-child:before{display:none}.weui-media-box__title{font-weight:400;font-size:17px;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc{color:#999;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:15px;padding-bottom:5px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box__title_in-text{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box__thumb{width:100%;height:100%;vertical-align:top}.weui-media-box__hd_in-appmsg{margin-right:.8em;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box__bd_in-appmsg{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-cells_in-small-appmsg{margin-top:0}.weui-cells_in-small-appmsg:before{display:none}

+ 0 - 6
static/weiui/widget/weui-page/weui-article.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-article{padding:20px 15px;font-size:15px}.weui-article__section{margin-bottom:1.5em}.weui-article__h1{font-size:18px;font-weight:400;margin-bottom:.9em}.weui-article__h2{font-size:16px;font-weight:400;margin-bottom:.34em}.weui-article__h3{font-weight:400;font-size:15px;margin-bottom:.34em}.weui-article__p{margin:0 0 .8em}

+ 0 - 6
static/weiui/widget/weui-page/weui-msg.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-msg{padding-top:36px;text-align:center}.weui-msg__link{display:inline;color:#586c94}.weui-msg__icon-area{margin-bottom:30px}.weui-msg__text-area{margin-bottom:25px;padding:0 20px}.weui-msg__title{margin-bottom:5px;font-weight:400;font-size:20px}.weui-msg__desc{font-size:14px;color:#999}.weui-msg__opr-area{margin-bottom:25px}.weui-msg__extra-area{margin-bottom:15px;font-size:14px;color:#999}@media screen and (min-height:438px){.weui-msg__extra-area{position:fixed;left:0;bottom:0;width:100%;text-align:center}}

+ 0 - 6
static/weiui/widget/weui-panel/weui-panel.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1rpx solid #e5e5e5}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:#e5e5e5}.weui-panel:after{bottom:0;border-bottom:1rpx solid #e5e5e5}.weui-panel__hd{padding:14px 15px 10px;color:#999;font-size:13px;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid #e5e5e5;color:#e5e5e5;left:15px}

+ 0 - 6
static/weiui/widget/weui-progress/weui-progress.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__opr{margin-left:15px;font-size:0}

+ 0 - 6
static/weiui/widget/weui-searchbar/weui-searchbar.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-search-bar{position:relative;padding:8px 10px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#efeff4;border-top:1rpx solid #d7d6dc;border-bottom:1rpx solid #d7d6dc}.weui-icon-search{margin-right:8px;font-size:inherit}.weui-icon-search_in-box{position:absolute;left:10px;top:7px}.weui-search-bar__text{display:inline-block;font-size:14px;vertical-align:middle}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;border-radius:5px;background:#fff;border:1rpx solid #e6e6ea}.weui-search-bar__box{position:relative;padding-left:30px;padding-right:30px;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__input{height:28px;line-height:28px;font-size:14px}.weui-icon-clear{position:absolute;top:0;right:0;padding:7px 8px;font-size:0}.weui-search-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:3px;text-align:center;color:#9b9b9b;background:#fff;line-height:28px}.weui-search-bar__cancel-btn{margin-left:10px;line-height:28px;color:#09bb07;white-space:nowrap}

+ 0 - 6
static/weiui/widget/weui-tab/weui-navbar.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;top:0;width:100%;border-bottom:1rpx solid #ccc}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:13px 0;text-align:center;font-size:0}.weui-navbar__item.weui-bar__item_on{color:#1aad19}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:3px;background-color:#1aad19;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-navbar__title{display:inline-block;font-size:15px;max-width:8em;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}

+ 0 - 6
static/weiui/widget/weui-tab/weui-tab.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:absolute;z-index:500;top:0;width:100%;border-bottom:1rpx solid #ccc}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:13px 0;text-align:center;font-size:0}.weui-navbar__item.weui-bar__item_on{color:#1aad19}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:3px;background-color:#1aad19;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s}.weui-navbar__title{display:inline-block;font-size:15px;max-width:8em;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.weui-tab{position:relative;height:100%}.weui-tab__panel{box-sizing:border-box;height:100%;padding-top:50px;overflow:auto;-webkit-overflow-scrolling:touch}

+ 0 - 6
static/weiui/widget/weui-tips/weui-badge.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#e64340;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}

+ 0 - 6
static/weiui/widget/weui-tips/weui-loadmore.wxss

@@ -1,6 +0,0 @@
-/*!
- * WeUI v1.1.1 (https://github.com/weui/weui-wxss)
- * Copyright 2017 Tencent, Inc.
- * Licensed under the MIT license
- */
-.weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid #e5e5e5;margin-top:2.4em}.weui-loadmore__tips_in-line{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:#999}.weui-loadmore__tips_in-dot{position:relative;padding:0 .16em;width:4px;height:1.6em}.weui-loadmore__tips_in-dot:before{content:" ";position:absolute;top:50%;left:50%;margin-top:-1px;margin-left:-2px;width:4px;height:4px;border-radius:50%;background-color:#e5e5e5}

+ 23 - 133
template/home/index.js

@@ -1,133 +1,23 @@
-Page({
-  dever: getApp().dever,
-  data: {
-      test : 1
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function (options) {
-    var self = this;
-    // 初始化购物车
-    self.dever.carts(self, 'carts.save', 'carts/index');
-    var success = function(data, res)
-    {
-        self.dever.setList(self, data.product);
-    };
-    self.dever.request('main.api.home', {}, {success: success});
-
-    /*
-    //test - begin
-    var list = new Array();
-    for(var i=1; i<4; i++){
-      var item = new Object();
-      item.id = i;
-      item.pic = '/static/img/item-'+(1+Math.round(Math.random()*1))+'.png';
-      item.name = i+'盒有机韭菜';
-      item.price = i*20;
-      list.push(item);
-    }
-    this.dever.setList(this, list);
-    this.dever.stopPullDown();
-    //test - end
-    */
-  },
-
-  view: function (event) {
-    if (typeof (event) == 'object') {
-      var id = event.currentTarget.dataset.id
-    } else {
-      var id = event
-    }
-    this.dever.location('view/index?id=' + id);
-  },
-
-  addCarts: function (event){
-    if (typeof (event) == 'object') {
-      var id = event.currentTarget.dataset.id
-    } else {
-      var id = event
-    }
-    this.dever.location('carts/index?id=' + id);
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-    
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-    this.dever.startPullDown(this);
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-
-  },
-
-  pay: function () {
-    var params = {};
-    wx.request({
-      url: 'https://api.nongchanghezi.com/product/?l=api.buy&signature=MzIxZGN4MnNzOVRWS0NVTk9ybDlNWDdySEpLTnJ6OVRzVWgyVHpVUDVTQ1hsVzlsTGlzZDFxcVE=&product_id=1&num=5&name=test&mobile=15810090845&address=11',
-      data: params,
-      method: 'GET', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
-      // header: {}, // 设置请求的 header
-      header: { 'content-type': 'application/x-www-form-urlencoded' },
-      success: function (res) {
-        //注意:可以对参数解密等处理
-        console.log(res);
-        res.data.data = res.data.data.pay;
-        wx.requestPayment({
-          'timeStamp': res.data.data.time,
-          'nonceStr': res.data.data.nonce_str,
-          'package': 'prepay_id=' + res.data.data.prepay_id,
-          'signType': res.data.data.sign_type,
-          'paySign': res.data.data.sign,
-          'success': function (res) {
-            console.log(res);
-          },
-          'fail': function (res) {
-            console.log(res);
-          }
-        })
-      },
-      fail: function () {
-
-      },
-      complete: function () {
-        // complete
-      }
-    })
-
-
-  },
-})
+var config = getApp().page;
+
+/**
+ * 页面加载
+ */
+config.load = function()
+{
+  var self = this;
+  var success = function(data, res)
+  {
+      self.dever.setList(self, data.product);
+  };
+  //self.request('main.api.home', {}, {success: success});
+};
+
+config.isCard = function(e)
+{
+  this.setData({
+    isCard: e.detail.value
+  })
+};
+
+Page(config);

+ 1 - 4
template/home/index.json

@@ -1,4 +1 @@
-{
-  "navigationBarTitleText": "农小盒",
-  "enablePullDownRefresh": true
-}
+{}

+ 67 - 11
template/home/index.wxml

@@ -1,13 +1,69 @@
-<view class="page">
-    <view class="page__hd" wx:for="{{list}}" wx:key="{{index}}" bindtap="view" data-id="{{item.id}}">
-        <image class="pic" src="{{item.pic}}" mode="widthFix"></image>
-        <view class="page__title">{{item.name}}</view>
-        <view class="page__desc">
-          <text class="price">¥ {{item.price}}</text>
-          <view class="button" catchtap='pay' data-id="{{item.id}}" data-name="{{item.name}}"><button class="nxh__button" type="primary" size="mini">购买</button></view>
-        </view>
+<custom style="height:{{config.bar.custom}}px;">
+  <bar class="fixed gradual-pink" style="height:{{config.bar.custom}}px;padding-top:{{config.bar.status}}px;">
+    <navigator class='action' open-type="navigateBack" delta="1" hover-class="none">
+      <icon class='icon-back' /> 卡片
+    </navigator>
+    <view class='action'>
+      <load class="load-icon {{loading ? 'loading':'over'}}"></load>
+    </view>
+  </bar>
+</custom>
+
+<bar class="solid-bottom">
+  <view class='action'>
+    <icon class='icon-titles text-orange ' /> 最新
+  </view>
+  <view class='action'>
+    <switch class='sm' checked='{{isCard}}' bindchange='isCard'></switch>
+  </view>
+</bar>
+<card class="case">
+  <item wx:for="{{1}}" wx:key class="shadow">
+    <view class='image'>
+      <image src="https://image.weilanwl.com/img/4x3-1.jpg" mode="widthFix"></image>
+      <tag class="bg-blue">福利</tag>
+      <bar class='bg-shadeBottom'>我和制服不得不说的那些事!</bar>
     </view>
-    <view class='cash'>
-      <image src='/static/img/cash.png'></image>
+    <list class="menu menu-avatar">
+      <item>
+        <avatar class="round lg" style="background-image:url(https://image.weilanwl.com/img/square-4.jpg);"></avatar>
+        <view class='content flex-sub'>
+          <view class='text-grey'>猪皮蛋</view>
+          <view class='text-gray text-sm flex justify-between'>
+            十天前
+            <view class="text-gray text-sm">
+              <icon class="icon-attentionfill" /> 10
+              <icon class="icon-appreciatefill" /> 20
+              <icon class="icon-messagefill" /> 30
+            </view>
+          </view>
+        </view>
+      </item>
+    </list>
+  </item>
+
+  <item wx:for="{{1}}" wx:key class="shadow">
+    <view class='image'>
+      <image src="https://image.weilanwl.com/img/4x3-1.jpg" mode="widthFix"></image>
+      <tag class="bg-blue">福利</tag>
+      <bar class='bg-shadeBottom'>我和制服不得不说的那些事!</bar>
     </view>
-</view>
+    <list class="menu menu-avatar">
+      <item>
+        <avatar class="round lg" style="background-image:url(https://image.weilanwl.com/img/square-4.jpg);"></avatar>
+        <view class='content flex-sub'>
+          <view class='text-grey'>猪皮蛋</view>
+          <view class='text-gray text-sm flex justify-between'>
+            十天前
+            <view class="text-gray text-sm">
+              <icon class="icon-attentionfill" /> 10
+              <icon class="icon-appreciatefill" /> 20
+              <icon class="icon-messagefill" /> 30
+            </view>
+          </view>
+        </view>
+      </item>
+    </list>
+  </item>
+  
+</card>

+ 0 - 51
template/home/index.wxss

@@ -1,51 +0,0 @@
-.page {
-  padding-bottom: 30rpx;
-}
-.page__hd
-{
-  margin-top:28rpx;
-  border-radius: 5px;
-  box-shadow: 0rpx 3rpx 5rpx #DBDBDB;
-  margin: 28rpx 30rpx 0 30rpx;
-  padding: 0rpx;
-}
-.pic
-{
-  border-top-right-radius: 5px;
-  border-top-left-radius: 5px;
-  width:695rpx;
-}
-.page__title {
-  padding: 0 30rpx 0 30rpx;
-}
-.page__desc 
-{
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  padding: 0 30rpx 0 30rpx;
-  align-items: center;
-  -ms-flex-item-align: center;
-}
-.price
-{
-  font-size:36rpx;
-  color:#ff9900; 
-}
-
-.nxh__button
-{
-  display: flex;
-  width: 180rpx;
-}
-.cash {
-  position: fixed;
-  bottom: 30rpx;
-  right: 325rpx;
-}
-.cash image {
-  width: 100rpx;
-  height: 100rpx;
-  background: #fff;
-  border-radius: 50rpx;
-}

+ 17 - 66
template/view/index.js

@@ -1,66 +1,17 @@
-// template/view/index.js
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-  
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad: function (options) {
-  
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady: function () {
-  
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow: function () {
-  
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide: function () {
-  
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload: function () {
-  
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh: function () {
-  
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom: function () {
-  
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage: function () {
-  
-  }
-})
+var config = getApp().page;
+
+/**
+ * 页面加载
+ */
+config.load = function()
+{
+  var self = this;
+  var success = function(data, res)
+  {
+      self.dever.setList(self, data.product);
+  };
+  //self.request('main.api.home', {}, {success: success});
+};
+
+
+Page(config);

+ 1 - 3
template/view/index.json

@@ -1,3 +1 @@
-{
-  "navigationBarTitleText": "农小盒"
-}
+{}

+ 70 - 2
template/view/index.wxml

@@ -1,2 +1,70 @@
-<!--template/view/index.wxml-->
-<text>template/view/index.wxml</text>
+<custom style="height:{{config.bar.custom}}px;">
+  <bar class="fixed gradual-pink" style="height:{{config.bar.custom}}px;padding-top:{{config.bar.status}}px;">
+    <navigator class='action' open-type="navigateBack" delta="1" hover-class="none">
+      <icon class='icon-back' /> 卡片
+    </navigator>
+    <view class='action'>
+      <load class="load-icon {{loading ? 'loading':'over'}}"></load>
+    </view>
+  </bar>
+</custom>
+
+<bar class="solid-bottom">
+  <view class='action'>
+    <icon class='icon-titles text-orange ' /> 最新
+  </view>
+  <view class='action'>
+    <switch class='sm' checked='{{isCard}}' bindchange='isCard'></switch>
+  </view>
+</bar>
+<card class="dynamic">
+  <item wx:for="1" wx:key class="shadow">
+    <list class="menu menu-avatar">
+      <item>
+        <avatar class="round lg" style="background-image:url(https://image.weilanwl.com/img/square-1.jpg);"></avatar>
+        <view class='content flex-sub'>
+          <view>晓晓萌</view>
+          <view class='text-gray text-sm flex justify-between'>
+            2018年12月3日
+          </view>
+        </view>
+      </item>
+    </list>
+    <view class='text-content'>
+      你们的铲屎官是不是经常突然对手机傻笑?我家铲屎官常常坐沙发上笑的发抖!(暗中观察.jpg)
+    </view>
+    <view class="grid col-1}} flex-sub padding-lr">
+      <view class="bg-img only-img" style="background-image:url(https://image.weilanwl.com/img/square-1.jpg);" wx:for="1" wx:key>
+      </view>
+    </view>
+    <view class='text-gray text-sm text-right padding'>
+      <icon class="icon-attentionfill" /> 10
+      <icon class="icon-appreciatefill" /> 20
+      <icon class="icon-messagefill" /> 30
+    </view>
+    <list class="menu menu-avatar comment solids-top">
+      <item wx:for="{{2}}" wx:key>
+        <avatar class="round" style="background-image:url(https://image.weilanwl.com/img/square-1.jpg);"></avatar>
+        <view class='content'>
+          <view class='text-grey'>猪皮蛋</view>
+          <view class='text-gray text-content text-df'>
+            我家铲屎官不舔毛,还抠脚!
+          </view>
+          <view class='bg-grey padding-sm radius margin-top-sm  text-sm' wx:if="{{index==1}}">
+            <view class="flex {{index!=0?'margin-top-sm':'' }}" wx:for="{{2}}" wx:key>
+              <view>我:</view>
+              <view class='flex-sub'>我家的铲屎官也不舔毛!</view>
+            </view>
+          </view>
+          <view class='margin-top-sm flex justify-between'>
+            <view class='text-gray text-df'>2018年12月4日</view>
+            <view>
+              <icon class="icon-appreciate{{!isZan?'fill':''}} text-{{!isZan?'red':'gray'}}" />
+              <icon class="icon-messagefill text-gray margin-left-sm" />
+            </view>
+          </view>
+        </view>
+      </item>
+    </list>
+  </item>
+</card>

+ 0 - 1
template/view/index.wxss

@@ -1 +0,0 @@
-/* template/view/index.wxss */

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels