Bladeren bron

bug修复

chengjunhui 2 dagen geleden
bovenliggende
commit
673644d6f0

BIN
assets/images/home/icon_1.png


BIN
assets/images/home/icon_2.png


BIN
assets/images/home/icon_3.png


BIN
assets/images/home/icon_4.png


BIN
assets/images/home/icon_5.png


+ 87 - 0
components/bottomPopup/bottomPopup.js

@@ -0,0 +1,87 @@
+var app = getApp();
+Component({
+  options: {
+    multipleSlots: true // 在组件定义时的选项中启用多slot支持
+  },
+  /**
+   * 组件的属性列表
+   */
+  properties: {
+    title: {            // 属性名
+      type: String,     // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
+      value: '标题'     // 属性初始值(可选),如果未指定则会根据类型选择一个
+    },
+    // 弹窗内容
+    content: {
+      type: Array,
+      value: ['内容']
+    },
+    // 弹窗取消按钮文字
+    btn_no: {
+      type: String,
+      value: '取消'
+    },
+    // 弹窗确认按钮文字
+    btn_ok: {
+      type: String,
+      value: '确定'
+    },
+    // 默认两个按钮
+    btn2: {
+      type: Boolean,
+      value: true
+    },
+    // 自定义按钮
+    self: {
+      type: Boolean,
+      value: false
+    },
+    isCancel: false,
+    bg: {
+      type: String,
+      value: '#ffffff'
+    }
+  },
+
+  /**
+   * 组件的初始数据
+   */
+  data: {
+    flag: true,
+    appAssetsUrl2: app.appAssetsUrl2,
+  },
+
+  /**
+   * 组件的方法列表
+   */
+  methods: {
+    //隐藏弹框
+    hidePopup: function () {
+      this.setData({
+        flag: !this.data.flag
+      })
+    },
+    //展示弹框
+    showPopup() {
+      this.setData({
+        flag: !this.data.flag
+      })
+    },
+    /*
+    * 内部私有方法建议以下划线开头
+    * triggerEvent 用于触发事件
+    */
+    _error() {
+      //触发取消回调
+      this.triggerEvent("error")
+    },
+    _error2() {
+      //触发取消回调
+      this.triggerEvent("error2")
+    },
+    _success() {
+      //触发成功回调
+      this.triggerEvent("success");
+    }
+  }
+})

+ 4 - 0
components/bottomPopup/bottomPopup.json

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

+ 26 - 0
components/bottomPopup/bottomPopup.wxml

@@ -0,0 +1,26 @@
+<view class="wx-popup" hidden="{{flag}}">
+  <view class="popup-wap">
+    <!-- <image wx:if="{{!isCancel}}" src="{{appAssetsUrl2}}wjxy/close.png" class='popup-close' bindtap="_error"></image>
+<image wx:else src="{{appAssetsUrl2}}wjxy/close.png" class='popup-close' bindtap="_error2"></image> -->
+    <view class='popup-container' style="background: {{bg}};">
+      <view class="wx-popup-title">
+        <text>{{title}}</text>
+        <text class="cancel" bindtap="_error">取消</text>
+      </view>
+      <view class="wx-popup-conone">
+        <slot name="content">
+          <view wx:for="{{content}}" wx:key="index">{{item}}</view>
+        </slot>
+      </view>
+      <view wx:if="{{!self}}" class="{{ btn2 ? 'wx-popup-btn' : 'wx-popup-center-btn'}}">
+        <text class="btn-no" wx:if="{{btn2}}" bindtap='_error'>{{btn_no}}</text>
+        <text class="btn-ok" bindtap='_success'>{{btn_ok}}</text>
+      </view>
+      <view wx:else class="">
+        <slot name="btn">
+          <!-- <view wx:for="{{content}}">{{item}}</view> -->
+        </slot>
+      </view>
+    </view>
+  </view>
+</view>

+ 128 - 0
components/bottomPopup/bottomPopup.wxss

@@ -0,0 +1,128 @@
+/* component/popup.wxss */
+
+.wx-popup {
+  position: fixed;
+  left: 0;
+  top: 0;
+  width: 100%;
+  height: 100vh;
+  background: rgba(0, 0, 0, 0.5);
+  z-index: 100000;
+}
+.popup-wap {
+  width: 163%;
+  max-width: 750rpx;
+  position: relative;
+  height: 100%;
+  overflow: hidden;
+}
+.popup-container {
+  width: 163%;
+  max-width: 750rpx;
+  border: 2rpx solid #ccc;
+  border-radius: 20rpx;
+  box-sizing: bordre-box;
+  overflow: hidden;
+  /* background: #fff; */
+  margin-top: 50rpx;
+  position: absolute;
+  left: 0;
+  bottom: 0;
+}
+
+.wx-popup-title {
+  /* background: #eaf4ff; */
+  border-radius: 20rpx 20rpx 0px 0px;
+  height: 91rpx;
+  font-size: 34rpx;
+  font-weight: 700;
+  text-align: center;
+  color: #1a1a1a;
+  line-height: 91rpx;
+  position: relative;
+}
+
+.cancel {
+  position: absolute;
+  right: 30rpx;
+  top: 0;
+  color: #808080;
+  font-size: 28rpx;
+}
+
+.wx-popup-con {
+  text-align: center;
+  font-size: 27rpx;
+  width: 80%;
+  margin: auto auto 40rpx auto;
+}
+
+.wx-popup-conone {
+  display: flex;
+  flex-flow: column-reverse;
+  justify-content: center;
+  align-items: center;
+  font-size: 32rpx;
+  font-weight: 400;
+  text-align: center;
+  color: #3f454e;
+}
+
+.wx-popup-btn {
+  display: flex;
+  justify-content: space-around;
+  align-items: center;
+  height: 155rpx;
+}
+.wx-popup-center-btn {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: 155rpx;
+  border-top: 1px solid #e6e6e6;
+}
+.wx-popup-center-btn text {
+  width: 240rpx;
+  height: 72rpx;
+  background-color: #ffdc2f;
+  line-height: 72rpx;
+  border-radius: 35rpx;
+  text-align: center;
+  font-size: 32rpx;
+  font-weight: 400;
+  color: #333333;
+}
+.wx-popup-btn text:first-child {
+  width: 185rpx;
+  height: 72rpx;
+  line-height: 72rpx;
+  background-color: #c5dbff;
+  border-radius: 35rpx;
+  text-align: center;
+  font-size: 32rpx;
+  font-weight: 400;
+  color: #2b58a5;
+  border: 1rpx solid #2b58a5;
+}
+
+.wx-popup-btn text:last-child {
+  width: 240rpx;
+  height: 72rpx;
+  line-height: 72rpx;
+  border: 1px solid #2b58a5;
+  border-radius: 37rpx;
+  text-align: center;
+  font-size: 32rpx;
+  font-weight: 400;
+  background: #2b58a5;
+  color: #ffffff;
+}
+
+.img {
+  width: 150rpx;
+  height: 120rpx;
+}
+.popup-close {
+  width: 54rpx;
+  height: 54rpx;
+}

+ 2 - 1
pages/home/index/activityDetail/activityDetail.json

@@ -1,6 +1,7 @@
 {
   "navigationBarTitleText": "活动详情",
   "usingComponents": {
-    "popup2": "/components/popup2/popup"
+    "popup2": "/components/popup2/popup",
+    "bottomPopup": "/components/bottomPopup/bottomPopup"
   }
 }

+ 57 - 27
pages/home/index/activityDetail/activityDetail.wxml

@@ -45,13 +45,12 @@
     <!-- 项目信息 -->
     <view class="big-box {{options && !options.stuId || detail.isNeedVip && member.memberState == 0 ? 'vipBg' : ''}}">
       <view class="dim {{options && !options.stuId || detail.isNeedVip && member.memberState == 0 ? '' : 'showDim'}}">
-        <!--<image src="{{appAssetsUrl2}}new/dim.png"></image>-->
+        <!-- <image src="{{appAssetsUrl2}}new/dim.png"></image> -->
         <image src="/assets/images/user-icon/user-brick.png"></image>
         <view class="tip">加入会员,即可报名活动</view>
       </view>
       <view class="product-box">
         <view class="hot-title">
-          
           <view class="title">项目信息</view>
         </view>
         <view class="list" style="margin-top:20rpx;">报名截止:{{detail.registrationEnd}}</view>
@@ -78,7 +77,6 @@
       <!-- 参与人员 -->
       <view class="per-box" wx:if="{{peopleList.length > 0}}">
         <view class="hot-title">
-          
           <view class="title">参与人员</view>
         </view>
         <view class="people">
@@ -110,7 +108,6 @@
 					<view class='circle'></view>
 				</view> -->
           <view class="hot-title">
-            
             <view class="title">活动详情</view>
           </view>
         </view>
@@ -128,7 +125,6 @@
 					<view class='circle'></view>
 				</view> -->
           <view class="hot-title">
-            
             <view class="title">会员须知</view>
           </view>
         </view>
@@ -174,34 +170,68 @@
           <!-- <view class="msg-tip2">是否开通/升级会员</view> -->
         </view>
       </popup2>
-      <popup2 id='popup5' title='确认报名' content="{{['']}}" self="{{true}}" btn2="{{false}}" btn_no='' btn_ok='' bind:error="_error" bind:success="_success" data-name="popup5">
-        <view slot="content" style="width: 100%;padding: 44rpx 27rpx 38rpx 27rpx;box-sizing: border-box;">
-          <view class="popup5-item">
-            <text>活动价格:</text>
-            <text class="a-price">{{detail.money}}</text>
-            <text style="color:#cccccc;">元</text>
-          </view>
-          <view class="popup5-item">
-            <text>剩余积分:</text>
-            <text>{{point}}</text>
-          </view>
-          <view class="jifen-box" wx:if="{{point > 0}}">
-            <view class="left">
-              <view class="use">使用 {{usePoints}} 积分</view>
-              <view class="di">抵扣 {{dmoney}} 元</view>
+      <!-- <popup2 id='popup5' title='确认报名' content="{{['']}}" self="{{true}}" btn2="{{false}}" btn_no='' btn_ok='' bind:error="_error" bind:success="_success" data-name="popup5">
+          <view slot="content" style="width: 100%;padding: 44rpx 27rpx 38rpx 27rpx;box-sizing: border-box;">
+            <view class="popup5-item">
+              <text>活动价格:</text>
+              <text class="a-price">{{detail.money}}</text>
+              <text style="color:#cccccc;">元</text>
+            </view>
+            <view class="popup5-item">
+              <text>剩余积分:</text>
+              <text>{{point}}</text>
+            </view>
+            <view class="jifen-box" wx:if="{{point > 0}}">
+              <view class="left">
+                <view class="use">使用 {{usePoints}} 积分</view>
+                <view class="di">抵扣 {{dmoney}} 元</view>
+              </view>
+              <view class="switch {{ open ? '' : 'close-bg' }}" bindtap="changeSwitch">
+                <view class="switch-dot {{ open ? '' : 'close-switch' }}"></view>
+              </view>
+            </view>
+            <view class="pay-btn" wx:if="{{(open&&actualPrice==0) || !open&&detail.money==0 }}" bindtap="confirmPay">
+              立即报名
             </view>
-            <view class="switch {{ open ? '' : 'close-bg' }}" bindtap="changeSwitch">
-              <view class="switch-dot {{ open ? '' : 'close-switch' }}"></view>
+            <view class="pay-btn" wx:else bindtap="confirmPay">
+              确认支付{{ open ? actualPrice : detail.money }}元
             </view>
           </view>
-          <view class="pay-btn" wx:if="{{(open&&actualPrice==0) || !open&&detail.money==0 }}" bindtap="confirmPay">
-            立即报名
+        </popup2> -->
+      <bottomPopup id='popup5' title='确认报名' content="{{['']}}" self="{{true}}" btn2="{{false}}" btn_no='' btn_ok='' bind:error="_error" bind:success="_success" data-name="popup5" bg="#f8f8f8">
+        <view slot="content" class="content-bottom">
+          <view class="content-price">
+            <text class="content-unit">¥</text>
+            <text class="content-money">{{detail.money}}</text>
           </view>
-          <view class="pay-btn" wx:else bindtap="confirmPay">
-            确认支付{{ open ? actualPrice : detail.money }}元
+          <view class="price-text">活动价格</view>
+          <!--  -->
+          <view class="content-jifen">
+            <view class="jifen-box" wx:if="{{point > 0}}">
+              <view class="left">
+                <view class="use">
+                  <text>使用</text>
+                  <text>{{usePoints}}</text>
+                  <text>积分,</text>
+                  <text>抵扣</text>
+                  <text>{{dmoney}}</text>
+                  <text>元</text>
+                </view>
+                <view class="di" style="margin-top: 10rpx;">{{  1500 }}</view>
+              </view>
+              <view class="switch {{ open ? '' : 'close-bg' }}" bindtap="changeSwitch">
+                <view class="switch-dot {{ open ? '' : 'close-switch' }}"></view>
+              </view>
+            </view>
+            <view class="pay-btn" wx:if="{{(open&&actualPrice==0) || !open&&detail.money==0 }}" bindtap="confirmPay" style="margin-bottom: 38rpx;">
+              立即报名
+            </view>
+            <view class="pay-btn" wx:else bindtap="confirmPay" style="margin-bottom: 38rpx;">
+              确认支付{{ open ? actualPrice : detail.money }}元
+            </view>
           </view>
         </view>
-      </popup2>
+      </bottomPopup>
       <popup2 id='popup' title='提示' content="{{['']}}" btn_no='取消' btn_ok='确认' bind:error="_error" bind:success="_success" data-name="popup">
         <view slot="content" style="width: 85%;padding: 44rpx 0 38rpx 0;">该活动需要开通VIP才能报名</view>
       </popup2>

+ 35 - 5
pages/home/index/activityDetail/activityDetail.wxss

@@ -791,7 +791,7 @@ page {
   position: relative;
   margin-bottom: 15rpx;
 }
-.hot-title .title{
+.hot-title .title {
   position: relative;
 }
 .hot-title .title::after {
@@ -921,7 +921,7 @@ page {
   justify-content: space-between;
   flex: 1;
 }
-.mainbg{
+.mainbg {
   background: #2b58a5 !important;
   color: #ffffff !important;
 }
@@ -1036,14 +1036,14 @@ page {
 .pay-btn {
   /* width: 437px; */
   height: 80rpx;
-  background: #ffdc2f;
+  background: #2b58a5;
   border-radius: 40rpx;
   text-align: center;
   line-height: 80rpx;
-  font-size: 32rpx;
+  font-size: 30rpx;
   font-family: PingFang SC, PingFang SC-Regular;
   font-weight: 400;
-  color: #333333;
+  color: #ffffff;
   margin-top: 44rpx;
 }
 .user-img {
@@ -1172,3 +1172,33 @@ page {
   font-size: 50rpx;
   color: #ff9800;
 }
+
+.content-bottom {
+  min-height: 340rpx;
+  width: 100%;
+  padding: 10rpx 0 0 0;
+  box-sizing: border-box;
+}
+.content-bottom .content-price {
+  width: 100%;
+  font-size: 40rpx;
+  text-align: center !important;
+  color: #ff0000;
+  margin-top: 0;
+}
+
+.content-bottom .content-money {
+  font-size: 80rpx;
+  font-weight: 700;
+}
+
+.content-bottom .price-text {
+  padding: 20rpx 0 40rpx 0;
+  font-size: 28rpx;
+  color: #1a1a1a;
+}
+
+.content-bottom .content-jifen{
+  background-color: #ffffff;
+  padding: 30rpx;
+}

+ 10 - 6
pages/home/index/index.js

@@ -49,16 +49,19 @@ Page({
     ],
     classList: [{
       // image: app.appAssetsUrl2 + "wjxy/homejianzhi.png",
-      image: app.appAssetsUrl2 + "new/job-icon.png",
+      // image: app.appAssetsUrl2 + "new/job-icon.png",
+      image: '/assets/images/home/icon_1.png',
       name: "勤工俭学",
     },
     {
       // image: app.appAssetsUrl2 + "wjxy/homeactive.png",
-      image: app.appAssetsUrl2 + "new/activity-icon.png",
+      // image: app.appAssetsUrl2 + "new/activity-icon.png",
+      image: '/assets/images/home/icon_2.png',
       name: "热门活动",
     },
     {
-      image: app.appAssetsUrl2 + "wjxy/homeshen.png",
+      // image: app.appAssetsUrl2 + "wjxy/homeshen.png",
+      image: '/assets/images/home/icon_3.png',
       name: "青雲问鼎",
     },
     // {
@@ -68,7 +71,8 @@ Page({
     // },
     {
       // image: app.appAssetsUrl2 + "wjxy/homevip.png",
-      image: app.appAssetsUrl2 + "new/member-icon.png",
+      // image: app.appAssetsUrl2 + "new/member-icon.png",
+      image: '/assets/images/home/icon_4.png',
       name: "联名福利",
     },
       // {
@@ -109,7 +113,7 @@ Page({
       if (wx.getStorageSync("USER")) {
         wx.navigateTo({
           url: e.currentTarget.dataset.index == 4 ?
-            "/invitationCode/index" : "/pages/myMember/myMember",
+            "/invitationCode/index" : "/pages/quality/index/index?id=" + this.data.goodsClassfiyList[1].id,
         });
       } else {
         wx.navigateTo({
@@ -126,7 +130,7 @@ Page({
           });
           break;
         case 1:
-          wx.switchTab({
+          wx.navigateTo({
             url: "/pages/experience/index/index",
           });
           break;

+ 1 - 1
pages/home/index/index.wxml

@@ -46,7 +46,7 @@
     <view class="bottom-type">
       <!-- class="box" -->
       <view class="box {{'bot-box'+index}}" bindtap="experience" wx:for="{{classList}}" data-index="{{index}}" wx:key="index">
-        <image class="{{'type-img'+index}}" src="{{item.image}}"></image>
+        <image class="{{'type-img'}}" src="{{item.image}}"></image>
         <view class="text">{{item.name}}</view>
       </view>
     </view>

File diff suppressed because it is too large
+ 15 - 7
pages/home/index/index.wxss


+ 4 - 5
pages/home/index/partDetail/partDetail.wxml

@@ -58,7 +58,6 @@
     <view class="work-box">
       <view class="work-top">
         <view class="hot-title">
-          <view class="line"></view>
           <view class="title">工作流程</view>
         </view>
         <view class="work-img-box">
@@ -102,7 +101,7 @@
     <!-- 参与人员 -->
     <view class="per-box" wx:if="{{peopleList.length > 0}}">
       <view class="hot-title">
-        <view class="line"></view>
+        
         <view class="title">已报名</view>
       </view>
       <view class="people">
@@ -138,7 +137,7 @@
 				</view>
 			</view> -->
         <view class="hot-title">
-          <view class="line"></view>
+          
           <view class="title">基本信息</view>
         </view>
         <view class='partime-flud'>
@@ -200,7 +199,7 @@
 				</view>
 			</view> -->
         <view class="hot-title">
-          <view class="line"></view>
+          
           <view class="title">招聘详情</view>
         </view>
         <view style="margin-top:26rpx;" class='content'>
@@ -219,7 +218,7 @@
 				</view>
 			</view> -->
         <view class="hot-title">
-          <view class="line"></view>
+          
           <view class="title">注意事项</view>
         </view>
         <view style="margin-top:26rpx;" class='partime-member-info'>

+ 31 - 20
pages/home/index/partDetail/partDetail.wxss

@@ -55,14 +55,14 @@ page {
 .see-code {
   width: 197rpx;
   height: 85rpx;
-  background: #fffae1;
-  border: 1px solid #ffa836;
+  background: #88bb26;
+  border: 1px solid #88bb26;
   border-radius: 44rpx;
   font-size: 30rpx;
   font-family: FZZhunYuan-M02S;
   font-weight: 400;
   text-align: center;
-  color: #ffa836;
+  color: #ffffff;
   line-height: 85rpx;
 }
 .partimewrap {
@@ -219,6 +219,14 @@ page {
 }
 .mainbg {
   width: 358rpx;
+  background: #2b58a5;
+}
+.mainbg .text-bao {
+  color: #ffffff !important;
+}
+.mainbg .text-b {
+  opacity: 0.78;
+  color: #ffffff;
 }
 .greybg {
   width: 358rpx;
@@ -757,21 +765,23 @@ page {
   width: 520rpx;
   flex-shrink: 0;
 }
-.acitemwrap .content .label {
-  height: 36rpx;
-  line-height: 36rpx;
-  background: #f3ffe5;
-  border-radius: 16rpx 16rpx 16rpx 0px;
-  font-size: 28rpx;
-  font-weight: 400;
-  text-align: center;
-  color: #9ddb52;
-  padding: 0 19rpx;
-  width: fit-content;
-  margin-top: 12rpx;
-  margin-right: 20rpx;
-  display: inline-block;
+.hot-title .title{
+  display: inline-block !important;
+  position: relative;
+}
+.hot-title .title::after {
+  display: block;
+  content: "";
+  position: absolute;
+  top: -3%;
+  right: -3%;
+  width: 30rpx;
+  height: 30rpx;
+  background-color: #005eff42;
+  border-radius: 50%;
+  z-index: 1;
 }
+
 .acitemwrap .content .label2 {
   font-size: 26rpx;
   font-weight: 400;
@@ -814,11 +824,11 @@ page {
 .i-know {
   width: 319rpx;
   height: 80rpx;
-  background: #ffdc2f;
+  background: #2b58a5;
   border-radius: 40rpx;
   text-align: center;
   line-height: 80rpx;
-  color: #333333;
+  color: #ffffff;
   font-size: 32rpx;
 }
 .work-day-type {
@@ -839,7 +849,8 @@ page {
   text-align: center;
 }
 .work-day-type .sub-btn.green {
-  background: #ffdc2f;
+  background: #2b58a5;
+  color: #ffffff;
 }
 .list-address-box {
   display: flex;

+ 5 - 0
pages/my/index/index.wxss

@@ -121,6 +121,11 @@
   /* margin-bottom: 12rpx; */
 }
 
+.user-name-row .sex{
+  width: 30rpx;
+  height: 30rpx;
+}
+
 .user-name {
   font-size: 36rpx;
   font-weight: 600;

+ 0 - 66
pages/my/index/index1.js

@@ -1,66 +0,0 @@
-// pages/my/index/index1.js
-Page({
-
-  /**
-   * 页面的初始数据
-   */
-  data: {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面加载
-   */
-  onLoad(options) {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面初次渲染完成
-   */
-  onReady() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面显示
-   */
-  onShow() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面隐藏
-   */
-  onHide() {
-
-  },
-
-  /**
-   * 生命周期函数--监听页面卸载
-   */
-  onUnload() {
-
-  },
-
-  /**
-   * 页面相关事件处理函数--监听用户下拉动作
-   */
-  onPullDownRefresh() {
-
-  },
-
-  /**
-   * 页面上拉触底事件的处理函数
-   */
-  onReachBottom() {
-
-  },
-
-  /**
-   * 用户点击右上角分享
-   */
-  onShareAppMessage() {
-
-  }
-})

+ 0 - 2
pages/my/index/index1.wxml

@@ -1,2 +0,0 @@
-<!--pages/my/index/index1.wxml-->
-<text>pages/my/index/index1.wxml</text>

+ 6 - 6
wxParse/wxParse.wxml

@@ -320,7 +320,7 @@
 <template name="wxParse0">
     <block wx:if="{{item.node=='element'}}">
         <button size="mini" type="default" wx:if="{{item.tag=='button'}}">
-            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}"></template>
+            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}" wx:key="index"></template>
         </button>
         <view class="{{item.classStr}} wxParse-li" style="{{item.styleStr}}" wx:elif="{{item.tag=='li'}}">
             <view class="{{item.classStr}} wxParse-li-inner">
@@ -328,23 +328,23 @@
                     <view class="{{item.classStr}} wxParse-li-circle"></view>
                 </view>
                 <view class="{{item.classStr}} wxParse-li-text">
-                    <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}"></template>
+                    <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}" wx:key="index"></template>
                 </view>
             </view>
         </view>
         <template is="wxParseVideo" data="{{item:item}}" wx:elif="{{item.tag=='video'}}"></template>
         <template is="wxParseImg" data="{{item:item}}" wx:elif="{{item.tag=='img'}}"></template>
         <view bindtap="wxParseTagATap" class="wxParse-inline {{item.classStr}} wxParse-{{item.tag}}" data-c="{{item.attr.href}}" style="{{item.styleStr}}" wx:elif="{{item.tag=='a'}}">
-            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}"></template>
+            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}" wx:key="index"></template>
         </view>
         <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}" wx:elif="{{item.tag=='table'}}">
-            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}"></template>
+            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}" wx:key="index"></template>
         </view>
         <view class="{{item.classStr}} wxParse-{{item.tag}}" style="{{item.styleStr}}" wx:elif="{{item.tagType=='block'}}">
-            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}"></template>
+            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}" wx:key="index"></template>
         </view>
         <view class="{{item.classStr}} wxParse-{{item.tag}} wxParse-{{item.tagType}}" style="{{item.styleStr}}" wx:else>
-            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}"></template>
+            <template is="wxParse1" data="{{item:item}}" wx:for="{{item.nodes}}" wx:key="index"></template>
         </view>
     </block>
     <template is="WxEmojiView" data="{{item:item}}" wx:elif="{{item.node=='text'}}"></template>