Преглед изворни кода

Merge branch 'master' of http://git.izouma.com/xiongzhu/raex_front

yuanyuan пре 3 година
родитељ
комит
b161ceda61
63 измењених фајлова са 2118 додато и 151 уклоњено
  1. 1 1
      .env.development
  2. BIN
      src/assets/bianzu@3x.png
  3. BIN
      src/assets/home1.png
  4. BIN
      src/assets/home2.png
  5. BIN
      src/assets/home3.png
  6. BIN
      src/assets/home4.png
  7. BIN
      src/assets/icon-balance@3x.png
  8. BIN
      src/assets/icon-shouxinyi@3x.png
  9. BIN
      src/assets/icon-yinlian@3x.png
  10. BIN
      src/assets/icon_fanhui.png
  11. BIN
      src/assets/icon_fanhui@3x (1).png
  12. BIN
      src/assets/icon_gouxuan_huise@3x.png
  13. BIN
      src/assets/icon_gouxuan_pre2.png
  14. BIN
      src/assets/icon_gouxuan_preone@3x.png
  15. BIN
      src/assets/icon_jiage@3x.png
  16. BIN
      src/assets/icon_jiahao.png
  17. BIN
      src/assets/icon_shangchang@3x.png
  18. BIN
      src/assets/icon/search@3x (1).png
  19. BIN
      src/assets/icon/search@3x (2).png
  20. BIN
      src/assets/png-.uni@3x.png
  21. BIN
      src/assets/png-bg@3x (2).png
  22. BIN
      src/assets/png-da-lv@3x.png
  23. BIN
      src/assets/png-da-zi@3x.png
  24. BIN
      src/assets/png-fuhe.png
  25. BIN
      src/assets/png-huise-bg@3x.png
  26. BIN
      src/assets/png-xiao-lv@3x.png
  27. BIN
      src/assets/png-xiao-zi@3x.png
  28. BIN
      src/assets/png-xingtu-bg.png
  29. BIN
      src/assets/png@3x.png
  30. 5 1
      src/components/PayBalance.vue
  31. 7 2
      src/components/PayMethodPick.vue
  32. 1 1
      src/components/auction/records.vue
  33. 2 0
      src/components/creator/RankInfo.vue
  34. 248 0
      src/components/order/DomainInfo.vue
  35. 0 1
      src/components/product/ActivityRecord.vue
  36. 1 0
      src/components/product/HotCollect.vue
  37. 0 1
      src/components/product/NewsRecord.vue
  38. 2 0
      src/components/product/productSelect.vue
  39. 3 5
      src/components/star/pay.vue
  40. 42 9
      src/mixins/order.js
  41. 4 3
      src/mixins/search.js
  42. 16 0
      src/router/index.js
  43. 1 1
      src/views/Discover.vue
  44. 877 0
      src/views/DomainName.vue
  45. 292 0
      src/views/DomainSubmit.vue
  46. 116 0
      src/views/Home.vue
  47. 24 6
      src/views/Mine.vue
  48. 91 53
      src/views/StarMap.vue
  49. 1 1
      src/views/Submit.vue
  50. 10 2
      src/views/account/Security.vue
  51. 22 8
      src/views/activity/ChooseProduct.vue
  52. 26 5
      src/views/activity/Detail1.vue
  53. 16 4
      src/views/activity/Submit.vue
  54. 2 2
      src/views/auction/Detail.vue
  55. 12 1
      src/views/auction/Home.vue
  56. 10 3
      src/views/auction/Submit.vue
  57. 18 5
      src/views/order/ActivityDetail.vue
  58. 6 1
      src/views/order/AuctionDetail.vue
  59. 150 25
      src/views/order/Orders.vue
  60. 85 1
      src/views/product/HopeMarket.vue
  61. 22 5
      src/views/star/Create.vue
  62. 3 3
      src/views/star/CreateResult.vue
  63. 2 1
      src/views/user/BalanceRecord.vue

+ 1 - 1
.env.development

@@ -1,4 +1,4 @@
-VUE_APP_BASE_URL=https://www.raex.vip/
+VUE_APP_BASE_URL=https://test.raex.vip/
 NODE_ENV=development
 VUE_APP_PUBLIC_PATH=/
 ASSETS_PATH=raex

BIN
src/assets/bianzu@3x.png


BIN
src/assets/home1.png


BIN
src/assets/home2.png


BIN
src/assets/home3.png


BIN
src/assets/home4.png


BIN
src/assets/icon-balance@3x.png


BIN
src/assets/icon-shouxinyi@3x.png


BIN
src/assets/icon-yinlian@3x.png


BIN
src/assets/icon_fanhui.png


BIN
src/assets/icon_fanhui@3x (1).png


BIN
src/assets/icon_gouxuan_huise@3x.png


BIN
src/assets/icon_gouxuan_pre2.png


BIN
src/assets/icon_gouxuan_preone@3x.png


BIN
src/assets/icon_jiage@3x.png


BIN
src/assets/icon_jiahao.png


BIN
src/assets/icon_shangchang@3x.png


BIN
src/assets/icon/search@3x (1).png


BIN
src/assets/icon/search@3x (2).png


BIN
src/assets/png-.uni@3x.png


BIN
src/assets/png-bg@3x (2).png


BIN
src/assets/png-da-lv@3x.png


BIN
src/assets/png-da-zi@3x.png


BIN
src/assets/png-fuhe.png


BIN
src/assets/png-huise-bg@3x.png


BIN
src/assets/png-xiao-lv@3x.png


BIN
src/assets/png-xiao-zi@3x.png


BIN
src/assets/png-xingtu-bg.png


BIN
src/assets/png@3x.png


+ 5 - 1
src/components/PayBalance.vue

@@ -5,7 +5,7 @@
         title="请输入支付密码"
         confirmButtonText="立即支付"
         show-cancel-button
-        confirmButtonColor="#3ab200"
+        :confirmButtonColor="isStar ? '#00B897' : '#3ab200'"
         @cancel="(showPwdDialog = false), $toast.clear()"
         @confirm="pay"
     >
@@ -22,6 +22,10 @@ export default {
         tradeCode: {
             type: String,
             default: ''
+        },
+        isStar: {
+            type: Boolean,
+            default: false
         }
     },
     setup(props, context) {

+ 7 - 2
src/components/PayMethodPick.vue

@@ -14,7 +14,7 @@
                 <span>{{ item.name }}</span>
                 <img
                     class="choose-icon"
-                    :src="item.enabled ? (checked === item.key ? icons[1] : icons[0]) : icons[2]"
+                    :src="item.enabled ? (checked === item.key ? (isStar ? icons[3] : icons[1]) : icons[0]) : icons[2]"
                     alt=""
                 />
             </div>
@@ -33,6 +33,10 @@ export default {
         onlyBalance: {
             type: Boolean,
             default: false
+        },
+        isStar: {
+            type: Boolean,
+            default: false
         }
     },
     computed: {
@@ -92,7 +96,8 @@ export default {
             icons: [
                 require('@assets/svgs/icon_gouxuan_huise.svg'),
                 require('@assets/icon_gouxuan_pre.png'),
-                require('@assets/icon_gouxuan_huise1.png')
+                require('@assets/icon_gouxuan_huise1.png'),
+                require('@assets/icon_gouxuan_pre2.png')
             ]
         };
     },

+ 1 - 1
src/components/auction/records.vue

@@ -51,7 +51,7 @@ export default {
                 query: {
                     tradeAuctionId: this.auctionId,
                     del: false,
-                    status: 'FINISH',
+                    status: 'FINISH,PASS',
                     paymentType: 'DEPOSIT,PURCHASE_PRICE'
                 },
                 sort: 'id,desc'

+ 2 - 0
src/components/creator/RankInfo.vue

@@ -111,6 +111,8 @@ export default {
         --van-button-primary-background-color: var(--prim);
         --van-button-mini-font-size: 12px;
         min-width: 60px;
+        font-weight: bold;
+        font-size: 14px;
 
         &.follow {
             border-color: var(--btnBorderInfo);

+ 248 - 0
src/components/order/DomainInfo.vue

@@ -0,0 +1,248 @@
+<template>
+    <div class="orderInfo" @click="pay(info.orderStatus)">
+        <div class="order-top">
+            <span>{{ info.domainName }}</span>
+            <span class="status">{{ getLabelName(info.orderStatus, statusDomain) }}</span>
+        </div>
+        <!-- <div class="order">
+            <van-image :radius="6" width="80" height="80" :src="getImg(changeImgs(info.pic))" fit="cover" />
+
+            <div class="content">
+                <div class="name van-multi-ellipsis--l2">
+                    {{ info.name }}
+                </div>
+                <div class="text" v-if="info.number">编号:{{ info.number }}</div>
+                <div class="flex1"></div>
+                <div class="price">¥{{ info.price }}</div>
+            </div>
+        </div> -->
+        <div class="total-price">
+            <div class="total-price_left">{{ info.createdAt }}</div>
+            <div class="total-price_right">
+                <div class="total-price_right_one">实际支付</div>
+                <div class="total-price_right_two">¥{{ info.price }}</div>
+            </div>
+            <!-- <span class="time flex1"></span>
+            <span></span>
+            <span></span> -->
+        </div>
+        <!-- 
+        <div class="btns">
+            <van-button color="@text3" @click.prevent="del" plain size="mini" round> 删除订单 </van-button>
+        </div> -->
+    </div>
+</template>
+
+<script>
+import order from '../../mixins/order';
+import product from '../../mixins/product';
+export default {
+    props: {
+        info: {
+            type: Object,
+            default: () => {
+                return {};
+            }
+        },
+        domainName: {
+            type: String,
+            default: () => {
+                return "";
+            }
+        },
+        id: {
+            type: String,
+            default: () => {
+                return "";
+            }
+        }
+    },
+    data() {
+        return {
+            orderStatus: 'NOT_PAID',
+        };
+    },
+    // setup() {
+    //     const click = function () {
+    //         // console.log('wyt6w');
+    //     };
+
+    //     return { click };
+    // },
+    mixins: [order, product],
+    methods: {
+        pay(orderStatus) {
+            let domainName = this.domainName
+            let pay = "1"
+            let id = this.id
+            if (orderStatus == this.orderStatus) {
+                this.$router.push({
+                    path: '/domainSubmit',
+                    query: {
+                        domain: domainName,
+                        pay: pay,
+                        id: id
+                    }
+                });
+            }
+        },
+        delInit() {
+            this.$emit('delFn');
+        },
+        del() {
+            this.Dialog.confirm({
+                title: '确定删除吗?',
+                message: '删除此记录将消失'
+            }).then(() => {
+                this.$http
+                    .post('/order/hide/', {
+                        id: this.info.id
+                    })
+                    .then(() => {
+                        this.$toast.success('删除成功');
+                        setTimeout(() => {
+                            this.delInit();
+                        }, 1000);
+                    });
+            });
+            // this.$http
+            //     .post('/order/hide/', {
+            //         id: this.info.id
+            //     })
+            //     .then(() => {
+            //         this.$toast.success('删除成功');
+            //         setTimeout(() => {
+            //             this.delInit();
+            //         }, 1000);
+            //     });
+        },
+        likeProduct() {
+            if (!this.info.liked) {
+                this.$http.get(`/collection/${this.info.id}/like`).then(() => {
+                    this.$emit('update:info', {
+                        ...this.info,
+                        liked: true,
+                        likes: this.info.likes + 1
+                    });
+                    this.$toast.success('收藏成功');
+                });
+            } else {
+                this.$http.get(`/collection/${this.info.id}/unlike`).then(() => {
+                    this.$emit('update:info', {
+                        ...this.info,
+                        liked: false,
+                        likes: this.info.likes - 1
+                    });
+                    this.$toast.success('取消收藏');
+                });
+            }
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped>
+.orderInfo {
+    background: @bg;
+    border-radius: 12px;
+    color: @text0;
+    padding: 12px 10px 10px;
+    margin: 20px 16px 0;
+    display: block;
+}
+.order-top {
+    padding: 0px 10px;
+    box-sizing: border-box;
+    display: flex;
+    justify-content: space-between;
+    height: 44px;
+    background: #f5f7fa;
+    border-radius: 8px;
+    align-items: center;
+    margin-bottom: 12px;
+    span {
+        font-size: 16px;
+        color: #000000;
+        font-weight: bold;
+        line-height: 24px;
+    }
+
+    .status {
+        font-size: 14px;
+        font-weight: 400;
+        color: #3ab200;
+        line-height: 24px;
+    }
+}
+
+.order {
+    display: flex;
+    padding: 16px 0;
+    .van-image {
+        flex-shrink: 0;
+    }
+    .content {
+        flex-grow: 1;
+        margin-left: 10px;
+        display: flex;
+        flex-direction: column;
+        overflow: hidden;
+        .name {
+            font-size: @font2;
+            font-weight: bold;
+            line-height: 22px;
+        }
+        .text {
+            font-size: @font2;
+            color: @text3;
+            line-height: 24px;
+            margin-top: 4px;
+        }
+
+        .price {
+            font-size: @font2;
+            font-weight: bold;
+            line-height: 24px;
+        }
+    }
+}
+.total-price {
+    height: 24px;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding: 0px 10px;
+    box-sizing: border-box;
+    .total-price_left {
+        font-size: 12px;
+        font-weight: 400;
+        color: #c8c9cc;
+        line-height: 24px;
+    }
+    .total-price_right {
+        display: flex;
+        .total-price_right_one {
+            font-size: 12px;
+            font-weight: bold;
+            color: #000000;
+            line-height: 24px;
+            margin-right: 10px;
+        }
+        .total-price_right_two {
+            font-size: 16px;
+            font-weight: bold;
+            color: #3ab200;
+            line-height: 24px;
+        }
+    }
+}
+.btns {
+    border-top: 1px solid #202122;
+    padding: 16px 0;
+    display: flex;
+    flex-direction: row-reverse;
+    .van-button {
+        padding: 3px 17px;
+    }
+}
+</style>

+ 0 - 1
src/components/product/ActivityRecord.vue

@@ -305,7 +305,6 @@ export default {
     background: var(--btnplaintBg);
     border: 1px solid var(--btnplaintBorder);
     min-width: 68px;
-    font-size: 16px;
     font-weight: bold;
 }
 </style>

+ 1 - 0
src/components/product/HotCollect.vue

@@ -90,6 +90,7 @@ export default {
 .van-button {
     min-width: 68px;
     background: var(--btnplaintBg);
+    font-weight: bold;
 }
 
 .rank-img {

+ 0 - 1
src/components/product/NewsRecord.vue

@@ -287,7 +287,6 @@ export default {
     background: var(--btnplaintBg);
     border: 1px solid var(--btnplaintBorder);
     min-width: 68px;
-    font-size: 16px;
     font-weight: bold;
 }
 </style>

+ 2 - 0
src/components/product/productSelect.vue

@@ -165,6 +165,8 @@ export default {
         showBanner(settingId) {
             this.settingId = settingId;
             this.bannerName = '';
+            this.classification = false;
+            this.selectOptions = [];
             this.rarityLabel = '';
             this.productId = '';
             this.$http

+ 3 - 5
src/components/star/pay.vue

@@ -15,16 +15,14 @@
                 <div class="line"></div>
                 <div class="title-methods">支付方式</div>
                 <div style="padding: 0 16px">
-                    <pay-method-pick v-model="payMethod"></pay-method-pick>
+                    <pay-method-pick v-model="payMethod" isStar></pay-method-pick>
                 </div>
             </div>
             <div class="btn-wrapper">
-                <van-button type="primary" :color="$colors.prim" round block class="btn-recharge" @click="pay">
-                    立即支付
-                </van-button>
+                <van-button type="primary" round block class="btn-recharge" @click="pay"> 立即支付 </van-button>
             </div>
         </van-action-sheet>
-        <pay-balance v-model:tradeCode="tradeCode" ref="payBalance" @pay="pay"></pay-balance>
+        <pay-balance isStar v-model:tradeCode="tradeCode" ref="payBalance" @pay="pay"></pay-balance>
     </div>
 </template>
 

+ 42 - 9
src/mixins/order.js

@@ -1,16 +1,49 @@
 export default {
     data() {
         return {
-            statusOptions: [
-                { label: '未支付', value: 'NOT_PAID' },
-                { label: '交易中', value: 'PROCESSING' },
-                { label: '已完成', value: 'FINISH' },
-                { label: '已取消', value: 'CANCELLED' }
+            statusOptions: [{
+                    label: '未支付',
+                    value: 'NOT_PAID'
+                },
+                {
+                    label: '交易中',
+                    value: 'PROCESSING'
+                },
+                {
+                    label: '已完成',
+                    value: 'FINISH'
+                },
+                {
+                    label: '已取消',
+                    value: 'CANCELLED'
+                }
             ],
-            payMethodOptions: [
-                { label: '微信', value: 'WEIXIN' },
-                { label: '支付宝', value: 'ALIPAY' }
+            statusDomain: [{
+                    label: '待支付',
+                    value: 'NOT_PAID'
+                },
+                {
+                    label: '交易中',
+                    value: 'PROCESSING'
+                },
+                {
+                    label: '已完成',
+                    value: 'FINISH'
+                },
+                {
+                    label: '已取消',
+                    value: 'CANCELLED'
+                }
+            ],
+            payMethodOptions: [{
+                    label: '微信',
+                    value: 'WEIXIN'
+                },
+                {
+                    label: '支付宝',
+                    value: 'ALIPAY'
+                }
             ]
         };
     }
-};
+};

+ 4 - 3
src/mixins/search.js

@@ -16,8 +16,9 @@ export default {
     },
     methods: {
         getHistory() {
-            let historys = window.localStorage.getItem('ninthHistory') ?
-                window.localStorage.getItem('ninthHistory').split(',') : [];
+            let historys = window.localStorage.getItem('ninthHistory')
+                ? window.localStorage.getItem('ninthHistory').split(',')
+                : [];
             this.historys = historys;
         },
         addHistory(val) {
@@ -63,4 +64,4 @@ export default {
             }
         }
     }
-};
+};

+ 16 - 0
src/router/index.js

@@ -561,6 +561,22 @@ const routes = [
         component: () => import('../views/order/CouponList.vue'),
         meta: {}
     },
+    {
+        path: '/domainname',
+        name: 'domainname',
+        component: () => import('../views/DomainName.vue'),
+        meta: {
+            menuPage: true
+        }
+    },
+    {
+        path: '/domainSubmit',
+        name: 'domainSubmit',
+        component: () => import('../views/DomainSubmit.vue'),
+        meta: {
+            menuPage: true
+        }
+    },
     {
         path: '/givesubmit',
         name: 'givesubmit',

+ 1 - 1
src/views/Discover.vue

@@ -69,7 +69,7 @@
                 <img src="../assets/discover/yishuzhanlan-diwen.png" alt="" class="menu-bg" /> -->
             </div>
             <div class="menu-con">
-                <div class="menu-item_con menu-item_con_three" @click="this.$toast('升级改版中')">
+                <div class="menu-item_con menu-item_con_three" @click="$router.push('/auction')">
                     <img :src="require(`@assets/info_icon_paimaixilie@3x.png`)" alt="" class="menu-item_con_img" />
                     <div>
                         <div class="menu-item_con_title">绿洲易拍</div>

+ 877 - 0
src/views/DomainName.vue

@@ -0,0 +1,877 @@
+<template>
+    <div :class="action != 1 ? 'meta_domain_nameOne' : 'meta_domain_nameTwo'" class="meta_domain_name">
+        <van-sticky ref="top" offset-top="0">
+            <div
+                :class="action != 1 ? 'meta_domain_name_tops' : ''"
+                class="meta_domain_name_top"
+                :style="{ height: heightNumber + 'px' }"
+            >
+                <div class="meta_domain_name_top_one" v-if="action == 1">
+                    <img
+                        :src="require('@assets/icon_fanhui@3x (1).png')"
+                        alt=""
+                        class="meta_domain_name_top_img_left"
+                        @click="$router.go(-1)"
+                    />
+                    <img
+                        :src="require('@assets/icon_shangchang@3x.png')"
+                        alt=""
+                        class="meta_domain_name_top_img_right"
+                        @click="this.$toast('升级改版中')"
+                    />
+                </div>
+                <div class="meta_domain_name_top_ones" v-if="action == 3">
+                    <img
+                        :src="require('@assets/icon_fanhui@3x (1).png')"
+                        alt=""
+                        class="meta_domain_name_top_img_left"
+                        @click="fallback"
+                    />
+                </div>
+                <div class="meta_domain_name_top_two" v-if="action == 1">
+                    <img :src="require('@assets/png-.uni@3x.png')" alt="" class="meta_domain_name_top_two_img" />
+                </div>
+                <div class="meta_domain_name_top_three" :style="{ paddingTop: paddingTop + 'px' }" v-if="action != 3">
+                    <div class="meta_domain_name_top_three_con" @click="change" v-if="action == 1">
+                        <div class="meta_domain_name_top_three_con_left">
+                            <!-- <van-search
+                                v-model="value"
+                                placeholder="请输入元域名"
+                                left-icon=""
+                                :clearable="false"
+                                @update:model-value="getSearch"
+                            /> -->
+                            <div class="meta_domain_name_top_three_con_left_one">请输入元域名</div>
+                            <div class="meta_domain_name_top_three_con_left_two">.uni</div>
+                        </div>
+                        <div class="meta_domain_name_top_three_con_right">
+                            <img
+                                :src="require('@assets/icon/search@3x (2).png')"
+                                alt=""
+                                class="meta_domain_name_top_three_con_right_img"
+                            />
+                        </div>
+                    </div>
+                    <div class="meta_domain_name_top_three_con" v-if="action == 2">
+                        <div class="meta_domain_name_top_three_con_left">
+                            <van-search
+                                v-model="value"
+                                :maxlength="16"
+                                placeholder="请输入元域名"
+                                left-icon=""
+                                :clearable="false"
+                                @update:model-value="getSearch"
+                            />
+                            <!-- <div class="meta_domain_name_top_three_con_left_one">请输入元域名</div> -->
+                            <div class="meta_domain_name_top_three_con_left_two">.uni</div>
+                        </div>
+                        <div class="meta_domain_name_top_three_con_right">
+                            <img
+                                :src="require('@assets/icon/search@3x (2).png')"
+                                alt=""
+                                class="meta_domain_name_top_three_con_right_img"
+                            />
+                        </div>
+                    </div>
+                </div>
+                <div class="learn_more" v-if="action == 3">
+                    <div class="learn_more_title">了解更多</div>
+                    <div class="learn_more_tip">WHAT IS RID?</div>
+                </div>
+                <div class="meta_domain_name_top_bg" :style="{ height: heightBgNumber + 'px' }"></div>
+                <van-image
+                    :src="require('@assets/png-bg@3x (2).png')"
+                    width="100%"
+                    height="500px"
+                    fit="fill"
+                    class="meta_domain_name_top_bgimg"
+                    :style="{ transform: 'translateY(' + moreHeight + 'px)' }"
+                />
+            </div>
+        </van-sticky>
+        <div class="learn_more_list" v-if="action == 3">
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">什么是RID?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        RID域名是用户独一无二的元宇宙社交身份,是个人的3D身份证。每一个域名都是独有的名片,持有者基于自己的兴趣图谱,可以选择在元域名上添加身份、住址、邮箱、联系方式、背包藏品等信息自愿选择信息进行公开展示或隐藏。通过兴趣图谱和社交画像让用户直接可以更高效地建立连接,以技术为驱动为RAEX绿洲用户打造专属的社交元宇宙。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">RID的作用是什么?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        通过RID域名,可实现用户在虚拟世界的快速访问和身份验证,将既定数据与元域名达到一个关联绑定,以域名为载体,生成超链接,在线触达和识别RAEX绿洲整个生态体系下的信息资料库,所有的数据都将集结在这一串数字代码下,囊括了用户的身份信息、
+                        SAAS平台账号互通、个人资产、相关动态等一系列加密及链上数据,实现了全平台资产信息互通,可瞬间触达到某一信息节点上,或者快速定位到你所在的元宇宙空间,减少了一些繁琐步骤,提升用户价值停留时间。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">RID的玩法和逻辑?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        (1)RID数字身份通行证<br />
+                        通过RID域名,可以实现用户账号相互打通,一键登录域名即可同时触达用户名下的所有账号信息,缩短时间成本,最大价值化的提升用户跨账号的相互切换和信息共享,极大程度的提升用户访问速率和流程简化,直接触达RAEX绿洲关联平台及关联个人超链地址。<br />
+                        (2)解锁多平台、实现链上生态互通<br />
+                        RAEX绿洲旗下的CRC华储链,作为中国特色联盟链,将打造中国境内最完善、最公开透明的联盟链体系,所有使用者都可使用CRC华储链调阅任一地址下内容,让用户链上数字资产得以确权和保障。通过RID域名,RAEX绿洲将为大家呈现一个链上生态互通,用户可直接访问到所有与RAEX绿洲接驳的数藏平台的相关个人信息或数字资产。<br />
+                        (3)个人的身份数据集合<br />
+                        通过RID域名,可查看获取用户的个人信息、元宇宙身份、个人动态信息、星图作品、数字商品信息、个人持有的数字资产等,将这一系列加密数据收录于域名内,达成信息的汇总和集合。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">什么是RID超链?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        RID超链:超级定位。对于部分符合合规要求的万维网技术标准的RID,配合RAEX绿洲独有的道具,可以激活独特的OASISMETA绿洲元宇宙超链,让你的朋友可以更快的定位到你在绿洲元宇宙的位置,拓展好友圈。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">什么是RID元商标?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        RID元商标:元宇宙商业标识。RAEX绿洲用户可使用CRC华储链,通过星图将"元商标"上链铸造,获取唯一标识,成为不可篡改的链上凭证,可以作为举证、流转的声明,应用于资产确权、数据定价、流转监测分析以及侵权取证等场景。同时为每一个RID商标将生成认证证书,明确所有者,确保持有者利益。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">什么是RID凭证?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        RID凭证:权益及证明标签。用户可根据不同的兴趣爱好进入社区、世界,多元文化都可以在这里畅快交流,让每一种爱好都能在这生根发芽。在未来,RAEX绿洲元宇宙中部分世界、功能等,只对特定的RID持有者开放,打造优良的社区体验。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">如何注册RID域名?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        完成RAEX绿洲实名注册用户可通过购买web3域名:RID来进行设置自己的专属超链,再将RID与自有的关联地址进行绑定,例如“绿洲元宇宙身份证”,
+                        包括昵称、头像、账号、ID等,也可以绑定一个独立的空间、土地、坐标、展馆、甚至是独立的藏品。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">RID的命名要求是什么?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        生成身份卡需设置RID域名号,现阶段只支持文字、数字、字母进行注册,后期系统升级后,将加入更多可注册字段满足用户个性化需求。目前,2位数、3位数、短号靓号及特殊标识的号码(如001、010、666、888、RAEX、PUNK、big3、vip、8888、88888、china等)为官方自留,仅做定向空投;SVIP用户可设置长度4位数的ID,
+                        普通用户可设置长度5位数的ID。 后续,RAEX绿洲将对RID不断进行迭代,以满足用户需求。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">RID的注册费用?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        RAEX绿洲将对购买域名的费用采取分级制,针对不同字段的域名售卖价格规范制定,完善RID的商业逻辑。RID域名具有唯一性,用户可将某一信息源与此相互绑定,RID域名确认设置后,可用于信息检索。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">RID的优化更新?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        RID作为在RAEX绿洲中社交、娱乐等重要模块的底层基础功能,RAEX绿洲将持续推动RID的多元化发展,为绿洲的探索者提供一个属于社区自身的RAEX绿洲元宇宙。在绿洲元宇宙中,用户可以自由创作创造属于自己的社区和文化。RAEX绿洲将通过制度创新,模式创新,携手社区公民共同构建RAEX绿洲元宇宙社交新模式。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_one">
+                    <img :src="require('@assets/png-xiao-lv@3x.png')" alt="" class="learn_more_list_one_img" />
+                    <div class="learn_more_list_one_title">RID回收?</div>
+                </div>
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        在相关部门的指导下,将对RID的注册逻辑进行调整,以达到合规要求,对已经注册敏感词汇进行回收销毁处理。
+                    </div>
+                </div>
+            </div>
+            <div class="learn_more_list_con">
+                <div class="learn_more_list_two">
+                    <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_list_two_img" />
+                    <div class="learn_more_list_two_title">
+                        免责声明:在RID注册过程中,不得擅自使用他人姓名或他人已经登记注册的企业名称或商标,
+                        亦不得利用RID域名冒用他人身份、使用他人特征性信息等足以误导其他用户的内容。
+                        如用户存在违反法律、法规或侵害他人合法权益的行为,RAEX绿洲有权随时不经通知对已设置的RID采取屏蔽、
+                        删除等措施甚至拒绝继续提供服务。平台将对用户报名或申请的RID进行敏感词过滤和审核。若有不当,则无法通过审核,请用户在报名或申请时避免使用任何敏感词。
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="meta_domain_name_list" v-if="action == 2">
+            <div class="meta_domain_name_list_con" v-for="(item, index) in list" :key="item.id">
+                <div class="meta_domain_name_list_con_left">
+                    <img
+                        :src="item.sold ? registered : unregistered"
+                        alt=""
+                        class="meta_domain_name_list_con_left_img"
+                    />
+                    <div>
+                        <div class="meta_domain_name_list_con_left_one">{{ item.domain }}</div>
+                        <div class="meta_domain_name_list_con_left_two">{{ item.sold ? '已注册' : '未注册' }}</div>
+                    </div>
+                </div>
+                <div class="meta_domain_name_list_con_right" @click="buy(index)">
+                    <div class="meta_domain_name_list_con_right_one">{{ item.sold ? '超链' : '购买' }}</div>
+                    <div
+                        :class="
+                            item.sold ? 'meta_domain_name_list_con_right_three' : 'meta_domain_name_list_con_right_two'
+                        "
+                    ></div>
+                </div>
+            </div>
+        </div>
+        <div class="learn_more_btn" @click="learnMore" v-if="action == 1">
+            <div class="learn_more_btn_con">
+                <img :src="require('@assets/png-xiao-zi@3x.png')" alt="" class="learn_more_btn_img" />
+                <div class="learn_more_btn_title">了解更多</div>
+            </div>
+        </div>
+        <img :src="require('@assets/png-huise-bg@3x.png')" alt="" class="meta_domain_name_bg" />
+    </div>
+    <!-- <div>
+        <div class="domain_name" v-if="domain">
+            <div class="domain_name_con" @click="domain = false">
+                <img :src="require('@assets/icon/search@3x (1).png')" alt="" class="domain_name_con_img" />
+                <div class="domain_name_con_text">搜索你要的域名!</div>
+            </div>
+        </div>
+        <div class="domain_name_list_two" v-else>
+            <div class="domain_name_list">
+                <van-sticky ref="top" :offset-top="0" class="domain_name_list_top">
+                    <van-search
+                        ref="top"
+                        v-model="phone"
+                        placeholder="请输入"
+                        show-action
+                        autofocus
+                        :left-icon="require('@assets/icon/search@3x (1).png')"
+                        @update:model-value="getSearch"
+                    >
+                        <template #action>
+                            <div @click="domain = true">取消</div>
+                        </template>
+                    </van-search>
+                </van-sticky>
+                <div class="domain_name_list_con">
+                    <div class="domain_name_list_conss">
+                        <div
+                            class="domain_name_list_cons"
+                            v-for="(item, index) in list"
+                            :key="item.id"
+                            :class="index % 2 ? 'domain_name_list_first' : 'domain_name_list_second'"
+                            @click="buy(index)"
+                        >
+                            <div class="domain_name_list_cons_title">{{ item.title }}</div>
+                            <div :class="item.show ? 'domain_name_list_cons_buy' : 'domain_name_list_cons_sold'">
+                                {{ item.show ? '购买' : '已售' }}
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div> -->
+</template>
+
+<script>
+import { mapState } from 'vuex';
+export default {
+    data() {
+        return {
+            action: 1,
+            heightNumber: 500,
+            paddingTop: 0,
+            heightBgNumber: 260,
+            moreHeight: 0,
+            domain: true,
+            value: '',
+            list: [],
+            unregistered: require('@assets/png-da-lv@3x.png'),
+            registered: require('@assets/png-da-zi@3x.png')
+        };
+    },
+    computed: {
+        ...mapState(['userInfo'])
+    },
+    mounted() {
+        // this.getSearch()
+    },
+    watch: {
+        value() {
+            this.$nextTick(() => {
+                if (this.value == '') {
+                    this.list = [];
+                }
+            });
+        }
+    },
+    methods: {
+        change() {
+            this.heightNumber = 180;
+            this.action = 2;
+            this.paddingTop = 70;
+            this.heightBgNumber = 100;
+            this.moreHeight = -320;
+        },
+        learnMore() {
+            this.action = 3;
+            this.heightNumber = 180;
+            this.heightBgNumber = 100;
+            this.moreHeight = -320;
+        },
+        getSearch(value) {
+            console.log(value);
+            if (value == '') {
+                this.$nextTick(() => {
+                    this.list = [];
+                });
+            } else {
+                let matching = /^[A-Za-z0-9]+$/;
+                if (matching.test(value)) {
+                    this.$http
+                        .post('/domainOrder/search', {
+                            domain: value
+                        })
+                        .then(res => {
+                            if (this.value === value) {
+                                this.list = [];
+                                this.list = this.list.concat(res);
+                            }
+                        })
+                        .catch(e => {});
+                } else {
+                    this.$toast('只能由数字和字母组成');
+                    this.list = [];
+                }
+            }
+        },
+        buy(index) {
+            if (!this.list[index].sold) {
+                this.$router.push({
+                    path: '/domainSubmit',
+                    query: {
+                        domain: this.list[index].domain
+                    }
+                });
+            } else {
+                return;
+            }
+        },
+        fallback() {
+            if (this.action == '3') {
+                this.action = 1;
+                this.heightNumber = 500;
+                this.heightBgNumber = 260;
+                this.moreHeight = 0;
+            } else if (this.action == '2') {
+                this.action = 1;
+                this.paddingTop = 0;
+                this.heightNumber = 500;
+                this.heightBgNumber = 260;
+                this.moreHeight = 0;
+            }
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped>
+.meta_domain_name_bg {
+    width: 100%;
+    height: 280px;
+    position: fixed;
+    bottom: 0;
+    z-index: 1;
+}
+.domain_name {
+    width: 100%;
+    height: 100vh;
+    background-image: url('../assets/png@3x.png');
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+    padding: 0px 30px;
+    padding-top: calc(35vw + 122px);
+    box-sizing: border-box;
+    .domain_name_con {
+        width: 100%;
+        height: 38px;
+        background: linear-gradient(126deg, #401e68 0%, #15146b 100%);
+        // backdrop-filter: blur(5px);
+        border: 1px solid rgba(129, 255, 151, 1);
+        box-sizing: border-box;
+        text-align: center;
+        position: relative;
+        border-radius: 20px;
+        .domain_name_con_img {
+            position: absolute;
+            width: 18px;
+            height: 18px;
+            top: 9px;
+            left: 12px;
+        }
+        .domain_name_con_text {
+            font-size: 12px;
+            font-family: ZhenyanGB-Regular, ZhenyanGB;
+            font-weight: 400;
+            color: #ffffff;
+            line-height: 38px;
+            letter-spacing: 1px;
+            background: linear-gradient(105deg, #76f0ff 0%, #81ff97 100%);
+            -webkit-background-clip: text;
+            -webkit-text-fill-color: transparent;
+        }
+    }
+}
+.domain_name_list_two {
+    width: 100%;
+    height: 100vh;
+    background: rgba(255, 255, 255, 0);
+    background-image: url('../assets/png@3x.png');
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+}
+.domain_name_list {
+    width: 100%;
+    height: 100vh;
+    backdrop-filter: blur(4px);
+    .domain_name_list_top {
+        width: 100%;
+        height: 50px;
+        padding: 9px 16px;
+        box-sizing: border-box;
+        backdrop-filter: blur(8px);
+    }
+    /deep/ .van-search {
+        height: 32px;
+        padding: 0 !important;
+        background: rgba(255, 255, 255, 0) !important;
+        border-radius: 2px;
+        box-sizing: border-box;
+        .van-search__content {
+            background: rgba(0, 0, 0, 0.15);
+        }
+        .van-search__action {
+            padding-right: 0px;
+            font-size: 14px;
+            font-family: PingFangSC-Regular, PingFang SC;
+            font-weight: 400;
+            color: #ffffff;
+        }
+        .van-field__control {
+            color: #ffffff !important;
+        }
+    }
+    .domain_name_list_con {
+        margin-top: 2px;
+        // filter: blur(8px);
+        .domain_name_list_conss {
+            backdrop-filter: blur(8px);
+        }
+        .domain_name_list_cons {
+            width: 100%;
+            height: 52px;
+            padding: 0px 16px;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            font-size: 12px;
+            font-family: ZhenyanGB-Regular, ZhenyanGB;
+            font-weight: 400;
+            color: #ffffff;
+            line-height: 24px;
+            box-sizing: border-box;
+            .domain_name_list_cons_buy {
+                width: 68px;
+                height: 24px;
+                background: linear-gradient(135deg, #a108ff 0%, #5c7cff 100%);
+                border-radius: 2px;
+                font-size: 12px;
+                font-weight: 400;
+                color: #ffffff;
+                line-height: 26px;
+                text-align: center;
+            }
+            .domain_name_list_cons_sold {
+                width: 68px;
+                height: 24px;
+                background: #34276d;
+                border-radius: 2px;
+                font-size: 12px;
+                font-weight: 400;
+                color: #c8c9cc;
+                line-height: 26px;
+                text-align: center;
+            }
+        }
+        .domain_name_list_first {
+            background: rgba(0, 0, 0, 0.15);
+        }
+    }
+}
+.meta_domain_nameTwo {
+    height: var(--app-height);
+}
+.meta_domain_nameOne {
+    min-height: var(--app-height) !important;
+}
+.meta_domain_name {
+    padding-top: var(--safe-top);
+    width: 100%;
+    background: #030001;
+    position: relative;
+    .meta_domain_name_tops {
+        background: #030001;
+    }
+    .meta_domain_name_top {
+        width: 100%;
+        // background-image: url('../assets/png-bg@3x (2).png');
+        // background-size: 100% 100%;
+        // background-repeat: no-repeat;
+        // background: #030001;
+        position: relative;
+        transition: 0.5s;
+        z-index: 2;
+        .meta_domain_name_top_bgimg {
+            position: absolute;
+            top: 0;
+            left: 0;
+            transition: 0.5s;
+        }
+        .meta_domain_name_top_bg {
+            position: absolute;
+            left: 0;
+            top: 0;
+            z-index: 2;
+            width: 100%;
+            background: linear-gradient(180deg, rgba(3, 0, 1, 0.8) 0%, rgba(3, 0, 1, 0.3) 51%, rgba(3, 0, 1, 0) 100%);
+        }
+        .meta_domain_name_top_one {
+            width: 100%;
+            padding: 24px 21px 0px 20px;
+            display: flex;
+            justify-content: space-between;
+            box-sizing: border-box;
+            margin-bottom: 62px;
+            position: relative;
+            z-index: 3;
+            .meta_domain_name_top_img_left {
+                width: 24px;
+                height: 24px;
+            }
+            .meta_domain_name_top_img_right {
+                width: 24px;
+                height: 24px;
+            }
+        }
+        .meta_domain_name_top_ones {
+            position: absolute;
+            left: 20px;
+            top: 24px;
+            z-index: 4;
+            .meta_domain_name_top_img_left {
+                width: 24px;
+                height: 24px;
+            }
+        }
+        .meta_domain_name_top_two {
+            position: relative;
+            width: 100%;
+            display: flex;
+            justify-content: center;
+            margin-bottom: 54px;
+            z-index: 3;
+            .meta_domain_name_top_two_img {
+                width: 200px;
+                height: 110px;
+            }
+        }
+        .meta_domain_name_top_three {
+            width: 100%;
+            padding: 0px 38px 0px 37px;
+            box-sizing: border-box;
+            position: relative;
+            z-index: 3;
+            .meta_domain_name_top_three_con {
+                width: 100%;
+                height: 38px;
+                background: linear-gradient(90deg, #c86ddb 0%, rgba(200, 109, 219, 0.4) 55%, rgba(0, 0, 0, 0.1) 100%);
+                border-radius: 8px;
+                border: 2px solid #ffffff;
+                box-sizing: border-box;
+                // backdrop-filter: blur(2px);
+                display: flex;
+                justify-content: space-between;
+                .meta_domain_name_top_three_con_left {
+                    width: calc(100vw - 147px);
+                    display: flex;
+                    justify-content: space-between;
+                    align-items: center;
+                    padding: 0px 10px;
+                    position: relative;
+                    /deep/ .van-search {
+                        padding: 0px !important;
+                        width: 100%;
+                        height: 100%;
+                        background: none !important;
+                        .van-search__content {
+                            padding-left: 0px !important;
+                            background: none !important;
+                        }
+                        .van-cell__value {
+                            font-size: 15px;
+                            font-weight: bold;
+                            color: #ffffff;
+                            line-height: 24px;
+                        }
+                        .van-search__action {
+                            color: #ffffff;
+                        }
+                        .van-field__control {
+                            color: #ffffff !important;
+                        }
+                        input::placeholder {
+                            color: #ffffff;
+                        }
+                    }
+                    .meta_domain_name_top_three_con_left_one {
+                        font-size: 15px;
+                        font-weight: bold;
+                        color: #ffffff;
+                        line-height: 24px;
+                    }
+                    .meta_domain_name_top_three_con_left_two {
+                        position: absolute;
+                        right: 10px;
+                        font-size: 14px;
+                        font-weight: bold;
+                        color: #ffffff;
+                        line-height: 24px;
+                    }
+                }
+                .meta_domain_name_top_three_con_right {
+                    margin-top: -2px;
+                    margin-right: -2px;
+                    width: 48px;
+                    height: 38px;
+                    background: #ffffff;
+                    border-radius: 0px 8px 8px 0px;
+                    .meta_domain_name_top_three_con_right_img {
+                        width: 30px;
+                        height: 30px;
+                        padding-top: 4px;
+                        padding-left: 9px;
+                    }
+                }
+            }
+        }
+        .learn_more {
+            padding-top: 52px;
+            text-align: center;
+            // padding-left: 30px;
+            position: relative;
+            z-index: 3;
+            .learn_more_title {
+                font-size: 38px;
+                font-weight: bold;
+                color: #ffffff;
+                line-height: 38px;
+                margin-bottom: 8px;
+            }
+            .learn_more_tip {
+                font-size: 12px;
+                font-weight: bold;
+                color: #ffffff;
+                line-height: 12px;
+                letter-spacing: 10px;
+            }
+        }
+    }
+    .learn_more_list {
+        padding: 40px 30px 70px 46px;
+        box-sizing: border-box;
+        position: relative;
+        z-index: 2;
+        // background: #030001;
+        .learn_more_list_con {
+            margin-bottom: 30px;
+        }
+        .learn_more_list_one {
+            position: relative;
+            margin-bottom: 12px;
+            .learn_more_list_one_img {
+                width: 10px;
+                height: 18px;
+                position: absolute;
+                top: 3px;
+                left: -12px;
+            }
+            .learn_more_list_one_title {
+                font-size: 14px;
+                font-weight: bold;
+                color: #ffffff;
+                line-height: 24px;
+            }
+        }
+        .learn_more_list_two {
+            position: relative;
+            .learn_more_list_two_img {
+                width: 10px;
+                height: 18px;
+                position: absolute;
+                top: 0;
+                left: -12px;
+            }
+            .learn_more_list_two_title {
+                font-size: 10px;
+                font-weight: 600;
+                color: #ffffff;
+                line-height: 16px;
+            }
+        }
+        .learn_more_list_three {
+            margin-top: 20px;
+            font-size: 10px;
+            font-weight: 600;
+            color: #ffffff;
+            line-height: 16px;
+        }
+    }
+    .learn_more_btn {
+        width: 100%;
+        position: absolute;
+        bottom: 34px;
+        // bottom: 74px;
+        display: flex;
+        justify-content: center;
+        z-index: 2;
+        .learn_more_btn_con {
+            display: flex;
+        }
+        .learn_more_btn_img {
+            width: 10px;
+            height: 18px;
+            margin-right: 6px;
+            margin-top: 3px;
+        }
+        .learn_more_btn_title {
+            font-size: 14px;
+            font-weight: bold;
+            color: #ffffff;
+            line-height: 24px;
+        }
+    }
+    .meta_domain_name_list {
+        // background: #030001;
+        padding: 40px 30px;
+        // padding-bottom: 0px;
+        box-sizing: border-box;
+        position: relative;
+        z-index: 2;
+        .meta_domain_name_list_con {
+            display: flex;
+            justify-content: space-between;
+            margin-bottom: 30px;
+            .meta_domain_name_list_con_left {
+                display: flex;
+                .meta_domain_name_list_con_left_img {
+                    width: 10px;
+                    height: 34px;
+                    margin-right: 8px;
+                }
+                .meta_domain_name_list_con_left_one {
+                    font-size: 12px;
+                    font-weight: bold;
+                    color: #ffffff;
+                    line-height: 17px;
+                }
+                .meta_domain_name_list_con_left_two {
+                    font-size: 10px;
+                    font-weight: bold;
+                    color: #939599;
+                    line-height: 17px;
+                }
+            }
+            .meta_domain_name_list_con_right {
+                display: flex;
+                align-items: center;
+                .meta_domain_name_list_con_right_one {
+                    width: 48px;
+                    height: 24px;
+                    background: #686666;
+                    border-radius: 8px;
+                    font-size: 13px;
+                    font-weight: bold;
+                    color: #ffffff;
+                    line-height: 25px;
+                    text-align: center;
+                    margin-right: 10px;
+                }
+                .meta_domain_name_list_con_right_two {
+                    width: 8px;
+                    height: 8px;
+                    background: #00fe1e;
+                    border-radius: 4px;
+                }
+                .meta_domain_name_list_con_right_three {
+                    width: 8px;
+                    height: 8px;
+                    background: #e32ff9;
+                    border-radius: 4px;
+                }
+            }
+        }
+        .meta_domain_name_bg {
+            width: 100%;
+            height: 280px;
+            position: absolute;
+            bottom: 0;
+            z-index: 1;
+        }
+    }
+}
+</style>

+ 292 - 0
src/views/DomainSubmit.vue

@@ -0,0 +1,292 @@
+<template>
+    <div class="domain_submit">
+        <div class="domain_submit_top">
+            <img
+                :src="require('@assets/icon_fanhui@3x (1).png')"
+                alt=""
+                class="domain_submit_top_img"
+                @click="$router.go(-1)"
+            />
+            <div>购买域名</div>
+        </div>
+        <div class="domain_submit_name">{{ domain }}</div>
+        <div class="domain_submit_price">
+            <div class="domain_submit_price_one">实际支付:</div>
+            <div class="domain_submit_price_two">
+                <img :src="require('@assets/icon_jiage@3x.png')" alt="" class="domain_submit_price_two_img" />
+                <div>{{ price }}</div>
+            </div>
+        </div>
+        <div class="domain_submit_mode">
+            <div
+                class="domain_submit_mode_con"
+                @click="payType = item.type"
+                v-for="(item, index) in payInfos"
+                :key="index"
+            >
+                <div class="domain_submit_mode_con_left">
+                    <van-image
+                        :src="item.icon"
+                        width="24px"
+                        height="24px"
+                        fit="cover"
+                        class="domain_submit_mode_con_left_img"
+                    />
+                    <div class="domain_submit_mode_con_left_title">{{ item.name }}</div>
+                </div>
+                <img
+                    class="domain_submit_mode_con_right_img"
+                    :src="payType === item.type ? icons[0] : icons[1]"
+                    alt=""
+                />
+            </div>
+        </div>
+        <div class="domain_submit_btn">
+            <div class="domain_submit_btn_con" @click="showPwdDialog = true">确认支付</div>
+        </div>
+        <van-number-keyboard v-model="tradeCode" :show="showKeyboard" @blur="showKeyboard = false" />
+        <van-dialog
+            v-model:show="showPwdDialog"
+            title="请输入支付密码"
+            confirmButtonText="立即支付"
+            show-cancel-button
+            confirmButtonColor="#3ab200"
+            @cancel="(showPwdDialog = false), $toast.clear()"
+            @confirm="pay"
+        >
+            <div style="padding: 20px 0">
+                <van-password-input
+                    :value="tradeCode"
+                    :focused="showKeyboard"
+                    @focus="showKeyboard = true"
+                    gutter="4px"
+                />
+            </div>
+        </van-dialog>
+    </div>
+</template>
+<script>
+import { mapState } from 'vuex';
+export default {
+    data() {
+        return {
+            payType: 'BALANCE',
+            showPwdDialog: false,
+            showKeyboard: false,
+            tradeCode: '',
+            domain: '',
+            price: 40,
+            payName: "",
+            id: '',
+            payInfos: [
+                {
+                    icon: require('@assets/icon-balance@3x.png'),
+                    name: '余额',
+                    type: 'BALANCE'
+                }
+                // {
+                //     icon: require('@assets/bianzu@3x.png'),
+                //     name: '支付宝',
+                //     type: 'ALIPAY'
+                // },
+                // {
+                //     icon: require('@assets/icon-shouxinyi@3x.png'),
+                //     name: '首信快捷支付',
+                //     type: 'QUICK'
+                // },
+                // {
+                //     icon: require('@assets/icon-yinlian@3x.png'),
+                //     name: '银联',
+                //     type: 'H5PAY'
+                // }
+            ],
+            icons: [require('@assets/icon_gouxuan_preone@3x.png'), require('@assets/icon_gouxuan_huise@3x.png')]
+        };
+    },
+    computed: {
+        ...mapState(['userInfo'])
+    },
+    mounted() {
+        this.domain = this.$route.query.domain;
+        this.payName = this.$route.query.pay;
+        this.id = this.$route.query.id;
+    },
+    methods: {
+        pay() {
+            console.log("thsksk",this.payName)
+            if (this.payName == '1') {
+                if (this.tradeCode == '') {
+                    this.showPwdDialog = true;
+                    this.$toast('请输入交易密码');
+                    return;
+                }
+                this.$http
+                    .post('/payOrder/v2/domain/balance', {
+                        id: this.id,
+                        tradeCode: this.tradeCode
+                    })
+                    .then(res => {
+                        this.$toast.success('支付成功');
+                        setTimeout(() => {
+                            this.$router.replace('/home');
+                        }, 1000);
+                    })
+                    .catch(e => {
+                        this.tradeCode = '';
+                        this.$toast(e.error || '支付失败');
+                    });
+            } else {
+                this.$http
+                    .post('/domainOrder/create', {
+                        userId: this.userInfo.id,
+                        domain: this.domain,
+                        price: this.price
+                    })
+                    .then(res => {
+                        if (this.tradeCode == '') {
+                            this.showPwdDialog = true;
+                            this.$toast('请输入交易密码');
+                            return;
+                        }
+                        this.$http
+                            .post('/payOrder/v2/domain/balance', {
+                                id: res.id,
+                                tradeCode: this.tradeCode
+                            })
+                            .then(res => {
+                                this.$toast.success('支付成功');
+                                setTimeout(() => {
+                                    this.$router.replace('/home');
+                                }, 1000);
+                            })
+                            .catch(e => {
+                                this.tradeCode = '';
+                                this.$toast(e.error || '支付失败');
+                            });
+                    })
+                    .catch(e => {
+                        this.$toast(e.error);
+                    });
+            }
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped>
+.domain_submit {
+    padding-top: var(--safe-top);
+    width: 100%;
+    height: 100vh;
+    background: #030001;
+    position: relative;
+    .domain_submit_top {
+        position: relative;
+        text-align: center;
+        padding-top: 24px;
+        font-size: 14px;
+        font-weight: bold;
+        color: #ffffff;
+        line-height: 24px;
+        margin-bottom: 46px;
+    }
+    .domain_submit_top_img {
+        width: 24px;
+        height: 24px;
+        position: absolute;
+        top: 24px;
+        left: 20px;
+    }
+    .domain_submit_name {
+        font-size: 24px;
+        text-align: center;
+        font-weight: bold;
+        color: #ffffff;
+        line-height: 24px;
+        margin-bottom: 50px;
+    }
+    .domain_submit_price {
+        width: 100%;
+        height: 48px;
+        padding: 0px 16px;
+        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
+        box-sizing: border-box;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        .domain_submit_price_one {
+            font-size: 14px;
+            font-weight: 400;
+            color: #4f4d4d;
+            line-height: 24px;
+        }
+        .domain_submit_price_two {
+            display: flex;
+            font-size: 32px;
+            font-weight: normal;
+            color: #ffffff;
+            line-height: 24px;
+            .domain_submit_price_two_img {
+                width: 11px;
+                height: 11px;
+                padding-top: 12px;
+                margin-right: 2px;
+            }
+        }
+    }
+    .domain_submit_mode {
+        width: 100%;
+        padding: 0px 16px;
+        box-sizing: border-box;
+        margin-top: 11px;
+        .domain_submit_mode_con {
+            width: 100%;
+            height: 48px;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            .domain_submit_mode_con_left {
+                display: flex;
+                .domain_submit_mode_con_left_img {
+                    margin-right: 10px;
+                }
+                .domain_submit_mode_con_left_title {
+                    font-size: 14px;
+                    font-weight: bold;
+                    color: #ffffff;
+                    line-height: 24px;
+                }
+            }
+            .domain_submit_mode_con_right_img {
+                width: 24px;
+                height: 24px;
+            }
+        }
+    }
+    .domain_submit_btn {
+        width: 100%;
+        position: absolute;
+        left: 0;
+        bottom: 43px;
+        padding: 0px 48px;
+        box-sizing: border-box;
+        .domain_submit_btn_con {
+            width: 100%;
+            height: 38px;
+            border-radius: 30px;
+            background: #db14e2;
+            font-size: 16px;
+            font-weight: bold;
+            color: #ffffff;
+            line-height: 38px;
+            text-align: center;
+        }
+    }
+    .van-number-keyboard {
+        z-index: 9999;
+    }
+    :deep(.van-password-input__item) {
+        background: @bg3;
+    }
+}
+</style>

+ 116 - 0
src/views/Home.vue

@@ -67,6 +67,46 @@
             ></news-record>
         </div>
 
+        <div class="short-list">
+            <div class="short-info" @click="$router.push('/starMap')">
+                <img src="@assets/home1.png" alt="" class="short-img" />
+                <div class="short-content">
+                    <div class="add">
+                        <img src="@assets/icon_jiahao.png" alt="" />
+                    </div>
+                    <div class="text1">链上星图</div>
+                    <div class="text2">属于你的元宇宙物资铸造中心</div>
+                </div>
+            </div>
+            <div class="short-info short-info2" @click="$router.push('/auction')">
+                <img src="@assets/home2.png" alt="" class="short-img" />
+                <div class="short-content">
+                    <div class="text1">
+                        <span>绿洲易拍</span>
+                        <img src="@assets/icon_fanhui.png" alt="" />
+                    </div>
+                </div>
+            </div>
+            <div class="short-info short-info2" @click="wait">
+                <img src="@assets/home3.png" alt="" class="short-img" />
+                <div class="short-content">
+                    <div class="text1">
+                        <span>元宇宙域名</span>
+                        <img src="@assets/icon_fanhui.png" alt="" />
+                    </div>
+                </div>
+            </div>
+            <div class="short-info short-info2" @click="$router.push('/hopeMarket')">
+                <img src="@assets/home4.png" alt="" class="short-img" />
+                <div class="short-content">
+                    <div class="text1">
+                        <span>元宇宙物资</span>
+                        <img src="@assets/icon_fanhui.png" alt="" />
+                    </div>
+                </div>
+            </div>
+        </div>
+
         <div class="card news">
             <div class="news-title" @click="$router.push('/activityList')">
                 <div class="news-left">
@@ -1033,6 +1073,82 @@ export default {
     display: block;
     z-index: 20;
 }
+.short-list {
+    padding: 8px;
+    .short-info {
+        position: relative;
+        width: calc(50vw - 24px);
+        display: inline-block;
+        margin: 8px;
+
+        .short-img {
+            width: 100%;
+            display: block;
+            position: relative;
+            z-index: 0;
+        }
+
+        .short-content {
+            position: absolute;
+            bottom: 0;
+            left: 0;
+            right: 0;
+            z-index: 2;
+            padding: 12px;
+
+            .add {
+                width: 36px;
+                height: 36px;
+                background: rgba(255, 255, 255, 0.18);
+                border-radius: 8px;
+                backdrop-filter: blur(4px);
+                .flex();
+                justify-content: center;
+                margin-bottom: 6px;
+
+                img {
+                    width: 20px;
+                    height: 20px;
+                }
+            }
+
+            .text1 {
+                font-size: 16px;
+                font-weight: bold;
+                color: #ffffff;
+                line-height: 24px;
+            }
+
+            .text2 {
+                font-size: 10px;
+                color: #ffffff;
+                line-height: 16px;
+            }
+        }
+
+        &.short-info2 {
+            .short-content {
+                padding: 4px 12px;
+                background: rgba(0, 0, 0, 0.1);
+                border-radius: 0px 0px 16px 16px;
+                backdrop-filter: blur(3px);
+                font-size: 14px;
+                font-weight: bold;
+                color: #ffffff;
+                line-height: 24px;
+                .text1 {
+                    .flex();
+                    justify-content: space-between;
+
+                    img {
+                        width: 20px;
+                        height: 20px;
+                    }
+                }
+            }
+        }
+    }
+}
 .tips-content {
     .flex-col();
     align-items: center;

+ 24 - 6
src/views/Mine.vue

@@ -166,6 +166,16 @@
         </div> -->
         <div class="menus">
             <div class="menus_list">
+                <!-- <div class="menus_list_con" @click="$router.push('/domainname')" v-if="!$store.state.review">
+                    <div class="menus_list_con_left">
+                        <img src="@assets/icon_qianbao@3x.png" alt="" class="menus_list_con_left_img" />
+                        <span>元域名</span>
+                    </div>
+                    <img src="@assets/icon_inter@3x.png" alt="" class="menus_list_con_right_img" />
+                </div>
+                <div class="menus_list_division">
+                    <div class="menus_list_division_con"></div>
+                </div> -->
                 <div class="menus_list_con" @click="share" v-if="!$store.state.review">
                     <div class="menus_list_con_left">
                         <img src="@assets/icon-yaoqing@3x.png" alt="" class="menus_list_con_left_img" />
@@ -193,7 +203,7 @@
                     </div>
                     <img src="@assets/icon_inter@3x.png" alt="" class="menus_list_con_right_img" />
                 </div>
-                 <div class="menus_list_division">
+                <div class="menus_list_division">
                     <div class="menus_list_division_con"></div>
                 </div>
                 <div class="menus_list_con" @click="$router.push('/about')">
@@ -203,7 +213,7 @@
                     </div>
                     <img src="@assets/icon_inter@3x.png" alt="" class="menus_list_con_right_img" />
                 </div>
-                 <div class="menus_list_division">
+                <div class="menus_list_division">
                     <div class="menus_list_division_con"></div>
                 </div>
                 <div class="menus_list_con" @click="$router.push('/security')">
@@ -246,13 +256,13 @@
                     <van-icon :name="require('@assets/info_icon_jiaoyijilu.png')" class="search-icon" />
                 </template>
             </van-grid-item> -->
-            <!-- <van-grid-item text="了解更多" :to="{ path: '/question' }">
+        <!-- <van-grid-item text="了解更多" :to="{ path: '/question' }">
                 <template #icon>
                     <van-icon :name="require('@assets/icon_liaojiegengduo.png')" class="search-icon" />
                 </template>
             </van-grid-item> -->
 
-            <!-- <van-grid-item text="地址管理" :to="{ path: '/mineAddress' }">
+        <!-- <van-grid-item text="地址管理" :to="{ path: '/mineAddress' }">
                 <template #icon>
                     <van-icon :name="require('@assets/icon_dizhi.png')" class="search-icon" />
                 </template>
@@ -306,7 +316,11 @@
             </div>
         </template>
     </van-dialog>
-    <van-popup :show="turnPrivacy" position="bottom" :style="{ height: '260px',borderTopLeftRadius: '16px',borderTopRightRadius: '16px'}">
+    <van-popup
+        :show="turnPrivacy"
+        position="bottom"
+        :style="{ height: '260px', borderTopLeftRadius: '16px', borderTopRightRadius: '16px' }"
+    >
         <div class="wrapper">
             <img
                 :src="require('@assets/icon_close@3x.png')"
@@ -327,7 +341,11 @@
         </div>
         <template #footer> </template>
     </van-popup>
-    <van-popup :show="turnOffPrivacy" position="bottom" :style="{ height: '260px',borderTopLeftRadius: '16px',borderTopRightRadius: '16px'}">
+    <van-popup
+        :show="turnOffPrivacy"
+        position="bottom"
+        :style="{ height: '260px', borderTopLeftRadius: '16px', borderTopRightRadius: '16px' }"
+    >
         <div class="wrapper">
             <img
                 :src="require('@assets/icon_close@3x.png')"

+ 91 - 53
src/views/StarMap.vue

@@ -9,32 +9,36 @@
         pageType="light"
     >
         <div class="bg">
-            <img src="https://cdn.raex.vip/image/png-xingtu-bg.png" alt="" />
-        </div>
-        <div class="top">
-            <div class="text1">欢迎您!探索者!</div>
-            <div class="text2">这里是“绿洲链上星图” !</div>
-            <van-button
-                @click="$router.push('/starCreate')"
-                type="primary"
-                :icon="require('@assets/icon-zhuzaoxinghe.png')"
-                >立即铸造星图</van-button
-            >
+            <img src="@assets/png-xingtu-bg.png" alt="" />
+            <!-- <div class="top">
+                <div class="text1">WELCOME TO</div>
+                <div class="text2">链上星图</div>
+            </div> -->
         </div>
 
-        <div class="tips">
-            <div class="text1">绿洲链上星图是什么</div>
-            <div class="text2">
-                <p>
-                    绿洲链上星图是属于每一个人的元宇宙物资铸造中心!在这里,每一个人都可以铸造自己的元宇宙物资,在OASISMETA绿洲元宇宙里进行展示与流通!
-                </p>
-                <p>
-                    绿洲链上星图也是使用“IPFS全球分布式存储技术”与“区块链确权技术”的永恒纪念之地!在这里,可以自由上传对您拥有重大意义的照片,比如全家福、孩子的满月照、宠物的Q萌形象、团队聚会的瞬间...让这些具有历史意义的照片,让他们在链上永存!
-                </p>
-                <p>
-                    当然!绿洲链上星图,欢迎优秀的艺术家与创作者!在这里,每一位艺术家都可以上传自己的艺术作品!在未来,绿洲星库将全面开放铸造与流通,更将从优秀的作品中选拔出最为优秀的作品,以绿洲名义进行全球发行!每一名艺术家与创作者都可以参与到OASISMETA绿洲元宇宙的共创未来!
-                </p>
+        <div class="content">
+            <div class="tips">
+                <div class="text1">绿洲链上星图是什么?</div>
+                <div class="text2">
+                    <p>
+                        绿洲链上星图是属于每一个人的元宇宙物资铸造中心!<br />在这里,每一个人都可以铸造自己的元宇宙物资,<br />在OASISMETA绿洲元宇宙里进行展示与流通!
+                    </p>
+                    <p>
+                        绿洲链上星图也是使用“IPFS全球分布式存储技术”<br />与“区块链确权技术”的永恒纪念之地!在这里,可<br />以自由上传对您拥有重大意义的照片,比如全家福、<br />孩子的满月照、宠物的Q萌形象、团队聚会的瞬间...<br />让这些具有历史意义的照片,让他们在链上永存!
+                    </p>
+                    <p>
+                        当然!绿洲链上星图,欢迎优秀的艺术家与创作者!<br />在这里,每一位艺术家都可以上传自己的艺术作品!<br />在未来,绿洲星库将全面开放铸造与流通,更将从<br />优秀的作品中选拔出最为优秀的作品,以绿洲名义<br />进行全球发行!每一名艺术家与创作者都可以参与<br />到OASISMETA绿洲元宇宙的共创未来!
+                    </p>
+                </div>
+            </div>
+
+            <div class="create">
+                <van-button color="#00B897" round @click="$router.push('/starCreate')" block>
+                    点击立即铸造链上星图
+                </van-button>
             </div>
+
+            <img class="content-bg" src="@assets/png-huise-bg@3x.png" alt="" />
         </div>
 
         <van-list class="list" v-model:loading="loading" :finished="finished" finished-text="" @load="getData">
@@ -93,10 +97,10 @@ export default {
 
 <style lang="less" scoped>
 .container {
-    background-color: #272b2e;
+    background-color: #030001;
     position: relative;
     min-height: var(--app-height);
-    padding-top: var(--safe-top);
+    // padding-top: var(--safe-top);
     & > div {
         position: relative;
         z-index: 1;
@@ -108,22 +112,46 @@ export default {
     }
 }
 
+.content {
+    padding-top: 74.6vw;
+    position: relative;
+
+    .content-bg {
+        position: absolute;
+        width: 100%;
+        display: block;
+        top: calc(74.6vw + 84px);
+        left: 0;
+        z-index: 0;
+    }
+}
+
 .top {
     padding: 16px;
-    position: relative;
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
     z-index: 1;
+    .flex-col();
+    align-items: center;
     .text1 {
-        font-size: 14px;
+        font-size: 10px;
+        font-family: SourceHanSans-Medium;
         font-weight: bold;
-        color: rgba(255, 255, 255, 0.5);
-        line-height: 24px;
+        color: #ffffff;
+        line-height: 10px;
+        letter-spacing: 6px;
     }
     .text2 {
-        font-size: 26px;
+        font-size: 36px;
+        font-family: SourceHanSans-Medium;
         font-weight: bold;
         color: #ffffff;
-        line-height: 40px;
-        text-shadow: 0px 0px 0px #000000;
+        line-height: 36px;
+        text-shadow: 0px 0px 4px #00503f;
+        white-space: nowrap;
+        margin-top: 6px;
     }
     .van-button {
         border-radius: 8px;
@@ -138,34 +166,44 @@ export default {
 }
 
 .tips {
-    background: rgba(0, 0, 0, 0.04);
-    border-radius: 8px;
-    border: 1px solid #ffffff20;
-    backdrop-filter: blur(40px);
-    margin: 8px 16px 0;
-    padding: 14px 16px;
+    margin: 0 16px 0;
+    padding: 0px 10px 20px;
+    position: relative;
+    z-index: 1;
     .text1 {
-        text-align: center;
         font-size: 14px;
         font-weight: bold;
-        color: #ffffff;
+        color: #72ffb4;
         line-height: 24px;
+        text-shadow: 0px 0px 4px #1fcf71;
+        text-align: center;
     }
 
     .text2 {
         margin-top: 8px;
-        font-size: 12px;
-        color: rgba(255, 255, 255, 0.6);
-        line-height: 18px;
+        font-size: 11px;
+        color: #fff;
+        line-height: 16px;
+        text-align: center;
         p {
             margin: 0;
         }
         p + p {
-            margin-top: 10px;
+            margin-top: 14px;
         }
     }
 }
 
+.create {
+    padding: 0 48px;
+    --van-button-default-height: 40px;
+    position: relative;
+    z-index: 1;
+    .van-button {
+        font-weight: bold;
+    }
+}
+
 .bg {
     position: absolute;
     top: 0;
@@ -175,15 +213,15 @@ export default {
         width: 100%;
         display: block;
     }
-    &::after {
-        position: absolute;
-        content: '';
-        left: 0;
-        right: 0;
-        bottom: 0;
-        height: 100px;
-        background: linear-gradient(180deg, rgba(39, 43, 46, 0) 0%, #272b2e 100px);
-    }
+    // &::after {
+    //     position: absolute;
+    //     content: '';
+    //     left: 0;
+    //     right: 0;
+    //     bottom: 0;
+    //     height: 100px;
+    //     background: linear-gradient(180deg, rgba(39, 43, 46, 0) 0%, #272b2e 100px);
+    // }
 }
 .list {
     padding: 20px 8px 100px;

+ 1 - 1
src/views/Submit.vue

@@ -726,4 +726,4 @@ export default {
 :deep(.van-password-input__item) {
     background: @bg3;
 }
-</style>
+</style>

+ 10 - 2
src/views/account/Security.vue

@@ -32,7 +32,11 @@
             <!-- <van-button type="primary" @click="logout" plain block round></van-button> -->
         </div>
     </div>
-    <van-popup :show="turnOffPrivacy" position="bottom" :style="{ height: '260px',borderTopLeftRadius: '16px',borderTopRightRadius: '16px'}" >
+    <van-popup
+        :show="turnOffPrivacy"
+        position="bottom"
+        :style="{ height: '260px', borderTopLeftRadius: '16px', borderTopRightRadius: '16px' }"
+    >
         <div class="wrapper">
             <img
                 :src="require('@assets/icon_close@3x.png')"
@@ -53,7 +57,11 @@
         </div>
         <template #footer> </template>
     </van-popup>
-     <van-popup :show="turnPrivacy" position="bottom" :style="{ height: '260px',borderTopLeftRadius: '16px',borderTopRightRadius: '16px'}" >
+    <van-popup
+        :show="turnPrivacy"
+        position="bottom"
+        :style="{ height: '260px', borderTopLeftRadius: '16px', borderTopRightRadius: '16px' }"
+    >
         <div class="wrapper">
             <img
                 :src="require('@assets/icon_close@3x.png')"

+ 22 - 8
src/views/activity/ChooseProduct.vue

@@ -47,8 +47,9 @@
                                 />
                                 <div class="product-info">
                                     <div class="text1 van-ellipsis">{{ item.name }}</div>
-                                    <div class="flex1"></div>
-                                    <div class="text2" v-if="item.category">{{ item.category }}</div>
+                                    <div class="text2-list">
+                                        <div class="text2" v-if="item.category">{{ item.category }}</div>
+                                    </div>
                                 </div>
                             </div>
                             <div class="product-desc" v-if="getChooseNum(item.collectionInfos)">
@@ -83,8 +84,10 @@
                                     />
                                     <div class="product-info">
                                         <div class="text1 van-ellipsis">{{ pro.name }}</div>
-                                        <div class="flex1"></div>
-                                        <div class="text2" v-if="item.number">编号:{{ pro.number }}</div>
+                                        <!-- <div class="flex1"></div> -->
+                                        <div class="text2-list">
+                                            <div class="text2" v-if="item.number">编号:{{ pro.number }}</div>
+                                        </div>
                                     </div>
                                 </div>
                             </div>
@@ -115,9 +118,10 @@
                             />
                             <div class="product-info">
                                 <div class="text1 van-ellipsis">{{ item.name }}</div>
-                                <div class="flex1"></div>
-                                <div class="text2" v-if="item.category">{{ item.category }}</div>
-                                <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                                <div class="text2-list">
+                                    <div class="text2" v-if="item.category">{{ item.category }}</div>
+                                    <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                                </div>
                             </div>
                         </div>
                         <div class="num-right" @click.stop="" v-if="item.collections">
@@ -545,11 +549,21 @@ export default {
                 color: #000000;
                 line-height: 24px;
             }
+            .text2-list {
+                .flex();
+                margin-top: 6px;
+            }
 
             .text2 {
                 font-size: 12px;
                 color: @text3;
-                line-height: 17px;
+                line-height: 18px;
+                background: #f5f7fa;
+                border-radius: 2px;
+                padding: 0 6px;
+            }
+            .text2 + .text2 {
+                margin-left: 10px;
             }
         }
     }

+ 26 - 5
src/views/activity/Detail1.vue

@@ -19,9 +19,17 @@
 
                 <div class="flex1"></div>
                 <van-button :disabled="startTime" type="primary" round v-if="startTime">{{ startTime }}</van-button>
-                <van-button v-else :disabled="isSolded" type="primary" round @click="goBuild">{{
-                    isSolded ? '已售罄' : '立即铸造'
-                }}</van-button>
+                <van-button
+                    v-else
+                    :disabled="isSolded"
+                    :class="{ not: !holdingFlag }"
+                    type="primary"
+                    round
+                    @click="goBuild"
+                    >{{ isSolded ? '已售罄' : '立即铸造' }}</van-button
+                >
+
+                <!--  -->
             </div>
         </template>
     </div>
@@ -34,7 +42,8 @@ export default {
         return {
             info: {},
             timer: null,
-            startTime: ''
+            startTime: '',
+            holdingFlag: false
         };
     },
     computed: {
@@ -47,6 +56,10 @@ export default {
     },
     methods: {
         goBuild() {
+            if (!this.holdingFlag) {
+                this.$toast('持有指定藏品才能铸造');
+                return;
+            }
             this.$router.push(
                 '/chooseProduct?name=' + encodeURIComponent(this.info.collectionName) + '&activityId=' + this.info.id
             );
@@ -57,6 +70,13 @@ export default {
                 if (res.scheduleSale && init && res.startTime) {
                     this.getTime();
                 }
+                if (res.holdingTags && res.holdingTags.length) {
+                    this.$http.get('/mintOrder/checkHolding', { id: this.$route.query.id }).then(res => {
+                        this.holdingFlag = res;
+                    });
+                } else {
+                    this.holdingFlag = true;
+                }
             });
         },
         pad(n, width, z) {
@@ -159,7 +179,8 @@ export default {
     /deep/.van-button {
         max-width: 132px;
         flex-grow: 1;
-        &.van-button--disabled {
+        &.van-button--disabled,
+        &.not {
             background: #303133;
             color: @text3;
             opacity: 1;

+ 16 - 4
src/views/activity/Submit.vue

@@ -26,9 +26,10 @@
                 <van-image width="60" height="60" radius="6" :src="getImg(changeImgs(item.pic))" fit="cover" />
                 <div class="assets-info">
                     <div class="text1">{{ item.name }}</div>
-                    <div class="flex1"></div>
-                    <div class="text2" v-if="item.category">类型:{{ item.category }}</div>
-                    <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                    <div class="text2-list">
+                        <div class="text2" v-if="item.category">类型:{{ item.category }}</div>
+                        <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                    </div>
                 </div>
                 <div class="assets-num" v-if="item.num > 1">x{{ item.num }}</div>
             </div>
@@ -566,7 +567,18 @@ export default {
         .text2 {
             font-size: 12px;
             color: @text3;
-            line-height: 17px;
+            line-height: 18px;
+            padding: 0 6px;
+            background: #f5f7fa;
+            border-radius: 2px;
+        }
+
+        .text2-list {
+            .flex();
+            margin-top: 6px;
+        }
+        .text2 + .text2 {
+            margin-left: 10px;
         }
     }
 

+ 2 - 2
src/views/auction/Detail.vue

@@ -306,7 +306,7 @@ export default {
                                 tradeAuctionId: this.auctionId,
                                 del: false,
                                 userId: this.userInfo.id,
-                                status: 'FINISH',
+                                status: 'FINISH,PASS',
                                 paymentType: 'DEPOSIT,PURCHASE_PRICE'
                             },
                             size: 1,
@@ -329,7 +329,7 @@ export default {
                         query: {
                             tradeAuctionId: this.auctionId,
                             del: false,
-                            status: 'FINISH',
+                            status: 'FINISH,PASS',
                             paymentType: 'DEPOSIT,PURCHASE_PRICE'
                         },
                         size: 2,

+ 12 - 1
src/views/auction/Home.vue

@@ -30,7 +30,7 @@
                 />
             </swiper-slide>
         </swiper>
-        <van-tabs v-model:active="auctionType" shrink @change="getData(true)">
+        <van-tabs v-model:active="auctionType" shrink @change="changeTab">
             <van-tab title="官方拍卖" name="OFFICIAL"></van-tab>
             <van-tab title="藏家市场" name="NFT"></van-tab>
             <!-- <van-tab title="藏家市场" name="ENTITY"></van-tab> -->
@@ -91,6 +91,17 @@ export default {
         this.getBanner();
     },
     methods: {
+        changeTab(tab) {
+            console.log(tab);
+            if (tab === 'NFT') {
+                this.wait();
+                this.$nextTick(() => {
+                    this.auctionType = 'OFFICIAL';
+                });
+            } else {
+                this.getData(true);
+            }
+        },
         getBanner() {
             return this.$http
                 .post(

+ 10 - 3
src/views/auction/Submit.vue

@@ -28,7 +28,7 @@
 
         <div class="text-list">
             <div class="text-info" v-if="paymentType === 'FIXED_PRICE'">
-                <span class="text1">一口价(当前价的{{ fixedPre }}%)</span>
+                <span class="text1">一口价</span>
                 <span class="text2">¥{{ preMoney }}</span>
             </div>
             <div class="text-info" v-else>
@@ -39,6 +39,10 @@
                 <span class="text1">GAS费用</span>
                 <span class="text2">¥{{ gas }}</span>
             </div>
+            <div class="text-info" v-if="paymentType === 'PURCHASE_PRICE'">
+                <span class="text1">手续费</span>
+                <span class="text2">-¥{{ info.lastCommission || 0 }}</span>
+            </div>
 
             <!-- <div class="text-info">
                 <span class="text1">GAS费用</span>
@@ -163,9 +167,9 @@ export default {
     computed: {
         preMoney() {
             if (this.paymentType === 'PURCHASE_PRICE') {
-                return this.info.currentPrice;
+                return this.info.purchasedPrice || 0;
             }
-            return this.accMul(this.info.currentPrice || 0, this.fixedPre / 100);
+            return this.info.recommendPrice || 0;
         },
         money() {
             let money = 0;
@@ -175,6 +179,9 @@ export default {
             if (this.gas) {
                 money = this.accAdd(money, this.gas);
             }
+            if (this.paymentType === 'PURCHASE_PRICE') {
+                money = this.accAdd(money, 0 - (this.info.lastCommission || 0));
+            }
 
             return money;
         },

+ 18 - 5
src/views/order/ActivityDetail.vue

@@ -47,9 +47,10 @@
                     <van-image :radius="6" width="60" height="60" :src="getImg(changeImgs(item.pic))" fit="cover" />
                     <div class="product-content">
                         <div class="text1 van-multi-ellipsis--l2">{{ item.name }}</div>
-                        <div class="flex1"></div>
-                        <div class="text2" v-if="item.category">类型:{{ item.category }}</div>
-                        <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                        <div class="text2-list">
+                            <div class="text2" v-if="item.category">类型:{{ item.category }}</div>
+                            <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -287,10 +288,22 @@ export default {
                 line-height: 24px;
             }
 
+            .text2-list {
+                .flex();
+                margin-top: 6px;
+            }
+
             .text2 {
                 font-size: @font1;
-                color: @text3;
-                line-height: 17px;
+                padding: 0 6px;
+                color: #939599;
+                line-height: 18px;
+                background: #f5f7fa;
+                border-radius: 2px;
+            }
+
+            .text2 + .text2 {
+                margin-left: 10px;
             }
             .price {
                 font-size: @font1;

+ 6 - 1
src/views/order/AuctionDetail.vue

@@ -51,7 +51,12 @@
 
             <div
                 class="text-cell"
-                v-if="status !== '竞价成功,去支付' && status !== '已流局' && info.paymentType !== 'PURCHASE_PRICE'"
+                v-if="
+                    status !== '竞价成功,去支付' &&
+                    status !== '已流局' &&
+                    info.paymentType !== 'PURCHASE_PRICE' &&
+                    info.paymentType !== 'FIXED_PRICE'
+                "
             >
                 <div class="text-top">
                     <span class="text1">出局补偿</span>

+ 150 - 25
src/views/order/Orders.vue

@@ -11,15 +11,16 @@
         <van-sticky ref="top" :offset-top="bar && bar.show ? bar.height : 0">
             <div class="top">
                 <div class="top-btn">
-                    <div class="btn" :class="{ active: type === '' }" @click="changeActive('')">
-                        藏品订单
-                    </div>
+                    <div class="btn" :class="{ active: type === '' }" @click="changeActive('')">藏品订单</div>
                     <div class="btn" :class="{ active: type === 'DEFAULT' }" @click="changeActive('DEFAULT')">
                         铸造订单
                     </div>
-                    <div class="btn" :class="{ active: type === 'BLI' }" @click="this.$toast('升级改版中')">
+                    <div class="btn" :class="{ active: type === 'BLI' }" @click="changeActive('BLI')">
                         绿洲易拍
                     </div>
+                    <div class="btn" :class="{ active: type === 'METANAME' }" @click="changeActive('METANAME')">
+                        元域名
+                    </div>
                 </div>
                 <!-- <img src="@assets/icon/search@3x.png" alt="" class="top_img"/> -->
             </div>
@@ -44,13 +45,57 @@
             >
                 <van-tab v-for="(item, index) in tab" :key="index" :title="item.name" :name="item.status"></van-tab>
             </van-tabs>
+            <van-tabs
+                v-model:active="status"
+                :ellipsis="false"
+                line-width="16"
+                line-height="2"
+                @click="changeStatus"
+                v-if="type == 'BLI'"
+            >
+                <van-tab
+                    v-for="(item, index) in statusBtns"
+                    :key="index"
+                    :title="item.name"
+                    :name="item.status"
+                ></van-tab>
+            </van-tabs>
+            <van-tabs
+                v-model:active="status"
+                :ellipsis="false"
+                line-width="16"
+                line-height="2"
+                @click="changeStatus"
+                v-if="type == 'METANAME'"
+            >
+                <van-tab
+                    v-for="(item, index) in domainTab"
+                    :key="index"
+                    :title="item.name"
+                    :name="item.status"
+                ></van-tab>
+            </van-tabs>
         </van-sticky>
 
-        <van-list class="list" v-model:loading="loading" :finished="finished" finished-text="" @load="getData" v-if="type == ''">
+        <van-list
+            class="list"
+            v-model:loading="loading"
+            :finished="finished"
+            finished-text=""
+            @load="getData"
+            v-if="type == ''"
+        >
             <order-info @delFn="delFn" v-for="item in list" :key="item.id" :info="item"></order-info>
             <van-empty v-if="empty" description="你还没有订单哦~" :image="require('@assets/kong_png_wudingdan.png')" />
         </van-list>
-        <van-list class="list" v-model:loading="loading" :finished="finished" finished-text="" @load="getData" v-if="type == 'DEFAULT'">
+        <van-list
+            class="list"
+            v-model:loading="loading"
+            :finished="finished"
+            finished-text=""
+            @load="getData"
+            v-if="type == 'DEFAULT'"
+        >
             <order-info-act
                 @delFn="delFn"
                 v-for="(item, index) in list"
@@ -59,12 +104,46 @@
             ></order-info-act>
             <van-empty v-if="empty" description="你还没有订单哦~" :image="require('@assets/kong_png_wudingdan.png')" />
         </van-list>
+        <van-list class="list" v-model:loading="loading" :finished="finished" finished-text="" @load="getData" v-if="type == 'BLI'">
+            <order-info-auction
+                @delFn="delFn"
+                v-for="(item, index) in list"
+                :key="item.id"
+                v-model:info="list[index]"
+                :isOrder="status === 'FIXED_PRICE'"
+            ></order-info-auction>
+            <van-empty v-if="empty" description="你还没有订单哦~" :image="require('@assets/kong_png_wudingdan.png')" />
+        </van-list>
+        <van-list
+            class="list"
+            v-model:loading="loading"
+            :finished="finished"
+            finished-text=""
+            @load="getData"
+            v-if="type == 'METANAME'"
+        >
+            <domain-info
+                @delFn="delFn"
+                v-for="item in list"
+                :key="item.id"
+                :info="item"
+                :domainName="item.domainName"
+                :id="item.id"
+            ></domain-info>
+            <van-empty
+                v-if="list.length == 0"
+                description="你还没有订单哦~"
+                :image="require('@assets/kong_png_wudingdan.png')"
+            />
+        </van-list>
     </van-pull-refresh>
 </template>
 
 <script>
 import OrderInfo from '../../components/order/OrderInfo.vue';
 import OrderInfoAct from '../../components/order/OrderInfoAct.vue';
+import DomainInfo from '../../components/order/DomainInfo.vue';
+import OrderInfoAuction from '../../components/order/OrderInfoAuction.vue';
 import list from '../../mixins/list';
 export default {
     name: 'discover',
@@ -72,7 +151,9 @@ export default {
     mixins: [list],
     components: {
         OrderInfo,
-        OrderInfoAct
+        OrderInfoAct,
+        DomainInfo,
+        OrderInfoAuction
     },
     data() {
         return {
@@ -95,6 +176,30 @@ export default {
                     name: '已完成'
                 }
             ],
+            domainTab: [
+                {
+                    status: 'FINISH,NOT_PAID',
+                    name: '全部'
+                },
+                {
+                    status: 'NOT_PAID',
+                    name: '待支付'
+                },
+                {
+                    status: 'FINISH',
+                    name: '已完成'
+                }
+            ],
+            statusBtns: [
+                {
+                    status: 'FIXED_PRICE',
+                    name: '一口价订单'
+                },
+                {
+                    status: 'DEPOSIT,PURCHASE_PRICE',
+                    name: '竞拍订单'
+                }
+            ],
             tab: [
                 {
                     status: 'DELIVERY,PENDING,RECEIVE,AIR_DROP,FINISH',
@@ -131,16 +236,33 @@ export default {
     },
     methods: {
         beforeData() {
-            return {
-                query: {
-                    userId: this.$store.state.userInfo.id,
-                    status: this.status,
-                    type: this.type,
-                    hide: false,
-                    del: false,
-                    companyId: 1
-                }
-            };
+            if (this.type == 'METANAME') {
+                return {
+                    query: {
+                        userId: this.$store.state.userInfo.id,
+                        orderStatus: this.status
+                    }
+                };
+            } else if (this.type == 'BLI') {
+                return {
+                    query: {
+                        userId: this.$store.state.userInfo.id,
+                        paymentType: this.status
+                    },
+                    sort: 'id,desc'
+                };
+            } else {
+                return {
+                    query: {
+                        userId: this.$store.state.userInfo.id,
+                        status: this.status,
+                        type: this.type,
+                        hide: false,
+                        del: false,
+                        companyId: 1
+                    }
+                };
+            }
         },
         delFn() {
             console.log('删除成功');
@@ -166,12 +288,14 @@ export default {
                 }
             });
             this.type = type;
-            if(this.type == 'DEFAULT'){
-                this.url = '/mintOrder/all',
-                this.status = 'DELIVERY,PENDING,RECEIVE,AIR_DROP,FINISH'
-            }else if(this.type == ''){
-                this.url = '/order/all',
-                this.status = 'PROCESSING,FINISH'
+            if (this.type == 'DEFAULT') {
+                (this.url = '/mintOrder/all'), (this.status = 'DELIVERY,PENDING,RECEIVE,AIR_DROP,FINISH');
+            } else if (this.type == '') {
+                (this.url = '/order/all'), (this.status = 'PROCESSING,FINISH');
+            } else if (this.type == 'METANAME') {
+                (this.url = '/domainOrder/all'), (this.status = 'FINISH,NOT_PAID');
+            } else if (this.type == 'BLI') {
+                (this.url = '/tradeAuctionOrder/all'), (this.status = 'FIXED_PRICE');
             }
             this.getData(true);
         },
@@ -190,11 +314,12 @@ export default {
     padding: 10px 16px;
     background-color: @bg;
     align-items: center;
-    .top_img{
+    .top_img {
         width: 24px;
         height: 24px;
     }
     .top-btn {
+        overflow-x: auto;
         flex-grow: 1;
         .flex();
         .btn {
@@ -205,7 +330,7 @@ export default {
             line-height: 24px;
             display: inline-block;
             vertical-align: text-bottom;
-
+            flex-shrink: 0;
             &.active {
                 color: #000000;
                 font-weight: bold;

+ 85 - 1
src/views/product/HopeMarket.vue

@@ -172,6 +172,24 @@
                 :immediate-check="false"
                 @load="getData"
             >
+                <div class="classify-list" v-if="search">
+                    <!-- <div class="classify-info">
+                        <div class="text1">发行量</div>
+                        <div class="text2">{{ displayInformation.totalNum }}</div>
+                    </div> -->
+                    <div class="classify-info">
+                        <div class="text1">流通量</div>
+                        <div class="text2">{{ displayInformation.tranferingNum }}</div>
+                    </div>
+                    <div class="classify-info">
+                        <div class="text1">寄售中</div>
+                        <div class="text2">{{ displayInformation.consignmentNum }}</div>
+                    </div>
+                    <div class="classify-info">
+                        <div class="text1">仅展示</div>
+                        <div class="text2">{{ displayInformation.onlyShowNum }}</div>
+                    </div>
+                </div>
                 <template v-for="(item, index) in showList" :key="index">
                     <product-info dark v-model:info="list[index]" @update:info="init"></product-info>
                 </template>
@@ -262,7 +280,8 @@ export default {
             show: false,
             productName: '',
             rarityLabel: '',
-            search: ''
+            search: '',
+            displayInformation: {}
         };
     },
     computed: {
@@ -375,6 +394,23 @@ export default {
             this.rarityLabel = info.rarityLabel;
             this.productName = info.productName;
             this.getData(true);
+            this.getCount();
+        },
+        getCount() {
+            if (this.search) {
+                this.$http
+                    .get('/collection/count', {
+                        search: this.search
+                    })
+                    .then(res => {
+                        this.displayInformation = res;
+                    })
+                    .catch(() => {
+                        this.displayInformation = {};
+                    });
+            } else {
+                this.displayInformation = {};
+            }
         },
         onRefresh() {
             this.getData(true).then(() => {
@@ -891,4 +927,52 @@ export default {
         }
     }
 }
+
+.classify-list {
+    .flex();
+    justify-content: space-between;
+    background: #373b3e;
+    border-radius: 8px;
+    margin: 8px;
+
+    .classify-info {
+        width: 33%;
+        .flex-col();
+        padding: 10px 12px 12px;
+        position: relative;
+        &:nth-child(1) {
+            align-items: flex-start;
+        }
+        &:nth-child(2) {
+            align-items: center;
+        }
+        &:nth-child(3) {
+            align-items: flex-end;
+        }
+        .text1 {
+            font-size: 12px;
+            color: #939599;
+            line-height: 24px;
+        }
+
+        .text2 {
+            font-size: 16px;
+            font-weight: bold;
+            color: #f4f4f4;
+            line-height: 24px;
+        }
+
+        &:not(:last-child) {
+            &::after {
+                content: '';
+                position: absolute;
+                width: 2px;
+                height: 38px;
+                background: rgba(255, 255, 255, 0.04);
+                right: 0;
+                top: 16px;
+            }
+        }
+    }
+}
 </style>

+ 22 - 5
src/views/star/Create.vue

@@ -36,7 +36,7 @@
                         class="icon"
                         :src="
                             chooseId === item.id
-                                ? require('../../assets/icon_gouxuan_pre.png')
+                                ? require('../../assets/icon_gouxuan_pre2.png')
                                 : require('../../assets/icon_gouxuan_huise.png')
                         "
                         alt=""
@@ -51,9 +51,11 @@
                         />
                         <div class="product-info">
                             <div class="text1 van-ellipsis">{{ item.name }}</div>
-                            <div class="flex1"></div>
-                            <div class="text2" v-if="item.category">{{ item.category }}</div>
-                            <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                            <!-- <div class="flex1"></div> -->
+                            <div class="text2-list">
+                                <div class="text2" v-if="item.category">{{ item.category }}</div>
+                                <div class="text2" v-if="item.number">编号:{{ item.number }}</div>
+                            </div>
                         </div>
                     </div>
                 </div>
@@ -407,6 +409,9 @@ export default {
 <style lang="less" scoped>
 .container {
     background-color: #272b2e;
+    --van-button-primary-background-color: #00b897;
+    --van-button-primary-border-color: #00b897;
+    --van-field-error-message-color: #00b897;
 }
 .steps {
     background: #fcdfa2;
@@ -528,10 +533,21 @@ export default {
                 line-height: 24px;
             }
 
+            .text2-list {
+                .flex();
+                margin-top: 6px;
+            }
+
             .text2 {
                 font-size: 12px;
                 color: @text3;
                 line-height: 17px;
+                background: #2d2f31;
+                border-radius: 2px;
+                padding: 0 6px;
+            }
+            .text2 + .text2 {
+                margin-left: 10px;
             }
         }
     }
@@ -557,7 +573,7 @@ export default {
     .van-button {
         &:nth-child(1) {
             width: 100px;
-            border: 1px solid #43ce00;
+            border: 1px solid #00b897;
         }
 
         &:nth-child(2) {
@@ -635,6 +651,7 @@ export default {
         color: #93959977;
         line-height: 24px;
     }
+
     .text2 {
         font-size: 12px;
         color: #93959977;

+ 3 - 3
src/views/star/CreateResult.vue

@@ -36,7 +36,7 @@ export default {
                     img: require('@assets/png-fuhe.png'),
                     title: '提交成功',
                     sub: '<p>1. 绿洲宇宙的探索者,您的作品正在进行星图铸造!您可以在藏品室“个人作品”中查看您的星图!</p><p>2. 星图的铸造及审核冷却期为24小时,这期间不得进行展示与馈赠。完成铸造及审核后,即可进行展示与馈赠。</p><p>3. 赶快前往绿洲宇宙,在您的元宇宙空间及展厅中展示您的作品吧!</p>',
-                    color: '#43CE00'
+                    color: '#00B897'
                 };
             }
         }
@@ -110,7 +110,7 @@ export default {
     align-self: center;
     font-size: 20px;
     font-weight: bold;
-    color: #43ce00;
+    color: #00b897;
     line-height: 28px;
     margin: 6px 0 0;
 }
@@ -128,7 +128,7 @@ export default {
 .btn {
     margin-top: 80px;
     .van-button {
-        border: 1px solid #43ce00;
+        border: 1px solid #00b897;
     }
     .van-button + .van-button {
         margin-top: 20px;

+ 2 - 1
src/views/user/BalanceRecord.vue

@@ -52,7 +52,8 @@ export default {
                 AUCTION: '藏品拍卖',
                 AUCTION_RETURN: '保证金退款',
                 REFUND: '退款',
-                BONUS: '活动奖励'
+                BONUS: '活动奖励',
+                COMMISSION: '分销奖励'
             }
         };
     },