Zory пре 4 дана
родитељ
комит
88337a76f0
6 измењених фајлова са 95 додато и 15 уклоњено
  1. 6 0
      pages.json
  2. 48 10
      pages/auth/login.vue
  3. 4 3
      pages/goods/detail.vue
  4. 6 2
      pages/service/chat/chat.vue
  5. 27 0
      pages/web/web.vue
  6. 4 0
      static/api/auth.js

+ 6 - 0
pages.json

@@ -131,6 +131,12 @@
 				"navigationBarTitleText": "交易投诉",
 				"navigationBarBackgroundColor": "#ffffff"
 			}
+		},
+		{
+			"path": "pages/web/web",
+			"style": {
+				"navigationBarTitleText": ""
+			}
 		}
 	],
 	"tabBar": {

+ 48 - 10
pages/auth/login.vue

@@ -10,14 +10,15 @@
 			<textarea v-model="loginInfo" maxlength="-1" style="height: 120upx;"></textarea>
 		</view>
 		<view class="logi-btn">
-			<button class="u-button full" open-type="getPhoneNumber" @getphonenumber="toLogin" v-if="checkTrueState">手机号一键登录</button>
-			<button class="u-button full" @click="toLoginCheck" v-else>手机号授权登录</button>
+			<button class="u-button full" @click="getUserInfo" v-if="checkTrueState">快捷一键登录</button>
+			<!-- <button class="u-button full" open-type="getPhoneNumber" @getphonenumber="toLogin" v-if="checkTrueState">手机号一键登录</button> -->
+			<button class="u-button full" @click="toLoginCheck" v-else>快捷登录</button>
 			<button class="u-button" @click="reback">返回</button>
 		</view>
 		<view class="login-footer">
 			<view :class="checkTrueState?'checkBox active':'checkBox'" @click="checkTrue"></view>
 			<view @click="checkTrue">我已阅读并同意</view>
-			<text @click="$dialog.navTo('/pages/web/web?lk=service')">用户协议、</text><text @click="$dialog.navTo('/pages/web/web?lk=privacy')">隐私协议</text>
+			<text @click="toWeb('privacy')">用户协议、</text><text @click="toWeb('privacy')">隐私协议</text>
 		</view>
 		
 	</view>
@@ -58,22 +59,59 @@ export default {
 		},
 		checkTrue(){
 			app.checkTrueState = !app.checkTrueState;
+		},
+		toWeb(type){
+			uni.navigateTo({
+				url:"/pages/web/web?lk="+type
+			})
 		},
 		toLoginCheck(){
 			if (!app.checkTrueState) {
 				return app.$dialog.showSuccess("请先阅读并同意用户协议以及隐私政策");
 			}
+		},
+		getUserInfo(e){
+			uni.getUserProfile({
+				force: true,
+				success(resp) {
+					if (resp.errMsg == 'getUserProfile:ok') {
+						var detail = {};
+						detail.avatar = resp.userInfo.avatarUrl
+						detail.nickname = resp.userInfo.nickName
+						detail.login = app.loginCode
+						Api.nickname(detail).then((res)=>{
+							if (res.code == 0) {
+								return app.$dialog.showSuccess(res.msg);
+							}
+							uni.setStorageSync("user_token", res.data.access_token)
+							uni.navigateBack();
+						})
+					}
+				},
+				fail(e) {
+					console.log(e)
+				}
+			})
 		},
 		toLogin(e){
 			var detail = e.detail;
-			detail.login = app.loginCode;
-			Api.login(detail).then((res)=>{
-				if (res.code == 0) {
-					return app.$dialog.showSuccess(res.msg);
-				}
-				uni.setStorageSync("user_token", res.data.access_token)
-				uni.navigateBack();
+			detail.login = app.loginCode;
+			uni.getUserProfile({
+				force: true,
+				success(resp) {
+					console.log("success",resp)
+				},
+				fail(e) {
+					console.log(e)
+				}
 			})
+			// Api.login(detail).then((res)=>{
+			// 	if (res.code == 0) {
+			// 		return app.$dialog.showSuccess(res.msg);
+			// 	}
+			// 	uni.setStorageSync("user_token", res.data.access_token)
+			// 	uni.navigateBack();
+			// })
 		},
 	}
 }

+ 4 - 3
pages/goods/detail.vue

@@ -346,14 +346,15 @@ export default {
 				// 然后将商品信息传入 resolve 函数 
 				resolve({ 
 					minLimits: 1, 
-					maxLimits: 2, 
+					maxLimits: app.goodsData.limit_rule_type==1?99:app.goodsData.limit_rule, 
 					dateRule: '周一至周日可用', 
 					relationType: 1,
 					validation: { 
 						phoneNumber: { 
-							required: true  // 手机号是否必填 
+							required: app.goodsData.customer_reserved_info==2?true:false  // 手机号是否必填 
 						}
-					}, 
+					},
+					extra:app.buyGoods,
 					// 在 bind:getgoodsinfo 返回的 promise 的 resolve 函数中新增 marketingVersion 字段 
 					marketingVersion: 2, 
 				}); 

+ 6 - 2
pages/service/chat/chat.vue

@@ -226,7 +226,8 @@ export default {
 			noService:false,
 			addressData:null,
 			addressForm:{},
-			cityData:[]
+			cityData:[],
+			userAvatar:null
 		}
 	},
 	computed: mapState({
@@ -489,6 +490,7 @@ export default {
 				this.sendId = res.data.sendId;
 				this.serviceId = res.data.serviceId;
 				this.myid = res.data.sendId;
+				this.userAvatar = res.data.avatar;
 				if (res.data.msg.rows.length > 0) {
 					var msgData = res.data.msg.rows
 					msgData.forEach((item,index)=>{
@@ -673,7 +675,9 @@ export default {
 		sendMessage({payload,type}){
 			const message = {
 				groupId: this.storeData.poi_id,
-				senderData: {},
+				senderData: {
+					avatar:this.userAvatar
+				},
 				senderId: this.sendId,
 				messageId: Date.now(),
 				payload: payload,

+ 27 - 0
pages/web/web.vue

@@ -0,0 +1,27 @@
+<template>
+	<view>
+		<web-view :src="'https://tran.jsshuita.cn/'+type+'.html'"></web-view>
+	</view>
+</template>
+
+<script>
+var app;
+export default {
+	data() {
+		return {
+			type:"service"
+		}
+	},
+	onLoad({lk}) {
+		app = this;
+		app.type = lk;
+	},
+	methods: {
+		
+	}
+}
+</script>
+
+<style>
+
+</style>

+ 4 - 0
static/api/auth.js

@@ -2,10 +2,14 @@ import request from '@/static/js/request.js'
 
 const apiUri = {
 	login: '/auth/mobile',
+	nickname: '/auth/nickname',
 	check: '/auth/check',
 	save: '/user/save'
 }
 
+export function nickname(param) {
+	return request.request(apiUri.nickname,'POST', param,false,true,false)
+}
 export function login(param) {
 	return request.request(apiUri.login,'POST', param,false,true,false)
 }