From a8fb7ae2dbb61a94141ed5e73d3bb2632b7b84df Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期日, 28 九月 2025 15:25:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
h5/pages/login/login.vue | 407 ++++++++++++++++++++++++++++++++-------------------------
1 files changed, 228 insertions(+), 179 deletions(-)
diff --git a/h5/pages/login/login.vue b/h5/pages/login/login.vue
index 2cb32c7..4a2ca65 100644
--- a/h5/pages/login/login.vue
+++ b/h5/pages/login/login.vue
@@ -1,179 +1,228 @@
-<template>
- <view class="login">
- <image class="login_bg" src="@/static/login_bg@2x.png" />
- <image class="login_logo" src="@/static/logo@2x.png" mode="widthFix" />
- <view class="login_title">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
- <view class="login_list">
- <view class="login_list_item">
- <image src="@/static/login_ic_phone@2x.png" mode="widthFix" />
- <input
- v-model="form.account"
- maxlength="18"
- type="number"
- placeholder="璐﹀彿"
- />
- </view>
- <view class="login_list_item">
- <image src="@/static/login_ic_password@2x.png" mode="widthFix" />
- <input v-model="form.password" type="password" placeholder="瀵嗙爜" />
- </view>
- </view>
- <view class="login_btn">
- <view class="login_btn_n" @click="onLogin">绔嬪嵆鐧诲綍</view>
- <view class="for_psd">蹇樿瀵嗙爜</view>
- </view>
-
- <view class="deal_wrap">
- <checkbox @change="dealChange" />
- <text>鐧诲綍鍗冲悓鎰�</text>
- <text class="deal">銆婂畨娉扮墿娴佺敤鎴峰崗璁��</text>
- </view>
- </view>
-</template>
-
-<script>
-import { loginPost } from '@/api'
-export default {
- name: 'login',
-
- data() {
- return {
- form: {
- account: '',
- password: '',
- }
- }
- },
-
- created() {
- },
-
- methods: {
- dealChange(e) {
- console.log(e)
- },
- onLogin() {
- const { form } = this
- if (!form.account) return uni.showToast({
- title: '璐﹀彿鍚庝笉鑳戒负绌�',
- icon: 'none'
- })
- if (!form.password) return uni.showToast({
- title: '瀵嗙爜涓嶈兘涓虹┖',
- icon: 'none'
- })
- const appID = 'wx4d7c10bdec51942b'
- const AppSecret = '922c93596d134fedf5bd22a9354b3bfe'
- // const scope = 'snsapi_userinfo'
- let uri = encodeURIComponent('https://xiaopiqiu2.natapp1.cc')
- let authURL =
- `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`
- window.location.href = authURL
- loginPost(form).then(res => {
- console.log('res', res);
- })
- }
- }
-}
-</script>
-
-<style lang="scss" scoped>
-.login {
- width: 100%;
- height: 100vh;
- display: flex;
- padding-top: 160rpx;
- box-sizing: border-box;
- align-items: center;
- flex-direction: column;
- background: linear-gradient(
- 180deg,
- rgba(39, 155, 170, 0.2) 0%,
- rgba(39, 155, 170, 0) 100%
- );
- .login_logo {
- width: 180rpx;
- height: 180rpx;
- }
- .login_bg {
- position: absolute;
- top: 0;
- width: 750rpx;
- }
- .login_title {
- font-size: 44rpx;
- font-weight: 600;
- color: #333333;
- margin-top: 40rpx;
- margin-bottom: 120rpx;
- }
- .login_list {
- width: 100%;
- padding: 0 60rpx;
- box-sizing: border-box;
- .login_list_item {
- width: 100%;
- border-radius: 50rpx;
- height: 98rpx;
- padding: 0 40rpx;
- box-sizing: border-box;
- background: #ffffff;
- margin-bottom: 40rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- &:last-child {
- margin-bottom: 0 !important;
- }
- image {
- flex-shrink: 0;
- width: 40rpx;
- height: 40rpx;
- }
- input {
- flex: 1;
- height: 100%;
- color: #666666;
- margin-left: 24rpx;
- border: none;
- }
- }
- }
- .login_btn {
- width: 100%;
- padding: 0 60rpx;
- box-sizing: border-box;
- margin-top: 80rpx;
- .for_psd {
- color: #279baa;
- margin-top: 40rpx;
- width: 140rpx;
- text-align: center;
- margin: 40rpx auto;
- }
- .login_btn_n {
- width: 100%;
- height: 98rpx;
- background: #279baa;
- box-shadow: 0rpx 12rpx 24rpx 0rpx rgba(39, 155, 170, 0.2);
- display: flex;
- align-items: center;
- justify-content: center;
- font-weight: 500;
- font-size: 32rpx;
- color: #ffffff;
- border-radius: 50rpx;
- }
- }
- .deal_wrap {
- position: absolute;
- width: 100%;
- left: 0;
- text-align: center;
- bottom: 108rpx;
- .deal {
- color: #279baa;
- }
- }
-}
-</style>
+<template>
+ <view class="main_app">
+ <image class="login_bg" src="@/static/staff/shenfen_bg@2x.png" mode="widthFix" />
+ <view class="h1">瀹夋嘲鐗╂祦鏅烘収鍥尯</view>
+ <view class="placeholder6 place">璇烽�夋嫨鎮ㄧ殑韬唤</view>
+ <view class="item" @click="userAuth(1)">
+ <image class="avatar" src="@/static/ic_visitor@2x.png" />
+ <view class="content">
+ <view class="name">鎴戞槸璁垮</view>
+ <view class="placeholder6">VISITOR</view>
+ </view>
+ <u-icon name="arrow-right" size="24" color="#979797" />
+ </view>
+ <view class="item" @click="userAuth(2)">
+ <image class="avatar" src="@/static/ic_staff@2x.png" />
+ <view class="content">
+ <view class="name">鎴戞槸鍛樺伐</view>
+ <view class="placeholder6">STAFF</view>
+ </view>
+ <u-icon name="arrow-right" size="24" color="#979797" />
+ </view>
+ <view class="item" @click="userAuth(0)">
+ <image class="avatar" src="@/static/ic_driver@2x.png" />
+ <view class="content">
+ <view class="name">鎴戞槸鐗╂祦杞﹀徃鏈�</view>
+ <view class="placeholder6">DRIVER</view>
+ </view>
+ <u-icon name="arrow-right" size="24" color="#979797" />
+ </view>
+ </view>
+</template>
+
+<script>
+ import {
+ wxAuthorizea,
+ getUserInfo
+ } from '@/api'
+ import {
+ baseUrl
+ } from "@/utils/config.js"
+ export default {
+ data() {
+ return {
+ code: ''
+ }
+ },
+ onLoad(option) {
+ console.log('onLoad');
+ if (option.ywid) {
+ uni.setStorageSync('ywinfo', {
+ type: option.type,
+ yw: option.yw,
+ ywid: option.ywid
+ })
+ }
+ // https://atwl.ahzyssl.com/zhyq_h5/#/pages/login/login?type=2&yw=5&ywid=b3db2072-a453-470d-8c0d-ba3b8b256530
+ },
+ onShow() {
+ // var that = this
+ // let url = 'https://atwl.ahzyssl.com/zhyq_h5/#/'
+ // let code = ''
+ // if (window.location.href.indexOf('code=') !== -1 || this.code) {
+ // // if(window.location.href.indexOf('wdata') !== -1){
+ // // uni.redirectTo({
+ // // url: '/pages/wdata/home?code=' +
+ // // })
+ // // }
+ // const ywinfo = uni.getStorageSync('ywinfo') || {}
+ // if (ywinfo.ywid && (ywinfo.type || ywinfo.type == 0)) {
+ // this.userAuth(ywinfo.type)
+ // }
+ // } else {
+ // // let url = window.location.href
+ // const appID = 'wx173e6caf5abc718a'
+ // let uri = encodeURIComponent(url)
+ // let authURL =
+ // `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appID}&redirect_uri=${uri}&response_type=code&scope=snsapi_base#wechat_redirect`
+ // window.location.href = authURL
+ // }
+
+ },
+ methods: {
+ jump(url) {
+ console.log(url)
+ uni.navigateTo({
+ url
+ })
+ },
+ driverLogin(flag) {
+ // const driverInfo = uni.getStorageSync('driverInfo') || {}
+ if (flag) {
+ uni.navigateTo({
+ url: '/pages/driver/index'
+ })
+ } else {
+ uni.navigateTo({
+ url: '/pages/driver/login'
+ })
+ }
+ },
+ staffLogin(flag) {
+ // const userInfo = uni.getStorageSync('userInfo') || {}
+ if (flag) {
+ uni.navigateTo({
+ url: '/pages/staff/index'
+ })
+ } else {
+ uni.navigateTo({
+ url: '/pages/staffLogin/login'
+ })
+ }
+ },
+ // source 鏉ユ簮:0=鍙告満锛�1=璁垮锛�2=鍐呴儴鍛樺伐
+ userAuth(source) {
+ var that = this
+ let url = window.location.href
+ let code = ''
+ if (url.indexOf('code=') !== -1 || this.code) {
+ const query = url.split('?')
+ for (const q of query) {
+ if (q.indexOf('code=') !== -1) {
+ let statusIndex = q.indexOf('&state')
+ code = q.substring(q.indexOf('code=') + 5, statusIndex)
+ }
+ }
+ wxAuthorizea({
+ code: code || this.code,
+ source: source
+ }).then(res => {
+ if (res.code === 200) {
+ that.$store.commit('setOpenId', res.data.openid)
+ if (res.data.member) {
+ that.$store.commit('setMember', res.data.member)
+ }
+ let flag = res.data.member && res.data.member.id
+ if (source == 0) {
+ if (res.data.token) {
+ that.$store.commit('setToken', res.data.token)
+ getUserInfo().then(ress => {
+ that.$store.commit('setDriverInfo', ress.data)
+ })
+ }
+ setTimeout(() => {
+ that.driverLogin(flag)
+ }, 200)
+ } else if (source == 2) {
+ if (res.data.token) {
+ that.$store.commit('setToken', res.data.token)
+ getUserInfo().then(ress => {
+ that.$store.commit('setUserInfo', ress.data)
+ })
+ }
+ setTimeout(() => {
+ that.staffLogin(flag)
+ }, 200)
+ } else {
+ this.jump('/pages/index/index')
+ }
+ }
+ })
+ }
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ .main_app {
+ width: 100vw;
+ box-sizing: border-box;
+ overflow: hidden;
+ margin: 0;
+ height: 100vh;
+ padding-top: 80rpx;
+ background: linear-gradient(180deg,
+ rgba(39, 155, 170, 0.2) 0%,
+ rgba(39, 155, 170, 0) 100%);
+
+ .login_bg {
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ z-index: -1;
+ }
+
+ .h1 {
+ font-weight: 600;
+ font-size: 48rpx;
+ color: #222222;
+ line-height: 66rpx;
+ margin-bottom: 16rpx;
+ }
+
+ .place {
+ margin-bottom: 98rpx;
+ }
+
+ .item {
+ width: 690rpx;
+ height: 200rpx;
+ background: #ffffff;
+ border-radius: 8rpx;
+ display: flex;
+ align-items: center;
+ padding: 40rpx;
+ font-size: 26rpx;
+ margin-bottom: 40rpx;
+
+ .avatar {
+ width: 120rpx;
+ height: 120rpx;
+ margin-right: 30rpx;
+ }
+
+ .content {
+ flex: 1;
+
+ .name {
+ font-weight: 600;
+ font-size: 38rpx;
+ color: #222222;
+ margin-bottom: 20rpx;
+ }
+ }
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3