XSLu08042 пре 2 часа
родитељ
комит
080119d74e

+ 2 - 2
common/request.js

@@ -5,8 +5,8 @@ export default class Request {
 		// let path = 'http://127.0.0.1:8113';
 		// var path=uni.getStorageSync('requestPath')
 
-		// var path = 'https://storeuserapp.bjyjbao.com'; //正式
-		var path = "http://q262c6a3.natappfree.cc"
+		var path = 'https://storeuserapp.bjyjbao.com'; //正式
+		// var path = "http://q262c6a3.natappfree.cc"
 		// var path = "http://192.168.10.196:8113"
 		let token="";
 		let type = 0

+ 1 - 1
pages.json

@@ -404,7 +404,7 @@
 				    "path" : "healthy/index",
 				    "style" :                                                                                    
 				    {
-				        "navigationBarTitleText": "医药资讯",
+				        "navigationBarTitleText": "文章",
 				        "enablePullDownRefresh": false,
 						"navigationBarTextStyle": "black",
 						"navigationBarBackgroundColor": "#ffffff",

+ 3 - 3
pages/index/index.vue

@@ -37,7 +37,7 @@
 					</u-swiper>
 				</view>
 				<view class="menu-box box">
-					<view class="menu-item" @click="navTo('/pages_index/healthy/index?cateId=2')">
+					<view class="menu-item" @click="navTo('/pages_index/healthy/index?cateName=医药资讯')">
 						<image src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/index/medical_news_icon.png" mode="aspectFill"></image>
 						<view>医药资讯</view>
 					</view>
@@ -214,13 +214,13 @@
 						<view class="articles box" v-if="it.id==6&&it.isShow&&articles.length>0">
 							<view class="title-box">
 								<view class="title">{{it.name}}</view>
-								<view class="more" @click="navTo('/pages_index/healthy/index')">
+								<view class="more" @click="navTo('/pages_index/healthy/index?cateName=养生保健')">
 									<view class="text">更多</view>
 									<image src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/arrow_gray.png"></image>
 								</view>
 							</view>
 							<view class="article-box" v-if="articles.length>0">
-								<view class="item" @click="navTo('/pages_index/healthy/detail?articleId='+item.articleId)" v-for="(item,index) in articles" :key="index">
+								<view class="item" @click="navTo('/pages_index/healthy/detail?articleId=衍生'+item.articleId)" v-for="(item,index) in articles" :key="index">
 									<view class="left">
 										<view class="title ellipsis2">
 											{{item.title}}

+ 124 - 78
pages_index/healthy/index.vue

@@ -2,28 +2,34 @@
 	<view>
 		<view class="top-content">
 			<!-- 这里是状态栏 -->
-		<!-- 	<view class="status_bar" :style="{height: statusBarHeight}"></view>
+			<!-- 	<view class="status_bar" :style="{height: statusBarHeight}"></view>
 			<view class="top-title">健康百科</view> -->
 			<!-- 搜索框 -->
 			<view class="search-cont">
 				<view class="inner">
-					<image class="icon-search" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/icon_search.png" mode=""></image>
-					<input type="text" v-model="searchValue" placeholder="输入关键字搜索" confirm-type="search" @confirm="doSearch" placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
+					<image class="icon-search"
+						src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/icon_search.png" mode="">
+					</image>
+					<input type="text" v-model="searchValue" placeholder="输入关键字搜索" confirm-type="search"
+						@confirm="doSearch"
+						placeholder-style="font-size:28rpx;color:#BBBBBB;font-family: PingFang SC;" />
 				</view>
 			</view>
 			<view class="keyword-list">
-			<!-- 关键字列表 -->
-			<scroll-view   scroll-x="true" >
-				<view class="inner">
-					<view v-for="(item,index) in cates" :key="index" :class="choseCateId == item.cateId?'item active':'item'" @click="choseCate(item)">
-						{{ item.cateName }}
+				<!-- 关键字列表 -->
+				<scroll-view scroll-x="true">
+					<view class="inner">
+						<view v-for="(item,index) in cates" :key="index"
+							:class="choseCateId == item.cateId?'item active':'item'" @click="choseCate(item)">
+							{{ item.cateName }}
+						</view>
 					</view>
-				</view>
-			</scroll-view>
+				</scroll-view>
 			</view>
 		</view>
 		<!-- 知识列表 -->
-		<mescroll-body  :top="top"  ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :down="downOption" :up="upOption">
+		<mescroll-body :top="top" ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"
+			:down="downOption" :up="upOption">
 			<view class="know-list">
 				<view class="item" v-for="(item,index) in dataList" :key="index" @click="showDetail(item)">
 					<view class="left">
@@ -36,7 +42,9 @@
 									</view>
 								</view> -->
 								<view class="readings">
-									<image class="eye" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/shopping/eye.png" ></image>
+									<image class="eye"
+										src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/shopping/eye.png">
+									</image>
 									<text class="num">{{item.views}}</text>
 								</view>
 							</view>
@@ -49,30 +57,36 @@
 				</view>
 			</view>
 		</mescroll-body>
-		
+
 	</view>
 </template>
 
 <script>
-	import {getArticleCate,getArticleList} from '@/api/article'
+	import {
+		getArticleCate,
+		getArticleList
+	} from '@/api/article'
 	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
 	export default {
-		mixins: [MescrollMixin], 
+		mixins: [MescrollMixin],
 		data() {
 			return {
-				top:'0px',
-				cates:[],
-				choseCateId:0,
+				top: '0px',
+				cates: [],
+				choseCateId: 0,
+				cateName: '',
 				// 状态栏的高度
 				statusBarHeight: uni.getStorageSync('menuInfo').statusBarHeight,
 				searchValue: '',
-				mescroll:null,
+				mescroll: null,
 				// 上拉加载的配置
-				downOption:{
-					
+				downOption: {
+					use: true,
+					auto: false // 不自动加载 (mixin已处理第一个tab触发downCallback)
 				},
 				upOption: {
-					onScroll:true,
+					auto: false,
+					onScroll: true,
 					use: true, // 是否启用上拉加载; 默认true
 					page: {
 						num: 0, // 当前页码,默认0,回调之前会加1,即callback(page)会从1开始
@@ -80,10 +94,10 @@
 					},
 					noMoreSize: 10, // 配置列表的总数量要大于等于5条才显示'-- END --'的提示
 					empty: {
-						icon:'https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/empty_icon.png',
+						icon: 'https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/empty_icon.png',
 						tip: '暂无数据'
 					},
-					textNoMore:'已经到底了'
+					textNoMore: '已经到底了'
 				},
 				// 列表数据
 				dataList: [],
@@ -91,36 +105,43 @@
 		},
 		onLoad(option) {
 			this.choseCateId = option.cateId || 0
+			this.cateName = option.cateName || ''
 		},
 		onShow() {
 			this.getArticleCate();
-			var that=this;
-			setTimeout(function(){
+			var that = this;
+			setTimeout(function() {
 				let query = uni.createSelectorQuery().select(".top-content");
-		      query.boundingClientRect(function(data) { //data - 各种参数
-		       	console.log(data.height)  // 获取元素宽度
-					that.top=data.height+"px";
-		      }).exec()
-			},500);
-			
+				query.boundingClientRect(function(data) { //data - 各种参数
+					console.log(data.height) // 获取元素宽度
+					that.top = data.height + "px";
+				}).exec()
+			}, 500);
+
 		},
-		methods:{
-			doSearch(){
-				console.log(this.searchValue)
+		methods: {
+			doSearch() {
 				this.mescroll.resetUpScroll()
 			},
-			getArticleCate(){
-				var that=this;
+			getArticleCate() {
+				var that = this;
 				let data = {};
 				getArticleCate(data).then(
 					res => {
-						if(res.code==200){
-							this.cates=res.data;
-						 
-							
-						}else{
+						if (res.code == 200) {
+							this.cates = res.data;
+							if (that.cateName && that.cates.length > 0) {
+								const matchedCate = that.cates.find(item => item.cateName == that.cateName);
+								if (matchedCate) {
+									that.choseCateId = matchedCate.cateId;
+								}
+							}
+							that.$nextTick(()=>{
+								that.mescroll&&that.mescroll.resetUpScroll();
+							})
+						} else {
 							uni.showToast({
-								icon:'none',
+								icon: 'none',
 								title: "请求失败",
 							});
 						}
@@ -139,26 +160,26 @@
 				//联网加载数据
 				var that = this;
 				var data = {
-					keyword:this.searchValue,
-					cateId:this.choseCateId,
+					keyword: this.searchValue,
+					cateId: this.choseCateId,
 					page: page.num,
 					pageSize: page.size
 				};
 				getArticleList(data).then(res => {
-					if(res.code==200){
+					if (res.code == 200) {
 						//设置列表数据
 						if (page.num == 1) {
-							that.dataList = res.data.list; 
-							
+							that.dataList = res.data.list;
+
 						} else {
 							that.dataList = that.dataList.concat(res.data.list);
-							 
+
 						}
 						that.mescroll.endBySize(res.data.list.length, res.data.total);
-						
-					}else{
+
+					} else {
 						uni.showToast({
-							icon:'none',
+							icon: 'none',
 							title: "请求失败",
 						});
 						that.dataList = null;
@@ -186,14 +207,16 @@
 		width: 100%;
 		background-color: #FFFFFF;
 	}
-	.top-content{
+
+	.top-content {
 		width: 100%;
 		position: fixed;
 		top: 0;
 		left: 0;
 		z-index: 10;
 	}
-	.top-title{
+
+	.top-title {
 		height: 88upx;
 		line-height: 88upx;
 		font-size: 42upx;
@@ -203,10 +226,12 @@
 		padding-left: 41upx;
 		background-color: #FFFFFF;
 	}
-	.search-cont{
+
+	.search-cont {
 		padding: 16upx 30upx;
 		background-color: #FFFFFF;
-		.inner{
+
+		.inner {
 			box-sizing: border-box;
 			width: 100%;
 			height: 72upx;
@@ -215,27 +240,32 @@
 			display: flex;
 			align-items: center;
 			padding: 0 30upx;
-			.icon-search{
+
+			.icon-search {
 				width: 28upx;
 				height: 28upx;
 				margin-right: 20upx;
 			}
-			input{
+
+			input {
 				height: 60upx;
 				line-height: 60upx;
 				flex: 1;
 			}
 		}
 	}
-	.keyword-list{
+
+	.keyword-list {
 		box-sizing: border-box;
 		background: #fff;
 		padding: 10upx 27upx;
 		height: 100upx;
-		.inner{
+
+		.inner {
 			display: flex;
 		}
-		.item{
+
+		.item {
 			flex-shrink: 0;
 			padding: 0 24upx;
 			height: 64upx;
@@ -248,17 +278,20 @@
 			border: 1px solid #2583EB;
 			border-radius: 32upx;
 			margin: 0 20upx 20upx 0;
-			&.active{
+
+			&.active {
 				color: #FFFFFF;
 				background: #2583EB;
 				border: 1px solid #2583EB;
 			}
 		}
 	}
-	.know-list{
+
+	.know-list {
 		margin-top: 20upx;
 		padding: 0 10upx;
-		.item{
+
+		.item {
 			box-sizing: border-box;
 			height: 271upx;
 			background: #FFFFFF;
@@ -268,54 +301,64 @@
 			align-items: center;
 			justify-content: space-between;
 			margin-bottom: 20upx;
-			.left{
+
+			.left {
 				flex: 1;
 				padding-right: 40upx;
 				height: 190upx;
 				display: flex;
 				flex-direction: column;
 				justify-content: space-between;
-				.title{
+
+				.title {
 					font-size: 32upx;
 					font-family: PingFang SC;
 					font-weight: 500;
 					color: #111111;
 					line-height: 48upx;
 				}
-				.info-box{
+
+				.info-box {
 					width: 100%;
 					display: flex;
 					align-items: center;
 					justify-content: space-between;
-					.readers{
+
+					.readers {
 						display: flex;
 						align-items: center;
-						.head-box{
+
+						.head-box {
 							margin-right: 27upx;
 							display: flex;
 							align-items: center;
-							.head{
+
+							.head {
 								width: 48upx;
 								height: 48upx;
 								border-radius: 50%;
 								overflow: hidden;
 								box-shadow: 0 0 0 1px #fff;
 								margin-right: -10upx;
-								image{
+
+								image {
 									width: 100%;
 									height: 100%;
 								}
 							}
 						}
-						.readings{
+
+						.readings {
 							display: flex;
 							align-items: center;
-							.eye{
+
+							.eye {
 								width: 26upx;
 								height: 20upx;
 								margin-right: 9upx;
 							}
-							.num{
+
+							.num {
 								font-size: 24upx;
 								font-family: PingFang SC;
 								font-weight: 500;
@@ -324,7 +367,8 @@
 							}
 						}
 					}
-					.time{
+
+					.time {
 						font-size: 24upx;
 						line-height: 1;
 						font-family: PingFang SC;
@@ -333,16 +377,18 @@
 					}
 				}
 			}
-			.right{
+
+			.right {
 				width: 250upx;
 				height: 190upx;
 				border-radius: 8upx;
 				overflow: hidden;
-				image{
+
+				image {
 					width: 100%;
 					height: 100%;
 				}
 			}
 		}
 	}
-</style>
+</style>

+ 25 - 12
pages_user/integral.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="top-cont">
 			<!-- 背景图片 -->
-			<image class="bg" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/ed4a8ff0406747a68e40988b210d1c78.png" mode=""></image>
+			<image class="bg" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/image/index_img/home_top_bg.png" mode=""></image>
 			<view class="top-inner">			
 				<!-- 这里是状态栏 -->
 				<view class="fixed-top-box" :style="{ background: bg }">
@@ -33,9 +33,10 @@
 									<view class="line"></view>
 									<view class="right">
 										<!-- 已签到图标 -->
-										<image v-if="signNum >= index+ 1" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/f3bdd5d388854e9a8f365904840c3b32.png" mode=""></image>
+										<image v-if="signNum >= index+ 1" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/fs/20260730/d76964f349cb47a4a5b370d2b3a0c910.png" mode=""></image>
 										<!-- 未签到图标 -->
-										<image v-else src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/c593e551e4b246b981aaa58deb1fe725.png" mode=""></image>
+										<!-- <image v-else src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/c593e551e4b246b981aaa58deb1fe725.png" mode=""></image> -->
+										<view v-else class="point-item x-ac">{{item.signNum}}</view>
 										<text class="text">{{ item.day }}</text>
 									</view>
 								</view>
@@ -49,7 +50,7 @@
 							</view>
 							<view class="btn" v-else>
 								<image src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/295aa046433d4feb95b467c83f8b4096.png" mode=""></image>
-								<text class="text">签到</text>
+								<text class="text">签到</text>
 							</view>
 						</view>
 					</view>
@@ -68,7 +69,7 @@
 								>
 									<view class="text">
 										{{ item.lable }}
-										<image v-show="tabIndex == item.value" class="tab-bg" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/1828ea6b3b124b5f84e3556267a8d9ef.png" mode=""></image>
+										<image v-show="tabIndex == item.value" class="tab-bg" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/app/newImages/shopping/tab_bg.png" mode=""></image>
 									</view>
 								</view>
 							</view>
@@ -153,7 +154,7 @@
 		computed: {
 			// 计算属性的 getter
 			bg: function() {
-				return 'rgba(255,142,60, ' + this.top / 30 + ')';
+				return 'rgba(37, 131, 235, ' + this.top / 30 + ')';
 			},
 		},
 		methods: {
@@ -353,7 +354,7 @@
 							font-size: 32upx;
 							font-family: PingFang SC;
 							font-weight: Bold;
-							color: #FF7511;
+							color: #2583EB;
 							margin: 0 10upx;
 							line-height: 1;
 						}
@@ -372,15 +373,27 @@
 								align-items: center;
 								justify-content: center;
 								image{
-									width: 44upx;
-									height: 44upx;
+									width: 48upx;
+									height: 48upx;
 									margin-bottom: 20upx;
 								}
+								.point-item {
+									border: 1px solid rgba(37,131,235,0.5);
+									background-color: rgba(37,131,235,0.05);
+									width: 48upx;
+									height: 48upx;
+									border-radius: 50%;
+									margin-bottom: 20rpx;
+									font-size: 24upx;
+									font-family: PingFang SC;
+									font-weight: 500;
+									color: #2583EB;
+								}
 								.text{
 									font-size: 24upx;
 									font-family: PingFang SC;
 									font-weight: 500;
-									color: #FF7511;
+									color: #2583EB;
 									line-height: 1;
 									white-space: nowrap;
 								}
@@ -388,7 +401,7 @@
 							.line{
 								width: 34upx;
 								height: 4upx;
-								background: #F6CDA7;
+								background: #b4d7fd;
 								border-radius: 2upx;
 								margin-top: 22upx;
 							}
@@ -411,7 +424,7 @@
 						width: 100%;
 						height: 88upx;
 						box-shadow: 0px 0px 5px 2px rgba(0,0,0,0.05);
-						background-color: #FF7511;
+						background-color: #2583EB;
 						border-radius: 44rpx;
 						display: flex;
 						justify-content: center;

+ 49 - 5
pages_user/integralGoodsDetails.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="content">
-		<view class="cont-box">
+		<view class="cont-box" v-if="item&&JSON.stringify(item)!='{}'">
 			<view class="goods-banner" @click="showImg()">
 				<view class="cartbox" @click.stop="goCart()">
 					<view class="box">
@@ -26,6 +26,16 @@
 				<!-- 数量 -->
 				<view class="num-box">{{ activeImg }}/{{ imgs.length }}</view>
 			</view>
+			<view class="time-pill" v-if="item.isLongTerm == 1">
+				<view class="x-ac">至</view>
+				<view class="left-time">
+					<view>{{item.validStartTime || ''}}</view>
+					<view>{{item.validEndTime || ''}}</view>
+				</view>
+				<view class="right-label">
+					限时兑换
+				</view>
+			</view>
 			<view class="integral-box">
 				<view class="title">{{item.goodsName}}</view>
 				<view class="num-box">
@@ -40,13 +50,12 @@
 					</view>
 					<view class="count">价值:{{$formatNum(item.otPrice)}}元</view>
 				</view>
-				 
 			</view>
 			<view class="desc-box">
 				<u-parse :content="item.descs" :tagStyle="tagStyle"></u-parse>
 			</view>
 		</view>
-		<view class="btn-foot">
+		<view class="btn-foot" v-if="item&&JSON.stringify(item)!='{}'">
 			<view class="p-price-box">
 				<!-- <view class="p-name">兑换积分: </view> -->
 				<view class="p-price">{{item.integral}}<text style="font-size: 20rpx;">积分</text></view>
@@ -247,8 +256,13 @@
 						}else{
 							uni.showToast({
 								icon:'none',
-								title: "请求失败",
+								title: res.msg||"请求失败",
+								duration: 2000
 							});
+							uni.$emit("refreshList")
+							setTimeout(()=>{
+								uni.navigateBack()
+							},2000)
 						}
 					},
 					rej => {}
@@ -282,7 +296,32 @@
 		height: 100%;
 		display: flex;
 		flex-direction: column;
-		 
+		.time-pill {
+			width: 100%;
+			display: flex;
+			align-items: stretch;
+			background-color: #FFF1F0;
+			overflow: hidden;
+			padding-left: 24rpx;
+			font-size: 26rpx;
+			color: #FF5030;
+			.left-time {
+				padding: 10rpx 20rpx 10rpx 24rpx;
+				flex: 1;
+			}
+
+			.right-label {
+				background: linear-gradient(90deg, #FF5030 0%, #FF8A65 100%);
+				color: #FFFFFF;
+				font-size: 30rpx;
+				padding: 10rpx 34rpx 10rpx 80rpx;
+				font-weight: bold;
+				display: flex;
+				align-items: center;
+				clip-path: polygon(25% 0, 100% 0, 100% 100%, 0% 100%);
+				margin-left: -15rpx;
+			}
+		}
 		.cont-box{
 			padding-bottom: 121rpx;
 			.integral-box{
@@ -315,12 +354,17 @@
 					}
 					.duration{
 						margin-left: 10rpx;
+						&:first-child {
+							margin-left: 0;
+						}
 						background-color: #eee;
 						border-radius: 30rpx;
 						padding: 5rpx 15rpx;
 						font-size: 26rpx;
 						font-family: PingFang SC;
 						color: #2583EB;
+						display: flex;
+						align-items: center;
 					}
 					
 				}

+ 32 - 0
pages_user/integralGoodsList.vue

@@ -66,6 +66,7 @@
 				<view class="item" @click="navTo('/pages_user/integralGoodsDetails?goodsId='+item.goodsId)" v-for="(item,index) in dataList" :key="index">
 					<view class="top">
 						<image :src="item.imgUrl" mode="aspectFill"></image>
+						<view class="time-tag" v-if="item.isLongTerm == 1">限时兑换</view>
 					</view>
 					<view class="bottom">
 						<view class="title ellipsis2">{{item.goodsName}}</view>
@@ -139,6 +140,12 @@
  	},
 	onLoad() {
 		this.getDictByKey("sys_integral_goods_type");
+		uni.$on('refreshList', () => {
+			this.mescroll&&this.mescroll.resetUpScroll()
+		})
+	},
+	onUnload() {
+		uni.$off('refreshList')
 	},
 	onShow() {
 		this.$isLogin().then(
@@ -461,10 +468,35 @@ page {
 		.top {
 			width: 100%;
 			height: 340rpx;
+			position: relative;
 			image {
 				width: 100%;
 				height: 100%;
 			}
+			.time-tag {
+				position: absolute;
+				top: 0;
+				left: 0;
+				background: linear-gradient(135deg, #FF5030 0%, #FF8A65 100%);
+				color: #fff;
+				font-size: 22rpx;
+				padding: 6rpx 16rpx;
+				border-radius: 0 0 20rpx 0;
+				z-index: 1;
+				font-weight: 500;
+				box-shadow: 2rpx 2rpx 8rpx rgba(255, 80, 48, 0.3);
+				display: flex;
+				align-items: center;
+				&::before {
+					content: "";
+					width: 8rpx;
+					height: 8rpx;
+					background-color: #fff;
+					border-radius: 50%;
+					margin-right: 8rpx;
+					box-shadow: 0 0 4rpx rgba(255,255,255,0.8);
+				}
+			}
 		}
 
 		.bottom {

+ 5 - 1
pages_user/integralOrderPay.vue

@@ -270,7 +270,11 @@
 							this.item=res.data;
 							this.compute()
 						}else{
-							 
+							uni.showToast({
+								icon:'none',
+								title: res.msg||"请求失败",
+								duration: 2000
+							});
 						}
 					},
 					rej => {}

+ 1 - 1
pages_user/personInfo.vue

@@ -11,7 +11,7 @@
 			<view class="info-item">
 				<view class="label">昵称</view>
 				<view class="right">
-					<input type="nickname"  @blur="bindblur" @input="bindinput" v-model="user.nickName" class="input" /> 
+					<input type="nickname"  @blur="bindblur" @input="bindinput" v-model="user.nickname" class="input" /> 
 					<image class="image" src="https://bjyjb-1362704775.cos.ap-chongqing.myqcloud.com/shop/image/icon_edit.png" mode=""></image>
 				</view>
 			</view>