liudan 1 year ago
parent bb5654c034
commit 0b6c75cc33
  1. 2
      common/api.js
  2. 25
      pages.json
  3. 58
      pages/AccountSecurity/AccountSecurity.scss
  4. 31
      pages/AccountSecurity/AccountSecurity.vue
  5. 1
      pages/Information/Information.scss
  6. 165
      pages/Information/Information.vue
  7. 4
      pages/cart/cart.scss
  8. 16
      pages/my/my.vue
  9. 125
      pages/shoukuan/shoukuan.scss
  10. 173
      pages/shoukuan/shoukuan.vue
  11. BIN
      static/image/alert-bg.png
  12. 0
      unpackage/dist/build/.automator/h5/.automator.json
  13. 2
      unpackage/dist/build/h5/index.html
  14. BIN
      unpackage/dist/build/h5/static/code.png
  15. BIN
      unpackage/dist/build/h5/static/coupon_default.png
  16. BIN
      unpackage/dist/build/h5/static/fdj_ico.png
  17. BIN
      unpackage/dist/build/h5/static/fkm_ico.png
  18. BIN
      unpackage/dist/build/h5/static/flash_title.png
  19. BIN
      unpackage/dist/build/h5/static/gg_ico.png
  20. BIN
      unpackage/dist/build/h5/static/good_title.png
  21. BIN
      unpackage/dist/build/h5/static/hd-mess.png
  22. BIN
      unpackage/dist/build/h5/static/head_bg.png
  23. BIN
      unpackage/dist/build/h5/static/hr_ico.png
  24. BIN
      unpackage/dist/build/h5/static/image/1.png
  25. BIN
      unpackage/dist/build/h5/static/image/2.png
  26. BIN
      unpackage/dist/build/h5/static/image/3.png
  27. BIN
      unpackage/dist/build/h5/static/image/4.png
  28. BIN
      unpackage/dist/build/h5/static/image/5.png
  29. BIN
      unpackage/dist/build/h5/static/image/alert-bg.png
  30. BIN
      unpackage/dist/build/h5/static/image/b1.png
  31. BIN
      unpackage/dist/build/h5/static/image/b2.png
  32. BIN
      unpackage/dist/build/h5/static/image/b3.png
  33. BIN
      unpackage/dist/build/h5/static/image/c1.png
  34. BIN
      unpackage/dist/build/h5/static/image/c2.png
  35. BIN
      unpackage/dist/build/h5/static/image/c3.png
  36. BIN
      unpackage/dist/build/h5/static/image/c4.png
  37. BIN
      unpackage/dist/build/h5/static/image/empty.png
  38. BIN
      unpackage/dist/build/h5/static/image/logo254.png
  39. BIN
      unpackage/dist/build/h5/static/image/mescroll-empty.png
  40. BIN
      unpackage/dist/build/h5/static/image/order-bg.png
  41. BIN
      unpackage/dist/build/h5/static/image/v1.png
  42. BIN
      unpackage/dist/build/h5/static/image/v2.png
  43. BIN
      unpackage/dist/build/h5/static/image/v3.png
  44. BIN
      unpackage/dist/build/h5/static/image/v4.png
  45. BIN
      unpackage/dist/build/h5/static/image/x.png
  46. BIN
      unpackage/dist/build/h5/static/img/alert-bg.22a1fbd2.png
  47. BIN
      unpackage/dist/build/h5/static/img/banner_01.png
  48. BIN
      unpackage/dist/build/h5/static/img/banner_02.png
  49. BIN
      unpackage/dist/build/h5/static/img/banner_03.png
  50. BIN
      unpackage/dist/build/h5/static/img/banner_04.png
  51. BIN
      unpackage/dist/build/h5/static/img/banner_05.png
  52. BIN
      unpackage/dist/build/h5/static/img/banner_06.png
  53. BIN
      unpackage/dist/build/h5/static/img/class_01.jpg
  54. BIN
      unpackage/dist/build/h5/static/img/code.png
  55. BIN
      unpackage/dist/build/h5/static/img/empty.f3782c52.png
  56. BIN
      unpackage/dist/build/h5/static/img/goods_01.png
  57. BIN
      unpackage/dist/build/h5/static/img/goods_02.png
  58. BIN
      unpackage/dist/build/h5/static/img/goods_03.png
  59. BIN
      unpackage/dist/build/h5/static/img/goods_06.png
  60. BIN
      unpackage/dist/build/h5/static/img/goods_07.png
  61. BIN
      unpackage/dist/build/h5/static/img/goods_08.png
  62. BIN
      unpackage/dist/build/h5/static/img/goods_09.png
  63. BIN
      unpackage/dist/build/h5/static/img/goods_10.png
  64. BIN
      unpackage/dist/build/h5/static/img/goods_11.png
  65. BIN
      unpackage/dist/build/h5/static/img/goods_banner_01.webp
  66. BIN
      unpackage/dist/build/h5/static/img/goods_banner_02.webp
  67. BIN
      unpackage/dist/build/h5/static/img/goods_banner_03.webp
  68. BIN
      unpackage/dist/build/h5/static/img/goods_banner_04.webp
  69. BIN
      unpackage/dist/build/h5/static/img/goods_banner_05.webp
  70. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_01.png
  71. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_02.png
  72. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_03.png
  73. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_04.png
  74. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_05.png
  75. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_06.png
  76. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_07.png
  77. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_08.png
  78. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_09.png
  79. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_10.png
  80. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_11.png
  81. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_12.png
  82. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_13.png
  83. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_14.png
  84. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_15.png
  85. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_16.png
  86. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_17.png
  87. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_18.png
  88. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_19.png
  89. BIN
      unpackage/dist/build/h5/static/img/goods_thumb_20.png
  90. BIN
      unpackage/dist/build/h5/static/img/logo254.d8724245.png
  91. BIN
      unpackage/dist/build/h5/static/img/member.png
  92. BIN
      unpackage/dist/build/h5/static/img/nav_01.webp
  93. BIN
      unpackage/dist/build/h5/static/img/order-bg.61798d6c.png
  94. BIN
      unpackage/dist/build/h5/static/img/pin_01.png
  95. BIN
      unpackage/dist/build/h5/static/img/pin_02.png
  96. BIN
      unpackage/dist/build/h5/static/img/pin_03.png
  97. BIN
      unpackage/dist/build/h5/static/img/pin_04.png
  98. BIN
      unpackage/dist/build/h5/static/img/pin_05.png
  99. BIN
      unpackage/dist/build/h5/static/img/souji.webp
  100. BIN
      unpackage/dist/build/h5/static/img/user_pic.jpg
  101. Some files were not shown because too many files have changed in this diff Show More

@ -29,6 +29,8 @@ export const getAddrDesc = (params, config = {custom: { auth: true }}) => http.p
export const changePassword = (params, config = {custom: { auth: true }}) => http.post('/addons/shopro/user.user/changePassword', params, config);
//注销用户
export const logout = (params, config = {custom: { auth: true }}) => http.post('/api/user/logout', params, config);
//更新用户信息
export const updateUserInfo = (params, config = {custom: { auth: true }}) => http.post('/api/user/updateUserInfo', params, config);

@ -111,6 +111,23 @@
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path" : "pages/Information/Information",
"style" : {
"navigationBarTitleText": "个人信息",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path" : "pages/shoukuan/shoukuan",
"style" : {
"navigationBarTitleText": "收款管理",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
@ -320,14 +337,6 @@
"navigationBarBackgroundColor": "#FFFFFF"
}
}
,{
"path" : "pages/Information/Information",
"style" : {
"navigationBarTitleText": "个人信息",
"navigationBarBackgroundColor": "#FFFFFF"
}
}
,{
"path" : "pages/AccountAssociated/AccountAssociated",
"style" : {

@ -84,4 +84,60 @@
}
}
}
}
}
.showcontent{
position: relative;
&>image{
width: 100%;
height:auto;
}
.contentContainer{
position: absolute;
padding:0 40rpx;
z-index:11;
top:60%;left:0;
transform: translateY(-50%);
width: 100%;
.text{
text-align: center;
.textTitle{
color:#222;
font-size:32rpx;
font-weight: bold;
}
.intr{
line-height: 40rpx;
}
}
.btnContent{
display: flex;
align-items: center;
margin-top:20rpx;
justify-content: space-around;
.cancelBtn{
color: rgb(48, 34, 13);
border: 0.5px solid rgb(48, 34, 13);
background: none;
width: 180rpx;
text-align: center;
height: 38px;
line-height: 38px;
border-radius: 22px;
font-size: 14px;
overflow: hidden;
}
.submitBtn{
color: rgb(222, 186, 109);
border: 0.5px solid rgb(48, 34, 13);
background: rgb(48, 34, 13);
width: 180rpx;
text-align: center;
height: 38px;
line-height: 38px;
border-radius: 22px;
font-size: 14px;
overflow: hidden;
}
}
}
}

@ -28,7 +28,7 @@
<text class="iconfont icon-more"></text>
</view>
</view>
<view class="list">
<view class="list" @click="show = true">
<view class="title">
<text>注销服务</text>
</view>
@ -38,7 +38,29 @@
</view>
</view>
<u-popup mode="center" round="10" :customStyle="{'width':'70%'}" :show="show" @close="close">
<view class="showcontent">
<image src="../../static/image/alert-bg.png" mode="widthFix"></image>
<view class="contentContainer">
<view class="text">
<view class="textTitle">
温馨提示
</view>
<view class="intr">
很遗憾合之赢无法为您继续服务感谢您一路陪伴与关注为了您的账户安全注销账户后将会永久清除与该账户相关的所有信息服务器不再保留
</view>
</view>
<view class="btnContent">
<view class="cancelBtn" @click="close">
取消
</view>
<view class="submitBtn" @click="close">
确定
</view>
</view>
</view>
</view>
</u-popup>
</view>
</template>
@ -46,10 +68,13 @@
export default {
data() {
return {
show:true,
};
},
methods:{
close() {
this.show = false
},
/**
* 账户安全点击
* @param {String} type

@ -5,6 +5,7 @@
width: 100%;
height: 100%;
background-color: #f6f6f6;
padding:0 24rpx;
}
/* 用户信息列表 */

@ -7,7 +7,17 @@
<text>头像</text>
</view>
<view class="more-content">
<image src="/static/img/user_pic.jpg" mode=""></image>
<u-upload
:fileList="finishImageList"
:previewFullImage="false"
@afterRead="afterRead"
width="50" height="50"
style="display: none;"
ref="upload"
name="1"
></u-upload>
<image :src="avatarUrl" mode="" @click="uploadAvatar"></image>
<text class="iconfont icon-more more"></text>
</view>
</view>
@ -20,110 +30,112 @@
<text class="iconfont icon-more more"></text>
</view>
</view>
<view class="list">
<view class="title">
<text>性别</text>
</view>
<view class="more-content">
<text class="content">{{sexText}}</text>
<text class="iconfont icon-more more"></text>
</view>
<view class="picker">
<picker @change="sexPickerChange" :value="sexIndex" :range="sexArray">
<view class="uni-input" style="height: 100rpx;">{{sexText}}</view>
</picker>
</view>
</view>
<view class="list">
<view class="title">
<text>出生日期</text>
</view>
<view class="more-content">
<text class="content">{{birthday}}</text>
<text class="iconfont icon-more more"></text>
</view>
<view class="picker">
<picker @change="birthdayPickerChange" mode="date" :value="birthdayDate" :start="startDate" :end="endDate">
<view class="uni-input" style="height: 100rpx;">{{birthdayDate}}</view>
</picker>
</view>
</view>
</view>
<!-- 提示框 -->
<DialogBox ref="DialogBox"></DialogBox>
<u-toast ref="uToast"></u-toast>
</view>
</template>
<script>
import {getToken} from '@/common/auth.js'
import {updateUserInfo} from '@/common/api.js'
export default {
data() {
const currentDate = this.getDate({
format: true
})
return {
//
sexArray: ['男','女','保密'],
sexIndex: 0,
sexText: '保密',
//
birthdayDate: currentDate,
startDate: this.getDate('start'),
endDate: this.getDate('end'),
birthday: '2020-02-02',
finishImageList:[],
fileList1: [],
DialogBox: {},
//
nickname: '爱跳舞的汤姆猫',
nickname: '',
finishName:'',
avatarUrl:'',
avatarUrl_short:''
};
},
onLoad() {
onLoad(option) {
this.nickname = option.name
this.avatarUrl = option.avatar
console.log(option)
},
methods:{
/**
* 性别
* @param {Object} e
*/
sexPickerChange(e){
this.sexIndex = e.detail.value;
this.sexText = this.sexArray[this.sexIndex];
uploadAvatar(){
this.$refs.upload.chooseFile()
},
/**
* 生日
* @param {Object} e
*/
birthdayPickerChange(e){
this.birthday = e.detail.value;
},
/**
* 获取日期
* @param {Object} type
*/
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
year = year + 2;
//
async afterRead(event) {
// multiple true , file
let lists = [].concat(event.file)
let fileListLen = this[`fileList${event.name}`].length
lists.map((item) => {
this[`fileList${event.name}`].push({
...item,
status: 'uploading',
message: '上传中'
})
})
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url)
console.log(result,"===")
this.avatarUrl = JSON.parse(result).data.fullurl;
this.avatarUrl_short = JSON.parse(result).data.url;
}
month = month > 9 ? month : '0' + month;;
day = day > 9 ? day : '0' + day;
return `${year}-${month}-${day}`;
},
//
uploadFilePromise(url) {
return new Promise((resolve, reject) => {
let a = uni.uploadFile({
url: this.baseUrl+'api/common/upload',
filePath: url,
name: 'file',
header:{
token:getToken()
},
formData: {
},
success: (res) => {
console.log(res)
if(JSON.parse(res.data).code==1){
setTimeout(() => {
this.finishImageList.push({url:JSON.parse(res.data).data.fullurl,path:JSON.parse(res.data).data.url})
resolve(res.data)
}, 1000)
}else{
uni.$u.toast(JSON.parse(res.data).msg)
resolve(res.data)
}
},
fail: (res) => {
console.log(res,"rrr")
}
});
})
},
/**
* 昵称点击
*/
onNickname(){
this.finishName = this.nickname
this.$refs['DialogBox'].confirm({
title: '更改昵称',
placeholder: '请输入修改的昵称',
value: this.nickname,
value: this.finishName,
DialogType: 'input',
animation: 0
}).then((res)=>{
this.nickname = res.value;
console.log(res)
updateUserInfo({nickname:res.value}).then(res=>{
this.$refs.uToast.show({
message:'修改成功'
})
})
})
}
}
@ -132,4 +144,7 @@
<style scoped lang="scss">
@import 'Information.scss';
/deep/.u-upload__deletable{
display: none;
}
</style>

@ -4,8 +4,8 @@
//height: 100%;
//overflow-x: hidden;
//overflow-y: auto;
padding-bottom: 200rpx;
background-color: rgb(247,247,247);
// padding-bottom: 200rpx;
// background-color: rgb(247,247,247);
}
.head{
position: fixed;

@ -15,13 +15,13 @@
</view>
</view>
<!-- 用户信息 -->
<view class="user-info" v-if="userInfo.id">
<view class="user-info" v-if="userInfo.id" @click="goUserCenter">
<view class="portrait">
<image :src="userInfo.avatar"></image>
</view>
<view class="info">
<view class="nickname">
<text>{{userInfo.username}}</text>
<text>{{userInfo.nickname}}</text>
</view>
<view class="nickname">
<!-- <image src="/static/rank.png"></image>
@ -225,7 +225,7 @@
<view class="card">
<u-cell-group :border="false">
<u-cell icon="share-square" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="分销中心" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="rmb" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="收款管理" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="rmb" @click="goPay" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="收款管理" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="rmb-circle" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="我的收益" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
</u-cell-group>
</view>
@ -272,6 +272,16 @@
this.getUserInfoHandle()
},
methods:{
goUserCenter(){
uni.navigateTo({
url:'/pages/Information/Information?name='+this.userInfo.nickname+'&avatar='+this.userInfo.avatar
})
},
goPay(){
uni.navigateTo({
url:'/pages/shoukuan/shoukuan'
})
},
//
getUserInfoHandle(){
getUserInfo().then(res=>{

@ -0,0 +1,125 @@
.page{
min-height:calc(100vh - 45px);
background-color: #f5f5f5;
padding:24rpx;
.tabs{
height: 80rpx;
background-color: rgb(35, 96, 48);
padding: 6rpx;
border-radius: 5px;
display: flex;
.tabsItem{
flex:1;
text-align: center;
line-height: 70rpx;
font-size: 26rpx;
color: #ffffff;
}
.active{
background-color: #fff;
font-size: 30rpx;
font-weight: bold;
border-radius: 5px;
color: rgb(35, 96, 48);
}
}
.yhk{
width: 100%;
background-color: #FFFFFF;
margin-top:20rpx;
border-radius: 10px;
.list-input{
display: flex;
align-items: center;
padding: 0 4%;
height: 100rpx;
border-bottom: 2rpx solid #f6f6f6;
.title{
display: flex;
align-items: center;
width: 30%;
height: 100%;
text{
color: #236030;
font-size: 26rpx;
}
}
.content{
display: flex;
align-items: center;
width: 70%;
height: 100%;
input{
width: 100%;
height: 100%;
font-size: 26rpx;
color: #222222;
}
}
}
.yzmBtn{
background: rgb(35, 96, 48);
color: rgb(255, 255, 255);
margin-bottom: 5px;
padding: 0px;
width: 126px;
overflow: hidden;
font-size: 14px;
height: 38px;
line-height: 38px;
color: #fff;
text-align: center;
border-radius:10rpx;
}
}
.saveBtn{
background: rgb(35, 96, 48);
color: rgb(255, 255, 255);
border: 1px solid rgb(35, 96, 48);
overflow: hidden;
font-size: 28rpx;
height: 44px;
line-height: 44px;
text-align: center;
border-radius: 10rpx;
margin-top:50rpx;
}
.input-info{
padding: 0 6%;
.info{
display: flex;
align-items:center;
justify-content: space-between;
width: 100%;
height: 100rpx;
border-bottom: 2rpx solid #f6f6f6;
input{
width: 70%;
height: 100%;
font-size: 26rpx;
color: #222222;
}
.more{
display: flex;
align-items: center;
justify-content: flex-end;
width: 30%;
height: 100%;
.iconfont{
font-size: 34rpx;
}
.mo{
font-size: 26rpx;
padding-left: 20rpx;
margin-left: 10rpx;
border-left: 2rpx solid #EEEEEE;
}
}
}
}
}
/deep/.u-upload__button{
border:1px solid #aaa;
margin:30rpx auto;
}

@ -0,0 +1,173 @@
<template>
<view class="page">
<view class="tabs">
<view :class="activeIndex==item.id?'tabsItem active':'tabsItem'" @click="getPay(item)" v-for="item in list4" :key="item.id">
{{item.name}}
</view>
<view class="">
</view>
</view>
<view >
<view class="yhk" v-show="activeIndex==1">
<view class="list-input">
<view class="title">
<text>姓名</text>
</view>
<view class="content">
<input type="text" v-model="yhk.bank_realname" placeholder="请输入真实姓名">
</view>
</view>
<view class="list-input">
<view class="title">
<text>预留手机号</text>
</view>
<view class="content">
<input type="tel" v-model="yhk.bank_mobile" placeholder="请输入银行预留手机号">
</view>
</view>
<view class="list-input">
<view class="title">
<text>卡号</text>
</view>
<view class="content">
<input type="tel" v-model="yhk.bank_no" placeholder="请输入银行卡号">
</view>
</view>
<view class="list-input">
<view class="title">
<text>开户行</text>
</view>
<view class="content">
<input type="tel" v-model="yhk.bank_address" placeholder="请输入开户行信息">
</view>
</view>
</view>
<view class="zfb" v-show="activeIndex==2">
<u-upload
:fileList="zfbPic"
:previewFullImage="true"
@afterRead=""
:maxCount="1" width="176" height="176"
name="1"
multiple
></u-upload>
</view>
<view class="zfb" v-show="activeIndex==3">
<u-upload
:fileList="zfbPic"
:previewFullImage="true"
@afterRead=""
:maxCount="1" width="176" height="176"
name="1"
multiple
></u-upload>
</view>
<view class="yhk">
<view class="list-input">
<view class="title">
<text>手机号</text>
</view>
<view class="content">
<input type="text" v-model="mobileForm.phone" placeholder="请输入手机号">
</view>
</view>
<view class="list-input">
<view class="title">
<text>验证码</text>
</view>
<view class="content">
<input type="text" v-model="mobileForm.code" placeholder="请输入验证码">
</view>
<view class="yzmBtn" v-show="!codeSend">
获取验证码
</view>
<view class="yzmBtn" v-show="codeSend">
{{timeNum}}s后重试
</view>
</view>
</view>
<view class="saveBtn">
{{activeIndex==1?'保存银行卡':activeIndex==2?'保存支付宝二维码':activeIndex==3?'保存微信二维码':''}}
</view>
</view>
<u-toast ref="uToast"></u-toast>
</view>
</template>
<script>
import {updateUserInfo,smsSend} from '@/common/api.js'
export default {
data() {
return {
activeIndex:1,
list4: [{
name: '银行卡',
id:1
}, {
name: '支付宝',
id:2
}, {
name: '微信',
id:3
}],
yhk:{
bank_realname:null,
bank_mobile:null,
bank_no:null,
bank_address:null,
},
codeSend:false,
timeNum:59,
timer:null,
zfbPic:[],
mobileForm:{
phone: '',
code: '',
}
};
},
onLoad(option) {
},
methods:{
getPay(item){
this.activeIndex = item.id
},
getCode(){
if(!this.mobileForm.phone){
this.$refs.uToast.show({
message:'请输入手机号码'
})
return;
}
smsSend({mobile:this.mobileForm.phone}).then(res=>{
if(res.code==1){
this.codeSend = true;
this.timer = setInterval(()=>{
if(this.timeNum>0){
this.timeNum--;
}else{
this.codeSend = false;
clearInterval(this.timer)
this.timer = null;
}
},1000)
}
})
},
},
destroyed() {
clearInterval(this.timer)
this.timer = null;
},
}
</script>
<style scoped lang="scss">
@import 'shoukuan.scss';
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

@ -0,0 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>商城</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.fd0c9014.js></script><script src=/static/js/index.f43f9137.js></script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 917 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 669 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 822 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 259 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 550 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save