wangguoyu 7 月之前
父节点
当前提交
45e9369fa8
共有 4 个文件被更改,包括 123 次插入145 次删除
  1. 4 15
      api/login.js
  2. 33 27
      pages/login/index.vue
  3. 80 76
      pages/login/login.vue
  4. 6 27
      pages/study/lookShipin.vue

+ 4 - 15
api/login.js

@@ -1,18 +1,7 @@
 import request from '@/utils/request'
-export function getAppConfig() {
+export function sendCode(data = {}) {
   return request({
-    'url': '/common/app/config',
-    headers: {
-      isToken: false
-    },
-    method: 'post',
-    timeout: 20000
-  })
-}
-
-export function login(data = {}) {
-  return request({
-    'url': '/common/app/login',
+    'url': '/common/app/send/code',
     headers: {
       isToken: false
     },
@@ -21,9 +10,9 @@ export function login(data = {}) {
     timeout: 20000
   })
 }
-export function kaoshiList(data = {}) {
+export function login(data = {}) {
   return request({
-    'url': '/app/kaoshi/list',
+    'url': '/common/app/login/code',
     headers: {
       isToken: false
     },

+ 33 - 27
pages/login/index.vue

@@ -6,19 +6,19 @@
 					<view class="index-title-img"></view>
 				    <view class="phone-input-box">
 						<view class="phone-prefix">+86</view>
-						<input class="phone-input" type="text" v-model="data.phoneNumber" placeholder="请输入手机号" 
+						<input class="phone-input" type="text" v-model="indexData.phoneNumber" placeholder="请输入手机号" 
 						maxlength="11" @input="clearTelInput" />
-						<view class="close-btn" v-if="data.clearTelIcon" @click="clearTel"></view>
+						<view class="close-btn" v-if="indexData.clearTelIcon" @click="clearTel"></view>
 				    </view>
 					<view id="yzm-slider"></view>
 					<!-- 协议勾选框和按钮 -->
 					<view class="agreement-checkbox-box">
-						<checkbox class="agreement-checkbox-input" color="#FFFFFF" :checked="data.isAgreed" @change="handleAgreementChange"/>
+						<checkbox class="agreement-checkbox-input" color="#FFFFFF" :checked="indexData.isAgreed" @change="handleAgreementChange"/>
 						<view class="agreement-text-box">
 						  我已阅读并同意<view class="agreement-text">《用户协议》</view>和<view class="agreement-text">《隐私政策》</view>
 						</view>
 					</view>
-					<view class="login-btn yzm-btn-disabled" @click="getYzmBtn" :class="data.telStatus"></view>
+					<view class="login-btn yzm-btn-disabled" @click="getYzmBtn" :class="indexData.telStatus"></view>
 				</view>
 				<view class="wx-btn-img"></view>
 		</view>
@@ -33,15 +33,20 @@
 	} from "vue"
 	import { onLoad,onReady } from '@dcloudio/uni-app';
 	
-	const data = reactive({
+	let indexData = reactive({
 		phoneNumber: null,
 		clearTelIcon: false,
 		telStatus:'',
 		isAgreed: false,
 		sliderObj:{},
+	})
+	let sliderObj = reactive({
+		sessionId:'',
+		sig:'',
+		token:'',
 	})
 	
-	onLoad((options) => {
+	onLoad(() => {
 			getAWSC();
 	})
 	
@@ -56,13 +61,14 @@
 		            // 声明滑动验证需要渲染的目标ID。
 		            renderTo: "yzm-slider",
 		            //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将会话ID(sessionId)、签名串(sig)、请求唯一标识(token)字段记录下来,随业务请求一同发送至您的服务端调用验签。
-		            success: function (data) {
-						data.sliderObj = data;
-						console.log(data,'data111');
-						console.log(data.sliderObj,'data.sliderObj');
-		                window.console && console.log(data.sessionId)
-		                window.console && console.log(data.sig)
-		                window.console && console.log(data.token)
+		            success: function (item) {
+						console.log(item)
+					
+						// sliderObj.sessionId = item.sessionId
+						// sliderObj.sig = item.sig
+						// sliderObj.token = item.token
+						Object.assign(sliderObj,item)
+						console.log(sliderObj)
 		            },
 		            // 滑动验证失败时触发该回调参数。
 		            fail: function (failCode) {
@@ -76,15 +82,15 @@
 		    })
 	}
 	
-	let req  ={
-		sessionId:data.sliderObj.sessionId,
-		sig:data.sliderObj.sig,
-	}
+	// let req  ={
+	// 	sessionId:indexData.sliderObj.sessionId,
+	// 	sig:data.sliderObj.sig,
+	// }
 	const getYzmBtn = () => {
 			
 		uni.navigateTo({
 		//	url: `/pages/login/login?telNum=${data.phoneNumber}&slider=${encodeURIComponent(data.sliderObj)}`,
-				url: `/pages/login/login?data=`+JSON.stringify(data)
+				url: `/pages/login/login?data=`+JSON.stringify(sliderObj)
 		})
 	}
 	
@@ -93,7 +99,7 @@
 	  const phoneRegex = /^1[3-9]\d{9}$/;
 	  if (phoneRegex.test(value)) {
 		console.log('手机号格式正确');
-		data.telStatus = 'yzm-btn-normal';
+		indexData.telStatus = 'yzm-btn-normal';
 	  } else {
 	    console.log('手机号格式不正确');
 	  }
@@ -101,23 +107,23 @@
 	
 	const clearTelInput = (event) => {
 	    if (event.detail.value.length > 0) {
-	        data.clearTelIcon = true;
+	        indexData.clearTelIcon = true;
 			validatePhoneNumber(event.detail.value);
 	    } else {
-	        data.clearTelIcon = false;
+	        indexData.clearTelIcon = false;
 	    }
 	}
 			
 	const clearTel = () => {
-		data.phoneNumber = '';
-		data.telStatus = 'yzm-btn-disabled';
-		data.clearTelIcon = false;
+		indexData.phoneNumber = '';
+		indexData.telStatus = 'yzm-btn-disabled';
+		indexData.clearTelIcon = false;
 	}
 	
 	const handleAgreementChange= () => {
-		console.log(data.isAgreed,'data.isAgreed');
-		if(data.isAgreed){
-			data.isAgreed = !data.isAgreed;
+
+		if(indexData.isAgreed){
+			indexData.isAgreed = !indexData.isAgreed;
 		}
 	}
 </script>

+ 80 - 76
pages/login/login.vue

@@ -1,24 +1,24 @@
 <template>
-  <view class="ezy-login-page">
-	  
-<!-- 	  <view class="ezy-login-wrap" >
+	<view class="ezy-login-page">
+
+		<view class="ezy-login-wrap">
 			<view class="login-body-box">
 				<view class="login-title-img"></view>
 				<view class="yzm-show">验证码已发送至:{{data.phoneNumber}}</view>
 				<view class="phone-input-box">
-					<input class="phone-input" type="text" v-model="data.yzmNumber" placeholder="请输入验证码" 
-					maxlength="6" @input="clearYzmInput" />
+					<input class="phone-input" type="text" v-model="data.yzmNumber" placeholder="请输入验证码" maxlength="6"
+						@input="clearYzmInput" />
 					<view class="close-btn" v-if="data.clearYzmIcon" @click="clearYzm"></view>
 				</view>
 				<view class="login-btn login-btn-disabled" @click="loginBtn" :class="data.yzmStatus"></view>
 				<text class="cxfs-btn" @click="startCountdown"
-				:class="{ 'cxfs-btn-disabled': data.isDisabled}">{{data.buttonText}}</text>
+					:class="{ 'cxfs-btn-disabled': data.isDisabled}">{{data.buttonText}}</text>
 				<text class="login-text">无法收到验证码</text>
 				<text class="login-text">客服电话:400-052-2130</text>
 			</view>
-		</view> -->
-		  
-  </view>
+		</view>
+
+	</view>
 </template>
 
 <script setup>
@@ -26,96 +26,100 @@
 		ref,
 		reactive
 	} from "vue"
-	import { onLoad,onReady } from '@dcloudio/uni-app';
+	import {
+		onLoad,
+		onReady
+	} from '@dcloudio/uni-app';
 	import request from "@/utils/request.js"
-	
+	import {
+		login,
+		sendCode
+	} from "@/api/login.js"
 	const data = reactive({
 		phoneNumber: null,
 		yzmNumber: null,
 		clearYzmIcon: false,
-		yzmStatus:'',
+		yzmStatus: '',
 		timeLeft: 60, // 初始倒计时时间(秒)
 		intervalId: null, // 定时器ID
 		isDisabled: false, // 按钮是否禁用
-		buttonText: '重新发送' ,// 按钮文本
-		sliderObj:{},
+		buttonText: '重新发送', // 按钮文本
+		sliderObj: {},
+	})
+	const pageData = reactive({
+
 	})
 
 	onLoad((options) => {
-		console.log(JSON.parse(options.data),'options');
-			// startCountdown();
-			// init(options);
-			// getYzmBtn();
+		Object.assign(pageData, JSON.parse(options.data))
+		console.log(pageData)
+		startCountdown();
+
+		getYzmBtn();
 	})
-		
-	/********* 验证码 *********/
-	const init = (options) => {
-		let encodedJsonString = options;
-		console.log(options.slider,'options.slider');
-		// 解码URL参数
-		data.sliderObj = JSON.parse(decodeURIComponent(encodedJsonString.slider));
-		console.log(data.sliderObj,'data.sliderObj');
-		// data.phoneNumber = 
-	}
-	
+
+
 	const getYzmBtn = () => {
-		return request({
-			url: "/common/app/send/code",
-			method: "POST",
-			data: {
-				phone: 18842603074,
-				appkey: 'FFFF0N00000000007EC0',
-				sign: '',
-				sessionid: '',
-				
-			}
+		let req = {
+			appkey: "FFFF0N00000000007EC0",
+			phone: "18640920672",
+			scene: "nc_message_h5',",
+			sessionid:pageData.sessionId,
+			sig: pageData.sig,
+			token: pageData.token,
+		}
+		sendCode(req).then(res => {
+			
 		})
 	}
-	
+
 	const loginBtn = () => {
-		uni.switchTab({
-			url: '/pages/study/index'
-		});
-		uni.navigateTo({
-			url: `/pages/study/index?gradeId=${options.grade}&termId=${options.term}&text=${text1}${text2}`
-		})
+		let req = {
+			tel: "1",
+			code:'1'
+		}
+		login(req).then(res => {
+			
+		})
+		
+		// uni.navigateTo({
+		// 	url: `/pages/study/index?gradeId=${options.grade}&termId=${options.term}&text=${text1}${text2}`
+		// })
 	}
-	
+
 	const clearYzmInput = (event) => {
 		if (event.detail.value.length > 0) {
-		    data.clearYzmIcon = true;
+			data.clearYzmIcon = true;
 		} else {
-		    data.clearYzmIcon = false;
+			data.clearYzmIcon = false;
 		}
 	}
-	
+
 	const clearYzm = () => {
 		data.yzmNumber = '';
 		data.clearYzmIcon = false;
 	}
-	
-	const startCountdown= () => {
-	     data.isDisabled = true;
-	      data.buttonText = `重新发送(${data.timeLeft}S)`;
-	      
-	      // 清除之前的定时器(如果有)
-	      if (data.intervalId) {
-	        clearInterval(data.intervalId);
-	      }
-	      
-	      // 设置新的定时器
-	      data.intervalId = setInterval(() => {
-	        data.timeLeft--;
-	        if (data.timeLeft <= 0) {
-	          clearInterval(data.intervalId);
-	          data.timeLeft = 60; // 重置倒计时
-	          data.isDisabled = false;
-	          data.buttonText = '重新发送';
-	        } else {
-	          data.buttonText = `重新发送(${data.timeLeft}S)`;
-	        }
-	      }, 1000);
-	    }
-	
-	
-</script>
+
+	const startCountdown = () => {
+		data.isDisabled = true;
+		data.buttonText = `重新发送(${data.timeLeft}S)`;
+
+		// 清除之前的定时器(如果有)
+		if (data.intervalId) {
+			clearInterval(data.intervalId);
+		}
+
+		// 设置新的定时器
+		data.intervalId = setInterval(() => {
+			data.timeLeft--;
+			if (data.timeLeft <= 0) {
+				clearInterval(data.intervalId);
+				data.timeLeft = 60; // 重置倒计时
+				data.isDisabled = false;
+				data.buttonText = '重新发送';
+			} else {
+				data.buttonText = `重新发送(${data.timeLeft}S)`;
+			}
+		}, 1000);
+	}
+</script>

+ 6 - 27
pages/study/lookShipin.vue

@@ -1,5 +1,9 @@
 <template>
-  <view id='nc-wgy'  style="height: 100px;width: 100px;"</view>
+  <view >
+   
+	123
+	
+  </view>
 </template>
 
 
@@ -12,32 +16,7 @@
 		},
 		onReady: function (res) {
 			console.log(this)
-			 console.log(Aliplayer)
-		 AWSC.use("nc", function (state, module) {
-		        // 初始化
-		        window.nc = module.init({
-		            // 应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在阿里云验证码控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。
-		            appkey: "FFFF0N00000000007EC0",
-		            //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在阿里云验证码控制台的配置管理页签找到对应的scene值,请务必正确填写。
-		            scene: "nc_message_h5",
-		            // 声明滑动验证需要渲染的目标ID。
-		            renderTo: "nc-wgy",
-		            //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将会话ID(sessionId)、签名串(sig)、请求唯一标识(token)字段记录下来,随业务请求一同发送至您的服务端调用验签。
-		            success: function (data) {
-		                window.console && console.log(data.sessionId)
-		                window.console && console.log(data.sig)
-		                window.console && console.log(data.token)
-		            },
-		            // 滑动验证失败时触发该回调参数。
-		            fail: function (failCode) {
-		                 window.console && console.log(failCode)
-		            },
-		            // 验证码加载出现异常时触发该回调参数。
-		            error: function (errorCode) {
-		                 window.console && console.log(errorCode)
-		            }
-		        });
-		    })
+			// console.log(Aliplayer)
 		
 		},
 		methods: {