Преглед на файлове

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

panhui преди 3 години
родител
ревизия
977b2b5d96

+ 1 - 1
.env.development

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

BIN
src/assets/1.png


BIN
src/assets/2.png


BIN
src/assets/3.png


BIN
src/assets/4.png


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

@@ -1297,7 +1297,7 @@ export default {
             }
         }
         .star + .star {
-            margin-left: 15px;
+            margin-left: 4%;
         }
     }
 }

+ 121 - 42
src/components/auction/help.vue

@@ -10,84 +10,161 @@
         <div class="container" ref="container">
             <van-tabs v-model:active="active" @click="changeTab" v-show="showTab">
                 <van-tab title="绿洲易拍" name="node1"> </van-tab>
-                <van-tab title="竞拍说明" name="node2"> </van-tab>
-                <van-tab title="竞拍公告" name="node3"> </van-tab>
+                <van-tab title="竞拍公告" name="node2"> </van-tab>
+                <van-tab title="拍卖规则" name="node3"> </van-tab>
+                <van-tab title="常见问题" name="node4"> </van-tab>
             </van-tabs>
-            <h3 ref="node1">一绿洲易拍</h3>
-            <h4>1.说明</h4>
+            <h3 ref="node1">一 绿洲易拍</h3>
+            <!-- <h4>1.说明</h4> -->
             <p>
-                绿洲易拍,是RAEX绿洲宇宙的数字商品专业拍卖模块,以数字艺术品、数字商品及元宇宙物资为核心的垂直赛道,为高端数字艺术品及元宇宙资产爱好者提供“1
+                绿洲易拍是市场领先的数字商品、数字艺术品及数字权益的开放式拍卖委托技术服务商支持拍卖机构、艺术家机构或顶尖藏家进行拍卖委托。绿洲易拍同时也是RAEX绿洲宇宙的数字商品专业拍卖模块,以元宇宙物资为核心的垂直赛道,为高端数字艺术品及元宇宙资产爱好者提供“1
                 of 1级别”的拍卖服务。
             </p>
-            <h3 ref="node2">二、竞拍说明(玩法说明)</h3>
-            <h4>1.什么是增价拍?</h4>
+            <h3 ref="node2">二 竞拍公告</h3>
+            <p>
+                1.凡参与一口价购买或增价拍的竞买人,请您先了解本(公告)规则,您一旦参与购买或竞价即视为您已经同意本拍卖规则。
+            </p>
+            <p>
+                2.本场竞拍活动是数字艺术品版权(拍品)的拍卖活动,本拍品已经过CRC华储链及ANTCHAIN蚂蚁链技术的加密程序,您竞拍成功后可前往“RAEX绿洲宇宙”手机APP查看、验证和下载。
+            </p>
             <p>
-                增加拍是指由送拍方设置起拍价和加价幅度,由竞买人按照规定的加价幅度加价,在规定的时间内由最高出价者竞得。
+                3.本拍品数量为【1】件,作品拍卖展示时,频道内会显著、清晰标准拍品的详细信息,所有拍品的相关内容和版权均由送拍方自行承担责任
             </p>
-            <h4>增价拍规则</h4>
             <p>
-                <span>1</span
-                >每天每个拍卖标的仅能进行有限的拍卖委托,具体拍卖开拍时间以官方公告为准。每次仅有一人竞价权委托,一旦进行竞价委托,不可撤销。
+                4.本拍品的介绍(包括但不限于图片、文字、视频等)及拍品资质文件(包括但不限于来源证明、鉴定证书等),所有拍品的相关内容和版权均由送拍方自行编辑上传并承担责任。
+            </p>
+            <p>
+                5.本拍品由送拍方提供,您将独立承担参与本次拍卖的相关风险,并享有相应权利。如因送拍方或者拍品原创作者发布危害国家利益、违反社会道德、公序良俗及其他可能造成严重负面舆论的言论或行为,导致拍品被屏蔽或者限制使用的,您应当自行与送拍方沟通解决。
+            </p>
+            <p>
+                6.华储艺术品中心(深圳)有限公司依法依规持有符合拍卖需求的关联资质,华储艺术品中心(深圳)有限公司、CRC华储链及ANTCHAIN蚂蚁链仅提供区块链技术服务,不参与作品拍卖的具体环节。
+            </p>
+            <p>7.送拍方应保证本作品版权的合法性和唯一性。</p>
+            <p>
+                8.考虑到本次拍卖活动中的拍品具有区块链上唯一性的特征,同时鉴于参拍前已向您充分说明拍卖特性,因此拍品不提供退换货服务,请您务必充分评估并谨慎出价。
             </p>
             <p>
-                <span>2</span
-                >为防止恶意炒作,在拍卖开始后,竞买人成功获得竞价权后,每次竞价幅度(加价)不得超过拍品原有竞拍价格的6%。
+                9.买家充分理解并同意本《华储艺术品中心及RAEX绿洲易拍:拍卖规则说明》。买家理解并同意,鉴于网络服务的特殊性,我们对本服务持续提供可能受到多重因素影响,如出现技术升级、网路故障、经营策略调整、配合国家重大技术、法规政策变化,平台可能随时终止、中断提供服务或变更服务形式、规格或其他方面而无须承担责任。
             </p>
             <p>
+                10.如您想要通过竞拍方式购买数字艺术品,应当满足以下条件:<br />
+                <span>1</span>您已满18周岁未满60周岁,并具有中华人民共和国国籍。<br />
+                <span>2</span>您已通过实名制认证。<br />
                 <span>3</span
-                >为保证公平原则,防止恶意竞拍,竞买人出价后,在官方指定的时间方可继续由第三方竞价,如竞价冷却结束后24小时内无人继续竞价,则关闭竞价通道,由竞买人竞拍成功,48小时内支付标的全款,如未按照最新竞价支付标的全款,则取消所有易拍竞价资格,其所交纳的竞价手续费不予退还,标的视为流拍。拍卖行择时另行上架进行重新拍卖。
+                >您仅代表您个人而不属于任何组织或企业,您理解及确认我们有权依据国家法律法规、监管政策、活动规则或业务需要对上述条件进行补充或修改,您一旦参拍并购买商品,即表示您承诺符合本规则条件并受到本协议及活动细则约束
             </p>
-            <h4>2.什么是一口价?</h4>
+            <h3 ref="node3">三 拍卖规则</h3>
             <p>
-                竞买人可对拍品每日可进行“继续竞价,解锁权益”或“一口价购买,获得当前权益”两种方式操作。“一口价”为市场指导价。
+                1.拍卖标的(拍品)为“1 of
+                1”。起拍价、保证金、加价幅度,以各标的(拍品)页面显示为准。平台藏品均为增价拍卖方式,价高者得。
             </p>
-            <h4>3.竞价手续费的缴纳</h4>
-
             <p>
-                委托人每进行一次竞价,拍卖行收取拍卖挂单价格的3%+(标的现价-起拍价)作为竞价手续费,竞价手续费用于支付通道费用与竞价出局补偿,为单次收取
+                2.为防止恶意炒作,每天每个拍卖标的仅能进行有限的拍卖委托,具体拍卖开拍时间以官方公告为准。每次仅有一人竞价权委托,一旦进行竞价委托,不可撤销。
             </p>
-            <h4>4.出局补偿</h4>
             <p>
-                出局补偿是当拍卖委托人的拍品被第三人竞价成功后,对于前一竞价人的补偿(拍卖标的现价-起拍价)。拍卖委托人的拍品被第三人竞价成功后,拍卖委托人失去竞价权,竞价权由第三人获得
+                3.为防止恶意炒作,在拍卖开始后,竞买人成功获得竞价权后,每次竞价幅度(加价)不得超过拍品原有竞拍价格的6%
             </p>
-            <h4>5.竞价手续费的扣除</h4>
-            <p>买家竞拍成功后,如果未按规定时间支付剩余货款,竞价手续费将被扣除,同时失去所有易拍竞价资格。</p>
-            <h4>6.解锁权益</h4>
             <p>
-                每个藏品的权益需要解锁:每个拍品叫价次数越多,权益星级越高,解锁更多权益,为每成功10次叫价,解锁一个星级,满星为3星,具体星级对应权益请查看拍品详情
+                4.为保证公平原则,防止恶意竞拍,竞买人出价后,在官方指定的时间方可继续由第三方竞价,如竞价冷却结束后24小时内无人继续竞价,则关闭竞价通道,由竞买人竞拍成功,48小时内支付标的全款,如未按照最新竞价支付标的全款,则取消所有易拍竞价资格,标的视为流拍。拍卖行择时另行上架进行重新拍卖。
             </p>
-            <h4>7.关于退换货</h4>
-            <p>由于拍品的特殊性质,因此不提供退换货服务,请您务必充分评估并谨慎出价。</p>
-            <h3 ref="node3">三、竞拍公告</h3>
             <p>
-                1.凡参与一口价购买或增价拍的竞买人,请您先了解本(公告)规则,您一旦参与购买或竞价即视为您已经同意本现则
+                5.竞买人可对拍品每日可进行“继续竞价,解锁权益”或“一口价购买,获得当前权益”两种方式操作。“一口价”为市场指导价。
             </p>
             <p>
-                2.本场竞拍活动是数字艺术品版权(拍品)的拍卖活动,本拍品已经过蚂蚁链技术的加密程序,您竞拍成功后可前往“RAEX绿洲宇宙”手机APP查看、验证和下载。
+                6.为防止恶意炒作,每幅作品设置最高竞拍次数,触达最高竞拍次数时,无法继续竞价,只有直接购买按钮,买受人支付标的全款,自动触发成交,拍卖标的将直接空投至买受人藏品室,触发藏品所有相关持有权益。z
             </p>
             <p>
-                3.本拍品数量为【1】件,作品拍卖展示时,频道内会显著、清晰标准拍品的详细信息,所有拍品的相关内容和版权均由送拍方自行承担责任
+                7.绿洲易拍作为平台方,展示委托方自行发布并上传的拍卖及拍品信息(包括拍品、文字、来源证明、鉴定证书(如有)等)。拍品实际情况以现状为准,竞买方在拍卖前必须仔细审查标的物(拍品)的实际情况,自行判断标的(拍品)的真伪、优劣,并为自己的竞拍行为负责,如若参拍,将视作您对该件拍品无任何异议。竞买人一旦作出竞买决定,视为对本标的(拍品)现状的确认,并接受标的物(拍品)的现状和一切已知及未知的瑕疵。标的物(拍品)一经拍出不接受退换退还
             </p>
             <p>
-                4.本拍品的介绍(包括但不限于图片、文字、视频等)及拍品资质文件(包括但不限于来源证明、鉴定证书等),所有拍品的相关内容和版权均由送拍方自行编辑上传并承担责任
+                8.买受人参与竞买的风险(包括但不限于《商标法》中所规定的商标无效、商标撤销、商标无法转让等风险)由买受人自行承担
             </p>
+            <p>9.竞买方竞得拍卖标的后,拍卖行惯例需先收到全部拍品款及佣金后安排拍品物流、空投或转移。</p>
             <p>
-                5.本拍品由送拍方提供,您将独立承担参与本次拍卖的相关风险,并享有相应权利。如因送拍方或者拍品原创作者发布危害国家利益、违反社会道德、公序良俗及其他可能造成严重负面舆论的言论或行为,导致数字艺术品版权被屏蔽或者限制使用的,您应当自行与送拍方沟通解决
+                10.买受人逾期未支付拍卖成交款,其所交纳的竞价手续费及竞价保证金不予退还,平台可以裁定重新拍卖;重新拍卖时,原买受人不得参加
             </p>
-            <p>6.“蚂蚁链”仅提供区块链技术服务,不参与作品拍卖的具体环节。</p>
-            <p>7.送拍方应保证本作品版权的合法性和唯一性。</p>
             <p>
-                8.考虑到本次拍卖活动中的拍品具有区块链上唯一性的特征,同时鉴于参拍前已向您充分说明拍卖特性,因此拍品不提供退换货服务,请您务必充分评估并谨慎出价
+                11.委托人每进行一次竞价,拍卖行收取拍卖挂单价格的3%+(标的现价-起拍价)作为竞价手续费,竞价手续费用于支付通道费用与竞价出局补偿,为单次收取。
             </p>
             <p>
-                9.买家理解并同意,鉴于网络服务的特殊性,我们对本服务持续提供可能受到多重因素影响,如出现技术升级、网路故障、经营策略调整、配合国家重大技术、法规政策变化,平台可能随时终止、中断提供服务或变更服务形式、规格或其他方面而无须承担责任
+                12.竞价出局补偿是当拍卖委托人的拍品被第三人竞价成功后,对于前一竞价人的补偿(拍卖标的现价-起拍价)。拍卖委托人的拍品被第三人竞价成功后,拍卖委托人失去竞价权,竞价权由第三人获得
             </p>
-            <p>10.如您想要通过竞拍方式购买数字艺术品,应当满足以下条件:</p>
-            <p><span>1</span>您已满18周岁未满60周岁,并具有中华人民共和国国籍。</p>
-            <p><span>2</span>您已通过实名制认证。</p>
             <p>
-                您仅代表您个人而不属于任何组织或企业,您理解及确认我们有权依据国家法律法规、监管政策、活动规则或业务需要对上述条件进行补充或修改,您一旦参拍并购买商品,即表示您承诺符合以上条件并受到本协议及活动细则约束
+                13.每个藏品的权益需要解锁:每个拍品叫价次数越多,权益星级越高,解锁更多权益,为每成功10次叫价,解锁一个星级,满星为3星,具体星级对应权益请查看拍品详情。
             </p>
+            <p>
+                14.“三星规则”是为了确保拍品权益的规则体系,随着拍卖活动的进展将会进行“点亮星星”,点亮的星星越多,拍品所配套的附加权益越大。拍品配套权益请参考拍品详情页。
+            </p>
+            <p>15.拍卖行收取竞价的3%作为平台通道费用,包括但不仅限于支付通道费用及技术服务费用。</p>
+            <p>
+                16.竞拍时间根据送拍方需求进行调整,常规拍品竞拍时间为每日11:00及20:00。具体竞拍时间将以公告方式进行发布。
+            </p>
+            <p>
+                17.以上内容为“绿洲易拍”基础规则,日常活动有可能与本规则产生冲突,冲突部分以官方公告为准,拍卖当事人已充分了解以上所有信息及所有官方公告。华储艺术品中心(深圳)有限公司、RAEX绿洲及绿洲易拍享有最终解释权。
+            </p>
+            <p>18.相关名词解释如下:</p>
+            <p>您的竞价:对于拍卖标的竞价权所给出的竞价价格。</p>
+            <p>竞价手续费:为拍卖行平台服务费及技术服务费。</p>
+            <p>竞价无效补偿:竞价权被第三方获得后,前一竞价者获得的补偿。</p>
+            <p>竞价保证金:为获得竞价权而向平台支付的保证金。</p>
+            <p>1 of 1:经过区块链加密技术确权的唯一数字商品或数字权益。</p>
+            <p>拍卖当事人:包括拍卖人、委托人、竞买人、买受人。</p>
+            <p>拍卖人:依照《中华人民共和国拍卖法》和《中华人民共和国公司法》设立的从事拍卖活动的企业法人。</p>
+            <p>委托人:委托拍卖人拍卖物品或财产权利的公民、法人或其他组织。</p>
+            <p>竞买人:参加竞购拍卖标的的公民、法人或其他组织。</p>
+            <p>买受人:以最高应价购得拍卖标的竞买人。“竞买人”、“买受人”有时亦统称买家。</p>
+            <p>拍卖标的:委托人委托本公司以拍卖方式出售的其所有或依法可以处分的物品或者财产权利。</p>
+            <p>
+                应计费用:本公司对保险、图录刊登、包装运输、文物火漆、鉴定估价等酌情向委托人和买受人双方收取的相应费用。
+            </p>
+            <p>成交价:又称“落槌价”,指拍卖会上拍卖师落槌决定拍卖标的售予某一买受人的价格。</p>
+            <p>
+                市场预估价:又称“估价”,指本公司印制的拍卖图录上对每件拍卖标的的明示价格。该价格由本公司决定,不属最后确定之售价。
+            </p>
+            <p>
+                拍卖底价:又称“保留价”,指本公司与委托人对其委托的拍卖标的的共同商定,并在委托书上标明的最低出售价格。“拍定物”指已拍卖成交的拍卖标的。
+            </p>
+            <p>
+                佣金:又称“代理费”,指本公司根据有关法律法规的规定,在成交后向委托人、买受人收取的服务费用。(买卖双方都收取的,拍卖行可以自行决定不收取。)
+            </p>
+            <p>一拍:第一次拍卖。</p>
+            <p>流拍:一拍到竞价周期结束,都没有人出价的,标的就流拍了。</p>
+            <p>二拍:第二次拍卖。一拍流拍以后,就会进行第二次拍卖。</p>
+            <p>变卖:同一标的,两次流拍后,就会对标的进行变卖。</p>
+            <p>竞买保证金:拍卖人要求竞买人于拍卖前交纳的信用担保款项。</p>
+            <p>起拍价:拍卖人确定的拍卖标的的竞价起始价格。</p>
+            <p>竞价幅度:“竞价阶梯”拍卖师在拍卖中设定的价格增减数额。</p>
+            <p>应价:拍卖会中响应报价的价格表示。</p>
+            <p>买受结算价:买受人应支付的成交价、拍卖佣金和其他费用的总和。</p>
+            <p>委托结算价: 委托人按照委托拍卖合同应得到的交易款额。</p>
+            <p>手续费:手续费是指,竞买人在支付保证金的过程需要向支付平台缴纳所产生的劳务补偿费用。</p>
+            <p>拍定物:指已拍卖成交的拍卖标的。</p>
+            <p>图录:指拍卖行在征集拍品后,会收集该拍品的有关资料,然后编号印成图录。</p>
+            <h3 ref="node4">四 常见问题</h3>
+            <h4>1.什么是增价拍?</h4>
+            <p>
+                增价拍是指由送拍方设置最低成交价和加价幅度,由竞买人按照规定的加价幅度加价,在规定的时间内由最高出价者竞得。
+            </p>
+            <h4>2.什么是一口价?</h4>
+            <p>
+                竞买人可对拍品每日可进行“继续竞价,解锁权益”或“一口价购买,获得当前权益”两种方式操作。“一口价”为市场指导价。
+            </p>
+            <h4>3.什么是竞价手续费的缴纳?</h4>
+            <p>
+                委托人每进行一次竞价,拍卖行收取拍卖挂单价格的3%+(标的现价-起拍价)作为竞价手续费,竞价手续费用于支付通道费用与竞价出局补偿,为单次收取。
+            </p>
+            <h4>4.什么是竞价出局补偿</h4>
+            <p>
+                竞价出局补偿是当拍卖委托人的拍品被第三人竞价成功后,对于前一竞价人的补偿(拍卖标的现价-起拍价)。拍卖委托人的拍品被第三人竞价成功后,拍卖委托人失去竞价权,竞价权由第三人获得。
+            </p>
+            <h4>5.竞价手续费的扣除</h4>
+            <p>买家竞拍成功后,如果未按规定时间支付剩余货款,竞价手续费将被扣除,同时失去所有易拍竞价资格。</p>
+            <h4>6.为什么会有“解锁权益”?</h4>
+            <p>
+                每个藏品的权益需要解锁:每个拍品叫价次数越多,权益星级越高,解锁更多权益,为每成功10次叫价,解锁一个星级,满星为3星,具体星级对应权益请查看拍品详情。“解锁权益”是为了防止恶意炒作所设立的“权益配套机制”,当拍卖价格过高时,可以实现“价格越高,价值越大”的权益目标,有效避免恶意炒作。
+            </p>
+            <h4>7.关于退换货</h4>
+            <p>由于拍品的特殊性质,因此不提供退换货服务,请您务必充分评估并谨慎出价。</p>
         </div>
     </van-action-sheet>
 </template>
@@ -119,7 +196,9 @@ export default {
                     return;
                 }
                 if (!state.value) {
-                    if (scrollTop.value > node3.value.offsetTop - 80) {
+                    if (scrollTop.value > node4.value.offsetTop - 80) {
+                        active.value = 'node4';
+                    } else if (scrollTop.value > node3.value.offsetTop - 80) {
                         active.value = 'node3';
                     } else if (scrollTop.value > node2.value.offsetTop - 80) {
                         active.value = 'node2';

+ 14 - 5
src/components/auction/records.vue

@@ -11,7 +11,8 @@
                 <van-list class="list" v-model:loading="loading" :finished="finished" finished-text="" @load="getData">
                     <div class="record-item" v-for="(item, index) in list" :key="index">
                         <span>{{ item.nickname }}</span>
-                        <span>{{ index === 0 ? '领先' : '出局' }}</span>
+                        <span v-if="item.paymentType !== 'FIXED_PRICE'">{{ index === 0 ? '领先' : '出局' }}</span>
+                        <span v-else>一口价</span>
                         <span>¥{{ item.currentPrice || 0 }}</span>
                         <span>{{ showTime(item.createdAt) }}</span>
                     </div>
@@ -52,9 +53,9 @@ export default {
                     tradeAuctionId: this.auctionId,
                     del: false,
                     status: 'FINISH,PASS',
-                    paymentType: 'DEPOSIT,PURCHASE_PRICE'
+                    paymentType: 'DEPOSIT,PURCHASE_PRICE,FIXED_PRICE'
                 },
-                sort: 'id,desc'
+                sort: 'createdAt,desc'
             };
         }
     }
@@ -130,24 +131,32 @@ export default {
     color: #939599;
     line-height: 17px;
     margin-top: 10px;
+    overflow: hidden;
 
     span {
         white-space: nowrap;
         &:first-child {
             width: 20%;
+            flex-shrink: 0;
             overflow: hidden; //溢出隐藏
             white-space: nowrap; //禁止换行
             text-overflow: ellipsis;
             display: inline-block;
         }
 
+        &:nth-child(2) {
+            width: 40px;
+            flex-shrink: 0;
+        }
+
         &:nth-child(3) {
-            flex-grow: 1;
+            width: 70px;
+            flex-shrink: 0;
         }
     }
 
     span + span {
-        margin-left: 18px;
+        margin-left: 5px;
     }
 
     &:first-child {

+ 1 - 0
src/components/order/OrderInfoAuction.vue

@@ -422,6 +422,7 @@ export default {
 }
 
 .bottom {
+    height: 48px;
     .flex();
     justify-content: flex-end;
 

+ 1 - 1
src/mixins/auction.js

@@ -62,7 +62,7 @@ export default {
         },
         showPrice() {
             if (this.info.status == 'FIXED_PRICE_PURCHASED') {
-                return this.info.fixedPrice;
+                return this.info.recommendPrice;
             }
             return this.info.currentPrice || this.info.price || 0;
         },

+ 21 - 70
src/views/Home.vue

@@ -69,40 +69,31 @@
 
         <div class="short-list">
             <div class="short-info" @click="$router.push('/starMap')">
-                <img src="@assets/home1.png" alt="" class="short-img" />
+                <img src="@assets/1.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 class="text2 van-ellipsis">属于你的元宇宙物资铸造中心</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-info" @click="$router.push('/auction')">
+                <img src="@assets/2.png" alt="" class="short-img" />
                 <div class="short-content">
-                    <div class="text1">
-                        <span>绿洲易拍</span>
-                        <img src="@assets/icon_fanhui.png" alt="" />
-                    </div>
+                    <div class="text1">绿洲易拍</div>
+                    <div class="text2 van-ellipsis">精品元宇宙物资与数字艺术品拍卖</div>
                 </div>
             </div>
-            <div class="short-info short-info2" @click="wait">
-                <img src="@assets/home3.png" alt="" class="short-img" />
+            <div class="short-info" @click="wait">
+                <img src="@assets/3.png" alt="" class="short-img" />
                 <div class="short-content">
-                    <div class="text1">
-                        <span>元宇宙域名</span>
-                        <img src="@assets/icon_fanhui.png" alt="" />
-                    </div>
+                    <div class="text1">元宇宙域名</div>
+                    <div class="text2 van-ellipsis">属于你的元宇宙标识</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-info" @click="$router.push('/hopeMarket')">
+                <img src="@assets/4.png" alt="" class="short-img" />
                 <div class="short-content">
-                    <div class="text1">
-                        <span>元宇宙物资</span>
-                        <img src="@assets/icon_fanhui.png" alt="" />
-                    </div>
+                    <div class="text1">元宇宙物资</div>
+                    <div class="text2 van-ellipsis">买卖你的元宇宙资产</div>
                 </div>
             </div>
         </div>
@@ -1079,6 +1070,9 @@ export default {
         width: calc(50vw - 24px);
         display: inline-block;
         margin: 8px;
+        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
+        border-radius: 16px;
+        overflow: hidden;
 
         .short-img {
             width: 100%;
@@ -1088,64 +1082,21 @@ export default {
         }
 
         .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;
-                }
-            }
-
+            background-color: var(--bg2);
+            padding: 10px 12px 14px;
             .text1 {
                 font-size: 16px;
                 font-weight: bold;
-                color: #ffffff;
+                color: var(--text0);
                 line-height: 24px;
             }
 
             .text2 {
                 font-size: 10px;
-                color: #ffffff;
+                color: var(--btnInfo);
                 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 {

+ 10 - 6
src/views/Store.vue

@@ -694,21 +694,25 @@ export default {
                 if (this.type === 'NORMAL') {
                     form = {
                         ...form,
-                        publicShow: true,
-                        consignment: false
+                        assetType: 'OPEN_SHOW'
                     };
-                }
+                };
+                if (this.type === 'paimai') {
+                    form = {
+                        ...form,
+                        assetType: 'AUCTIONING'
+                    };
+                };
                 if (this.type === 'NOT_NORMAL') {
                     form = {
                         ...form,
-                        publicShow: false,
-                        consignment: false
+                        assetType: 'CLOSE_SHOW'
                     };
                 }
                 if (this.type === 'ON_SALE') {
                     form = {
                         ...form,
-                        consignment: true
+                        assetType: 'CONSIGNMENT'
                     };
                 }
                 if (this.type === 'lock') {

+ 69 - 1
src/views/account/ChangeText.vue

@@ -22,7 +22,7 @@
             </van-button>
         </div>
     </div>
-    <div class="change" v-else-if="type === 'intro'">
+    <div class="change" v-else-if="type === 'autograph'">
         <div class="title">简介</div>
         <van-field
             v-model="info.autograph"
@@ -140,6 +140,8 @@
 </template>
 
 <script>
+import { throwStatement } from '@babel/types';
+import { Promise, promised } from 'q';
 import { mapState } from 'vuex';
 export default {
     computed: {
@@ -149,6 +151,7 @@ export default {
         return {
             type: 'nickname',
             message: '',
+            messages: '',
             // briefIntroduction: '',
             // school: '',
             // occupation: "",
@@ -158,17 +161,55 @@ export default {
         };
     },
     mounted() {
+        // this.getInformation().then(res => {
+        //     this.type = this.$route.query.type;
+        //     this.message = this.userInfo.nickname;
+        // });
         this.type = this.$route.query.type;
         this.message = this.userInfo.nickname;
         this.getInformation();
     },
     methods: {
+        // getInformation() {
+        //     return this.$http.get('/userDetail/get/' + this.userInfo.id).then(res => {
+        //         this.info = {
+        //             autograph: '',
+        //             school: '',
+        //             occupation: '',
+        //             company: '',
+        //             mail: '',
+        //             nickname: this.userInfo.nickname,
+        //             ...res
+        //         };
+        //     });
+        // },
         getInformation() {
             this.$http.get('/userDetail/get/' + this.userInfo.id).then(res => {
                 this.info = res;
             });
         },
         save() {
+            if (this.type === 'nickname') {
+                this.messages = this.message;
+            } else {
+                this.messages = this.info[this.type];
+            }
+            if (!this.messages) {
+                this.$toast('内容不能为空');
+                return;
+            }
+            if (this.messages.indexOf('习近平') !== -1) {
+                this.$dialog.alert({
+                    title: '提示',
+                    message: '不能含有敏感词汇'
+                });
+                if (this.type === 'nickname') {
+                    this.message = '';
+                } else {
+                    this.info[this.type] = '';
+                }
+                return;
+            }
             let data = {
                 userId: this.userInfo.id,
                 ...this.info,
@@ -185,6 +226,30 @@ export default {
             } else if (this.type === 'intro') {
                 this.updateUser({ [this.type]: this.info.autograph }).then(() => {});
             }
+            // if (this.type == 'nickname') {
+            //     let data = {
+            //         userId: this.userInfo.id,
+            //         ...this.info,
+            //         nickname: message
+            //     };
+            //     Promise.all([
+            //         this.$http.post('/userDetail/save', data, { body: 'json' }),
+            //         this.updateUser({ [this.type]: message })
+            //     ]).then(res => {
+            //         this.$toast.success('更新成功');
+            //         setTimeout(() => {
+            //             this.$router.back();
+            //         }, 1500);
+            //     });
+            // } else {
+            //     this.updateUser({ [this.type]: message }).then(() => {
+            //         this.$toast.success('更新成功');
+            //         setTimeout(() => {
+            //             this.$router.back();
+            //         }, 1500);
+            //     });
+            // }
+
             // /userDetail/save
             // if (this.message) {
             //     this.updateUser({ [this.type]: this.message }).then(() => {
@@ -199,6 +264,9 @@ export default {
 </script>
 
 <style lang="less" scoped>
+.change{
+    padding-top: var(--safe-top);
+}
 .title {
     padding: 23px 16px;
 }

+ 23 - 17
src/views/account/Setting.vue

@@ -54,7 +54,7 @@
                     </div>
                     <img :src="require('@assets/icon_inter@3x.png')" alt="" class="setting_list_con_right" />
                 </div>
-                <div class="setting_list_con" @click="$router.push('/changeText?type=intro')">
+                <div class="setting_list_con" @click="$router.push('/changeText?type=autograph')">
                     <div class="setting_list_con_left">
                         <img :src="require('@assets/icon-jianjie@3x.png')" alt="" class="setting_list_con_left_img" />
                         <van-field
@@ -431,14 +431,17 @@ export default {
                     ...this.info,
                     pic: img
                 };
-                this.$http.post('/userDetail/save', data, { body: 'json' }).then(() => {
-                    this.$toast.clear();
-                    this.$toast.success('更新成功');
-                    this.getInformation();
-                });
-                this.updateUser({ avatar: img, useCollectionPic: false }).then(res => {
-                    this.$toast.clear();
-                });
+                this.updateUser({ avatar: img, useCollectionPic: false })
+                    .then(res => {
+                        this.$http.post('/userDetail/save', data, { body: 'json' }).then(() => {
+                            this.$toast.clear();
+                            this.$toast.success('更新成功');
+                            this.getInformation();
+                        });
+                    })
+                    .catch(e => {
+                        this.$toast(e.error);
+                    });
             });
         },
         afterRead2(e) {
@@ -452,14 +455,17 @@ export default {
                     ...this.info,
                     bgpic: img
                 };
-                this.$http.post('/userDetail/save', data, { body: 'json' }).then(() => {
-                    this.$toast.clear();
-                    this.$toast.success('更新成功');
-                    this.getInformation();
-                });
-                this.updateUser({ bg: img }).then(res => {
-                    this.$toast.clear();
-                });
+                this.updateUser({ bg: img })
+                    .then(res => {
+                        this.$http.post('/userDetail/save', data, { body: 'json' }).then(() => {
+                            this.$toast.clear();
+                            this.$toast.success('更新成功');
+                            this.getInformation();
+                        });
+                    })
+                    .catch(e => {
+                        this.$toast(e.error);
+                    });
             });
         },
         showConsoleEve() {

+ 5 - 5
src/views/account/SettingComplete.vue

@@ -71,7 +71,7 @@
                     <div class="setting_listTwo_con_title">NFT总量</div>
                 </div>
                 <div class="setting_listTwo_con">
-                    <div class="setting_listTwo_con_num">{{ info.buildCount || 0 }}</div>
+                    <div class="setting_listTwo_con_num">{{ 0 }}</div>
                     <div class="setting_listTwo_con_title">角色总量</div>
                 </div>
                 <div class="setting_listTwo_con">
@@ -79,19 +79,19 @@
                     <div class="setting_listTwo_con_title">地块总量</div>
                 </div>
                 <div class="setting_listTwo_con">
-                    <div class="setting_listTwo_con_num">{{ info.fansCount || 0 }}</div>
+                    <div class="setting_listTwo_con_num">{{ info.buildCount || 0 }}</div>
                     <div class="setting_listTwo_con_title">建筑总量</div>
                 </div>
                 <div class="setting_listTwo_con">
-                    <div class="setting_listTwo_con_num">{{ info.reikiCount || 0 }}</div>
+                    <div class="setting_listTwo_con_num">{{ info.fansCount || 0 }}</div>
                     <div class="setting_listTwo_con_title">粉丝总量</div>
                 </div>
                 <div class="setting_listTwo_con">
-                    <div class="setting_listTwo_con_num">{{ info.medalCount || 0 }}</div>
+                    <div class="setting_listTwo_con_num">{{ info.reikiCount || 0 }}</div>
                     <div class="setting_listTwo_con_title">灵气总量</div>
                 </div>
                 <div class="setting_listTwo_con">
-                    <div class="setting_listTwo_con_num">{{ info.personalheatCount || 0 }}</div>
+                    <div class="setting_listTwo_con_num">{{ info.medalCount || 0 }}</div>
                     <div class="setting_listTwo_con_title">徽章总量</div>
                 </div>
             </div>

+ 4 - 3
src/views/activity/Detail1.vue

@@ -9,13 +9,13 @@
                 z-index="99"
             />
             <div class="action-btn">
-                <div class="info">
+                <!-- <div class="info">
                     <div class="text1">限量</div>
                     <div>{{ info.total }}份</div>
                 </div>
                 <div class="info">
                     <div>剩余 {{ info.stock }}</div>
-                </div>
+                </div> -->
 
                 <div class="flex1"></div>
                 <van-button :disabled="startTime" type="primary" round v-if="startTime">{{ startTime }}</van-button>
@@ -177,7 +177,8 @@ export default {
     .bottom(9px);
 
     /deep/.van-button {
-        max-width: 132px;
+        width: 100%;
+        // max-width: 132px;
         flex-grow: 1;
         &.van-button--disabled,
         &.not {

+ 1 - 1
src/views/activity/List1.vue

@@ -29,7 +29,7 @@
                     />
                     <div class="content">
                         <div class="text1">{{ item.name }}</div>
-                        <div class="text2">限量{{ item.total }}份</div>
+                        <!-- <div class="text2">限量{{ item.total }}份</div> -->
                         <div class="btn">
                             <span>立即兑换</span>
                             <img src="../../assets/icon-jiantou.png" alt="" />

+ 11 - 5
src/views/auction/Detail.vue

@@ -75,7 +75,8 @@
             <div class="card-content">
                 <div class="record-item" v-for="(item, index) in records" :key="index">
                     <span>{{ item.nickname }}</span>
-                    <span>{{ index === 0 ? '领先' : '出局' }}</span>
+                    <span v-if="item.paymentType !== 'FIXED_PRICE'">{{ index === 0 ? '领先' : '出局' }}</span>
+                    <span v-else>一口价</span>
                     <span>¥{{ item.currentPrice || 0 }}</span>
                     <span>{{ item.createdAt }}</span>
                 </div>
@@ -307,7 +308,7 @@ export default {
                                 del: false,
                                 userId: this.userInfo.id,
                                 status: 'FINISH,PASS',
-                                paymentType: 'DEPOSIT,PURCHASE_PRICE'
+                                paymentType: 'DEPOSIT,PURCHASE_PRICE,FIXED_PRICE'
                             },
                             size: 1,
                             page: 0,
@@ -330,11 +331,11 @@ export default {
                             tradeAuctionId: this.auctionId,
                             del: false,
                             status: 'FINISH,PASS',
-                            paymentType: 'DEPOSIT,PURCHASE_PRICE'
+                            paymentType: 'DEPOSIT,PURCHASE_PRICE,FIXED_PRICE'
                         },
                         size: 2,
                         page: 0,
-                        sort: 'id,desc'
+                        sort: 'createdAt,desc'
                     },
                     { body: 'json' }
                 )
@@ -748,13 +749,18 @@ export default {
             display: inline-block;
         }
 
+        &:nth-child(2) {
+            width: 40px;
+            flex-shrink: 0;
+        }
+
         &:nth-child(3) {
             flex-grow: 1;
         }
     }
 
     span + span {
-        margin-left: 18px;
+        margin-left: 5%;
     }
 
     &:first-child {

+ 4 - 0
src/views/order/AuctionDetail.vue

@@ -44,6 +44,10 @@
                     <div class="text1 prim">¥{{ info.serviceCharge }}</div>
                 </div>
             </template>
+            <div class="info-item" v-if="info.paymentType === 'FIXED_PRICE'">
+                <div class="text1">一口价</div>
+                <div class="text1 prim">¥{{ info.price }}</div>
+            </div>
             <div class="info-item" v-else>
                 <div class="text1">实付款</div>
                 <div class="text1 prim">¥{{ info.price }}</div>

+ 5 - 5
src/views/order/Orders.vue

@@ -196,13 +196,13 @@ export default {
                 }
             ],
             statusBtns: [
-                {
-                    status: 'FIXED_PRICE',
-                    name: '一口价订单'
-                },
                 {
                     status: 'DEPOSIT,PURCHASE_PRICE',
                     name: '竞拍订单'
+                },
+                {
+                    status: 'FIXED_PRICE',
+                    name: '一口价订单'
                 }
             ],
             tab: [
@@ -300,7 +300,7 @@ export default {
             } 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.url = '/tradeAuctionOrder/all'), (this.status = 'DEPOSIT,PURCHASE_PRICE');
             }
             this.getData(true);
         },

+ 4 - 3
src/views/user/Rank.vue

@@ -109,7 +109,7 @@ export default {
             });
             return this.$http.get('/user/topTen').then(res => {
                 this.$toast.clear();
-                this.list = res.slice(0, 20);
+                this.list = res.slice(0, 5);
             });
         },
         changeRare(active) {
@@ -220,8 +220,9 @@ export default {
     z-index: 1;
     .bottom(15px);
     overflow: hidden;
-    padding-top: 6px;
-    transform: translateY(-6px);
+    background-color: #fff;
+    border-radius: 16px;
+    box-sizing: border-box;
     .tr {
         overflow: hidden;
         position: relative;