Quellcode durchsuchen

feat 添加订单物流功能

tumobi vor 7 Jahren
Ursprung
Commit
c0ece14c55

+ 1 - 0
.gitignore

@@ -0,0 +1 @@
+project.config.json

+ 1 - 0
app.json

@@ -9,6 +9,7 @@
     "pages/ucenter/footprint/footprint",
     "pages/ucenter/order/order",
     "pages/ucenter/orderDetail/orderDetail",
+    "pages/ucenter/express/express",
     "pages/ucenter/feedback/feedback",
     "pages/ucenter/coupon/coupon",
     "pages/ucenter/collect/collect",

+ 59 - 58
config/api.js

@@ -1,61 +1,62 @@
-const ApiRootUrl = 'https://api.nideshop.com/api/';
+const ApiRootUrl = 'http://127.0.0.1:8360/api/';
 
 module.exports = {
-    IndexUrl: ApiRootUrl + 'index/index', //首页数据接口
-    CatalogList: ApiRootUrl + 'catalog/index',  //分类目录全部分类数据接口
-    CatalogCurrent: ApiRootUrl + 'catalog/current',  //分类目录当前分类数据接口
-
-    AuthLoginByWeixin: ApiRootUrl + 'auth/loginByWeixin', //微信登录
-
-    GoodsCount: ApiRootUrl + 'goods/count',  //统计商品总数
-    GoodsList: ApiRootUrl + 'goods/list',  //获得商品列表
-    GoodsCategory: ApiRootUrl + 'goods/category',  //获得分类数据
-    GoodsDetail: ApiRootUrl + 'goods/detail',  //获得商品的详情
-    GoodsNew: ApiRootUrl + 'goods/new',  //新品
-    GoodsHot: ApiRootUrl + 'goods/hot',  //热门
-    GoodsRelated: ApiRootUrl + 'goods/related',  //商品详情页的关联商品(大家都在看)
-
-    BrandList: ApiRootUrl + 'brand/list',  //品牌列表
-    BrandDetail: ApiRootUrl + 'brand/detail',  //品牌详情
-
-    CartList: ApiRootUrl + 'cart/index', //获取购物车的数据
-    CartAdd: ApiRootUrl + 'cart/add', // 添加商品到购物车
-    CartUpdate: ApiRootUrl + 'cart/update', // 更新购物车的商品
-    CartDelete: ApiRootUrl + 'cart/delete', // 删除购物车的商品
-    CartChecked: ApiRootUrl + 'cart/checked', // 选择或取消选择商品
-    CartGoodsCount: ApiRootUrl + 'cart/goodscount', // 获取购物车商品件数
-    CartCheckout: ApiRootUrl + 'cart/checkout', // 下单前信息确认
-
-    OrderSubmit: ApiRootUrl + 'order/submit', // 提交订单
-    PayPrepayId: ApiRootUrl + 'pay/prepay', //获取微信统一下单prepay_id
-
-    CollectList: ApiRootUrl + 'collect/list',  //收藏列表
-    CollectAddOrDelete: ApiRootUrl + 'collect/addordelete',  //添加或取消收藏
-
-    CommentList: ApiRootUrl + 'comment/list',  //评论列表
-    CommentCount: ApiRootUrl + 'comment/count',  //评论总数
-    CommentPost: ApiRootUrl + 'comment/post',   //发表评论
-
-    TopicList: ApiRootUrl + 'topic/list',  //专题列表
-    TopicDetail: ApiRootUrl + 'topic/detail',  //专题详情
-    TopicRelated: ApiRootUrl + 'topic/related',  //相关专题
-
-    SearchIndex: ApiRootUrl + 'search/index',  //搜索页面数据
-    SearchResult: ApiRootUrl + 'search/result',  //搜索数据
-    SearchHelper: ApiRootUrl + 'search/helper',  //搜索帮助
-    SearchClearHistory: ApiRootUrl + 'search/clearhistory',  //搜索帮助
-
-    AddressList: ApiRootUrl + 'address/list',  //收货地址列表
-    AddressDetail: ApiRootUrl + 'address/detail',  //收货地址详情
-    AddressSave: ApiRootUrl + 'address/save',  //保存收货地址
-    AddressDelete: ApiRootUrl + 'address/delete',  //保存收货地址
-
-    RegionList: ApiRootUrl + 'region/list',  //获取区域列表
-
-    OrderList: ApiRootUrl + 'order/list',  //订单列表
-    OrderDetail: ApiRootUrl + 'order/detail',  //订单详情
-    OrderCancel: ApiRootUrl + 'order/cancel',  //取消订单
-
-    FootprintList: ApiRootUrl + 'footprint/list',  //足迹列表
-    FootprintDelete: ApiRootUrl + 'footprint/delete',  //删除足迹
+  IndexUrl: ApiRootUrl + 'index/index', //首页数据接口
+  CatalogList: ApiRootUrl + 'catalog/index',  //分类目录全部分类数据接口
+  CatalogCurrent: ApiRootUrl + 'catalog/current',  //分类目录当前分类数据接口
+
+  AuthLoginByWeixin: ApiRootUrl + 'auth/loginByWeixin', //微信登录
+
+  GoodsCount: ApiRootUrl + 'goods/count',  //统计商品总数
+  GoodsList: ApiRootUrl + 'goods/list',  //获得商品列表
+  GoodsCategory: ApiRootUrl + 'goods/category',  //获得分类数据
+  GoodsDetail: ApiRootUrl + 'goods/detail',  //获得商品的详情
+  GoodsNew: ApiRootUrl + 'goods/new',  //新品
+  GoodsHot: ApiRootUrl + 'goods/hot',  //热门
+  GoodsRelated: ApiRootUrl + 'goods/related',  //商品详情页的关联商品(大家都在看)
+
+  BrandList: ApiRootUrl + 'brand/list',  //品牌列表
+  BrandDetail: ApiRootUrl + 'brand/detail',  //品牌详情
+
+  CartList: ApiRootUrl + 'cart/index', //获取购物车的数据
+  CartAdd: ApiRootUrl + 'cart/add', // 添加商品到购物车
+  CartUpdate: ApiRootUrl + 'cart/update', // 更新购物车的商品
+  CartDelete: ApiRootUrl + 'cart/delete', // 删除购物车的商品
+  CartChecked: ApiRootUrl + 'cart/checked', // 选择或取消选择商品
+  CartGoodsCount: ApiRootUrl + 'cart/goodscount', // 获取购物车商品件数
+  CartCheckout: ApiRootUrl + 'cart/checkout', // 下单前信息确认
+
+  OrderSubmit: ApiRootUrl + 'order/submit', // 提交订单
+  PayPrepayId: ApiRootUrl + 'pay/prepay', //获取微信统一下单prepay_id
+
+  CollectList: ApiRootUrl + 'collect/list',  //收藏列表
+  CollectAddOrDelete: ApiRootUrl + 'collect/addordelete',  //添加或取消收藏
+
+  CommentList: ApiRootUrl + 'comment/list',  //评论列表
+  CommentCount: ApiRootUrl + 'comment/count',  //评论总数
+  CommentPost: ApiRootUrl + 'comment/post',   //发表评论
+
+  TopicList: ApiRootUrl + 'topic/list',  //专题列表
+  TopicDetail: ApiRootUrl + 'topic/detail',  //专题详情
+  TopicRelated: ApiRootUrl + 'topic/related',  //相关专题
+
+  SearchIndex: ApiRootUrl + 'search/index',  //搜索页面数据
+  SearchResult: ApiRootUrl + 'search/result',  //搜索数据
+  SearchHelper: ApiRootUrl + 'search/helper',  //搜索帮助
+  SearchClearHistory: ApiRootUrl + 'search/clearhistory',  //搜索帮助
+
+  AddressList: ApiRootUrl + 'address/list',  //收货地址列表
+  AddressDetail: ApiRootUrl + 'address/detail',  //收货地址详情
+  AddressSave: ApiRootUrl + 'address/save',  //保存收货地址
+  AddressDelete: ApiRootUrl + 'address/delete',  //保存收货地址
+
+  RegionList: ApiRootUrl + 'region/list',  //获取区域列表
+
+  OrderList: ApiRootUrl + 'order/list',  //订单列表
+  OrderDetail: ApiRootUrl + 'order/detail',  //订单详情
+  OrderCancel: ApiRootUrl + 'order/cancel',  //取消订单
+  OrderExpress: ApiRootUrl + 'order/express', //物流详情
+
+  FootprintList: ApiRootUrl + 'footprint/list',  //足迹列表
+  FootprintDelete: ApiRootUrl + 'footprint/delete',  //删除足迹
 };

+ 44 - 0
pages/ucenter/express/express.js

@@ -0,0 +1,44 @@
+var util = require('../../../utils/util.js');
+var api = require('../../../config/api.js');
+var app = getApp();
+
+Page({
+  data: {
+    orderId: 1,
+    expressInfo: {},
+    expressTraces: []
+  },
+  onLoad: function (options) {
+    this.setData({
+      orderId: options.id
+    });
+    this.getExpressInfo();
+  },
+  onReady: function () {
+    // 页面渲染完成
+  },
+  onShow: function () {
+    // 页面显示
+
+  },
+  getExpressInfo() {
+    let that = this;
+    util.request(api.OrderExpress, { orderId: that.data.orderId }).then(function (res) {
+      if (res.errno === 0) {
+        that.setData({
+          expressInfo: res.data,
+          expressTraces: res.data.traces
+        });
+      }
+    });
+  },
+  updateExpress() {
+    this.getExpressInfo();
+  },
+  onHide: function () {
+    // 页面隐藏
+  },
+  onUnload: function () {
+    // 页面关闭
+  }
+})

+ 3 - 0
pages/ucenter/express/express.json

@@ -0,0 +1,3 @@
+{
+  "navigationBarTitleText": "物流详情"
+}

+ 22 - 0
pages/ucenter/express/express.wxml

@@ -0,0 +1,22 @@
+<view class="container">
+  <view class='express-header'>
+    <view class="left">
+      <view class="txt">物流单号:{{expressInfo.logistic_code}}</view>
+      <view class="txt">物流公司:{{expressInfo.shipper_name}}</view>
+      <view class="txt">更新时间:{{expressInfo.request_time}}</view>
+    </view>
+    <view class='right' wx:if="{{expressInfo.isFinish === 1}}">
+      <view class='update-btn' bindtap="updateExpress">更新物流</view>
+    </view>
+  </view>
+  <view class='express-body'>
+    <view class='current-icon'></view>
+    <view class="express-item item-{{index}}" wx:for="{{expressTraces}}" wx:key="{{key}}">
+      <view class='left'></view>
+      <view class='right'>
+        <view class="info">{{item.content}}</view>
+        <view class="time">{{item.datetime}}</view>
+      </view>
+    </view>
+  </view>
+</view>

+ 127 - 0
pages/ucenter/express/express.wxss

@@ -0,0 +1,127 @@
+page {
+  height: 100%;
+  width: 100%;
+  background: #f4f4f4;
+}
+
+.container {
+  height: 100%;
+  width: 100%;
+}
+
+.express-header {
+  border-top: 1px solid #d9d9d9;
+  width: 100%;
+  height: auto;
+  overflow: hidden;
+  background: #fff;
+  display: flex;
+  padding: 20rpx 30rpx;
+}
+
+.express-header .left {
+  flex: 1;
+  height: 100%;
+}
+
+.express-header .left .txt {
+  height: 50rpx;
+  line-height: 50rpx;
+  overflow: hidden;
+  width: 100%;
+}
+
+.express-header .right {
+  width: 160rpx;
+  height: 100%;
+  display: flex;
+}
+
+.express-header .update-btn {
+  margin-top: 47rpx;
+  width: 158rpx;
+  height: 56rpx;
+  line-height: 54rpx;
+  overflow: hidden;
+  text-align: center;
+  border-radius: 8rpx;
+  color: #333;
+  border: 1px solid #666;
+}
+
+.express-body {
+  margin-top: 20rpx;
+  width: 100%;
+  height: auto;
+  overflow: hidden;
+  background: #fff;
+  padding: 30rpx;
+  position: relative;
+}
+
+.current-icon{
+  height: 24rpx;
+  width: 24rpx;
+  position: absolute;
+  top: 30rpx;
+  left: 50rpx;
+  background: #b4282d;
+  border-radius: 24rpx;
+}
+
+.express-item {
+  height: auto;
+  width: 100%;
+  overflow: hidden;
+  display: flex;
+  margin-left: 30rpx;
+  border-left: 1px solid #d9d9d9;
+}
+
+.express-item .left {
+  width: 44rpx;
+  height: 100%;
+  overflow: hidden;
+}
+
+.express-item .right {
+  flex: 1;
+  height: 100%;
+  margin-left: 10rpx;
+  padding: 20rpx 0;
+  border-bottom: 1px solid #f1f2f4;
+}
+
+.express-item.item-0 .right {
+  padding-top: 0rpx;
+}
+
+.express-item:last-child .right{
+  border-bottom: none;
+  padding-bottom: 0rpx;
+}
+
+.express-item .right .info {
+  min-height: 42rpx;
+  height: auto;
+  overflow: hidden;
+  padding-right: 30rpx;
+  line-height: 42rpx;
+  color: #999;
+}
+
+.express-item.item-0 .right .info {
+  color: #b4282d;
+}
+
+.express-item .right .time {
+  min-height: 42rpx;
+  height: auto;
+  overflow: hidden;
+  line-height: 42rpx;
+  color: #999;
+}
+
+.express-item.item-0 .right .time {
+  color: #b4282d;
+}