lex-xin 4 月之前
父节点
当前提交
fc8c03f05f

+ 1 - 1
miniprogram/config.ts

@@ -1,4 +1,4 @@
-const environmentVariable = "dev";
+const environmentVariable = "test";
 const apiUrlInfo = {
   dev: "https://dev.kt.colexiu.com",
   test: "https://test.kt.colexiu.com",

+ 8 - 2
miniprogram/pages/index/index.less

@@ -93,7 +93,7 @@ page {
     color: #AAAAAA;
     line-height: 44rpx;
     text-decoration: line-through;
-    padding-bottom: 14rpx;
+    padding-bottom: 12rpx;
   }
   .right {
     padding-top: 14rpx;
@@ -233,6 +233,10 @@ page {
       color: #FFFFFF;
       padding-top: 0;
       padding-bottom: 0;
+
+      &[disabled][type=primary] {
+        opacity: 0.7;
+      }
     }
   }
 }
@@ -282,6 +286,8 @@ page {
       height: 160rpx;
       flex-shrink: 0;
       margin-right: 32rpx;
+      border-radius: 6px;
+      overflow: hidden;
       image {
         width: 100%;
         height: 100%;
@@ -310,7 +316,7 @@ page {
         color: #AAAAAA;
         line-height: 44rpx;
         text-decoration: line-through;
-        padding-top: 28rpx;
+        padding-top: 30rpx;
       }
     }
   }

+ 14 - 45
miniprogram/pages/index/index.ts

@@ -17,6 +17,7 @@ Page({
     duration: 500,
     popupShow: false,
     list: [] as any,
+    isOverSaled: false, // 是否所有商品都没有库存
     selected: {} as any,
   },
 
@@ -34,18 +35,28 @@ Page({
       const { data } = await api_shopProduct({ appId: app.globalData.appId });
       const list = data.data || []
       let selected: any = {}
+      let isOverSaled = true // 是否销售完
       list.forEach((item: any) => {
         item.originalPrice = this.formatPrice(item.originalPrice, 'ALL');
         item.typeName = this.formatPeriod(item.num, item.period);
         const prices: any = this.formatPrice(item.salePrice)
         item.integerPart = prices.integerPart
         item.decimalPart = prices.decimalPart
-        if(item.stockNum > 0 && !selected.id) {
-          selected = item
+        if(item.stockNum > 0) {
+          isOverSaled = false
+          if( !selected.id) {
+            selected = item
+          }
         }
       });
+      if(isOverSaled) {
+        // 没有可购买商品则默认选中第一个商品
+        selected = list[0]
+      }
+
       this.setData({
         list,
+        isOverSaled,
         selected
       })
     } catch(e) {
@@ -152,51 +163,9 @@ Page({
     }, 500)()
   },
   /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady() {
-
-  },
-
-  /**
    * 生命周期函数--监听页面显示
    */
   onShow() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload() {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh() {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom() {
-
+    this.onInit()
   },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage() {
-
-  }
 })

+ 3 - 3
miniprogram/pages/index/index.wxml

@@ -1,5 +1,5 @@
 <!--index.wxml-->
-<scroll-view class="scrollarea" scroll-y type="list">
+<scroll-view class="scrollarea" scroll-y="{{popupShow ? false : true}}" type="list">
   <view class="container">
     <view class="topShadow"></view>
     <view class="slider-count">{{current + 1}}/{{5}}</view>
@@ -39,7 +39,7 @@
             <text class="priceZ">{{ selected.integerPart || 0 }}</text>
             <text class="priceF">.{{ selected.decimalPart || '00' }}</text>
           </view>
-          <view class="originPrice">¥{{ selected.originalPrice || '0.00' }}</view>
+          <view class="originPrice" wx:if="{{ selected.originalPrice > selected.salePrice }}">¥{{ selected.originalPrice || '0.00' }}</view>
         </view>
         <view class="right">
           已售100w+
@@ -76,7 +76,7 @@
         <text>订单</text>
       </view>
       <view class="btnSection">
-        <button bind:tap="onBuyShop" type="primary">立即购买</button>
+        <button bind:tap="onBuyShop" type="primary" disabled="{{ isOverSaled }}">立即购买</button>
       </view>
     </view>
 

+ 2 - 0
miniprogram/pages/login/login.less

@@ -11,6 +11,8 @@
   image {
     width: 160rpx;
     height: 160rpx;
+    border-radius: 50%;
+    overflow: hidden;
   }
   .appname {
     padding-top: 40rpx;

+ 1 - 1
miniprogram/pages/login/login.wxml

@@ -3,7 +3,7 @@
   <navigation-bar title="登录" ></navigation-bar>
   <view class="appInfo">
     <image src="https://oss.dayaedu.com/gyt/basic/1690793313834.png"></image>
-    <text class="appname">小程序名称</text>
+    <text class="appname">音乐数字AI</text>
   </view>
   <view class="login-section">
     <view class="btnSection">

+ 4 - 1
miniprogram/pages/orders/order-detail.less

@@ -48,6 +48,8 @@ page {
     height: 160rpx;
     margin-right: 24rpx;
     flex-shrink: 0;
+    border-radius: 6px;
+    overflow: hidden;
   }
 
   .goods-desc {
@@ -82,6 +84,7 @@ page {
   .goods-type {
     display: flex;
     justify-content: space-between;
+    align-items: center;
     padding-top: 12rpx;
     .goods-card {
       height: 40rpx;
@@ -89,7 +92,7 @@ page {
       border-radius: 6rpx;
       font-size: 26rpx;
       color: #FE2451;
-      line-height: 36rpx;
+      line-height: 40rpx;
       padding: 0 12rpx;
     }
     .goods-num {

+ 18 - 2
miniprogram/pages/orders/order-detail.ts

@@ -86,7 +86,7 @@ Page({
           "paymentCashAmount": salePrice,
           "paymentCouponAmount": 0,
           "shopId": shopId,
-          "opneId": app.globalData.userInfo?.liteOpenid,
+          "openId": app.globalData.userInfo?.liteOpenid,
           "goodsInfos": [{
             "goodsId": id,
             "goodsNum": 1,
@@ -100,6 +100,20 @@ Page({
         if (data.code === 200) {
           const { paymentConfig, paymentType, orderNo } = data.data
           this.onExecutePay(paymentConfig, paymentType, orderNo)
+          
+          // 测试h5页面支付流程
+          // const params = {
+          //   paymentType: 'adapay-cooleshow-6560',
+          //   pay_channel: 'wx_pub',
+          //   wxAppId: 'wxbde13f59d40cb4f2',
+          //   body: 'aaa',
+          //   price: '0.01',
+          //   orderNo,
+          //   userId: app.globalData.userInfo?.id
+          // }
+          // wx.navigateTo({
+          //   url: '../protocol/register?orderInfo=' + encodeURIComponent(JSON.stringify(params))
+          // })
         } else {
           this.onPayError()
         }
@@ -113,11 +127,13 @@ Page({
       success: async (wxres: any) => {
         const res = await api_executePayment({
           merOrderNo: paymentConfig.merOrderNo,
-          paymentChannel: this.data.paymentChannel || 'wx_lite',
+          paymentChannel: this.data.paymentChannel || 'wx_lite', // 'wx_pub', //
           paymentType,
           userId: app.globalData.userInfo?.id,
           code: wxres.code,
           wxMiniAppId: app.globalData.appId
+          // code: '011yjYkl289aye4q2zml24UEWT3yjYkn',
+          // wxPubAppId: 'wxbde13f59d40cb4f2'
         })
         wx.hideLoading()
         if(res.data.code === 200) {

+ 0 - 3
miniprogram/pages/orders/order-detail.wxml

@@ -25,9 +25,6 @@
           </view>
         </view>
       </view>
-      <!-- <view class="qrcode-section">
-        <canvas canvas-id="qrcode"></canvas>
-      </view> -->
     </view>
 
     <!-- <view class="order-time">

+ 4 - 2
miniprogram/pages/orders/order-result.less

@@ -49,6 +49,8 @@ page {
     height: 160rpx;
     margin-right: 24rpx;
     flex-shrink: 0;
+    border-radius: 6px;
+    overflow: hidden;
   }
 
   .goods-desc {
@@ -83,14 +85,14 @@ page {
   .goods-type {
     display: flex;
     justify-content: space-between;
+    align-items: center;
     padding-top: 12rpx;
     .goods-card {
-      height: 40rpx;
       background: #FEEDF0;
       border-radius: 6rpx;
       font-size: 26rpx;
       color: #FE2451;
-      line-height: 36rpx;
+      line-height: 40rpx;
       padding: 0 12rpx;
     }
     .goods-num {

+ 6 - 2
miniprogram/pages/orders/order-result.ts

@@ -96,9 +96,14 @@ Page({
         if(result.wechatStatus != 'CLOSED' || result.wechatStatus != 'WAIT_PAY') {
           const firstGoods = tempGoods[0]
           if(firstGoods?.shortUrl) {
-            this.createQrCode(firstGoods?.shortUrl, 'canvasCode')
+            this.setData({
+              showCanvas: true
+            }, () => {
+              this.createQrCode(firstGoods?.shortUrl, 'canvasCode')
+            })
           }
         }
+        
       }
     } catch (error) {
       console.log(error, "error");
@@ -163,7 +168,6 @@ Page({
               canvasId: canvasId,
               success: (res) => {
                 this.setData({
-                  showCanvas: true,
                   canvasImg: res.tempFilePath,
                 });
               },

+ 7 - 4
miniprogram/pages/orders/orders.less

@@ -42,10 +42,11 @@ page {
           &::before {
               content: "";
               position: absolute;
-              left: 0;
+              left: 50%;
+              margin-left: -24rpx;
               bottom: -8rpx;
               z-index: -1;
-              width: 100%;
+              width: 48rpx;
               height: 8rpx;
               background: linear-gradient( 90deg, #FF3C3C 0%, rgba(255,118,155,0.5) 100%);
               border-radius: 72rpx 72rpx 0rpx 0rpx;
@@ -98,6 +99,8 @@ page {
       height: 160rpx;
       margin-right: 24rpx;
       flex-shrink: 0;
+      border-radius: 6px;
+      overflow: hidden;
     }
 
     .goods-desc {
@@ -132,14 +135,14 @@ page {
     .goods-type {
       display: flex;
       justify-content: space-between;
+      align-items: center;
       padding-top: 12rpx;
       .goods-card {
-        height: 40rpx;
         background: #FEEDF0;
         border-radius: 6rpx;
         font-size: 26rpx;
         color: #FE2451;
-        line-height: 36rpx;
+        line-height: 40rpx;
         padding: 0 12rpx;
       }
       .goods-num {

+ 11 - 1
miniprogram/pages/protocol/register.ts

@@ -13,7 +13,7 @@ Page({
    * 生命周期函数--监听页面加载
    */
   onLoad(options: any) {
-    console.log(options)
+    // console.log(options)
     if(options.type) {
       if(options.type === "privacy") {
         this.setData({
@@ -25,6 +25,16 @@ Page({
         })
       }
     }
+    // if(options.orderInfo) {
+    //   const orderInfo = JSON.parse(decodeURIComponent(options.orderInfo));
+    //   // console.log(orderInfo, app.globalData.baseUrl + `/classroom-app/?code=081xNSll2ff0xe4sb4ll2RxTRv0xNSlk#/payResult?paymentType=${orderInfo.paymentType}&pay_channel=${orderInfo.pay_channel}&wxAppId=${orderInfo.wxAppId}&body=${orderInfo.body}&price=${orderInfo.price}&orderNo=${orderInfo.orderNo}&userId=${orderInfo.userId}`)
+    //   const url = app.globalData.baseUrl + `/classroom-app/?code=0811HI0w3EfxT337iM1w3MifZf01HI0G#/payResultWechat?paymentType=${orderInfo.paymentType}&pay_channel=${orderInfo.pay_channel}&wxAppId=${orderInfo.wxAppId}&body=${orderInfo.body}&price=${orderInfo.price}&orderNo=${orderInfo.orderNo}&userId=${orderInfo.userId}`
+    //   this.setData({
+    //     src: url
+    //   }, () => {
+    //     console.log(this.data.src, 'src')
+    //   })
+    // }
   },
 
   /**