From 8c82102ab7bb34e29a73f56b829cd622ab34604c Mon Sep 17 00:00:00 2001
From: zhangxiaoxu <819527061@qq.com>
Date: 星期二, 25 十一月 2025 11:30:23 +0800
Subject: [PATCH] 解决运输方式显示不对得问题
---
pages/login/login.vue | 425 +++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 328 insertions(+), 97 deletions(-)
diff --git a/pages/login/login.vue b/pages/login/login.vue
index f441335..aafb629 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -1,125 +1,356 @@
-<template>
+<!-- <template>
<view class="login">
<image src="@/static/login/banner.png" class="background"></image>
- <view class="inputBox">
- <view class="phone">
- <image src="@/static/login/phone.png" mode="鍔犺浇閿欒"></image>
- <input type="text" placeholder="璇疯緭鍏ユ墜鏈哄彿" v-model="formData.username" />
- </view>
- <view class="password">
- <image src="@/static/login/lock.png" mode="鍔犺浇閿欒" />
- <input type="password" placeholder="璇疯緭鍏ュ瘑鐮�" v-model="formData.password" />
- </view>
- <view class="loginBtn"><button type="default" @click="loginSubmit">鐧诲綍</button></view>
+ <view class="login-container">
+ <view class="loginBtn"><u-button text="寰俊璐﹀彿蹇嵎鐧诲綍" type="success" shape="circle" icon="weixin-fill" @click="toGrantAuthorization"></u-button></view>
+ <view class="utils"><text @click="toBindPage">缁戝畾绯荤粺璐﹀彿</text></view>
+ </view>
+ <view class="loginBottom"><text>灏忕▼搴忎粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳浣跨敤</text></view>
+ <u-modal
+ @confirm="wxLoginConfirm"
+ @cancel="wxLoginCancel"
+ @close="wxLoginClose"
+ :show="wxLoginModal.show"
+ :title="wxLoginModal.title"
+ :content="wxLoginModal.content"
+ :showCancelButton="true"
+ ></u-modal>
+ <view class="toGrantAuthorization-container">
+ <u-popup :show="popupShow" mode="bottom" @close="closePopup" @open="openPopup" round="10" :safeAreaInsetBottom="true">
+ <view class="popup-warp">
+ <view class="body"><text>鏈皬绋嬪簭锛屼粎渚涘凡鎷ユ湁绯荤粺璐﹀彿鐗瑰畾鍐呴儴浜哄憳鐧诲綍浣跨敤锛岀偣鍑诲悓鎰忓嵆琛ㄧず鎮ㄥ凡鍚屾剰鐩稿簲淇℃伅鎺堟潈銆�</text></view>
+ <view class="btn">
+ <u-button @click="popupShow = false" type="error" text="涓嶅悓鎰�" shape="circle" :plain="true"></u-button>
+ <u-button @click="wxLogin" type="error" text="鍚屾剰" throttleTime="3000" shape="circle"></u-button>
+ </view>
+ </view>
+ </u-popup>
</view>
</view>
</template>
<script>
-import { setAccessToken,setTokenType,setRefreshToken,setClientId,setScope,redirectHome,redirectLogin } from '@/utils/status.js'
+import { setAccessToken, setTokenType, setRefreshToken, setClientId, setScope, redirectHome, redirectLogin } from '@/utils/status.js';
export default {
- name: 'login',
data() {
return {
- formData:{
- username:'',
- password:''
- }
+ wxcode: '', //寰俊code
+ wxLoginModal: {
+ show: false,
+ title: '鎻愮ず',
+ content: ''
+ },
+ popupShow: false
};
},
- onShow(){
- // 娓呴櫎缂撳瓨
- if(uni.getStorageSync('userInfo')||uni.getStorageSync('access_token')||uni.getStorageSync('refresh_token')){
- this.$u.toast('鎴愬姛杩涘叆鐧诲綍椤�');
- uni.clearStorageSync();
- }
- },
- methods:{
- loginSubmit(){
- console.log('鐐瑰嚮鐧诲綍');
- // console.log('login');
- uni.showLoading({
- title:'鐧诲綍涓�...'
- });
- this.apiLogin(this.formData).then(this.saveUserInfo).catch(this.loginFail);
- },
- saveUserInfo(response){
- uni.hideLoading();
- if(response.statusCode === 200){
- // console.log('res',response);
- const { data } = response;
- const { access_token,refresh_token,token_type,scope } = data;
- try {
- setAccessToken(access_token);
- setTokenType(token_type);
- setRefreshToken(refresh_token);
- setScope(scope);
- this.$store.dispatch('menus')
- redirectHome();
- uni.hideLoading();
- } catch (e) {
- // error
- console.log(e);
- }
- } else{
- uni.showToast({
- title:response.data.msg,
- icon:'error',
- duration:2000
- })
- }
+ onShow() {
+ // 娓呴櫎缂撳瓨
+ if (uni.getStorageSync('userInfo') || uni.getStorageSync('access_token') || uni.getStorageSync('refresh_token')) {
+ uni.clearStorageSync();
}
-
+ },
+ methods: {
+ toGrantAuthorization() {
+ this.popupShow = true;
+ },
+ wxLogin() {
+ this.popupShow = false;
+ uni.showLoading({
+ title: '鍔犺浇涓�...'
+ });
+ uni.login({
+ success: res => {
+ console.log('鐧诲綍loginRes', res);
+ if (res.code) {
+ this.wxcode = res.code;
+ this.wxSmallLogin(this.wxcode)
+ .then(res => {
+ if (res.data.data == '鐢ㄦ埛涓嶅瓨鍦�') {
+ // this.$u.toast('鏈粦瀹氱郴缁熻处鍙凤紝鍗冲皢璺宠浆缁戝畾椤甸潰锛�');
+ this.wxLoginModal.content = '鏈粦瀹氱郴缁熻处鍙凤紝鏄惁璺宠浆璐﹀彿缁戝畾椤甸潰锛�';
+ this.wxLoginModal.show = true;
+ } else if (res.data.active && res.data.active == true) {
+ const { access_token, refresh_token, token_type, scope } = res.data;
+ try {
+ setAccessToken(access_token);
+ setTokenType(token_type);
+ setRefreshToken(refresh_token);
+ setScope(scope);
+ this.$store.dispatch('menus');
+ redirectHome();
+ uni.hideLoading();
+ } catch (e) {
+ // error
+ console.log(e);
+ }
+ }
+ console.log('寰俊鐧诲綍', res);
+ })
+ .catch(err => {
+ console.log('閿欒', err);
+ });
+ } else {
+ uni.showToast({
+ title: '寰俊鐧诲綍澶辫触锛�',
+ duration: 2000
+ });
+ }
+ }
+ });
+ },
+ toBindPage() {
+ uni.navigateTo({
+ url: '/pages/register/register'
+ });
+ },
+ // 妯℃�佹
+ wxLoginConfirm() {
+ uni.navigateTo({
+ url: '/pages/register/register'
+ });
+ this.wxLoginModal.show = false;
+ },
+ wxLoginCancel() {
+ this.wxLoginModal.show = false;
+ },
+ wxLoginClose() {
+ this.wxLoginModal.show = false;
+ },
+ // 寮瑰嚭妗�
+ openPopup() {
+ console.log('open');
+ },
+ closePopup() {
+ this.popupShow = false;
+ console.log('close');
+ }
}
};
</script>
<style lang="scss" scoped>
-.login {
+::v-deep.login {
+ height: 100vh;
+
.background {
width: 100%;
- height: vww(289);
+ // height: vww(289);
+ height: vww(246);
}
- .inputBox {
- width: vww(280);
- margin: vww(40) auto;
- input {
- width: vww(240);
- margin-left: vww(8);
- }
- .phone {
- width: vww(280);
- height: vww(36);
- display: flex;
- align-items: center;
- border-bottom: vww(1) solid #cccccc;
- image {
- width: vww(20);
- height: vww(20);
- }
- }
- .password {
- width: vww(280);
- height: vww(36);
- display: flex;
- align-items: center;
- margin-top: vww(40);
- border-bottom: vww(1) solid #cccccc;
- image {
- width: vww(20);
- height: vww(20);
- }
- }
+ .login-container {
+ margin: vww(60) auto;
+ width: 80%;
.loginBtn {
- margin-top: vww(80);
+ .u-button {
+ .u-icon {
+ .u-icon__icon {
+ font-size: vww(30) !important;
+ }
+ }
+ .u-button__text {
+ font-size: vww(17) !important;
+ font-weight: 530;
+ }
+ }
- button {
- background-color: #007aff;
- color: #ffffff;
- font-size: vww(16);
- border-radius: vww(22);
+ .u-button--success {
+ border-style: none;
+ background-color: #3ebc17;
+ }
+ }
+
+ .utils {
+ font-size: vww(14);
+ margin-top: vww(20);
+ text-align: center;
+ color: #346a9d;
+ }
+ }
+
+ .loginBottom {
+ color: #aaaaaa;
+ margin-top: vww(180);
+ font-size: vww(14);
+ text-align: center;
+ }
+
+ // 寮瑰嚭妗�
+ .toGrantAuthorization-container {
+ .u-popup {
+ .u-transition {
+ .u-popup__content {
+ .popup-warp {
+ height: vww(200);
+ padding: vww(10) vww(20);
+ .body {
+ width: 100%;
+ height: 70%;
+ }
+ .btn {
+ display: flex;
+ justify-content: space-between;
+ .u-button {
+ width: 40%;
+ }
+ }
+ }
+ }
}
}
}
}
</style>
+ -->
+
+ <template>
+ <view class="login">
+ <u-overlay :show="show" @click="show = false"></u-overlay>
+ <image src="@/static/login/banner.png" class="background"></image>
+ <view class="inputBox">
+ <view class="phone">
+ <image src="@/static/login/phone.png" mode="鍔犺浇閿欒"></image>
+ <input type="text" placeholder="璇疯緭鍏ョ敤鎴峰悕/鎵嬫満鍙�" v-model="formData.username" />
+ </view>
+ <view class="password">
+ <image src="@/static/login/lock.png" mode="鍔犺浇閿欒" />
+ <input type="password" placeholder="璇疯緭鍏ヨ处鍙峰瘑鐮�" v-model="formData.password" />
+ </view>
+ <view class="loginBtn"><button type="default" @click="loginSubmit">鐧诲綍</button></view>
+ </view>
+ </view>
+ </template>
+
+ <script>
+ import { setAccessToken, setTokenType, setRefreshToken, setClientId, setScope, redirectHome, redirectLogin } from '@/utils/status.js';
+ export default {
+ name: 'login',
+ data() {
+ return {
+ show:false,
+ formData: {
+ // username: 'zhangjialiang',
+ // password: '123456aaa',
+ // username: 'gequan',
+ // password: 'gequan!@#$',
+ // username: 'dongpang',
+ // password: 'dongpang!@#',
+ username: '',
+ password: ''
+ },
+ bindData: {
+ state: 'MINI',
+ code: ''
+ }
+ };
+ },
+ onShow() {
+ // 娓呴櫎缂撳瓨
+ if (uni.getStorageSync('userInfo') || uni.getStorageSync('access_token') || uni.getStorageSync('refresh_token')) {
+ uni.clearStorageSync();
+ }
+ },
+ methods: {
+ loginSubmit() {
+ if(this.formData.username == ''){
+ uni.showToast({
+ title:'璇疯緭鍏ョ敤鎴峰悕锛�',
+ icon:'none'
+ })
+ } else if(this.formData.password == ''){
+ uni.showToast({
+ title:'璇疯緭鍏ュ瘑鐮侊紒',
+ icon:'none'
+ })
+ } else {
+ this.show = true;
+ uni.showLoading({
+ title: '鐧诲綍涓�...'
+ });
+ this.apiLogin(this.formData)
+ .then(this.saveUserInfo)
+ .catch(this.loginFail);
+ }
+ },
+ saveUserInfo(response) {
+ console.log(response,'response=====')
+ uni.hideLoading();
+ this.show = false;
+ if (response.statusCode === 200) {
+ const { access_token, refresh_token, token_type, scope } = response.data;
+ try {
+ setAccessToken(access_token);
+ setTokenType(token_type);
+ setRefreshToken(refresh_token);
+ setScope(scope);
+ this.$store.dispatch('menus');
+ uni.hideLoading();
+ redirectHome();
+ } catch (e) {
+ console.log('妫�娴嬪埌閿欒',e);
+ }
+ } else {
+ uni.showToast({
+ title: response.data.msg,
+ icon:'none',
+ duration: 2000
+ });
+ }
+ },
+ loginFail(err) {
+ this.show = false;
+ console.log('鐧诲綍鎺ュ彛閿欒', err);
+ }
+ }
+ };
+ </script>
+
+ <style lang="scss" scoped>
+ .login {
+ .background {
+ width: 100%;
+ height: vww(289);
+ // height: vww(246);
+ }
+ .inputBox {
+ width: vww(280);
+ margin: vww(40) auto;
+ input {
+ width: vww(240);
+ margin-left: vww(8);
+ }
+ .phone {
+ width: vww(280);
+ height: vww(36);
+ display: flex;
+ align-items: center;
+ border-bottom: vww(1) solid #cccccc;
+ image {
+ width: vww(20);
+ height: vww(20);
+ }
+ }
+ .password {
+ width: vww(280);
+ height: vww(36);
+ display: flex;
+ align-items: center;
+ margin-top: vww(40);
+ border-bottom: vww(1) solid #cccccc;
+ image {
+ width: vww(20);
+ height: vww(20);
+ }
+ }
+ .loginBtn {
+ margin-top: vww(80);
+
+ button {
+ background-color: #007aff;
+ color: #ffffff;
+ font-size: vww(16);
+ border-radius: vww(22);
+ }
+ }
+ }
+ }
+ </style>
--
Gitblit v1.9.1