1
0

2 Коммиты 4dc2213709 ... 7343ee356f

Автор SHA1 Сообщение Дата
  范春宇 7343ee356f ``` 1 месяц назад
  范春宇 97e7e44ad4 ``` 1 месяц назад

+ 68 - 39
pages/cart/cart.js

@@ -94,6 +94,8 @@ Page({
       url: `/admin/bxdusercollection/query?userId=${this.data.userInfo.userId}&virtualInventoryId=${wx.getStorageSync('virtualInventoryId')}`,
     });
     let cartList = data.data.map(v => {
+      v.qtyInput = String(v.qty || 1);
+      v.qtyUpdating = false;
       v["picArr"] = v.pic ? v.pic.split(",") : null;
       return v;
     });
@@ -141,50 +143,77 @@ Page({
       }).reduce((price, item1) => app.currency(price).add(item1.price).value, 0),
     })
   },
-  async jianNum(e) {
-    let cartList = this.data.cartList;
-    let cart = cartList[e.currentTarget.dataset.index];
-    if (cart.qty <= 1) return;
-    try {
-      cart.qty = (cart.qty || 1) - 1;
-      await this.updateSku({
-        id: cart.id,
-        qty: cart.qty
-      });
-      // this.setData({
-      //   cartList,
-      //   checkPrice: cartList.filter((item => item.check)).map(v => {
-      //     return {
-      //       price: app.currency(v.price).multiply(v.qty).value
-      //     }
-      //   }).reduce((price, item1) => app.currency(price).add(item1.price).value, 0),
-      // })
-      this.initData();
-    } catch (e) {}
+  refreshCheckSummary() {
+    const checkedList = this.data.cartList.filter(item => item.check);
+    this.setData({
+      checkAll: this.data.cartList.length > 0 && this.data.cartList.every(item => item.check === true),
+      checkNum: checkedList.length,
+      checkPrice: checkedList.map(item => ({
+        price: app.currency(item.price).multiply(item.qty).value
+      })).reduce((price, item) => app.currency(price).add(item.price).value, 0)
+    });
   },
-  async jiaNum(e) {
-    let cartList = this.data.cartList;
-    let cart = cartList[e.currentTarget.dataset.index];
-    if (cart.qty > cart.usableStocks || cart.qty == cart.limitQty) return;
+  qtyInput(e) {
+    const index = e.currentTarget.dataset.index;
+    this.setData({
+      [`cartList[${index}].qtyInput`]: e.detail.value
+    });
+  },
+  qtyBlur(e) {
+    this.commitQty(e);
+  },
+  qtyConfirm(e) {
+    this.commitQty(e);
+  },
+  commitQty(e) {
+    const index = e.currentTarget.dataset.index;
+    const value = e.detail && e.detail.value !== undefined
+      ? e.detail.value
+      : this.data.cartList[index].qtyInput;
+    const target = Number(String(value).trim());
+    if (!/^\d+$/.test(String(value).trim()) || !Number.isSafeInteger(target) || target < 1) {
+      wx.showToast({ title: '请输入大于0的整数', icon: 'none' });
+      this.setData({ [`cartList[${index}].qtyInput`]: String(this.data.cartList[index].qty || 1) });
+      return;
+    }
+    this.updateQty(index, target);
+  },
+  async updateQty(index, target) {
+    const cart = this.data.cartList[index];
+    if (!cart || cart.qtyUpdating) return;
+    const oldQty = cart.qty || 1;
+    if (target === oldQty) {
+      this.setData({ [`cartList[${index}].qtyInput`]: String(oldQty) });
+      return;
+    }
+    cart.qtyUpdating = true;
+    this.setData({ cartList: this.data.cartList });
     try {
-      cart.qty = (cart.qty || 1) + 1;
-      await this.updateSku({
-        id: cart.id,
-        qty: cart.qty
-      });
-      // this.setData({
-      //   cartList,
-      //   checkPrice: cartList.filter((item => item.check)).map(v => {
-      //     return {
-      //       price: app.currency(v.price).multiply(v.qty).value
-      //     }
-      //   }).reduce((price, item1) => app.currency(price).add(item1.price).value, 0),
-      // });
+      await this.updateSku({ id: cart.id, qty: target });
+      cart.qty = target;
+      cart.qtyInput = String(target);
+      cart.qtyUpdating = false;
+      this.setData({ cartList: this.data.cartList });
+      this.refreshCheckSummary();
       this.initData();
     } catch (e) {
-      cart.qty = cart.qty - 1
+      cart.qtyUpdating = false;
+      cart.qtyInput = String(oldQty);
+      this.setData({ cartList: this.data.cartList });
     }
   },
+  jianNum(e) {
+    const index = e.currentTarget.dataset.index;
+    const cart = this.data.cartList[index];
+    if (!cart || cart.qty <= 1) return;
+    this.updateQty(index, cart.qty - 1);
+  },
+  jiaNum(e) {
+    const index = e.currentTarget.dataset.index;
+    const cart = this.data.cartList[index];
+    if (!cart) return;
+    this.updateQty(index, (cart.qty || 1) + 1);
+  },
   async nextBtn() {
     let role = wx.getStorageSync('roleList').find(v => v.roleCode == 'User' || v.roleCode == 'SZMAdmin');
     if (!role) {
@@ -432,4 +461,4 @@ Page({
     return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
   },
 
-})
+})

+ 2 - 2
pages/cart/cart.wxml

@@ -24,7 +24,7 @@
           <view><text class="rmb2">¥</text>{{item.price || 0}}</view>
           <view class="number">
             <view class="iconfont icon-Less1" style="{{item.qty == 1 ? 'color:#E6E6E6;' : ''}}" data-index="{{index}}" bind:tap="jianNum"></view>
-            <input value="{{item.qty}}" data-index="{{index}}" disabled readonly />
+            <input class="qty-editor" value="{{item.qtyInput}}" data-index="{{index}}" type="number" disabled="{{item.qtyUpdating}}" confirm-type="done" bindinput="qtyInput" bindblur="qtyBlur" bindconfirm="qtyConfirm" />
             <view class="iconfont icon-More" data-index="{{index}}" bind:tap="jiaNum" style="{{(item.qty > item.usableStocks || item.qty == item.limitQty) ? 'color:#E6E6E6;' : ''}}"></view>
           </view>
         </view>
@@ -42,4 +42,4 @@
     <view class="nextBtn" bind:tap="nextBtn">下一步</view>
   </view>
 </view>
-<tabbar></tabbar>
+<tabbar></tabbar>

+ 26 - 11
pages/cart/cart.wxss

@@ -60,27 +60,34 @@ page {
 
 .number {
   flex: 1;
-  text-align: right;
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
 }
 
-.number view:first-child {
-  flex: auto;
-  display: inline-block;
+.number .icon-Less1 {
+  flex: 0 0 38rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 38rpx;
+  height: 38rpx;
   /* width: 38rpx;
   height: 38rpx;
   border-radius: 50%;
   border: 1px solid #373737;
   text-align: center; */
   font-size: 38rpx;
-  vertical-align: middle;
+  line-height: 38rpx;
   margin-right: 10rpx;
 }
 
 .number input {
-  display: inline-block;
+  display: block;
+  flex: 0 0 60rpx;
   width: 60rpx;
   height: 38rpx;
-  vertical-align: middle;
+  margin: 0;
   background: #F8F8F8;
   font-size: 25rpx;
   padding: 0 10rpx;
@@ -91,8 +98,13 @@ page {
   color: #000000;
 }
 
-.number view:last-child {
-  display: inline-block;
+.number .icon-More {
+  flex: 0 0 38rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 38rpx;
+  height: 38rpx;
   /* width: 38rpx; */
   /* height: 38rpx;
   border-radius: 50%; */
@@ -100,7 +112,7 @@ page {
   /* text-align: center; */
   line-height: 38rpx;
   font-size: 38rpx;
-  vertical-align: middle;
+  line-height: 38rpx;
   margin-left: 10rpx;
 }
 
@@ -313,4 +325,7 @@ page {
 
 .touch-move-active .del {
   width: 100rpx;
-}
+}
+.qty-editor {
+  position: static;
+}

+ 63 - 32
pages/cartList/cartList.js

@@ -86,6 +86,8 @@ Page({
       url: `/admin/bxdusercollection/query?userId=${this.data.userInfo.userId}&virtualInventoryId=${wx.getStorageSync('virtualInventoryId')}`,
     });
     let cartList = data.data.map(v => {
+      v.qtyInput = String(v.qty || 1);
+      v.qtyUpdating = false;
       v["picArr"] = v.pic ? v.pic.split(",") : null;
       return v;
     });
@@ -136,43 +138,72 @@ Page({
     let cartList = this.data.cartList;
     let cart = cartList[e.currentTarget.dataset.index];
     if (cart.qty <= 1) return;
-    cart.qty = (cart.qty || 1) - 1;
-    try {
-      await this.updateSku({
-        id: cart.id,
-        qty: cart.qty
-      });
-      // this.setData({
-      //   cartList,
-      //   checkPrice: cartList.filter((item => item.check)).map(v => {
-      //     return {
-      //       price: app.currency(v.price).multiply(v.qty).value
-      //     }
-      //   }).reduce((price, item1) => app.currency(price).add(item1.price).value, 0),
-      // })
-      this.initData();
-    } catch (e) {}
+    this.updateQty(e.currentTarget.dataset.index, cart.qty - 1);
   },
   async jiaNum(e) {
     let cartList = this.data.cartList;
     let cart = cartList[e.currentTarget.dataset.index];
-    if (cart.qty > cart.usableStocks || cart.qty == cart.limitQty) return;
+    if (!cart) return;
+    this.updateQty(e.currentTarget.dataset.index, (cart.qty || 1) + 1);
+  },
+  refreshCheckSummary() {
+    const checkedList = this.data.cartList.filter(item => item.check);
+    this.setData({
+      checkAll: this.data.cartList.length > 0 && this.data.cartList.every(item => item.check === true),
+      checkNum: checkedList.length,
+      checkPrice: checkedList.map(item => ({
+        price: app.currency(item.price).multiply(item.qty).value
+      })).reduce((price, item) => app.currency(price).add(item.price).value, 0)
+    });
+  },
+  qtyInput(e) {
+    const index = e.currentTarget.dataset.index;
+    this.setData({
+      [`cartList[${index}].qtyInput`]: e.detail.value
+    });
+  },
+  qtyBlur(e) {
+    this.commitQty(e);
+  },
+  qtyConfirm(e) {
+    this.commitQty(e);
+  },
+  commitQty(e) {
+    const index = e.currentTarget.dataset.index;
+    const value = e.detail && e.detail.value !== undefined
+      ? e.detail.value
+      : this.data.cartList[index].qtyInput;
+    const target = Number(String(value).trim());
+    if (!/^\d+$/.test(String(value).trim()) || !Number.isSafeInteger(target) || target < 1) {
+      wx.showToast({ title: '请输入大于0的整数', icon: 'none' });
+      this.setData({ [`cartList[${index}].qtyInput`]: String(this.data.cartList[index].qty || 1) });
+      return;
+    }
+    this.updateQty(index, target);
+  },
+  async updateQty(index, target) {
+    const cart = this.data.cartList[index];
+    if (!cart || cart.qtyUpdating) return;
+    const oldQty = cart.qty || 1;
+    if (target === oldQty) {
+      this.setData({ [`cartList[${index}].qtyInput`]: String(oldQty) });
+      return;
+    }
+    cart.qtyUpdating = true;
+    this.setData({ cartList: this.data.cartList });
     try {
-      cart.qty = (cart.qty || 1) + 1;
-      await this.updateSku({
-        id: cart.id,
-        qty: cart.qty
-      });
-      // this.setData({
-      //   cartList,
-      //   checkPrice: cartList.filter((item => item.check)).map(v => {
-      //     return {
-      //       price: app.currency(v.price).multiply(v.qty).value
-      //     }
-      //   }).reduce((price, item1) => app.currency(price).add(item1.price).value, 0),
-      // });
+      await this.updateSku({ id: cart.id, qty: target });
+      cart.qty = target;
+      cart.qtyInput = String(target);
+      cart.qtyUpdating = false;
+      this.setData({ cartList: this.data.cartList });
+      this.refreshCheckSummary();
       this.initData();
-    } catch (e) {}
+    } catch (e) {
+      cart.qtyUpdating = false;
+      cart.qtyInput = String(oldQty);
+      this.setData({ cartList: this.data.cartList });
+    }
   },
   nextBtn() {
     let role = wx.getStorageSync('roleList').find(v => v.roleCode == 'User' || v.roleCode == 'SZMAdmin');
@@ -400,4 +431,4 @@ Page({
     return 360 * Math.atan(_Y / _X) / (2 * Math.PI);
   },
 
-})
+})

+ 2 - 2
pages/cartList/cartList.wxml

@@ -24,7 +24,7 @@
           <view><text class="rmb2">¥</text>{{item.price || 0}}</view>
           <view class="number">
             <view class="iconfont icon-Less1" style="{{item.qty == 1 ? 'color:#E6E6E6;' : ''}}" data-index="{{index}}" bind:tap="jianNum"></view>
-            <input value="{{item.qty}}" data-index="{{index}}" disabled readonly />
+            <input class="qty-editor" value="{{item.qtyInput}}" data-index="{{index}}" type="number" disabled="{{item.qtyUpdating}}" confirm-type="done" bindinput="qtyInput" bindblur="qtyBlur" bindconfirm="qtyConfirm" />
             <view class="iconfont icon-More" data-index="{{index}}" bind:tap="jiaNum" style="{{(item.qty > item.usableStocks || item.qty == item.limitQty) ? 'color:#E6E6E6;' : ''}}"></view>
           </view>
         </view>
@@ -41,4 +41,4 @@
     </view>
     <view class="nextBtn" bind:tap="nextBtn">下一步</view>
   </view>
-</view>
+</view>

+ 26 - 11
pages/cartList/cartList.wxss

@@ -67,27 +67,34 @@ page {
 
 .number {
   flex: 1;
-  text-align: right;
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
 }
 
-.number view:first-child {
-  flex: auto;
-  display: inline-block;
+.number .icon-Less1 {
+  flex: 0 0 38rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 38rpx;
+  height: 38rpx;
   /* width: 38rpx;
   height: 38rpx;
   border-radius: 50%;
   border: 1px solid #373737;
   text-align: center; */
   font-size: 38rpx;
-  vertical-align: middle;
+  line-height: 38rpx;
   margin-right: 10rpx;
 }
 
 .number input {
-  display: inline-block;
+  display: block;
+  flex: 0 0 60rpx;
   width: 60rpx;
   height: 38rpx;
-  vertical-align: middle;
+  margin: 0;
   background: #F8F8F8;
   font-size: 25rpx;
   padding: 0 10rpx;
@@ -98,8 +105,13 @@ page {
   color: #000000;
 }
 
-.number view:last-child {
-  display: inline-block;
+.number .icon-More {
+  flex: 0 0 38rpx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  width: 38rpx;
+  height: 38rpx;
   /* width: 38rpx; */
   /* height: 38rpx;
   border-radius: 50%; */
@@ -107,7 +119,7 @@ page {
   /* text-align: center; */
   line-height: 38rpx;
   font-size: 38rpx;
-  vertical-align: middle;
+  line-height: 38rpx;
   margin-left: 10rpx;
 }
 
@@ -315,4 +327,7 @@ page {
 
 .touch-move-active .del {
   width: 100rpx;
-}
+}
+.qty-editor {
+  position: static;
+}

+ 112 - 18
pages/goods/goods.js

@@ -43,6 +43,12 @@ Page({
     data.data.picArr = data.data.pic ? data.data.pic.split(",") : ['/images/empty.png'];
     data.data.skuDesc = data.data.skuDesc || '';
     data.data.skuDesc = data.data.skuDesc.replace(/\<img/gi, '<img class="rich-img" ');
+    const initialQty = Number(data.data.qty);
+    data.data.qty = Number.isSafeInteger(initialQty) && initialQty > 0 ? initialQty : 1;
+    data.data.qtyInput = String(data.data.qty);
+    data.data.qtyBeforeSubmit = data.data.qty;
+    data.data.qtyDirty = false;
+    data.data.qtyUpdating = false;
     this.setData({
       goods: data.data
     })
@@ -55,7 +61,84 @@ Page({
       cartNum: data.data || 0
     })
   },
+  restoreGoodsQty(qty) {
+    const restoreQty = Number(qty) || 1;
+    this.setData({
+      'goods.qty': restoreQty,
+      'goods.qtyInput': String(restoreQty),
+      'goods.qtyBeforeSubmit': restoreQty,
+      'goods.qtyDirty': false
+    });
+  },
+  setGoodsQty(qty) {
+    const goods = this.data.goods || {};
+    const currentQty = Number(goods.qty) || 1;
+    const updateData = {
+      'goods.qty': qty,
+      'goods.qtyInput': String(qty)
+    };
+    if (!goods.qtyDirty) {
+      updateData['goods.qtyBeforeSubmit'] = currentQty;
+      updateData['goods.qtyDirty'] = true;
+    }
+    this.setData(updateData);
+  },
+  qtyInput(e) {
+    const goods = this.data.goods || {};
+    const updateData = {
+      'goods.qtyInput': e.detail.value
+    };
+    if (!goods.qtyDirty) {
+      updateData['goods.qtyBeforeSubmit'] = Number(goods.qty) || 1;
+      updateData['goods.qtyDirty'] = true;
+    }
+    this.setData(updateData);
+  },
+  qtyBlur(e) {
+    this.commitQty(e);
+  },
+  qtyConfirm(e) {
+    this.commitQty(e);
+  },
+  commitQty(e) {
+    const goods = this.data.goods || {};
+    const currentQty = Number(goods.qty) || 1;
+    const rawValue = e && e.detail && e.detail.value !== undefined
+      ? e.detail.value
+      : goods.qtyInput;
+    const text = String(rawValue == null ? '' : rawValue).trim();
+    const target = Number(text);
+    if (!/^\d+$/.test(text) || !Number.isSafeInteger(target) || target < 1) {
+      wx.showToast({ title: '请输入大于0的整数', icon: 'none' });
+      this.restoreGoodsQty(currentQty);
+      return false;
+    }
+    const limitQty = Number(goods.limitQty);
+    if (Number.isFinite(limitQty) && limitQty > 0 && target > limitQty) {
+      wx.showToast({ title: '加购数量不能大于限购数量:' + limitQty, icon: 'none' });
+      this.restoreGoodsQty(currentQty);
+      return false;
+    }
+    const usableStocks = Number(goods.usableStocksTotal);
+    if (Number.isFinite(usableStocks) && usableStocks >= 0 && target > usableStocks) {
+      wx.showToast({ title: '加购数量不能大于可供库存:' + usableStocks, icon: 'none' });
+      this.restoreGoodsQty(currentQty);
+      return false;
+    }
+    this.setData({
+      'goods.qty': target,
+      'goods.qtyInput': String(target)
+    });
+    return true;
+  },
   async updateSku() {
+    if (this.data.goods.qtyUpdating) return;
+    const previousQty = Number(this.data.goods.qtyBeforeSubmit || this.data.goods.qty) || 1;
+    if (!this.commitQty()) return;
+    this.setData({
+      'goods.qtyUpdating': true
+    });
+    try {
     let {
       data
     } = await app.ajax.post({
@@ -67,6 +150,7 @@ Page({
 
 
     if (data.data.length) {
+      this.restoreGoodsQty(previousQty);
       await wx.showModal({
         title: '提示',
         content: `当前下单已被限制, 订单${data.data.map(item => item.orderNumber)}存在反馈图片超时的情况,请尽快前去上传反馈图片`
@@ -88,36 +172,46 @@ Page({
     });
     if (!goods.collectionId) {
       await this.initData(goods.prodId);
+    } else {
+      this.setData({
+        'goods.qtyBeforeSubmit': goods.qty,
+        'goods.qtyDirty': false
+      });
     }
     await this.initCartNum();
 
     wx.showToast({
       title: '加入购物车成功',
     })
-  },
-  async jianNum() {
-    let goods = this.data.goods;
-    if (goods.qty <= 1) return;
-    goods.qty = (goods.qty || 1) - 1;
-    if (goods.qty == 0) {
-      return;
+    } catch (e) {
+      this.restoreGoodsQty(previousQty);
+    } finally {
+      this.setData({
+        'goods.qtyUpdating': false
+      });
     }
-    this.setData({
-      goods
-    })
+  },
+  jianNum() {
+    const goods = this.data.goods || {};
+    if (goods.qtyUpdating) return;
+    const currentQty = Number(goods.qty) || 1;
+    if (currentQty <= 1) return;
+    this.setGoodsQty(currentQty - 1);
     // await this.updateSku({
     //   id: goods.collectionId,
     //   qty: goods.qty
     // });
     // await this.initData();
   },
-  async jiaNum() {
-    let goods = this.data.goods;
-    if (goods.limitQty && goods.qty >= goods.limitQty) return;
-    goods.qty = (goods.qty || 1) + 1;
-    this.setData({
-      goods
-    })
+  jiaNum() {
+    const goods = this.data.goods || {};
+    if (goods.qtyUpdating) return;
+    const currentQty = Number(goods.qty) || 1;
+    const limitQty = Number(goods.limitQty);
+    const usableStocks = Number(goods.usableStocksTotal);
+    if (Number.isFinite(limitQty) && limitQty > 0 && currentQty + 1 > limitQty) return;
+    if (Number.isFinite(usableStocks) && currentQty + 1 > usableStocks) return;
+    this.setGoodsQty(currentQty + 1);
     // await this.updateSku({
     //   id: goods.id,
     //   qty: goods.qty
@@ -159,4 +253,4 @@ Page({
   onShareAppMessage() {
 
   }
-})
+})

+ 11 - 2
pages/goods/goods.wxml

@@ -21,7 +21,16 @@
       <view class="cellText">商品件数</view>
       <view class="cellText number" wx:if="{{goods.totalStocks > 0}}">
         <view class="iconfont icon-Less1" bind:tap="jianNum"></view>
-        <input value="{{goods.qty}}" disabled rendonly />
+        <input
+          class="qty-input"
+          value="{{goods.qtyInput}}"
+          type="number"
+          disabled="{{goods.qtyUpdating}}"
+          confirm-type="done"
+          bindinput="qtyInput"
+          bindblur="qtyBlur"
+          bindconfirm="qtyConfirm"
+        />
         <view class="iconfont icon-More" bind:tap="jiaNum"></view>
       </view>
       <view class="cellText number" style="color: #b2b2b2;" wx:else="">
@@ -57,4 +66,4 @@
     <view wx:if="{{goods.totalStocks > 0}}" class="addCart" bind:tap="updateSku">加入购物车</view>
     <view wx:else class="addCart" style="color: #EEEEEE;background-color: #b2b2b2;">暂无库存</view>
   </view>
-</view>
+</view>

+ 5 - 1
pages/order/create/create.js

@@ -48,6 +48,10 @@ Page({
       id: 7,
       name: '公司内部活动'
     },
+    {
+      id: 8,
+      name: '授牌权益'
+    },
     ],
     userInfo: wx.getStorageSync('userInfo'),
     company: wx.getStorageSync('company'),
@@ -437,7 +441,7 @@ Page({
       return;
     } else if (res.code == 4000) {
       this.setData({
-        errShow:true,
+        errShow: true,
         errMsg: `下单失败:${res.data ? '收货人公司【' + res.data + '】,' : ''}下单额度不足,请联系部门负责人`,
       })
       // this.errClose();

+ 1 - 1
project.private.config.json

@@ -1,6 +1,6 @@
 {
   "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
-  "projectname": "%E5%A0%A1%E6%98%95%E5%BE%B7%E4%BC%81%E4%B8%9A%E7%A4%BC%E8%B5%A0%E7%B3%BB%E7%BB%9F",
+  "projectname": "oms-mp",
   "setting": {
     "compileHotReLoad": true,
     "skylineRenderEnable": true,

+ 4 - 4
url.js

@@ -1,13 +1,13 @@
 const accountInfo = wx.getAccountInfoSync();
 
 const current = accountInfo.miniProgram.envVersion;
-//console.log(accountInfo, current)
+console.log(accountInfo, current)
 const api = {
   //开发
-  // develop: "https://voms.bosind.com",
-  develop: "https://voms-test.bosind.com", 
+  develop: "http://192.168.31.52:9997",
+  // develop: "https://voms-test.bosind.com", 
   //体验版
-  trial: "https://voms.bosind.com",  
+  trial: "http://192.168.31.52:9997",  
   // trial: "https://voms-test.bosind.com",  
 
   // 正式