소스 검색

1.登录授权 逻辑

guo 3 년 전
부모
커밋
ee30d9be63
48개의 변경된 파일2002개의 추가작업 그리고 150개의 파일을 삭제
  1. 2 2
      common/request.js
  2. 1 1
      manifest.json
  3. 76 54
      pages.json
  4. 158 0
      pages/login/empower.vue
  5. 327 0
      pages/login/iphoneLogin.vue
  6. 197 0
      pages/login/login.vue
  7. 12 28
      pages/shop/shopList.vue
  8. BIN
      static/img/icon_arrow_gray.png
  9. BIN
      static/img/icon_search_del.png
  10. BIN
      static/img/login_icon_checked.png
  11. BIN
      static/img/nodata.png
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  13. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/chose-city/chose-city.js.map
  15. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  16. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/empower.js.map
  17. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/iphoneLogin.js.map
  18. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shopList.js.map
  21. 4 1
      unpackage/dist/dev/mp-weixin/app.json
  22. 12 12
      unpackage/dist/dev/mp-weixin/common/vendor.js
  23. 15 15
      unpackage/dist/dev/mp-weixin/components/chose-city/chose-city.js
  24. 2 2
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  25. 284 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.js
  26. 4 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.json
  27. 1 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.wxml
  28. 36 0
      unpackage/dist/dev/mp-weixin/pages/login/empower.wxss
  29. 400 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.js
  30. 5 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.json
  31. 1 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxml
  32. 90 0
      unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxss
  33. 289 0
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  34. 4 0
      unpackage/dist/dev/mp-weixin/pages/login/login.json
  35. 1 0
      unpackage/dist/dev/mp-weixin/pages/login/login.wxml
  36. 67 0
      unpackage/dist/dev/mp-weixin/pages/login/login.wxss
  37. 2 22
      unpackage/dist/dev/mp-weixin/pages/shop/shopList.js
  38. 1 1
      unpackage/dist/dev/mp-weixin/pages/shop/shopList.wxml
  39. 1 1
      unpackage/dist/dev/mp-weixin/pages/shop/shopList.wxss
  40. 1 5
      unpackage/dist/dev/mp-weixin/project.config.json
  41. BIN
      unpackage/dist/dev/mp-weixin/static/icon_select_def@2x.png
  42. BIN
      unpackage/dist/dev/mp-weixin/static/img/icon_arrow_gray.png
  43. BIN
      unpackage/dist/dev/mp-weixin/static/img/icon_search_del.png
  44. BIN
      unpackage/dist/dev/mp-weixin/static/img/icon_select_def@2x.png
  45. BIN
      unpackage/dist/dev/mp-weixin/static/img/icon_select_sel@2x.png
  46. BIN
      unpackage/dist/dev/mp-weixin/static/img/login_icon_checked.png
  47. BIN
      unpackage/dist/dev/mp-weixin/static/img/nodata.png
  48. BIN
      unpackage/dist/dev/mp-weixin/static/img/sign_bg.png

+ 2 - 2
common/request.js

@@ -1,5 +1,5 @@
-const baseUrl = 'http://58.56.15.138:20189/' 
-const burl2='http://58.56.15.138:20187' 
+const baseUrl = 'http://58.56.15.138:20201/' 
+const burl2='http://58.56.15.138:20201/' 
 //const baseUrl = 'http://58.56.15.138:20132/' 
 // const baseUrl = 'https://api.dms.66km.com/'
 

+ 1 - 1
manifest.json

@@ -50,7 +50,7 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wxe008726be8d45bc6",
+        "appid" : "wxf8f3d4de9b244403",
         "setting" : {
             "urlCheck" : false
         },

+ 76 - 54
pages.json

@@ -1,55 +1,77 @@
-{
-	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-		{
-			"path": "pages/index/index",
-			"style": {
-				"navigationBarTitleText": "填写爱车信息"
-			}
-		},
-		{
-			"path": "pages/shop/shopList",
-			"style": {
-				"navigationBarTitleText": "4S门店"
-			}
-		},
-		{
-			"path": "pages/me/me",
-			"style": {
-				"navigationStyle": "custom" 
-			}
-		}
-	],
-	"tabBar": {
-		"color": "#8a8a8a",
-		"selectedColor": "#FF4F00",
-		"borderStyle": "black",
-		"backgroundColor": "#ffffff",
-		"list": [{
-				"pagePath": "pages/index/index",
-				"iconPath": "static/img/tabme1.png",
-				"selectedIconPath": "static/img/tabme2.png",
-				"text": "4S保养"
-			},
-			
-			{
-				"pagePath": "pages/shop/shopList",
-				"iconPath": "static/img/tabshop1.png",
-				"selectedIconPath": "static/img/tabshop2.png",
-				"text": "4S门店"
-			},
-			{
-				"pagePath": "pages/me/me",
-				"iconPath": "static/img/tabme1.png",
-				"selectedIconPath": "static/img/tabme2.png",
-				"text": "我的"
-			}
-		 
-		]
-	},
-	"globalStyle": {
-		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "uni-app",
-		"navigationBarBackgroundColor": "#F8F8F8",
-		"backgroundColor": "#F8F8F8"
-	}
+{
+	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+
+		{
+			"path": "pages/index/index",
+			"style": {
+				"navigationBarTitleText": "填写爱车信息"
+			}
+		},
+		{
+			"path": "pages/shop/shopList",
+			"style": {
+				"navigationBarTitleText": "4S门店"
+			}
+		},
+		{
+			"path": "pages/me/me",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/login/login",
+			"style": {
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/login/empower",
+			"style": {
+				"navigationBarTitleText": "欧洲维修"
+			}
+		},
+		{
+			"path": "pages/login/iphoneLogin",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationBarBackgroundColor": "#FFFFFF"
+			}
+		}
+
+
+	],
+	"tabBar": {
+		"color": "#8a8a8a",
+		"selectedColor": "#FF4F00",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/index/index",
+				"iconPath": "static/img/tabme1.png",
+				"selectedIconPath": "static/img/tabme2.png",
+				"text": "4S保养"
+			},
+
+			{
+				"pagePath": "pages/shop/shopList",
+				"iconPath": "static/img/tabshop1.png",
+				"selectedIconPath": "static/img/tabshop2.png",
+				"text": "4S门店"
+			},
+			{
+				"pagePath": "pages/me/me",
+				"iconPath": "static/img/tabme1.png",
+				"selectedIconPath": "static/img/tabme2.png",
+				"text": "我的"
+			}
+
+		]
+	},
+	"globalStyle": {
+		"navigationBarTextStyle": "black",
+		"navigationBarTitleText": "uni-app",
+		"navigationBarBackgroundColor": "#F8F8F8",
+		"backgroundColor": "#F8F8F8"
+	}
 }

+ 158 - 0
pages/login/empower.vue

@@ -0,0 +1,158 @@
+<template>
+	<view class="container" >
+	<view v-if="!wxOpendata&&isload">
+		<view class="logoBox">
+			<image src="../../static/img/euro.png" mode="" class="euroImg"></image>
+		</view>
+		<view class="title1">请完成微信授权以继续使用</view>
+		<button class="wxlogin"  @click="wxgologin">授权微信用户信息</button>
+		<view class="title2" @click="goIndex">取消授权</view>
+	</view>
+	
+   </view>
+
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			
+			wxdata:'',
+			wxCode:'',
+			openID:'',
+			session_key:'',
+			wxPhoneData:'',
+			type:'',
+			wxOpendata:'',
+			isload:false,
+		}
+	},
+	onLoad(opt) {
+      this.type=opt.type;
+	  this.wxOpendata=uni.getStorageSync("wxOpendata");
+	  
+	  if( this.wxOpendata){
+		  uni.switchTab({
+		  	url:'../index/index'
+		  })
+	  }else{
+		  this.isload=true;
+	  }
+	},
+	methods: {
+		goIndex(){
+			uni.switchTab({
+				url:'../index/index'
+			}) 
+		},
+		 
+		//api uni.getUserProfile
+		wxgologin(){
+			var that=this;
+			uni.getUserProfile({
+				lang:'zh_CN',
+				desc:'登录',
+				success:(res)=>{
+					console.log(res);
+					that.wxdata=res;
+					 uni.setStorage({
+						key: 'wxdata',
+						data: res,
+						success: function () {
+						    that.ipLogin()
+						 
+						}
+					}); 
+				},
+				fail:(res)=>{
+					console.log(res)
+				}
+			});
+		},
+		//api uni.login
+		ipLogin(){
+			var that=this;
+			 uni.showLoading({ });
+			 uni.login({
+			   provider: 'weixin',
+			   success: function (loginRes) {
+			     // console.log(loginRes)
+				that.wxCode=loginRes.code
+				that.getWxOpenID()
+					
+			   }
+			 });
+			
+		},
+		
+		getWxOpenID(){
+			var that=this;
+			 this.$http('worldKeepCar/sys/getWxOpenID', {
+			   code:this.wxCode,
+			 },'GET').then(res => {
+				// console.log(res)
+				this.openID=res.data.openid;
+				this.session_key=res.data.session_key;
+				// console.log(this.openID)
+				uni.setStorage({
+					key: 'wxOpendata',
+					data: res.data,
+					success: function () {
+					   // that.ipLogin()
+					   uni.hideLoading();
+					  if(!that.type){
+						  uni.switchTab({
+						  	url:'../index/index'
+						  }) 
+					  }else{
+						  uni.redirectTo({
+						  	url:'login'
+						  })
+					  }
+					}
+				}); 
+				
+			})
+		},
+		
+	}
+}
+</script>
+
+<style scoped>
+ .euroImg{
+	 width: 290rpx;
+	 height: 266rpx;
+ }
+ .logoBox{
+	 text-align: center;
+	 padding-top: 160rpx;
+ }
+ .title1{
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+	 padding-top: 150rpx;
+ }
+ .wxlogin{
+	 width: 658rpx;
+	 height: 88rpx;
+	 background: linear-gradient(113deg, #FF630F 0%, #FF450F 100%);
+	 border-radius: 10rpx;
+	 line-height: 88rpx;
+	 text-align: center;
+	 color: #FFFFFF;
+	 font-size: 30rpx;
+	 margin-top: 20rpx;
+ }
+ .title2{
+	 width: 100vw;
+	 position: fixed;
+	 left: 0;
+	 bottom: 50rpx;
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+ }
+</style>

+ 327 - 0
pages/login/iphoneLogin.vue

@@ -0,0 +1,327 @@
+<template>
+	<view class="container" >
+	 <view class="tis">登录后更精彩</view>
+	 <view class="cont">
+		 <input type="number" value="" v-model="phone" placeholder="请输入手机号码" class="phoneInput" @input="input()"/>
+		 
+		 <view class="yzmBox">
+			 <input type="number" value="" v-model="code" placeholder="请输入验证码" class="yzmInput"  @input="yzminput()"/>
+			 <view @click="sendSms" class="yzmBtn" :class="{green:isgreen}" >{{yzmTxt}}</view>
+		 </view>
+		 
+		 <view class="loginBtn" :class="{okBtn:show}" @click="gologin">验证并登录</view>
+		 <view class="privacy" @click="privacyClick">
+		 	<image src="../../static/img/login_icon_checked.png" mode="" class="imgPrivacy" v-show="privacyCk"></image>
+		 	<view class="nock" v-show="!privacyCk"></view>
+		 	<span>同意</span> <span class="span1" @click.stop="goTreaty">《服务协议》</span>
+		 	<span>与</span> <span class="span1" @click.stop="goIntimity">《隐私政策》 </span>
+		 </view>
+	 </view>
+   </view>
+
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			privacyCk:true,
+			phone:'',
+			isYzm:true,
+			yzmTxt:'获取验证码',
+			isgreen:false,
+			timer: null,
+			show:false,
+			cont:'',
+			code:'',
+			wxdata:'',
+			wxCode:'',
+			openID:'',
+			wxOpendata:'',
+		}
+	},
+	onLoad() {
+     
+	 this.wxOpendata=uni.getStorageSync("wxOpendata");
+	},
+	methods: {
+		
+		goTreaty(){
+			uni.navigateTo({
+				url:'../me/treaty'
+			})
+		},
+		goIntimity(){
+			uni.navigateTo({
+				url:'../me/intimity'
+			})
+		},
+		
+		getWxdata(){
+			var that=this;
+			uni.getUserProfile({
+				lang:'zh_CN',
+				desc:'登录',
+				success:(res)=>{
+					console.log(res);
+					that.wxdata=res;
+					 uni.setStorage({
+						key: 'wxdata',
+						data: res,
+						success: function () {
+						  that.ipLogin()
+						}
+					}); 
+				},
+				fail:(res)=>{
+					console.log(res)
+				}
+			});
+		},
+		gologin(){
+			if(this.show){
+				if(this.wxOpendata){
+					this.openID=this.wxOpendata.openid;
+					this.wxdata=uni.getStorageSync("wxdata")
+					if(this.wxdata){
+						this.phoneLogin()
+					}else{
+						this.getWxdata()
+					}
+					
+				}else{
+					this.getWxdata()
+				}
+				
+			}
+			
+		},
+		ipLogin(){
+			var that=this;
+			 uni.showLoading({ });
+			 uni.login({
+			   provider: 'weixin',
+			   success: function (loginRes) {
+			     console.log(loginRes)
+				that.wxCode=loginRes.code
+			    that.getWxOpenID()
+			   }
+			 });
+			
+			
+			
+		},
+		getWxOpenID(){
+			 this.$http('worldKeepCar/sys/getWxOpenID', {
+			   code:this.wxCode,
+			 },'GET').then(res => {
+				//console.log(res)
+				this.openID=res.data.openid;
+				// console.log(this.openID)
+				this.phoneLogin()
+			})
+		},
+		phoneLogin(){
+			this.$http('worldKeepCar/sys/phoneLogin', {
+			   phone:this.phone,
+			   code:this.code,
+			   nickName:this.wxdata.userInfo.nickName,
+			   headUrl:this.wxdata.userInfo.avatarUrl,
+			   openID:this.openID,
+			 },).then(res => {
+				
+				uni.hideLoading();
+				if(res.code==0){
+					uni.setStorage({
+						key: 'logodata',
+						data: res.data,
+						success: function () {
+						  that.ipLogin()
+						}
+					}); 
+					uni.showToast({
+					     title: '登录成功',
+					 	 icon:'none',
+					     duration: 3000
+					 });
+					 uni.switchTab({
+						 url:'../index/index'
+					 }) 
+				}else{
+					uni.showToast({
+					     title: res.msg,
+					 	 icon:'none',
+					     duration: 3000
+					 });
+				}
+			}) 
+		},
+		input(phone){
+			console.log(this.phone);
+			if (this.phone!='') {
+			  this.isgreen=true;		
+			}
+		},
+		yzminput(){
+			if (this.code!=''&&this.phone!='') {
+			  this.show=true;		
+			}
+		},
+        sendSms(){
+			if(!this.isYzm){
+				return false;
+			}
+			 this.isYzm=false;
+			//this.clearIntervalDjs();
+			//return false;
+			 if (this.phone === '') {
+				 this.isYzm=true
+				 uni.showToast({
+				      title: '手机号不可为空',
+				  	 icon:'none',
+				      duration: 3000
+				  });
+			 } else {
+				  var reg=/^1[3456789]\d{9}$/;
+				  if(!reg.test(this.phone)){
+				   uni.showToast({
+				        title: '手机号格式不正确',
+				    	 icon:'none',
+				        duration: 3000
+				    });
+					 this.isYzm=true
+				  }else{
+					  this.$http('worldKeepCar/sys/sendSms', {
+					     phone:this.phone,
+					   },'GET').then(res => {
+						   this.isYzm=false;
+					  			/* uni.showToast({
+					  			     title: '发送成功',
+					  			 	 icon:'none',
+					  			     duration: 3000
+					  			 }); */	
+						  this.clearIntervalDjs()
+					  })
+				  }
+			    }
+
+			
+		},
+		clearIntervalDjs(){
+			const TIME_COUNT = 60;
+			 if (!this.timer) {
+			 this.cont = TIME_COUNT;
+			 this.isYzm = false;
+			 this.timer = setInterval(() => {
+			 if (this.cont > 0 && this.cont <= TIME_COUNT) {
+			  this.cont--;
+			  this.yzmTxt=this.cont+'S'
+			  } else {
+			  this.isYzm = true;
+			  clearInterval(this.timer);
+			  this.timer = null;
+			   this.yzmTxt="获取验证码"
+			  }
+			 }, 1000)
+			 }
+		},
+		privacyClick(){
+			this.privacyCk=!this.privacyCk
+		},
+		blur1(){
+			
+		}
+	}
+}
+</script>
+
+<style scoped>
+.tis{
+	color: #333333;
+	font-size: 44rpx;
+	padding-top: 78rpx;
+	padding-left: 58rpx;
+}
+.cont{
+	padding: 58rpx;
+}
+.phoneInput{
+	width: 604rpx;
+	height: 88rpx;
+	border-radius: 44rpx;
+	border: 2rpx solid #EEEEEE;
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	padding-left: 30rpx;
+}
+.yzmBox{
+	width: 604rpx;
+	height: 88rpx;
+	border-radius: 44rpx;
+	border: 2rpx solid #EEEEEE;
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	padding-left: 30rpx;
+	margin-top: 30rpx;
+	display: flex;
+	justify-content: space-between;
+}
+.yzmInput{
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	height: 88rpx;
+}
+.yzmBtn{
+	padding-right: 30rpx;
+	border-left: 2rpx solid #EEEEEE;
+	padding-left: 20rpx;
+	height: 35rpx;
+	line-height: 35rpx;
+	margin-top: 26rpx;
+}
+.loginBtn{
+	width: 634rpx;
+	height: 88rpx;
+	background: #F5F5F5;
+	border-radius: 44rpx;
+	line-height: 88rpx;
+	text-align: center;
+	margin-top: 30rpx;
+	color: #999999;
+	font-size: 30rpx;
+}
+.privacy{
+		display: flex;
+		/* justify-content: center; */
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+	}
+	.imgPrivacy{
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+	.span1{
+		color: #FF4F00;
+	}
+	.nock{
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border:2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+	.green{
+		color: #FF4F00;
+	}
+	.okBtn{
+		background: #FF4F00;
+		color: #FFFFFF;
+	}
+</style>

+ 197 - 0
pages/login/login.vue

@@ -0,0 +1,197 @@
+<template>
+	<view>
+	<view class="container" :style="'height:'+ screenHeight +'px !important;'" v-if="isload">
+		  <!--  <image :src="bgImg" mode="" class="bgimg"></image> -->
+			
+			<view class="box" >
+				<!-- <image src="../../static/img/login_text.png" mode="" class="loginLogo"></image> -->
+				 <view class="" >
+					 <button class="wxlogin" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" >微信用户快捷登录</button>
+				 </view> 
+				
+				<view class="iphoneLogin" @click="iphoneLogin">使用手机号登录</view>
+				<view>
+					
+					
+				</view>
+				<view class="privacy" @click="privacyClick">
+					<image src="../../static/img/login_icon_checked.png" mode="" class="imgPrivacy" v-show="privacyCk"></image>
+					<view class="nock" v-show="!privacyCk"></view>
+					<span>同意</span> <span class="span1" @click.stop="goTreaty">《服务协议》</span>
+					<span>与</span> <span class="span1" @click.stop="goIntimity">《隐私政策》 </span>
+				</view>
+			</view>
+	</view>	
+	</view>
+	
+
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			screenHeight: '',
+			bgImg:'http://phone.66km.cn:8088/thFiles/4E3EB990-959E-4933-9B29-C09C8074CFEA.png',
+			privacyCk:true,
+			wxdata:'',
+			wxCode:'',
+			openID:'',
+			session_key:'',
+			wxPhoneData:'',
+			wxOpendata:'',
+			isload:false,
+		}
+	},
+	onLoad() {
+       this.screenHeight = uni.getSystemInfoSync().windowHeight;
+	   // console.log( this.screenHeight)
+	   this.wxOpendata=uni.getStorageSync("wxOpendata");
+	   this.wxdata=uni.getStorageSync("wxdata");
+	   if(this.wxOpendata){
+	   	  this.isload=true;
+	   }else{
+	   		uni.redirectTo({
+	   			url:'empower?type=1'
+	   		}) 
+	   }
+	},
+	methods: {
+		goTreaty(){
+			uni.navigateTo({
+				url:'../me/treaty'
+			})
+		},
+		goIntimity(){
+			uni.navigateTo({
+				url:'../me/intimity'
+			})
+		},
+		 getPhoneNumber: function(e) {
+		     console.log(e.detail);
+			this.wxPhoneData=e.detail;
+			this.gologin()
+		             
+		 },
+		 gologin(){
+			 var that=this;
+			 this.$http('worldKeepCar/sys/wxLogin', {
+			    openID:this.wxOpendata.openid,
+			    encrypData:this.wxPhoneData.encryptedData,
+			    iv:this.wxPhoneData.iv,
+			    sessionKey:this.wxOpendata.session_key,
+			    nickName:this.wxdata.userInfo.nickName,
+			    headUrl:this.wxdata.userInfo.avatarUrl,
+			  },).then(res => {
+			 	//console.log(res)
+			 	uni.hideLoading();
+			 	if(res.code==0){
+			 		uni.setStorage({
+			 			key: 'logodata',
+			 			data: res.data,
+			 			success: function () {
+			 			 
+			 			}
+			 		}); 
+			 		uni.showToast({
+			 		     title: '登录成功',
+			 		 	 icon:'none',
+			 		     duration: 3000
+			 		 });
+			 		 uni.switchTab({
+			 			 url:'../index/index'
+			 		 }) 
+			 	}else{
+			 		uni.showToast({
+			 		     title: res.msg,
+			 		 	 icon:'none',
+			 		     duration: 3000
+			 		 });
+			 	}
+			 	
+			 })
+		 	
+		 },
+        privacyClick(){
+			this.privacyCk=!this.privacyCk
+		},
+		iphoneLogin(){
+			uni.navigateTo({
+				url:'iphoneLogin'
+			})
+		},
+		
+		
+		
+	}
+}
+</script>
+
+<style scoped>
+ .bgimg {
+        display: contents;
+        overflow: hidden;
+        position: relative;
+    }
+	.container{
+	        width: 100%;
+	        min-height: 100%;
+			background: url('http://phone.66km.cn:8088/thFiles/4E3EB990-959E-4933-9B29-C09C8074CFEA.png');
+			background-size: 100%;
+	}
+	.loginLogo{
+		width: 215rpx;height: 111rpx;
+		
+	}
+	.box{
+		padding-top: 20vh;
+		padding-left: 58rpx;
+		padding-right: 58rpx;
+	}
+	.wxlogin{
+		width: 634rpx;
+		height: 88rpx;
+		background: #FF4F00;
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 200rpx;
+	}
+	.iphoneLogin{
+		width: 634rpx;
+		height: 88rpx;
+		background: rgba(255,255,255,0.3);
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 50rpx;
+	}
+	.privacy{
+		display: flex;
+		justify-content: center;
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+	}
+	.imgPrivacy{
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+	.span1{
+		color: #FF4F00;
+	}
+	.nock{
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border:2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+	}
+</style>

+ 12 - 28
pages/shop/shopList.vue

@@ -4,42 +4,26 @@
 			<view class="topView">
 				<view class="search"><!-- 120rpx -->
 					<view class="searchVIew">
-						<!-- <image src="../../static/img/icon_search.png" mode="" class="searchIMg"></image> -->
+						<image src="../../static/img/icon_search.png" mode="" class="searchIMg"></image>
 						<input type="text" value="" placeholder="请输入门店名称" class="searchInput" v-model="shopName" @confirm="searchList" />
-					  <!--  <image src="../../static/img/icon_search_del.png" v-show="shopName" mode="" class="ssScImg" @click="searchSc"></image> -->
+					   <image src="../../static/img/icon_search_del.png" v-show="shopName" mode="" class="ssScImg" @click="searchSc"></image>
 					</view>
 				</view>
 				<view class="screen">
 					<view class="screenLine">
 						<view class="screenLineTxt" @click="showCity=true,comprehensiveShow=false,levelShow=false">{{cityname}}</view>
-						<!-- <image src="../../static/img/icon_arrow_gray.png" mode="" v-show="!showCity" class="screenJt"></image>
-						<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="showCity" class="screenJt"></image> -->
-					</view>
-					<view class="screenLine" @click="mdlx">
-						<view class="screenLineTxt " :class="{colorCS:levelShow}">门店类型</view>
-						<!-- <image src="../../static/img/icon_arrow_gray.png" mode="" class="screenJt" v-show="!levelShow"></image>
-						<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="levelShow" class="screenJt"></image> -->
+						<image src="../../static/img/icon_arrow_gray.png" mode="" v-show="!showCity" class="screenJt"></image>
+						<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="showCity" class="screenJt"></image>
 					</view>
+					
 					<view class="screenLine" @click="juli" :class="{colorCS:comprehensiveShow}">
 						<view class="screenLineTxt" v-if="comprehensive==0">综合排序</view>
 						<view class="screenLineTxt"  v-if="comprehensive==1">距离最近</view>
 						<view class="screenLineTxt"  v-if="comprehensive==2">评分最高</view>
-						<!-- <image src="../../static/img/icon_arrow_gray.png" mode="" v-show="!comprehensiveShow" class="screenJt"></image>
-						<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="comprehensiveShow" class="screenJt"></image> -->
+						<image src="../../static/img/icon_arrow_gray.png" mode="" v-show="!comprehensiveShow" class="screenJt"></image>
+						<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="comprehensiveShow" class="screenJt"></image>
 					</view>
-					<!-- 门店类型弹框 -->
-					<view class="shoplevelBox" v-show="levelShow" @click="levelShow=false">
-						<view class="shoplevelCont">
-							<view class="shoplevelLine" v-for="(item,index) in shopLevel" @click.stop="levelClick(item)"
-							:class="{shoplevalActive:item.ckeck}"
-							>{{item.name}}</view>
-						</view>
-						<view class="shoplevelBottom">
-							<view class="shoplevelReset" @click.stop="shoplevelReset">重置</view>
-							<view class="shoplevelsbu" @click.shop="shoplevelsbu">确定</view>
-						</view>
-					</view>
-					<!-- 门店类型弹框 -->
+					
 					<!-- 综合排序 -->
 					  <view class="shoplevelBox " v-show="comprehensiveShow"  @click="comprehensiveShow=false">
 					  	<view class="shoplevelCont ">
@@ -59,7 +43,7 @@
 				<view class="shopBox shopBox2" v-for="(item,index) in queryShopList" @click="goDetail(item)">
 					    <view class="">
 						 <image :src="item.photoPath" mode="" class="shopImg" v-if="item.photoPath"></image>
-						<!-- <image src="../../static/img/noimg.png" mode="" class="shopImg" v-else></image> -->
+						<image src="../../static/img/noimg.png" mode="" class="shopImg" v-else></image>
 						</view>
 						<view class="shopCont">
 							<view class="shopName">{{item.shopName}}</view>
@@ -81,8 +65,8 @@
 					
 				</view>
 				<view v-if="queryShopList==''" class="nodataBox">
-					<!-- <image src="../../static/img/nodata.png" mode="widthFix" class="nodataImg"></image>
-					<view class="noTxt">暂无数据</view> -->
+					<image src="../../static/img/nodata.png" mode="widthFix" class="nodataImg"></image>
+					<view class="noTxt">暂无数据</view>
 				</view>
 			</view>
 			
@@ -265,7 +249,7 @@ export default {
 	}
 	.screen{
 		display: flex;
-		justify-content: space-between;
+		justify-content: space-around;
 		padding: 0 24rpx 16rpx 24rpx;
 		border-bottom: 2rpx solid #EEEEEE;
 		position: relative;

BIN
static/img/icon_arrow_gray.png


BIN
static/img/icon_search_del.png


BIN
static/img/login_icon_checked.png


BIN
static/img/nodata.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/chose-city/chose-city.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/empower.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/iphoneLogin.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shopList.js.map


+ 4 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -2,7 +2,10 @@
   "pages": [
     "pages/index/index",
     "pages/shop/shopList",
-    "pages/me/me"
+    "pages/me/me",
+    "pages/login/login",
+    "pages/login/empower",
+    "pages/login/iphoneLogin"
   ],
   "subPackages": [],
   "window": {

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 12 - 12
unpackage/dist/dev/mp-weixin/common/vendor.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 15 - 15
unpackage/dist/dev/mp-weixin/components/chose-city/chose-city.js


+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -107,7 +107,7 @@ var components
 try {
   components = {
     choseCity: function() {
-      return Promise.all(/*! import() | components/chose-city/chose-city */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/chose-city/chose-city")]).then(__webpack_require__.bind(null, /*! @/components/chose-city/chose-city.vue */ 39))
+      return Promise.all(/*! import() | components/chose-city/chose-city */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/chose-city/chose-city")]).then(__webpack_require__.bind(null, /*! @/components/chose-city/chose-city.vue */ 63))
     }
   }
 } catch (e) {
@@ -171,7 +171,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var choseCity = function choseCity() {Promise.all(/*! require.ensure | components/chose-city/chose-city */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/chose-city/chose-city")]).then((function () {return resolve(__webpack_require__(/*! @/components/chose-city/chose-city */ 39));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var choseCity = function choseCity() {Promise.all(/*! require.ensure | components/chose-city/chose-city */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/chose-city/chose-city")]).then((function () {return resolve(__webpack_require__(/*! @/components/chose-city/chose-city */ 63));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
 
 
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 284 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.json

@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "欧洲维修",
+  "usingComponents": {}
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.wxml


+ 36 - 0
unpackage/dist/dev/mp-weixin/pages/login/empower.wxss

@@ -0,0 +1,36 @@
+
+.euroImg.data-v-63a3418e{
+	 width: 290rpx;
+	 height: 266rpx;
+}
+.logoBox.data-v-63a3418e{
+	 text-align: center;
+	 padding-top: 160rpx;
+}
+.title1.data-v-63a3418e{
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+	 padding-top: 150rpx;
+}
+.wxlogin.data-v-63a3418e{
+	 width: 658rpx;
+	 height: 88rpx;
+	 background: linear-gradient(113deg, #FF630F 0%, #FF450F 100%);
+	 border-radius: 10rpx;
+	 line-height: 88rpx;
+	 text-align: center;
+	 color: #FFFFFF;
+	 font-size: 30rpx;
+	 margin-top: 20rpx;
+}
+.title2.data-v-63a3418e{
+	 width: 100vw;
+	 position: fixed;
+	 left: 0;
+	 bottom: 50rpx;
+	 font-size: 26rpx;
+	 text-align: center;
+	 color: #576B95;
+}
+

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 400 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.js


+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.json

@@ -0,0 +1,5 @@
+{
+  "navigationBarTitleText": "",
+  "navigationBarBackgroundColor": "#FFFFFF",
+  "usingComponents": {}
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxml


+ 90 - 0
unpackage/dist/dev/mp-weixin/pages/login/iphoneLogin.wxss

@@ -0,0 +1,90 @@
+
+.tis.data-v-037223f5{
+	color: #333333;
+	font-size: 44rpx;
+	padding-top: 78rpx;
+	padding-left: 58rpx;
+}
+.cont.data-v-037223f5{
+	padding: 58rpx;
+}
+.phoneInput.data-v-037223f5{
+	width: 604rpx;
+	height: 88rpx;
+	border-radius: 44rpx;
+	border: 2rpx solid #EEEEEE;
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	padding-left: 30rpx;
+}
+.yzmBox.data-v-037223f5{
+	width: 604rpx;
+	height: 88rpx;
+	border-radius: 44rpx;
+	border: 2rpx solid #EEEEEE;
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	padding-left: 30rpx;
+	margin-top: 30rpx;
+	display: flex;
+	justify-content: space-between;
+}
+.yzmInput.data-v-037223f5{
+	line-height: 88rpx;
+	color: #999999;
+	font-size: 30rpx;
+	height: 88rpx;
+}
+.yzmBtn.data-v-037223f5{
+	padding-right: 30rpx;
+	border-left: 2rpx solid #EEEEEE;
+	padding-left: 20rpx;
+	height: 35rpx;
+	line-height: 35rpx;
+	margin-top: 26rpx;
+}
+.loginBtn.data-v-037223f5{
+	width: 634rpx;
+	height: 88rpx;
+	background: #F5F5F5;
+	border-radius: 44rpx;
+	line-height: 88rpx;
+	text-align: center;
+	margin-top: 30rpx;
+	color: #999999;
+	font-size: 30rpx;
+}
+.privacy.data-v-037223f5{
+		display: flex;
+		/* justify-content: center; */
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+}
+.imgPrivacy.data-v-037223f5{
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+}
+.span1.data-v-037223f5{
+		color: #FF4F00;
+}
+.nock.data-v-037223f5{
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border:2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+}
+.green.data-v-037223f5{
+		color: #FF4F00;
+}
+.okBtn.data-v-037223f5{
+		background: #FF4F00;
+		color: #FFFFFF;
+}
+

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 289 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.json

@@ -0,0 +1,4 @@
+{
+  "navigationStyle": "custom",
+  "usingComponents": {}
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.wxml


+ 67 - 0
unpackage/dist/dev/mp-weixin/pages/login/login.wxss

@@ -0,0 +1,67 @@
+
+.bgimg.data-v-b237504c {
+        display: contents;
+        overflow: hidden;
+        position: relative;
+}
+.container.data-v-b237504c{
+	        width: 100%;
+	        min-height: 100%;
+			background: url('http://phone.66km.cn:8088/thFiles/4E3EB990-959E-4933-9B29-C09C8074CFEA.png');
+			background-size: 100%;
+}
+.loginLogo.data-v-b237504c{
+		width: 215rpx;height: 111rpx;
+}
+.box.data-v-b237504c{
+		padding-top: 20vh;
+		padding-left: 58rpx;
+		padding-right: 58rpx;
+}
+.wxlogin.data-v-b237504c{
+		width: 634rpx;
+		height: 88rpx;
+		background: #FF4F00;
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 200rpx;
+}
+.iphoneLogin.data-v-b237504c{
+		width: 634rpx;
+		height: 88rpx;
+		background: rgba(255,255,255,0.3);
+		border-radius: 44rpx;
+		line-height: 88rpx;
+		text-align: center;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 50rpx;
+}
+.privacy.data-v-b237504c{
+		display: flex;
+		justify-content: center;
+		font-size: 24rpx;
+		color: #CCCCCC;
+		padding-top: 34rpx;
+}
+.imgPrivacy.data-v-b237504c{
+		width: 28rpx;
+		height: 28rpx;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+}
+.span1.data-v-b237504c{
+		color: #FF4F00;
+}
+.nock.data-v-b237504c{
+		width: 22rpx;
+		height: 22rpx;
+		border-radius: 50%;
+		border:2px solid #AEAEAE;
+		margin-top: 2rpx;
+		margin-right: 10rpx;
+}
+

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2 - 22
unpackage/dist/dev/mp-weixin/pages/shop/shopList.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/shop/shopList.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/shop/shopList.wxss

@@ -41,7 +41,7 @@
 }
 .screen.data-v-69090d84{
 	display: flex;
-	justify-content: space-between;
+	justify-content: space-around;
 	padding: 0 24rpx 16rpx 24rpx;
 	border-bottom: 2rpx solid #EEEEEE;
 	position: relative;

+ 1 - 5
unpackage/dist/dev/mp-weixin/project.config.json

@@ -8,23 +8,19 @@
   },
   "compileType": "miniprogram",
   "libVersion": "",
-  "appid": "wxe008726be8d45bc6",
+  "appid": "wxf8f3d4de9b244403",
   "projectname": "txCar",
   "condition": {
     "search": {
-      "current": -1,
       "list": []
     },
     "conversation": {
-      "current": -1,
       "list": []
     },
     "game": {
-      "current": -1,
       "list": []
     },
     "miniprogram": {
-      "current": -1,
       "list": []
     }
   }

BIN
unpackage/dist/dev/mp-weixin/static/icon_select_def@2x.png


BIN
unpackage/dist/dev/mp-weixin/static/img/icon_arrow_gray.png


BIN
unpackage/dist/dev/mp-weixin/static/img/icon_search_del.png


BIN
unpackage/dist/dev/mp-weixin/static/img/icon_select_def@2x.png


BIN
unpackage/dist/dev/mp-weixin/static/img/icon_select_sel@2x.png


BIN
unpackage/dist/dev/mp-weixin/static/img/login_icon_checked.png


BIN
unpackage/dist/dev/mp-weixin/static/img/nodata.png


BIN
unpackage/dist/dev/mp-weixin/static/img/sign_bg.png