Parcourir la source

Merge branch 'master' of https://gitee.com/sheepjs/shopro-uniapp

ldh il y a 2 ans
Parent
commit
0c9c0c4dc3
7 fichiers modifiés avec 411 ajouts et 465 suppressions
  1. 4 3
      env
  2. 1 0
      pages/index/cart.vue
  3. 216 256
      pages/order/aftersale/apply.vue
  4. 1 1
      pages/order/list.vue
  5. 186 202
      pages/pay/recharge.vue
  6. 2 2
      sheep/platform/pay.js
  7. 1 1
      vite.config.js

+ 4 - 3
env

@@ -1,3 +1,6 @@
+# 版本号
+SHOPRO_VERSION = v1.8.1
+
 # 正式环境接口域名
 SHOPRO_BASE_URL = https://api.shopro.sheepjs.com
 
@@ -13,7 +16,5 @@ SHOPRO_API_PATH = /shop/api/
 # 客户端静态资源地址 空=默认使用服务端指定的CDN资源地址前缀 | local=本地  |  http(s)://xxx.xxx=自定义静态资源地址前缀
 SHOPRO_STATIC_URL = https://file.sheepjs.com
 
-SHOPRO_VERSION = v1.8.1
-
-# 是否开启直播  1 开启直播 | 0 关闭直播
+# 是否开启直播  1 开启直播 | 0 关闭直播 (小程序官方后台未审核开通直播权限时请勿开启)
 SHOPRO_MPLIVE_ON = 0

+ 1 - 0
pages/index/cart.vue

@@ -151,6 +151,7 @@
       cart.delete(cartItem.id);
       return;
     }
+    if(cartItem.goods_num === e) return;
     cartItem.goods_num = e;
     cart.update({
       goods_id: cartItem.goods_id,

+ 216 - 256
pages/order/aftersale/apply.vue

@@ -3,13 +3,9 @@
   <s-layout title="申请售后">
     <!-- 售后商品 -->
     <view class="goods-box">
-      <s-goods-item
-        :img="state.goodsItem.goods_image"
-        :title="state.goodsItem.goods_title"
-        :skuText="state.goodsItem.goods_sku_text"
-        :price="state.goodsItem.goods_price"
-        :num="state.goodsItem.goods_num"
-      ></s-goods-item>
+      <s-goods-item :img="state.goodsItem.goods_image" :title="state.goodsItem.goods_title"
+        :skuText="state.goodsItem.goods_sku_text" :price="state.goodsItem.goods_price"
+        :num="state.goodsItem.goods_num"></s-goods-item>
     </view>
 
     <uni-forms ref="form" v-model="formData" :rules="rules" label-position="top">
@@ -18,17 +14,9 @@
         <view class="item-title ss-m-b-20">售后类型</view>
         <view class="ss-flex-col">
           <radio-group @change="onRefundChange">
-            <label
-              class="ss-flex ss-col-center ss-p-y-10"
-              v-for="(item, index) in state.refundTypeList"
-              :key="index"
-            >
-              <radio
-                :checked="formData.type === item.value"
-                color="var(--ui-BG-Main)"
-                style="transform: scale(0.8)"
-                :value="item.value"
-              />
+            <label class="ss-flex ss-col-center ss-p-y-10" v-for="(item, index) in state.refundTypeList" :key="index">
+              <radio :checked="formData.type === item.value" color="var(--ui-BG-Main)" style="transform: scale(0.8)"
+                :value="item.value" />
               <view class="item-value ss-m-l-8">{{ item.text }}</view>
             </label>
           </radio-group>
@@ -47,13 +35,8 @@
       <view class="refund-item u-m-b-20">
         <view class="item-title ss-m-b-20">联系方式</view>
         <view class="input-box u-flex">
-          <uni-easyinput
-            :inputBorder="false"
-            type="number"
-            v-model="formData.mobile"
-            placeholder="请输入您的联系电话"
-            paddingLeft="10"
-          />
+          <uni-easyinput :inputBorder="false" type="number" v-model="formData.mobile" placeholder="请输入您的联系电话"
+            paddingLeft="10" />
         </view>
       </view>
 
@@ -61,23 +44,11 @@
       <view class="refund-item">
         <view class="item-title ss-m-b-20">相关描述</view>
         <view class="describe-box">
-          <uni-easyinput
-            :inputBorder="false"
-            class="describe-content"
-            type="textarea"
-            maxlength="120"
-            autoHeight
-            v-model="formData.content"
-            placeholder="客官~请描述您遇到的问题,建议上传照片"
-          ></uni-easyinput>
+          <uni-easyinput :inputBorder="false" class="describe-content" type="textarea" maxlength="120" autoHeight
+            v-model="formData.content" placeholder="客官~请描述您遇到的问题,建议上传照片"></uni-easyinput>
           <view class="upload-img">
-            <s-uploader
-              v-model:url="formData.images"
-              fileMediatype="image"
-              limit="9"
-              mode="grid"
-              :imageStyles="{ width: '168rpx', height: '168rpx' }"
-            />
+            <s-uploader v-model:url="formData.images" fileMediatype="image" limit="9" mode="grid"
+              :imageStyles="{ width: '168rpx', height: '168rpx' }" />
           </view>
         </view>
       </view>
@@ -86,9 +57,7 @@
     <su-fixed bottom placeholder>
       <view class="foot-wrap">
         <view class="foot_box ss-flex ss-col-center ss-row-between ss-p-x-30">
-          <button class="ss-reset-button contcat-btn" @tap="sheep.$router.go('/pages/chat/index')"
-            >联系客服</button
-          >
+          <button class="ss-reset-button contcat-btn" @tap="sheep.$router.go('/pages/chat/index')">联系客服</button>
           <button class="ss-reset-button ui-BG-Main-Gradient sub-btn" @tap="submit">提交</button>
         </view>
       </view>
@@ -97,29 +66,17 @@
 
     <su-popup :show="state.showModal" round="10" :showClose="true" @close="state.showModal = false">
       <view class="modal-box page_box">
-        <view class="modal-head item-title head_box ss-flex ss-row-center ss-col-center"
-          >申请原因</view
-        >
+        <view class="modal-head item-title head_box ss-flex ss-row-center ss-col-center">申请原因</view>
         <view class="modal-content content_box">
           <radio-group @change="onChange">
-            <label
-              class="radio ss-flex ss-col-center"
-              v-for="item in state.refundReasonList"
-              :key="item.value"
-            >
+            <label class="radio ss-flex ss-col-center" v-for="item in state.refundReasonList" :key="item.value">
               <view class="ss-flex-1 ss-p-20">{{ item.title }}</view>
-              <radio
-                :value="item.value"
-                color="var(--ui-BG-Main)"
-                :checked="item.value === state.currentValue"
-              />
+              <radio :value="item.value" color="var(--ui-BG-Main)" :checked="item.value === state.currentValue" />
             </label>
           </radio-group>
         </view>
         <view class="modal-foot foot_box ss-flex ss-row-center ss-col-center">
-          <button class="ss-reset-button close-btn ui-BG-Main-Gradient" @tap="onReason"
-            >确定</button
-          >
+          <button class="ss-reset-button close-btn ui-BG-Main-Gradient" @tap="onReason">确定</button>
         </view>
       </view>
     </su-popup>
@@ -127,232 +84,235 @@
 </template>
 
 <script setup>
-  import sheep from '@/sheep';
-  import { onLoad } from '@dcloudio/uni-app';
-  import { reactive, ref, unref } from 'vue';
-  const form = ref(null);
-  const state = reactive({
-    showModal: false,
-    currentValue: 0,
-    goodsItem: {},
-    // showSuccess: false,
-    reasonText: '',
-    //售后类型
-    refundTypeList: [
-      {
-        text: '仅退款',
-        value: 'refund',
-      },
-      {
-        text: '退/换货',
-        value: 'return',
-      },
-      {
-        text: '其他',
-        value: 'other',
-      },
-    ],
-    refundReasonList: [
-      {
-        value: '1',
-        title: '卖家发错货了',
-      },
-      {
-        value: '2',
-        title: '退运费',
-      },
-      {
-        value: '3',
-        title: '大小/重量与商品描述不符',
-      },
-      {
-        value: '4',
-        title: '生产日期/保质期与商品描述不符',
-      },
-      {
-        value: '5',
-        title: '质量问题',
-      },
-      {
-        value: '6',
-        title: '我不想要了',
-      },
-    ],
-  });
-  const formData = reactive({
-    type: '',
-    reason: '',
-    mobile: '',
-    content: '',
-    images: [],
-  });
-  const rules = reactive({});
-
-  // 提交表单
-  async function submit() {
-    let data = {
-      ...formData,
-      order_id: state.goodsItem.order_id,
-      order_item_id: state.goodsItem.id,
-    };
-    const res = await sheep.$api.order.aftersale.apply(data);
-    if (res.error === 0) {
-      uni.showToast({
-        title: res.msg,
-      });
-      // state.showSuccess = true;
-      sheep.$router.go('/pages/order/aftersale/list');
-    }
-  }
+import sheep from '@/sheep';
+import { onLoad } from '@dcloudio/uni-app';
+import { reactive, ref, unref } from 'vue';
+const form = ref(null);
+const state = reactive({
+  showModal: false,
+  currentValue: 0,
+  goodsItem: {},
+  reasonText: '',
+  //售后类型
+  refundTypeList: [
+    {
+      text: '仅退款',
+      value: 'refund',
+    },
+    {
+      text: '退/换货',
+      value: 'return',
+    },
+    {
+      text: '其他',
+      value: 'other',
+    },
+  ],
+  refundReasonList: [
+    {
+      value: '1',
+      title: '卖家发错货了',
+    },
+    {
+      value: '2',
+      title: '退运费',
+    },
+    {
+      value: '3',
+      title: '大小/重量与商品描述不符',
+    },
+    {
+      value: '4',
+      title: '生产日期/保质期与商品描述不符',
+    },
+    {
+      value: '5',
+      title: '质量问题',
+    },
+    {
+      value: '6',
+      title: '我不想要了',
+    },
+  ],
+});
+const formData = reactive({
+  type: '',
+  reason: '',
+  mobile: '',
+  content: '',
+  images: [],
+});
+const rules = reactive({});
 
-  //选择售后类型
-  function onRefundChange(e) {
-    formData.type = e.detail.value;
-  }
-
-  //选择申请原因
-  function onChange(e) {
-    state.currentValue = e.detail.value;
-    state.refundReasonList.forEach((item) => {
-      if (item.value === e.detail.value) {
-        state.reasonText = item.title;
-      }
+// 提交表单
+async function submit() {
+  // #ifdef MP
+  sheep.$platform.useProvider('wechat').subscribeMessage('order_aftersale_change');
+  // #endif
+  let data = {
+    ...formData,
+    order_id: state.goodsItem.order_id,
+    order_item_id: state.goodsItem.id,
+  };
+  const res = await sheep.$api.order.aftersale.apply(data);
+  if (res.error === 0) {
+    uni.showToast({
+      title: res.msg,
     });
+    sheep.$router.go('/pages/order/aftersale/list');
   }
-  //确定
-  function onReason() {
-    formData.reason = state.reasonText;
-    state.showModal = false;
-  }
+}
 
-  function onTitle(e, title) {
-    state.currentValue = e;
-    state.reasonText = title;
-  }
-  onLoad((options) => {
-    state.goodsItem = JSON.parse(options.item);
+//选择售后类型
+function onRefundChange(e) {
+  formData.type = e.detail.value;
+}
+
+//选择申请原因
+function onChange(e) {
+  state.currentValue = e.detail.value;
+  state.refundReasonList.forEach((item) => {
+    if (item.value === e.detail.value) {
+      state.reasonText = item.title;
+    }
   });
+}
+//确定
+function onReason() {
+  formData.reason = state.reasonText;
+  state.showModal = false;
+}
+
+function onTitle(e, title) {
+  state.currentValue = e;
+  state.reasonText = title;
+}
+onLoad((options) => {
+  state.goodsItem = JSON.parse(options.item);
+});
 </script>
 
 <style lang="scss" scoped>
-  .item-title {
-    font-size: 30rpx;
-    font-weight: bold;
-    color: rgba(51, 51, 51, 1);
-    // margin-bottom: 20rpx;
+.item-title {
+  font-size: 30rpx;
+  font-weight: bold;
+  color: rgba(51, 51, 51, 1);
+  // margin-bottom: 20rpx;
+}
+
+// 售后项目
+.refund-item {
+  background-color: #fff;
+  border-bottom: 1rpx solid #f5f5f5;
+  padding: 30rpx;
+
+  &:last-child {
+    border: none;
   }
 
-  // 售后项目
-  .refund-item {
-    background-color: #fff;
-    border-bottom: 1rpx solid #f5f5f5;
+  // 留言
+  .describe-box {
+    width: 690rpx;
+    background: rgba(249, 250, 251, 1);
     padding: 30rpx;
-    &:last-child {
-      border: none;
-    }
-    // 留言
-    .describe-box {
-      width: 690rpx;
-      background: rgba(249, 250, 251, 1);
-      padding: 30rpx;
-      box-sizing: border-box;
-      border-radius: 20rpx;
-
-      .describe-content {
-        height: 200rpx;
-        font-size: 24rpx;
-        font-weight: 400;
-        color: #333;
-      }
-    }
+    box-sizing: border-box;
+    border-radius: 20rpx;
 
-    // 联系方式
-    .input-box {
-      height: 84rpx;
-      background: rgba(249, 250, 251, 1);
-      border-radius: 20rpx;
+    .describe-content {
+      height: 200rpx;
+      font-size: 24rpx;
+      font-weight: 400;
+      color: #333;
     }
   }
 
-  .goods-box {
-    background: #fff;
-    padding: 20rpx;
-    margin-bottom: 20rpx;
+  // 联系方式
+  .input-box {
+    height: 84rpx;
+    background: rgba(249, 250, 251, 1);
+    border-radius: 20rpx;
   }
+}
 
-  .foot-wrap {
-    height: 100rpx;
-    width: 100%;
-  }
+.goods-box {
+  background: #fff;
+  padding: 20rpx;
+  margin-bottom: 20rpx;
+}
 
-  .foot_box {
-    height: 100rpx;
-    background-color: #fff;
+.foot-wrap {
+  height: 100rpx;
+  width: 100%;
+}
 
-    .sub-btn {
-      width: 336rpx;
-      line-height: 74rpx;
-      border-radius: 38rpx;
-      color: rgba(#fff, 0.9);
-      font-size: 28rpx;
-    }
+.foot_box {
+  height: 100rpx;
+  background-color: #fff;
 
-    .contcat-btn {
-      width: 336rpx;
-      line-height: 74rpx;
-      background: rgba(238, 238, 238, 1);
-      border-radius: 38rpx;
-      font-size: 28rpx;
-      font-weight: 400;
-      color: rgba(51, 51, 51, 1);
-    }
+  .sub-btn {
+    width: 336rpx;
+    line-height: 74rpx;
+    border-radius: 38rpx;
+    color: rgba(#fff, 0.9);
+    font-size: 28rpx;
   }
 
-  .modal-box {
-    width: 750rpx;
-    // height: 680rpx;
-    border-radius: 30rpx 30rpx 0 0;
-    background: #fff;
+  .contcat-btn {
+    width: 336rpx;
+    line-height: 74rpx;
+    background: rgba(238, 238, 238, 1);
+    border-radius: 38rpx;
+    font-size: 28rpx;
+    font-weight: 400;
+    color: rgba(51, 51, 51, 1);
+  }
+}
 
-    .modal-head {
-      height: 100rpx;
-      font-size: 30rpx;
-    }
+.modal-box {
+  width: 750rpx;
+  // height: 680rpx;
+  border-radius: 30rpx 30rpx 0 0;
+  background: #fff;
 
-    .modal-content {
-      font-size: 28rpx;
-    }
+  .modal-head {
+    height: 100rpx;
+    font-size: 30rpx;
+  }
 
-    .modal-foot {
-      .close-btn {
-        width: 710rpx;
-        line-height: 80rpx;
-        border-radius: 40rpx;
-        color: rgba(#fff, 0.9);
-      }
+  .modal-content {
+    font-size: 28rpx;
+  }
+
+  .modal-foot {
+    .close-btn {
+      width: 710rpx;
+      line-height: 80rpx;
+      border-radius: 40rpx;
+      color: rgba(#fff, 0.9);
     }
   }
+}
 
-  .success-box {
-    width: 600rpx;
-    padding: 90rpx 0 64rpx 0;
+.success-box {
+  width: 600rpx;
+  padding: 90rpx 0 64rpx 0;
 
-    .cicon-check-round {
-      font-size: 96rpx;
-      color: #04b750;
-    }
+  .cicon-check-round {
+    font-size: 96rpx;
+    color: #04b750;
+  }
 
-    .success-title {
-      font-weight: 500;
-      color: #333333;
-      font-size: 32rpx;
-    }
+  .success-title {
+    font-weight: 500;
+    color: #333333;
+    font-size: 32rpx;
+  }
 
-    .success-btn {
-      width: 492rpx;
-      height: 70rpx;
-      background: linear-gradient(90deg, var(--ui-BG-Main-gradient), var(--ui-BG-Main));
-      border-radius: 35rpx;
-    }
+  .success-btn {
+    width: 492rpx;
+    height: 70rpx;
+    background: linear-gradient(90deg, var(--ui-BG-Main-gradient), var(--ui-BG-Main));
+    border-radius: 35rpx;
   }
+}
 </style>

+ 1 - 1
pages/order/list.vue

@@ -394,7 +394,7 @@
       success: async function (res) {
         if (res.confirm) {
           // #ifdef MP
-          sheep.$platform.useProvider('wechat').subscribeMessage('order_apply_refund');
+          sheep.$platform.useProvider('wechat').subscribeMessage('order_refund');
           // #endif
           const { error, data } = await sheep.$api.order.applyRefund(orderId);
           if (error === 0) {

+ 186 - 202
pages/pay/recharge.vue

@@ -1,53 +1,34 @@
 <template>
   <s-layout title="充值" class="withdraw-wrap" navbar="inner">
-    <view
-      class="wallet-num-box ss-flex ss-col-center ss-row-between"
-      :style="[
-        {
-          marginTop: '-' + Number(statusBarHeight + 88) + 'rpx',
-          paddingTop: Number(statusBarHeight + 108) + 'rpx',
-        },
-      ]"
-    >
+    <view class="wallet-num-box ss-flex ss-col-center ss-row-between" :style="[
+      {
+        marginTop: '-' + Number(statusBarHeight + 88) + 'rpx',
+        paddingTop: Number(statusBarHeight + 108) + 'rpx',
+      },
+    ]">
       <view class="">
         <view class="num-title">当前余额(元)</view>
         <view class="wallet-num">{{ userInfo.money }}</view>
       </view>
-      <button class="ss-reset-button log-btn" @tap="sheep.$router.go('/pages/pay/recharge-log')"
-        >充值记录</button
-      >
+      <button class="ss-reset-button log-btn" @tap="sheep.$router.go('/pages/pay/recharge-log')">充值记录</button>
     </view>
     <view class="recharge-box">
       <view class="recharge-card-box" v-if="state.data.status">
         <view class="input-label ss-m-b-50">充值金额</view>
         <view class="input-box ss-flex border-bottom ss-p-b-20" v-if="state.data.custom_status">
           <view class="unit">¥</view>
-          <uni-easyinput
-            v-model="state.recharge_money"
-            type="digit"
-            placeholder="请输入充值金额"
-            :inputBorder="false"
-          >
+          <uni-easyinput v-model="state.recharge_money" type="digit" placeholder="请输入充值金额" :inputBorder="false">
           </uni-easyinput>
         </view>
         <view class="face-value-box ss-flex ss-flex-wrap ss-m-y-40">
-          <button
-            class="ss-reset-button face-value-btn"
-            v-for="item in state.faceValueList"
-            :key="item.money"
-            :class="[{ 'btn-active': state.recharge_money == parseFloat(item.money) }]"
-            @tap="onCard(item.money)"
-          >
+          <button class="ss-reset-button face-value-btn" v-for="item in state.faceValueList" :key="item.money"
+            :class="[{ 'btn-active': state.recharge_money == parseFloat(item.money) }]" @tap="onCard(item.money)">
             <text class="face-value-title">{{ item.money }}</text>
             <view v-if="item.gift" class="face-value-tag">
-              送{{ item.gift }}{{ state.data.gift_type == 'money' ? '元' : '积分' }}</view
-            >
+              送{{ item.gift }}{{ state.data.gift_type == 'money' ? '元' : '积分' }}</view>
           </button>
         </view>
-        <button
-          class="ss-reset-button save-btn ui-BG-Main-Gradient ss-m-t-60 ui-Shadow-Main"
-          @tap="onConfirm"
-        >
+        <button class="ss-reset-button save-btn ui-BG-Main-Gradient ss-m-t-60 ui-Shadow-Main" @tap="onConfirm">
           确认充值
         </button>
       </view>
@@ -57,210 +38,213 @@
 </template>
 
 <script setup>
-  import { computed, reactive } from 'vue';
-  import sheep from '@/sheep';
-  import { onLoad } from '@dcloudio/uni-app';
+import { computed, reactive } from 'vue';
+import sheep from '@/sheep';
+import { onLoad } from '@dcloudio/uni-app';
+
+const userInfo = computed(() => sheep.$store('user').userInfo);
+const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
+const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png');
+
+const state = reactive({
+  recharge_money: '',
+  data: {},
+  faceValueList: [],
+});
+// 点击卡片
+
+function onCard(e) {
+  state.recharge_money = e;
+}
+async function getRechargeTabs() {
+  const res = await sheep.$api.trade.rechargeRules();
+  if (res.error === 0) {
+    state.data = res.data;
+    state.data.status = res.data.status;
+    state.faceValueList = res.data.quick_amounts;
+  }
+}
 
-  const userInfo = computed(() => sheep.$store('user').userInfo);
-  const statusBarHeight = sheep.$platform.device.statusBarHeight * 2;
-  const headerBg = sheep.$url.css('/static/img/shop/user/withdraw_bg.png');
+function onChange(e) {
+  state.data.gift_type = e.detail.value;
+}
 
-  const state = reactive({
-    recharge_money: '',
-    data: {},
-    faceValueList: [],
+async function onConfirm() {
+  const { error, data } = await sheep.$api.trade.recharge({
+    recharge_money: state.recharge_money,
   });
-  // 点击卡片
+  if (error === 0) {
+    // #ifdef MP
+    sheep.$platform.useProvider('wechat').subscribeMessage('money_change');
+    // #endif
+    sheep.$router.go('/pages/pay/index', { orderSN: data.order_sn, type: 'recharge' });
+  }
+}
+onLoad(() => {
+  getRechargeTabs();
+});
+</script>
 
-  function onCard(e) {
-    state.recharge_money = e;
+<style lang="scss" scoped>
+:deep() {
+  .uni-input-input {
+    font-family: OPPOSANS !important;
   }
-  async function getRechargeTabs() {
-    const res = await sheep.$api.trade.rechargeRules();
-    if (res.error === 0) {
-      state.data = res.data;
-      state.data.status = res.data.status;
-      state.faceValueList = res.data.quick_amounts;
-    }
+}
+
+.wallet-num-box {
+  padding: 0 40rpx 80rpx;
+  background: var(--ui-BG-Main) v-bind(headerBg) center/750rpx 100% no-repeat;
+  border-radius: 0 0 5% 5%;
+
+  .num-title {
+    font-size: 26rpx;
+    font-weight: 500;
+    color: $white;
+    margin-bottom: 20rpx;
   }
 
-  function onChange(e) {
-    state.data.gift_type = e.detail.value;
+  .wallet-num {
+    font-size: 60rpx;
+    font-weight: 500;
+    color: $white;
+    font-family: OPPOSANS;
   }
 
-  async function onConfirm() {
-    const { error, data } = await sheep.$api.trade.recharge({
-      recharge_money: state.recharge_money,
-    });
-    if (error === 0) {
-      sheep.$router.go('/pages/pay/index', { orderSN: data.order_sn, type: 'recharge' });
-    }
+  .log-btn {
+    width: 170rpx;
+    height: 60rpx;
+    line-height: 60rpx;
+    border: 1rpx solid $white;
+    border-radius: 30rpx;
+    padding: 0;
+    font-size: 26rpx;
+    font-weight: 500;
+    color: $white;
   }
-  onLoad(() => {
-    getRechargeTabs();
-  });
-</script>
-
-<style lang="scss" scoped>
-  :deep() {
-    .uni-input-input {
-      font-family: OPPOSANS !important;
-    }
+}
+
+.recharge-box {
+  position: relative;
+  padding: 0 30rpx;
+  margin-top: -60rpx;
+}
+
+.save-btn {
+  width: 620rpx;
+  height: 86rpx;
+  border-radius: 44rpx;
+  font-size: 30rpx;
+}
+
+.recharge-card-box {
+  width: 690rpx;
+  background: var(--ui-BG);
+  border-radius: 20rpx;
+  padding: 30rpx;
+  box-sizing: border-box;
+
+  .input-label {
+    font-size: 30rpx;
+    font-weight: 500;
+    color: #333;
   }
 
-  .wallet-num-box {
-    padding: 0 40rpx 80rpx;
-    background: var(--ui-BG-Main) v-bind(headerBg) center/750rpx 100% no-repeat;
-    border-radius: 0 0 5% 5%;
-
-    .num-title {
-      font-size: 26rpx;
-      font-weight: 500;
-      color: $white;
-      margin-bottom: 20rpx;
-    }
-
-    .wallet-num {
-      font-size: 60rpx;
-      font-weight: 500;
-      color: $white;
-      font-family: OPPOSANS;
-    }
-
-    .log-btn {
-      width: 170rpx;
-      height: 60rpx;
-      line-height: 60rpx;
-      border: 1rpx solid $white;
-      border-radius: 30rpx;
-      padding: 0;
-      font-size: 26rpx;
-      font-weight: 500;
-      color: $white;
-    }
+  .unit {
+    display: flex;
+    align-items: center;
+    font-size: 48rpx;
+    font-weight: 500;
   }
 
-  .recharge-box {
-    position: relative;
-    padding: 0 30rpx;
-    margin-top: -60rpx;
+  .uni-easyinput__placeholder-class {
+    font-size: 30rpx;
+    height: 60rpx;
+    display: flex;
+    align-items: center;
   }
 
-  .save-btn {
-    width: 620rpx;
-    height: 86rpx;
-    border-radius: 44rpx;
-    font-size: 30rpx;
+  :deep(.uni-easyinput__content-input) {
+    font-size: 48rpx;
   }
 
-  .recharge-card-box {
-    width: 690rpx;
-    background: var(--ui-BG);
-    border-radius: 20rpx;
-    padding: 30rpx;
-    box-sizing: border-box;
+  .face-value-btn {
+    width: 200rpx;
+    height: 144rpx;
+    border: 1px solid var(--ui-BG-Main);
+    border-radius: 10rpx;
+    position: relative;
+    z-index: 1;
+    margin-bottom: 15rpx;
+    margin-right: 15rpx;
 
-    .input-label {
-      font-size: 30rpx;
-      font-weight: 500;
-      color: #333;
+    &:nth-of-type(3n) {
+      margin-right: 0;
     }
 
-    .unit {
-      display: flex;
-      align-items: center;
-      font-size: 48rpx;
+    .face-value-title {
+      font-size: 36rpx;
       font-weight: 500;
-    }
+      color: var(--ui-BG-Main);
+      font-family: OPPOSANS;
 
-    .uni-easyinput__placeholder-class {
-      font-size: 30rpx;
-      height: 60rpx;
-      display: flex;
-      align-items: center;
+      &::after {
+        content: '元';
+        font-size: 24rpx;
+        margin-left: 6rpx;
+      }
     }
 
-    :deep(.uni-easyinput__content-input) {
-      font-size: 48rpx;
+    .face-value-tag {
+      position: absolute;
+      z-index: 2;
+      height: 40rpx;
+      line-height: 40rpx;
+      background: var(--ui-BG-Main);
+      opacity: 0.8;
+      border-radius: 10rpx 0 20rpx 0;
+      top: 0;
+      left: -2rpx;
+      padding: 0 16rpx;
+      font-size: 22rpx;
+      color: $white;
+      font-family: OPPOSANS;
     }
 
-    .face-value-btn {
-      width: 200rpx;
-      height: 144rpx;
-      border: 1px solid var(--ui-BG-Main);
-      border-radius: 10rpx;
-      position: relative;
-      z-index: 1;
-      margin-bottom: 15rpx;
-      margin-right: 15rpx;
-
-      &:nth-of-type(3n) {
-        margin-right: 0;
-      }
-
-      .face-value-title {
-        font-size: 36rpx;
-        font-weight: 500;
-        color: var(--ui-BG-Main);
-        font-family: OPPOSANS;
-
-        &::after {
-          content: '元';
-          font-size: 24rpx;
-          margin-left: 6rpx;
-        }
-      }
+    &::before {
+      position: absolute;
+      content: ' ';
+      width: 100%;
+      height: 100%;
+      background: var(--ui-BG-Main);
+      opacity: 0.1;
+      z-index: 0;
+      left: 0;
+      top: 0;
+    }
+  }
 
-      .face-value-tag {
-        position: absolute;
-        z-index: 2;
-        height: 40rpx;
-        line-height: 40rpx;
-        background: var(--ui-BG-Main);
-        opacity: 0.8;
-        border-radius: 10rpx 0 20rpx 0;
-        top: 0;
-        left: -2rpx;
-        padding: 0 16rpx;
-        font-size: 22rpx;
-        color: $white;
-        font-family: OPPOSANS;
-      }
+  .btn-active {
+    z-index: 1;
 
-      &::before {
-        position: absolute;
-        content: ' ';
-        width: 100%;
-        height: 100%;
-        background: var(--ui-BG-Main);
-        opacity: 0.1;
-        z-index: 0;
-        left: 0;
-        top: 0;
-      }
+    &::before {
+      content: '';
+      background: var(--ui-BG-Main);
+      opacity: 1;
     }
 
-    .btn-active {
+    .face-value-title {
+      color: $white;
+      position: relative;
       z-index: 1;
+      font-family: OPPOSANS;
+    }
 
-      &::before {
-        content: '';
-        background: var(--ui-BG-Main);
-        opacity: 1;
-      }
-
-      .face-value-title {
-        color: $white;
-        position: relative;
-        z-index: 1;
-        font-family: OPPOSANS;
-      }
-
-      .face-value-tag {
-        background: $white;
-        color: var(--ui-BG-Main);
-        font-family: OPPOSANS;
-      }
+    .face-value-tag {
+      background: $white;
+      color: var(--ui-BG-Main);
+      font-family: OPPOSANS;
     }
   }
+}
 </style>

+ 2 - 2
sheep/platform/pay.js

@@ -135,7 +135,7 @@ export default class SheepPay {
     const { error, data } = await this.prepay();
     if (error === 0) {
       const redirect_url = `${getRootUrl()}pages/pay/result?orderSN=${this.orderSN}&payment=${this.payment
-        }`;
+        }&orderType=${this.orderType}`;
       location.href = `${data.pay_data.h5_url}&redirect_url=${encodeURIComponent(redirect_url)}`;
     }
   }
@@ -145,7 +145,7 @@ export default class SheepPay {
     let { error, data } = await this.prepay();
     if (error === 0) {
       const redirect_url = `${getRootUrl()}pages/pay/result?orderSN=${this.orderSN}&payment=${this.payment
-        }`;
+        }&orderType=${this.orderType}`;
       location.href = data.pay_data + encodeURIComponent(redirect_url);
     }
   }

+ 1 - 1
vite.config.js

@@ -3,7 +3,7 @@ import uni from '@dcloudio/vite-plugin-uni';
 import path from 'path';
 // import viteCompression from 'vite-plugin-compression';
 import uniReadPagesV3Plugin from './sheep/router/utils/uni-read-pages-v3';
-import mpliveMainfestPlugin from './sheep/libs/mpLive-manifest-plugin';
+import mpliveMainfestPlugin from './sheep/libs/mplive-manifest-plugin';
 
 
 // https://vitejs.dev/config/