Browse Source

first commit

tremble 5 năm trước cách đây
commit
708c508963
100 tập tin đã thay đổi với 555 bổ sung0 xóa
  1. 14 0
      .gitignore
  2. 122 0
      app.js
  3. 95 0
      app.json
  4. 56 0
      app.wxss
  5. 0 0
      common/styles/index.wxss
  6. 38 0
      component/show-empty-data/show-empty-data.js
  7. 4 0
      component/show-empty-data/show-empty-data.json
  8. 6 0
      component/show-empty-data/show-empty-data.wxml
  9. 37 0
      component/show-empty-data/show-empty-data.wxss
  10. 81 0
      config/api.js
  11. 51 0
      custom-tab-bar/index.js
  12. 3 0
      custom-tab-bar/index.json
  13. 8 0
      custom-tab-bar/index.wxml
  14. 40 0
      custom-tab-bar/index.wxss
  15. BIN
      lib/wxParse/emojis/00.gif
  16. BIN
      lib/wxParse/emojis/01.gif
  17. BIN
      lib/wxParse/emojis/02.gif
  18. BIN
      lib/wxParse/emojis/03.gif
  19. BIN
      lib/wxParse/emojis/04.gif
  20. BIN
      lib/wxParse/emojis/05.gif
  21. BIN
      lib/wxParse/emojis/06.gif
  22. BIN
      lib/wxParse/emojis/07.gif
  23. BIN
      lib/wxParse/emojis/08.gif
  24. BIN
      lib/wxParse/emojis/09.gif
  25. BIN
      lib/wxParse/emojis/10.gif
  26. BIN
      lib/wxParse/emojis/100.gif
  27. BIN
      lib/wxParse/emojis/101.gif
  28. BIN
      lib/wxParse/emojis/102.gif
  29. BIN
      lib/wxParse/emojis/103.gif
  30. BIN
      lib/wxParse/emojis/104.gif
  31. BIN
      lib/wxParse/emojis/105.gif
  32. BIN
      lib/wxParse/emojis/106.gif
  33. BIN
      lib/wxParse/emojis/107.gif
  34. BIN
      lib/wxParse/emojis/108.gif
  35. BIN
      lib/wxParse/emojis/109.gif
  36. BIN
      lib/wxParse/emojis/11.gif
  37. BIN
      lib/wxParse/emojis/110.gif
  38. BIN
      lib/wxParse/emojis/111.gif
  39. BIN
      lib/wxParse/emojis/112.gif
  40. BIN
      lib/wxParse/emojis/113.gif
  41. BIN
      lib/wxParse/emojis/114.gif
  42. BIN
      lib/wxParse/emojis/115.gif
  43. BIN
      lib/wxParse/emojis/116.gif
  44. BIN
      lib/wxParse/emojis/117.gif
  45. BIN
      lib/wxParse/emojis/118.gif
  46. BIN
      lib/wxParse/emojis/119.gif
  47. BIN
      lib/wxParse/emojis/12.gif
  48. BIN
      lib/wxParse/emojis/120.gif
  49. BIN
      lib/wxParse/emojis/121.gif
  50. BIN
      lib/wxParse/emojis/122.gif
  51. BIN
      lib/wxParse/emojis/123.gif
  52. BIN
      lib/wxParse/emojis/124.gif
  53. BIN
      lib/wxParse/emojis/125.gif
  54. BIN
      lib/wxParse/emojis/126.gif
  55. BIN
      lib/wxParse/emojis/127.gif
  56. BIN
      lib/wxParse/emojis/128.gif
  57. BIN
      lib/wxParse/emojis/129.gif
  58. BIN
      lib/wxParse/emojis/13.gif
  59. BIN
      lib/wxParse/emojis/130.gif
  60. BIN
      lib/wxParse/emojis/131.gif
  61. BIN
      lib/wxParse/emojis/132.gif
  62. BIN
      lib/wxParse/emojis/133.gif
  63. BIN
      lib/wxParse/emojis/134.gif
  64. BIN
      lib/wxParse/emojis/14.gif
  65. BIN
      lib/wxParse/emojis/15.gif
  66. BIN
      lib/wxParse/emojis/16.gif
  67. BIN
      lib/wxParse/emojis/17.gif
  68. BIN
      lib/wxParse/emojis/18.gif
  69. BIN
      lib/wxParse/emojis/19.gif
  70. BIN
      lib/wxParse/emojis/20.gif
  71. BIN
      lib/wxParse/emojis/21.gif
  72. BIN
      lib/wxParse/emojis/22.gif
  73. BIN
      lib/wxParse/emojis/23.gif
  74. BIN
      lib/wxParse/emojis/24.gif
  75. BIN
      lib/wxParse/emojis/25.gif
  76. BIN
      lib/wxParse/emojis/26.gif
  77. BIN
      lib/wxParse/emojis/27.gif
  78. BIN
      lib/wxParse/emojis/28.gif
  79. BIN
      lib/wxParse/emojis/29.gif
  80. BIN
      lib/wxParse/emojis/30.gif
  81. BIN
      lib/wxParse/emojis/31.gif
  82. BIN
      lib/wxParse/emojis/32.gif
  83. BIN
      lib/wxParse/emojis/33.gif
  84. BIN
      lib/wxParse/emojis/34.gif
  85. BIN
      lib/wxParse/emojis/35.gif
  86. BIN
      lib/wxParse/emojis/36.gif
  87. BIN
      lib/wxParse/emojis/37.gif
  88. BIN
      lib/wxParse/emojis/38.gif
  89. BIN
      lib/wxParse/emojis/39.gif
  90. BIN
      lib/wxParse/emojis/40.gif
  91. BIN
      lib/wxParse/emojis/41.gif
  92. BIN
      lib/wxParse/emojis/42.gif
  93. BIN
      lib/wxParse/emojis/43.gif
  94. BIN
      lib/wxParse/emojis/44.gif
  95. BIN
      lib/wxParse/emojis/45.gif
  96. BIN
      lib/wxParse/emojis/46.gif
  97. BIN
      lib/wxParse/emojis/47.gif
  98. BIN
      lib/wxParse/emojis/48.gif
  99. BIN
      lib/wxParse/emojis/49.gif
  100. 0 0
      lib/wxParse/emojis/50.gif

+ 14 - 0
.gitignore

@@ -0,0 +1,14 @@
+# Windows
+[Dd]esktop.ini
+Thumbs.db
+$RECYCLE.BIN/
+
+# macOS
+.DS_Store
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+
+# Node.js
+node_modules/

+ 122 - 0
app.js

@@ -0,0 +1,122 @@
+App({
+    onLaunch: function () {
+        //获取小程序更新机制兼容
+        if (wx.canIUse('getUpdateManager')) {
+            const updateManager = wx.getUpdateManager()
+            updateManager.onCheckForUpdate(function (res) {
+                // 请求完新版本信息的回调
+                if (res.hasUpdate) {
+                    updateManager.onUpdateReady(function () {
+                        wx.showModal({
+                            title: '更新提示',
+                            content: '新版本已经准备好,是否重启应用?',
+                            success: function (res) {
+                                if (res.confirm) {
+                                    // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+                                    updateManager.applyUpdate()
+                                }
+                            }
+                        })
+                    })
+                    updateManager.onUpdateFailed(function () {
+                        // 新的版本下载失败
+                        wx.showModal({
+                            title: '已经有新版本了哟~',
+                            content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
+                        })
+                    })
+                }
+            })
+        } else {
+            // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
+            wx.showModal({
+                title: '提示',
+                content: '当前微信版本过低,无法更好体验程序,请升级到最新微信版本后重试。'
+            })
+        }
+      this.onGetSysInfo()
+    },
+    globalData: {
+        userInfo: {
+            nickName: 'Hi,游客',
+            userName: '点击去登录',
+            avatarUrl: 'https://platform-wxmall.oss-cn-beijing.aliyuncs.com/upload/20180727/150547696d798c.png'
+        },
+        token: '',
+        userCoupon: 'NO_USE_COUPON',//默认不适用优惠券
+        courseCouponCode: {},//购买课程的时候优惠券信息
+        isiPhoneX: false
+    },
+
+    onGetSysInfo() {
+      // 先缓存获取
+      let isiPhoneX = wx.getStorageSync('isiPhoneX') || false
+      // 缓存没有 再获取
+      if (!isiPhoneX) {
+        wx.getSystemInfo({
+          success: res => {
+            // 手机品牌
+            let modelmes = res.model;
+            console.log('mode---------------lmes',modelmes)
+            // 如果是 X,XS,XR,XS MAX 均可适配
+            if (modelmes.indexOf('iPhone X') != -1) {
+              // 存储型号
+              this.globalData.isiPhoneX = true
+              wx.setStorageSync('isiPhoneX', true)
+              // 加入回调
+              this.sysCallback && this.sysCallback()
+            }
+          },
+        })
+      } else {
+        this.globalData.isiPhoneX = isiPhoneX
+      }
+    },
+    // 下拉刷新
+    onPullDownRefresh: function () {
+        // 显示顶部刷新图标
+        wx.showNavigationBarLoading();
+        var that = this;
+        // 隐藏导航栏加载框
+        wx.hideNavigationBarLoading();
+        // 停止下拉动作
+        wx.stopPullDownRefresh();
+    },
+    // 更新小程序
+    updateManager: function () {
+        //获取系统信息 客户端基础库
+        wx.getSystemInfo({
+            success: function (res) {
+                //基础库版本比较,版本更新必须是1.9.90以上
+                const v = util.compareVersion(res.SDKVersion, '1.9.90');
+                if (v > 0) {
+                    const manager = wx.getUpdateManager();
+                    manager.onCheckForUpdate(function (res) {
+                        // 请求完新版本信息的回调
+                        //console.log(res.hasUpdate);
+                    });
+                    manager.onUpdateReady(function () {
+                        wx.showModal({
+                            title: '更新提示',
+                            content: '新版本已经准备好,是否重启应用?',
+                            success: function (res) {
+                                if (res.confirm) {
+                                    // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+                                    manager.applyUpdate();
+                                }
+                            }
+                        })
+                    });
+                    manager.onUpdateFailed(function () {
+                        // 新的版本下载失败
+                    });
+                } else {
+                    // wx.showModal({
+                    //   title: '温馨提示',
+                    //   content: '当前微信版本过低,无法更好体验程序,请升级到最新微信版本后重试。'
+                    // })
+                }
+            },
+        })
+    }
+})

+ 95 - 0
app.json

@@ -0,0 +1,95 @@
+{
+  "pages": [
+    "pages/index/index",
+    "pages/webview/index",
+    "pages/catalog/catalog",
+    "pages/newGoods/newGoods",
+    "pages/hotGoods/hotGoods",
+    "pages/ucenter/address/address",
+    "pages/ucenter/addressAdd/addressAdd",
+    "pages/ucenter/footprint/footprint",
+    "pages/ucenter/order/order",
+    "pages/ucenter/orderDetail/orderDetail",
+    "pages/ucenter/feedback/feedback",
+    "pages/ucenter/coupon/coupon",
+    "pages/ucenter/collect/collect",
+    "pages/auth/login/login",
+    "pages/auth/register/register",
+    "pages/auth/reset/reset",
+    "pages/pay/pay",
+    "pages/payResult/payResult",
+    "pages/ucenter/index/index",
+    "pages/topic/topic",
+    "pages/comment/comment",
+    "pages/commentPost/commentPost",
+    "pages/topicComment/topicComment",
+    "pages/brand/brand",
+    "pages/brandDetail/brandDetail",
+    "pages/search/search",
+    "pages/category/category",
+    "pages/cart/cart",
+    "pages/shopping/checkout/checkout",
+    "pages/shopping/address/address",
+    "pages/shopping/addressAdd/addressAdd",
+    "pages/goods/goods",
+    "pages/topicDetail/topicDetail",
+    "pages/auth/mobile/mobile",
+    "pages/shopping/selCoupon/selCoupon",
+    "pages/ucenter/help/help",
+    "pages/ucenter/helpInfo/helpInfo",
+    "pages/auth/btnAuth/btnAuth",
+    "pages/logistics/index"
+  ],
+  "window": {
+    "backgroundTextStyle": "dark",
+    "navigationBarBackgroundColor": "#fff",
+    "navigationBarTitleText": "四维商圈",
+    "navigationBarTextStyle": "black",
+    "enablePullDownRefresh": true
+  },
+  "tabBar": {
+    "custom": true,
+    "backgroundColor": "#fafafa",
+    "borderStyle": "white",
+    "selectedColor": "#1fe4dc",
+    "color": "#666",
+    "list": [
+      {
+        "pagePath": "pages/index/index",
+        "iconPath": "static/images/ic_menu_choice_nor.png",
+        "selectedIconPath": "static/images/ic_menu_choice_pressed.png",
+        "text": "首页"
+      },
+      {
+        "pagePath": "pages/catalog/catalog",
+        "iconPath": "static/images/ic_menu_sort_nor.png",
+        "selectedIconPath": "static/images/ic_menu_sort_pressed.png",
+        "text": "分类"
+      },
+      {
+        "pagePath": "pages/cart/cart",
+        "iconPath": "static/images/ic_menu_shoping_nor.png",
+        "selectedIconPath": "static/images/ic_menu_shoping_pressed.png",
+        "text": "购物车"
+      },
+      {
+        "pagePath": "pages/ucenter/index/index",
+        "iconPath": "static/images/ic_menu_me_nor.png",
+        "selectedIconPath": "static/images/ic_menu_me_pressed.png",
+        "text": "我的"
+      }
+    ]
+  },
+  "networkTimeout": {
+    "request": 10000,
+    "downloadFile": 10000
+  },
+  "plugins": {
+    "ykfchat": {
+      "version": "2.0.6",
+      "provider": "wx1fdc8c9f3a3a05e4"
+    }
+  },
+  "debug": true,
+  "sitemapLocation": "sitemap.json"
+}

+ 56 - 0
app.wxss

@@ -0,0 +1,56 @@
+/**app.wxss**/
+page{
+  padding-bottom: 80rpx;
+}
+
+.container {
+  box-sizing: border-box;
+  background-color: #f4f4f4;
+  font-family: PingFangSC-Light,helvetica,'Heiti SC';
+} 
+
+
+.isIPx{
+  bottom:64rpx!important;
+}
+
+
+.buttomPart{
+  bottom: 80rpx!important;
+}
+
+view,text,navigator{
+  box-sizing: border-box;
+  padding:0;
+  margin:0;
+}
+
+view,text{
+  font-family: PingFangSC-Light,helvetica,'Heiti SC';
+  /* font-size: 29rpx; */
+  color: #333;
+}
+
+button::after {
+  display: none;
+}
+
+.display-none {
+  display: none !important;
+}
+::-webkit-scrollbar {
+  width: 5px;
+  background-color: #f5f5f5;
+}
+
+::-webkit-scrollbar-thumb {
+  background-color: #999;
+}
+
+.theme-font{
+  color: #1fe4dc;
+}
+
+.theme-background{
+  background-color: #1fe4dc;
+}

+ 0 - 0
common/styles/index.wxss


+ 38 - 0
component/show-empty-data/show-empty-data.js

@@ -0,0 +1,38 @@
+// component/show-empty-data/show-empty-data.js
+var util = require('../../utils/util.js');
+
+Component({
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+    showType: {
+      type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
+      value: '', // 属性初始值(可选),如果未指定则会根据类型选择一个
+      observer: '_courseChange'
+    },
+  },
+
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    imgServer: util.imgServer
+  },
+
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+
+    /**
+      * 团转到首页
+      */
+    gotoHome: function (event) {
+      wx.reLaunch({
+        url: '../index/index'
+      })
+    }
+
+  }
+})

+ 4 - 0
component/show-empty-data/show-empty-data.json

@@ -0,0 +1,4 @@
+{
+  "component": true,
+  "usingComponents": {}
+}

+ 6 - 0
component/show-empty-data/show-empty-data.wxml

@@ -0,0 +1,6 @@
+<!--component/show-empty-data/show-empty-data.wxml-->
+ <view class='no-course'>
+    <image class='img' src="{{imgServer + '/my_course_empty.png'}}"></image>
+    <text class='desc' wx:if="{{showType == 'NO_COUPON'}}">您还没有优惠券~</text>
+    <!-- <button class='btn' bindtap='gotoHome' wx:if="{{showType == 'NO_COUPON'}}">去获取</button> -->
+  </view>

+ 37 - 0
component/show-empty-data/show-empty-data.wxss

@@ -0,0 +1,37 @@
+/* component/show-empty-data/show-empty-data.wxss */
+
+.no-course {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  width: 100%;
+  height: 100%;
+}
+
+.no-course .img {
+  margin-top: 116rpx;
+  width: 597rpx;
+  height: 467rpx;
+  margin-bottom: 60rpx;
+}
+
+.no-course .desc{
+  font-size: 30rpx;
+  line-height: 40rpx;
+  color: #333;
+   font-weight: bold;
+}
+
+.no-course .btn {
+  display: flex;
+  background-color: #fff;
+  border: 1rpx solid #d2d2d2;
+  font-size: 28rpx;
+  border-radius: 30rpx;
+  width: 200rpx;
+  height: 60rpx;
+  justify-content: center;
+  align-items: center;
+  color: #333;
+  margin-top: 20rpx;
+}

+ 81 - 0
config/api.js

@@ -0,0 +1,81 @@
+const API_BASE_URL = 'https://shop.4dkankan.com/platform-framework/api/';
+module.exports = {
+    IndexUrlNewGoods: API_BASE_URL + 'index/newGoods', //新品首发
+    IndexUrlHotGoods: API_BASE_URL + 'index/hotGoods', //热卖商品
+    IndexUrlTopic: API_BASE_URL + 'index/topic', //专题精选
+    IndexUrlBrand: API_BASE_URL + 'index/brand', //品牌制造商
+    IndexUrlCategory: API_BASE_URL + 'index/category', //首页底部的分类及商品列表
+    IndexUrlBanner: API_BASE_URL + 'index/banner', //首页banner
+    IndexUrlChannel: API_BASE_URL + 'index/channel', //banner下的分类
+    CatalogList: API_BASE_URL + 'catalog/index',  //分类目录全部分类数据接口
+    CatalogCurrent: API_BASE_URL + 'catalog/current',  //分类目录当前分类数据接口
+
+    AuthLoginByWeixin: API_BASE_URL + 'auth/login_by_weixin', //微信登录
+
+    GoodsCount: API_BASE_URL + 'goods/count',  //统计商品总数
+    GoodsList: API_BASE_URL + 'goods/list',  //获得商品列表
+    GoodsCategory: API_BASE_URL + 'goods/category',  //获得分类数据
+    GoodsDetail: API_BASE_URL + 'goods/detail',  //获得商品的详情
+    GoodsHot: API_BASE_URL + 'goods/hot',  //人气推荐
+    GoodsRelated: API_BASE_URL + 'goods/related',  //商品详情页的关联商品(大家都在看)
+
+    BrandList: API_BASE_URL + 'brand/list',  //品牌列表
+    BrandDetail: API_BASE_URL + 'brand/detail',  //品牌详情
+
+    CartList: API_BASE_URL + 'cart/index', //获取购物车的数据
+    CartAdd: API_BASE_URL + 'cart/add', // 添加商品到购物车
+    BuyAdd: API_BASE_URL + 'buy/add', // 直接购买    
+    CartUpdate: API_BASE_URL + 'cart/update', // 更新购物车的商品
+    CartDelete: API_BASE_URL + 'cart/delete', // 删除购物车的商品
+    CartChecked: API_BASE_URL + 'cart/checked', // 选择或取消选择商品
+    CartGoodsCount: API_BASE_URL + 'cart/goodscount', // 获取购物车商品件数
+    CartCheckout: API_BASE_URL + 'cart/checkout', // 下单前信息确认
+
+    OrderSubmit: API_BASE_URL + 'order/submit', // 提交订单
+    PayPrepayId: API_BASE_URL + 'pay/prepay', //获取微信统一下单prepay_id
+
+    CollectList: API_BASE_URL + 'collect/list',  //收藏列表
+    CollectAddOrDelete: API_BASE_URL + 'collect/addordelete',  //添加或取消收藏
+
+    CommentList: API_BASE_URL + 'comment/list',  //评论列表
+    CommentCount: API_BASE_URL + 'comment/count',  //评论总数
+    CommentPost: API_BASE_URL + 'comment/post',   //发表评论
+
+    TopicList: API_BASE_URL + 'topic/list',  //专题列表
+    TopicDetail: API_BASE_URL + 'topic/detail',  //专题详情
+    TopicRelated: API_BASE_URL + 'topic/related',  //相关专题
+
+    SearchIndex: API_BASE_URL + 'search/index',  //搜索页面数据
+    SearchHelper: API_BASE_URL + 'search/helper',  //搜索帮助
+    SearchClearHistory: API_BASE_URL + 'search/clearhistory',  //搜索帮助
+
+    AddressList: API_BASE_URL + 'address/list',  //收货地址列表
+    AddressDetail: API_BASE_URL + 'address/detail',  //收货地址详情
+    AddressSave: API_BASE_URL + 'address/save',  //保存收货地址
+    AddressDelete: API_BASE_URL + 'address/delete',  //删除收货地址
+
+    RegionList: API_BASE_URL + 'region/list',  //获取区域列表
+
+    OrderList: API_BASE_URL + 'order/list',  //订单列表
+    OrderDetail: API_BASE_URL + 'order/detail',  //订单详情
+    OrderCancel: API_BASE_URL + 'order/cancelOrder',  //取消订单
+    OrderConfirm: API_BASE_URL + 'order/confirmOrder',  //确认收货
+
+    FootprintList: API_BASE_URL + 'footprint/list',  //足迹列表
+    FootprintDelete: API_BASE_URL + 'footprint/delete',  //删除足迹
+
+    FeedbackAdd: API_BASE_URL + 'feedback/save', //添加反馈
+    SmsCode: API_BASE_URL + 'user/smscode', //发送短信
+    BindMobile: API_BASE_URL + 'user/bindMobile', //绑定手机
+    Login: API_BASE_URL + 'auth/login', //账号登录
+    Register: API_BASE_URL + 'auth/register', //注册
+    CouponList: API_BASE_URL + 'coupon/list', // 优惠券列表
+    GoodsCouponList: API_BASE_URL + 'coupon/listByGoods', // 商品优惠券列表   
+    OrderQuery: API_BASE_URL + 'pay/query',//微信查询订单状态
+
+    HelpTypeList: API_BASE_URL + 'helpissue/typeList', //查看帮助类型列表
+    HelpIssueList: API_BASE_URL + 'helpissue/issueList', //查看问题列表
+
+    LogisticsDetail: API_BASE_URL + 'logistics/detail', //查看物流详情
+
+};

+ 51 - 0
custom-tab-bar/index.js

@@ -0,0 +1,51 @@
+Component({
+  data: {
+    selected: 0,
+    color: "#666",
+    selectedColor: "#1fe4dc",
+    backgroundColor: "#fafafa",
+    borderStyle: "white",
+    list: [{
+      "pagePath": "/pages/index/index",
+      iconPath: "../static/images/ic_menu_choice_nor.png",
+      selectedIconPath: "../static/images/ic_menu_choice_pressed.png",
+      "text": "首页"
+    },
+      {
+        "pagePath": "/pages/catalog/catalog",
+        iconPath: "../static/images/ic_menu_sort_nor.png",
+        selectedIconPath: "../static/images/ic_menu_sort_pressed.png",
+        "text": "分类"
+      },
+      {
+        "pagePath": "/pages/cart/cart",
+        iconPath: "../static/images/ic_menu_shoping_nor.png",
+        selectedIconPath: "../static/images/ic_menu_shoping_pressed.png",
+        "text": "购物车"
+      },
+      {
+        "pagePath": "/pages/ucenter/index/index",
+        iconPath: "../static/images/ic_menu_me_nor.png",
+        selectedIconPath: "../static/images/ic_menu_me_pressed.png",
+        "text": "我的"
+      }]
+  },
+  attached() {
+  },
+  onShow(){
+
+  },
+  methods: {
+    switchTab(e) {
+      const data = e.currentTarget.dataset
+      const url = data.path
+      wx.switchTab({url})
+
+      setTimeout(()=>{
+        this.setData({
+          selected: data.index
+        })
+      })
+    }
+  }
+})

+ 3 - 0
custom-tab-bar/index.json

@@ -0,0 +1,3 @@
+{
+  "component": true
+}

+ 8 - 0
custom-tab-bar/index.wxml

@@ -0,0 +1,8 @@
+<!--miniprogram/custom-tab-bar/index.wxml-->
+<cover-view class="tab-bar">
+  <cover-view class="tab-bar-border"></cover-view>
+  <cover-view wx:for="{{list}}" wx:key="index" class="tab-bar-item" data-path="{{item.pagePath}}" data-index="{{index}}" bindtap="switchTab">
+    <cover-image src="{{selected === index ? item.selectedIconPath : item.iconPath}}"></cover-image>
+    <cover-view style="color: {{selected === index ? selectedColor : color}}">{{item.text}}</cover-view>
+  </cover-view>
+</cover-view>

+ 40 - 0
custom-tab-bar/index.wxss

@@ -0,0 +1,40 @@
+.tab-bar {
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  height: 100rpx;
+  background: white;
+  display: flex;
+  padding-bottom: env(safe-area-inset-bottom);
+}
+
+.tab-bar-border {
+  background-color: rgba(0, 0, 0, 0.33);
+  position: absolute;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 1px;
+  transform: scaleY(0.5);
+}
+
+.tab-bar-item {
+  flex: 1;
+  padding: 10rpx 0;
+  text-align: center;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  flex-direction: column;
+}
+
+.tab-bar-item cover-image {
+  width: 52rpx;
+  height: 52rpx;
+  margin-bottom: 6rpx;
+}
+
+.tab-bar-item cover-view {
+  font-size: 20rpx;
+}

BIN
lib/wxParse/emojis/00.gif


BIN
lib/wxParse/emojis/01.gif


BIN
lib/wxParse/emojis/02.gif


BIN
lib/wxParse/emojis/03.gif


BIN
lib/wxParse/emojis/04.gif


BIN
lib/wxParse/emojis/05.gif


BIN
lib/wxParse/emojis/06.gif


BIN
lib/wxParse/emojis/07.gif


BIN
lib/wxParse/emojis/08.gif


BIN
lib/wxParse/emojis/09.gif


BIN
lib/wxParse/emojis/10.gif


BIN
lib/wxParse/emojis/100.gif


BIN
lib/wxParse/emojis/101.gif


BIN
lib/wxParse/emojis/102.gif


BIN
lib/wxParse/emojis/103.gif


BIN
lib/wxParse/emojis/104.gif


BIN
lib/wxParse/emojis/105.gif


BIN
lib/wxParse/emojis/106.gif


BIN
lib/wxParse/emojis/107.gif


BIN
lib/wxParse/emojis/108.gif


BIN
lib/wxParse/emojis/109.gif


BIN
lib/wxParse/emojis/11.gif


BIN
lib/wxParse/emojis/110.gif


BIN
lib/wxParse/emojis/111.gif


BIN
lib/wxParse/emojis/112.gif


BIN
lib/wxParse/emojis/113.gif


BIN
lib/wxParse/emojis/114.gif


BIN
lib/wxParse/emojis/115.gif


BIN
lib/wxParse/emojis/116.gif


BIN
lib/wxParse/emojis/117.gif


BIN
lib/wxParse/emojis/118.gif


BIN
lib/wxParse/emojis/119.gif


BIN
lib/wxParse/emojis/12.gif


BIN
lib/wxParse/emojis/120.gif


BIN
lib/wxParse/emojis/121.gif


BIN
lib/wxParse/emojis/122.gif


BIN
lib/wxParse/emojis/123.gif


BIN
lib/wxParse/emojis/124.gif


BIN
lib/wxParse/emojis/125.gif


BIN
lib/wxParse/emojis/126.gif


BIN
lib/wxParse/emojis/127.gif


BIN
lib/wxParse/emojis/128.gif


BIN
lib/wxParse/emojis/129.gif


BIN
lib/wxParse/emojis/13.gif


BIN
lib/wxParse/emojis/130.gif


BIN
lib/wxParse/emojis/131.gif


BIN
lib/wxParse/emojis/132.gif


BIN
lib/wxParse/emojis/133.gif


BIN
lib/wxParse/emojis/134.gif


BIN
lib/wxParse/emojis/14.gif


BIN
lib/wxParse/emojis/15.gif


BIN
lib/wxParse/emojis/16.gif


BIN
lib/wxParse/emojis/17.gif


BIN
lib/wxParse/emojis/18.gif


BIN
lib/wxParse/emojis/19.gif


BIN
lib/wxParse/emojis/20.gif


BIN
lib/wxParse/emojis/21.gif


BIN
lib/wxParse/emojis/22.gif


BIN
lib/wxParse/emojis/23.gif


BIN
lib/wxParse/emojis/24.gif


BIN
lib/wxParse/emojis/25.gif


BIN
lib/wxParse/emojis/26.gif


BIN
lib/wxParse/emojis/27.gif


BIN
lib/wxParse/emojis/28.gif


BIN
lib/wxParse/emojis/29.gif


BIN
lib/wxParse/emojis/30.gif


BIN
lib/wxParse/emojis/31.gif


BIN
lib/wxParse/emojis/32.gif


BIN
lib/wxParse/emojis/33.gif


BIN
lib/wxParse/emojis/34.gif


BIN
lib/wxParse/emojis/35.gif


BIN
lib/wxParse/emojis/36.gif


BIN
lib/wxParse/emojis/37.gif


BIN
lib/wxParse/emojis/38.gif


BIN
lib/wxParse/emojis/39.gif


BIN
lib/wxParse/emojis/40.gif


BIN
lib/wxParse/emojis/41.gif


BIN
lib/wxParse/emojis/42.gif


BIN
lib/wxParse/emojis/43.gif


BIN
lib/wxParse/emojis/44.gif


BIN
lib/wxParse/emojis/45.gif


BIN
lib/wxParse/emojis/46.gif


BIN
lib/wxParse/emojis/47.gif


BIN
lib/wxParse/emojis/48.gif


BIN
lib/wxParse/emojis/49.gif


+ 0 - 0
lib/wxParse/emojis/50.gif


Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác