From f837b731f571bb53cee99f9bc22a6f74855f3e6c Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期一, 12 八月 2024 02:43:20 +0800
Subject: [PATCH] add 商品结算测试
---
pages/login/supplier-login.vue | 1160 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 742 insertions(+), 418 deletions(-)
diff --git a/pages/login/supplier-login.vue b/pages/login/supplier-login.vue
index 51d8a60..dcb669d 100644
--- a/pages/login/supplier-login.vue
+++ b/pages/login/supplier-login.vue
@@ -1,419 +1,743 @@
-<template>
- <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
- <!-- background-image:url('@/static/images/supplier/login/bg.png') -->
-
- <image class="component-bg"
- src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
- mode="scaleToFill" />
- <view class="t-login top-bg">
- <view class="nav-title">登录</view>
- <view class="login">
- <form class="cl">
- <view class="t-a titles-top">
- <view class="title-1">HELLO</view>
- <view class="title-2">欢迎登录<span class="title-3">花满芜</span></view>
- </view>
- <view class="t-a input" v-if="loginType=='pwd'">
- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" />
- </view>
- <view class="t-a input" v-if="loginType=='pwd'">
- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" />
- </view>
- <view class="t-a input" v-if="loginType=='code'">
-
-
- <input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber" />
- <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
- {{getCodeText}}
- </view>
- </view>
-
-
- <view class="t-a input" v-if="loginType=='code'">
- <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode" />
- </view>
-
- <button @tap="login()" class="bottom-button">登 录</button>
-
- <view class="flex">
- <view class="topic-font" v-if="loginType=='pwd'" @click="loginType='code'">手机验证码登录</view>
- <view class="topic-font" v-if="loginType=='code'" @click="loginType='pwd'">账号密码登录</view>
-
- <view class="topic-font m-l-a m-r-0" @click="toReg">前往注册</view>
- </view>
- </form>
- </view>
- </view>
- </view>
-</template>
-<script>
- // import util from '@/utils/util.js'
- // import gzmzApi from '@/api/gzmzApi.js'
- // import myCache from '@/utils/myCache.js'
- export default {
- props: {
- // apitype: 'loginSupplier',
- apitype: {
- type:String,
- default(){
- // #ifdef PUB_SUPPLIER
- return 'loginSupplier'
- // #endif
- // #ifdef PUB_PARTNER
- return 'loginPartner'
- // #endif
- return ''
- // return 'loginPartner'
- }
- },
- },
- data() {
- return {
- openId: '-1',
- userName: 'gzm',
- password: '123456',
- // userName: '',
- // password: '',
-
- phoneNumber: '',
- smsCode: '',
-
- checked: false,
- loginType: 'pwd', //pwd和code,密码和验证码登录
- pcfvalue: undefined,
- getCodeText: '获取验证码',
- getCodeBtnColor: "#20613D",
- getCodeisWaiting: false,
- Timer: undefined
- };
- },
- methods: {
- async getCode() {
- uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
- if (this.getCodeisWaiting) {
- return;
- }
- if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
- this.$message.showToast('请填写正确手机号码')
- return false;
- }
- this.getCodeText = "发送中..." //发送验证码
- this.getCodeisWaiting = true;
- this.getCodeBtnColor = "#000" //追加样式,修改颜色
- //示例用定时器模拟请求效果
- //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
- const {
- code
- } = await this.$http.request('post', '/api/sms/send/code', {
- data: {
- tel: this.phoneNumber,
- userType: 'supplier'
- }
- })
- if (code == 0) {
- uni.showToast({
- title: '验证码已发送',
- icon: "none"
- });
- this.setTimer(); //调用定时器方法
- }
- // setTimeout(() => {
- // uni.showToast({
- // title: '验证码已发送',
- // icon: "none"
- // }); //弹出提示框
- // //示例默认1234,生产中请删除这一句。
- // // this.code = '1234'; //发送验证码,进行填入
- // this.setTimer(); //调用定时器方法
- // }, 1000)
- },
- //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
- setTimer() {
- let holdTime = 60; //定义变量并赋值
- this.getCodeText = "重新获取(60)"
- //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
- //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
- this.Timer = setInterval(() => {
- if (holdTime <= 0) {
- this.getCodeisWaiting = false;
- this.getCodeBtnColor = "#20613D";
- this.getCodeText = "获取验证码"
- clearInterval(this.Timer); //清除该函数
- return; //返回前面
- }
- this.getCodeText = "重新获取(" + holdTime + ")"
- holdTime--;
- }, 1000)
- },
- toReg() {
- // uni.switchTab({
- // url: '/pages/index/index'
- // })
- uni.redirectTo({
- url: '/sub_pages/supplier/supplier-reg/supplier-reg'
- })
-
- },
- changeAll(e) {
- this.pcfvalue = e.detail.value[0]
- },
- async login() {
- uni.showLoading({
- title: '登陆中'
- });
- var that = this;
- if (this.loginType == 'pwd') {
- if (!that.userName) {
- uni.showToast({
- title: '请输入用户名',
- icon: 'none'
- });
- return;
- }
- if (!that.password) {
- uni.showToast({
- title: '请输入密码',
- icon: 'none'
- });
- return;
- }
- }
- if (this.loginType == 'code') {
- if (!that.tel) {
- uni.showToast({
- title: '请输入手机号',
- icon: 'none'
- });
- return;
- }
- if (!that.smsCode) {
- uni.showToast({
- title: '请输入手机验证码',
- icon: 'none'
- });
- return;
- }
- }
- // if (this.pcfvalue == undefined) {
- // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
- // return;
- // }
- let post = {
- username: this.userName,
- password: this.password,
- tel: this.phoneNumber,
- smsCode: this.smsCode
- // openId: '123456789'
- }
- // const {
- // code
- // } = await this.$http.request('get', '/api/login/admin')
- const resp = await this.$store.dispatch(this.apitype, post);
- // uni.hideLoading()
-
- if (resp.code == 0) {
-
- // myCache.cache("userToken", res.data.accessToken)
- // let userRes = await gzmzApi.getMemberInfo();
- // if (userRes.status) {
- // myCache.cache("userInfo", JSON.stringify(userRes.data))
- // }
- // setTimeout(() => {
- // uni.navigateBack();
- // }, 1000);
-
- } else {
- uni.showToast({
- title: '登录失败!',
- icon: 'none'
- });
- return;
- }
-
- },
- tc1(id) {
- uni.navigateTo({
- url: '/pages/users/xieyi?id=' + id,
- });
- }
- }
- };
-</script>
-
-<style lang="scss" scoped>
- @import './login.scss';
-
- .main-container {
- margin: 20px 0;
- }
-
- .img-a {
- position: absolute;
- width: 100%;
- top: -150rpx;
- right: 0;
- }
-
- .img-b {
- position: absolute;
- width: 50%;
- bottom: 0;
- left: -120rpx;
- }
-
- .to-home {
- margin-top: 30rpx;
- font-size: 30rpx;
- color: #5af;
- display: flex;
- flex-direction: row-reverse;
- }
-
- .t-login {
- width: 100%;
- margin: 0 auto;
- font-size: 28rpx;
- color: #000;
- }
-
- .t-login .bg {
- width: 100%;
- position: relative;
- }
-
- .t-login .login {
- width: 650rpx;
- margin: 60rpx auto;
- margin-top: 0rpx;
- font-size: 28rpx;
- color: #000;
- }
-
- .t-login button {
- font-size: 28rpx;
- background: #5677fc;
- color: #fff;
- height: 90rpx;
- line-height: 90rpx;
- border-radius: 50rpx;
- box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
- }
-
- .t-login input {
- padding: 0 20rpx 0 120rpx;
- height: 90rpx;
- line-height: 90rpx;
- margin-bottom: 50rpx;
- background: #f8f7fc;
- border: 1px solid #e9e9e9;
- font-size: 28rpx;
- border-radius: 50rpx;
- }
-
- .t-login .t-a {
- position: relative;
-
- .get-code {
- position: absolute;
- right: 40rpx;
- top: 25rpx;
- }
- }
-
- .t-login .t-a .icon {
- width: 40rpx;
- height: 40rpx;
- position: absolute;
- left: 24rpx;
- top: 14rpx;
- margin-right: 20rpx;
- }
-
- .t-login .t-a .line {
- width: 2rpx;
- height: 40rpx;
- background-color: #dedede;
- position: absolute;
- top: 28rpx;
- left: 98rpx;
- }
-
- .t-login .t-b {
- text-align: left;
- font-size: 46rpx;
- color: #000;
- padding: 300rpx 0 30rpx 0;
- font-weight: bold;
- }
-
- .t-login .t-b2 {
- text-align: left;
- font-size: 32rpx;
- color: #aaaaaa;
- padding: 0rpx 0 120rpx 0;
- }
-
- .t-login .t-c {
- position: absolute;
- right: 22rpx;
- top: 22rpx;
- background: #5677fc;
- color: #fff;
- font-size: 24rpx;
- border-radius: 50rpx;
- height: 50rpx;
- line-height: 50rpx;
- padding: 0 25rpx;
- z-index: 999;
- }
-
- .t-login .t-d {
- text-align: center;
- color: #999;
- margin: 80rpx 0;
- }
-
- .t-login .t-e {
- text-align: center;
- width: 250rpx;
- margin: 80rpx auto 0;
- }
-
- .t-login .t-g {
- float: left;
- width: 50%;
- }
-
- .t-login .t-e image {
- width: 50rpx;
- height: 50rpx;
- }
-
- .t-login .t-f {
- text-align: center;
- margin: 200rpx 0 0 0;
- color: #666;
- }
-
- .t-login .t-f text {
- margin-left: 20rpx;
- color: #aaaaaa;
- font-size: 27rpx;
- }
-
- .t-login .uni-input-placeholder {
- color: #000;
- }
-
- .cl {
- zoom: 1;
- }
-
- .cl:after {
- clear: both;
- display: block;
- visibility: hidden;
- height: 0;
- content: '\20';
- }
+<template>
+ <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
+ <!-- background-image:url('@/static/images/supplier/login/bg.png') -->
+
+ <image class="component-bg"
+ src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
+ mode="scaleToFill" />
+ <view class="t-login top-bg">
+ <view class="nav-title">登录</view>
+ <view class="login">
+ <form class="cl">
+ <view class="t-a titles-top">
+ <view class="title-1">HELLO</view>
+ <view class="title-2">欢迎登录<span class="title-3">花满芫</span>
+ <!-- #ifdef PUB_SUPPLIER -->
+ <span>供应商管理平台</span>
+ <!-- #endif -->
+ <!-- #ifdef PUB_PARTNER -->
+ <span>合伙人管理平台</span>
+ <!-- #endif -->
+ </view>
+ </view>
+ <view class="t-a input form-input" v-if="loginType=='pwd'">
+ <!-- <input type="text" name="userName" placeholder="请输入账号" v-model="userName" /> -->
+ <u-input placeholder="请输入账号" :border="false" v-model="userName"></u-input>
+
+ </view>
+ <view class="t-a input form-input" v-if="loginType=='pwd'">
+ <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
+ </view>
+ <view class="t-a input form-input" v-if="loginType=='code'">
+
+
+ <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
+ <template slot="suffix">
+ <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()">
+ {{ getCodeText }}
+ </view>
+ </template>
+ </u-input>
+ </view>
+
+
+ <view class="t-a form-input" v-if="loginType=='code'">
+ <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
+
+ </view>
+
+
+ <button @tap="login()" class="bottom-button">登 录</button>
+
+ <view class="flex">
+ <view class="topic-font" v-if="loginType=='pwd'&&apitype!=='loginAdmin'"
+ @click="loginType='code'">手机验证码登录</view>
+ <view class="topic-font" v-if="loginType=='code'&&apitype!=='loginAdmin'"
+ @click="loginType='pwd'">账号密码登录</view>
+
+ <view class="topic-font m-l-a m-r-0" v-if="apitype!=='loginAdmin'" @click="toReg">前往注册</view>
+
+ <!-- #ifdef PUB_CUSTOMER -->
+ <view class="topic-font m-l-a m-r-0" @click="toHome" v-if="!source">返回首页</view>
+ <view class="topic-font m-l-a m-r-0" @click="backpage" v-if="source==='jump'">返回上一页</view>
+
+ <!-- #endif -->
+ <!-- #ifdef PUB_PARTNER -->
+ <view class="topic-font m-l-a m-r-0" @click="()=>{
+ if(apitype==='loginPartner'){
+ apitype = 'loginAdmin'
+ loginType = 'pwd'
+ }else{
+ apitype = 'loginPartner'
+ }
+ }">
+ 切换为{{apitype!=='loginPartner'?'合伙人':'质检人员'}}登录
+ </view>
+ <!-- #endif -->
+ </view>
+
+ </form>
+ </view>
+ <!-- <view v-if="optionsStr">
+ {{optionsStr}}
+ </view> -->
+ </view>
+ </view>
+</template>
+<script>
+ export default {
+ async onLoad(options) {
+ this.source = options.source || ''
+ this.sharePartnerUserId = options.sharePartnerUserId || ''
+ // #ifdef PUB_CUSTOMER
+ var query = options.q && decodeURIComponent(options.q) || ''
+ var querydto = {}
+ if (query) {
+ try {
+ var keyvalues = query.split("?")[1].split("&")
+ for (var item of keyvalues) {
+ var tarr = item.split("=")
+ querydto[tarr[0]] = tarr[1]
+ }
+ } catch (e) {
+ console.error('error', e)
+ }
+ }
+ try {
+ if (!querydto.partnerUserId) {
+ if (options.query && options.query.scene) {
+ //说明是特殊小程序二维码扫码跳转的
+ var keyvalues = decodeURIComponent(options.query.scene).split("&")
+ for (var item of keyvalues) {
+ var tarr = item.split("=")
+ querydto[tarr[0]] = tarr[1]
+ }
+ }
+ }
+
+ } catch (e) {
+ console.error('error2', e)
+ }
+
+
+ console.log('options query111', options, querydto)
+ // this.optionsStr = JSON.stringify(options) || ''
+ if (querydto.partnerUserId) {
+ //通过接口获取名称,兼容,url上不能放中文的情况
+
+
+
+ if (this.$storage.getItem('token')) {
+ console.log('to login 1')
+ this.$message.showLoading()
+ //稍微等一会,避免currentInfo还在同步
+ let tmp = this
+ setTimeout(async () => {
+ try {
+ tmp.$message.hideLoading()
+ if (tmp.currentInfo && tmp.currentInfo.id || tmp.$storage.getItem('token')) {
+ await tmp.$store.dispatch('getCurrentInfo');
+ //已经登录的直接判断,并且绑定
+ tmp.$nextTick(async () => {
+ if (!tmp.currentInfo.customerDTO) {
+ tmp.$message.showToast(
+ '您尚未完善信息无法绑定')
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '/pages/home/home'
+ })
+ }, 500)
+ return
+ } else {
+ if (tmp.currentInfo.customerDTO
+ .partnerId) {
+ tmp.$message.showToast(
+ '您已绑定,请联系客服解除绑定')
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '/pages/home/home'
+ })
+ }, 500)
+ return
+ } else {
+ //前往绑定页面
+ //直接绑定
+ //调用接口绑定
+ tmp.$message.showLoading()
+ const {
+ code,
+ data
+ } = await tmp.$http.request('post',
+ '/api/customer/bind/partner', {
+ data: {
+ partnerUserId: querydto
+ .partnerUserId
+ }
+ })
+ tmp.$message.hideLoading()
+ if (code == 0) {
+ tmp.$message.showToast(`绑定合伙人成功`)
+ await tmp.$store.dispatch('getCurrentInfo')
+ //跳转到个人页面
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '/pages/home/home'
+ })
+ }, 500)
+
+ }
+
+ }
+ }
+ })
+
+
+
+ //这种已经登录的
+ //确定是注册绑定还是重新绑定
+ // tmp.$nextTick(() => {
+ // var tt = {
+ // title: '提示:您已登录,是直接用该账号绑定,还是退出并注册新账号绑定合伙人',
+ // content: '',
+ // showCancel: true,
+ // cancelText: '直接绑定',
+ // cancelColor: '#000000',
+ // confirmText: '退出注册',
+ // confirmColor: '#20613D'
+ // }
+ // uni.showModal({
+ // ...tt,
+ // success: async (res) => {
+
+ // if (res.confirm) {
+ // //清空登录信息,
+ // this.$store.commit('updateLogin',
+ // false)
+ // setTimeout(() => {
+ // uni.navigateTo({
+ // url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ // })
+ // }, 200)
+ // }
+ // if (res.cancel) {
+ // if (!tmp.currentInfo.customerDTO) {
+ // tmp.$message.showToast(
+ // '您尚未完善信息无法绑定')
+ // return
+ // } else {
+ // if (tmp.currentInfo.customerDTO
+ // .partnerId) {
+ // tmp.$message.showToast(
+ // '您已绑定,请联系客服解除绑定')
+ // return
+ // } else {
+ // //前往绑定页面
+ // uni.reLaunch({
+ // url: `/pages/user/supplier-user?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ // })
+ // }
+ // }
+ // }
+ // },
+ // fail(res) {
+ // console.log('res uni model', res)
+ // }
+ // })
+
+ // })
+
+
+ } else {
+ console.log('to login 3')
+ //退出登录了,或者失效了
+ // uni.navigateTo({
+ // url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ // })
+ if (!querydto.partnerUserName) {
+ tmp.$message.showLoading()
+ const resname = await tmp.$http.request('get',
+ '/api/customer/partner/name', {
+ params: {
+ id: querydto.partnerUserId
+ }
+ })
+ tmp.$message.hideLoading()
+ if (resname.code == 0) {
+ querydto.partnerUserName = resname.data || ''
+ }
+
+ }
+ uni.navigateTo({
+ url: `/pages/login/supplier-reg?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ })
+ }
+ } catch (e2) {
+ console.log('to login error', e2)
+ }
+ }, 2000)
+
+ } else {
+ if (!querydto.partnerUserName) {
+ this.$message.showLoading()
+ const resname = await this.$http.request('get', '/api/customer/partner/name', {
+ params: {
+ id: querydto.partnerUserId
+ }
+ })
+ this.$message.hideLoading()
+ if (resname.code == 0) {
+ querydto.partnerUserName = resname.data || ''
+ }
+
+ }
+ // console.log('to login 2',
+ // `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ // )
+ // uni.navigateTo({
+ // url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ // })
+ uni.navigateTo({
+ url: `/pages/login/supplier-reg?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
+ })
+ }
+
+
+ }
+ // #endif
+
+ },
+ onShareAppMessage() {
+ let that = this;
+ var name = that.currentInfo.customerDTO&&that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO&&that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO&&that.currentInfo.partnerDTO.name || ''
+ var url =
+ `/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
+ return {
+ title: "花满芫",
+ path: url,
+ }
+ },
+ onShareTimeline() {
+ let that = this;
+ var name = that.currentInfo.customerDTO&&that.currentInfo.customerDTO.name || that.currentInfo.supplierDTO&&that.currentInfo.supplierDTO.name || that.currentInfo.partnerDTO&&that.currentInfo.partnerDTO.name || ''
+ var url =
+ `/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
+ return {
+ title: "花满芫",
+ path: url,
+ }
+ },
+ data() {
+ return {
+ optionsStr: '',
+ openId: '-1',
+ userName: '',
+ password: '',
+ // userName: '',
+ // password: '',
+
+ phoneNumber: '',
+ smsCode: '',
+ source: '', //来源
+ sharePartnerUserId: '', //分享跳转登录的id
+
+ checked: false,
+ loginType: 'pwd', //pwd和code,密码和验证码登录
+ pcfvalue: undefined,
+ getCodeText: '获取验证码',
+ getCodeBtnColor: "#20613D",
+ getCodeisWaiting: false,
+ Timer: undefined,
+ // #ifdef PUB_SUPPLIER
+ apitype: 'loginSupplier',
+ // #endif
+ // #ifdef PUB_PARTNER
+ apitype: 'loginPartner',
+ // #endif
+ // #ifdef PUB_CUSTOMER
+ apitype: 'loginCustomer',
+ // #endif
+ // return 'loginPartner'
+ };
+ },
+ methods: {
+ async getCode() {
+ console.log('getCode')
+ uni.hideKeyboard() //隐藏已经显示的软键盘,如果软键盘没有显示则不做任何操作。
+ if (this.getCodeisWaiting) {
+ return;
+ }
+ if (!(/^1(3|4|5|6|7|8|9)\d{9}$/.test(this.phoneNumber))) { //校验手机号码是否有误
+ this.$message.showToast('请填写正确手机号码')
+ return false;
+ }
+ this.getCodeText = "发送中..." //发送验证码
+ this.getCodeisWaiting = true;
+ this.getCodeBtnColor = "#000" //追加样式,修改颜色
+ //示例用定时器模拟请求效果
+ //setTimeout(()用于在指定的毫秒数后调用函数或计算表达式
+ const {
+ code
+ } = await this.$http.request('post', '/api/sms/send/code', {
+ data: {
+ tel: this.phoneNumber,
+ userType: this.apitype.replace("login", "").toLowerCase()
+ }
+ })
+ if (code == 0) {
+ uni.showToast({
+ title: '验证码已发送',
+ icon: "none"
+ });
+ this.setTimer(); //调用定时器方法
+ } else {
+ this.getCodeText = "获取验证码" //发送验证码
+ this.getCodeisWaiting = false;
+ this.getCodeBtnColor = "#20613D";
+ }
+ // setTimeout(() => {
+ // uni.showToast({
+ // title: '验证码已发送',
+ // icon: "none"
+ // }); //弹出提示框
+ // //示例默认1234,生产中请删除这一句。
+ // // this.code = '1234'; //发送验证码,进行填入
+ // this.setTimer(); //调用定时器方法
+ // }, 1000)
+ },
+ //setTimer: 需要每隔一段时间执行一件事的的时候就需要使用SetTimer函数
+ setTimer() {
+ let holdTime = 60; //定义变量并赋值
+ this.getCodeText = "重新获取(60)"
+ //setInterval()是一个实现定时调用的函数,可按照指定的周期(以毫秒计)来调用函数或计算表达式。
+ //setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。
+ this.Timer = setInterval(() => {
+ if (holdTime <= 0) {
+ this.getCodeisWaiting = false;
+ this.getCodeBtnColor = "#20613D";
+ this.getCodeText = "获取验证码"
+ clearInterval(this.Timer); //清除该函数
+ return; //返回前面
+ }
+ this.getCodeText = "重新获取(" + holdTime + ")"
+ holdTime--;
+ }, 1000)
+ },
+ toHome() {
+ uni.reLaunch({
+ url: '/pages/home/home'
+ })
+ },
+ toReg() {
+ // uni.switchTab({
+ // url: '/pages/index/index'
+ // })
+ var addstr = ''
+ // #ifdef PUB_PARTNER
+ addstr = '?source=step'
+ uni.navigateTo({
+ url: '/sub_pages/partner/partner-info/partner-info' + addstr
+ })
+ // #endif
+ // #ifdef PUB_SUPPLIER
+ uni.reLaunch({
+ url: '/pages/login/supplier-reg'
+ })
+ // #endif
+ // #ifdef PUB_CUSTOMER
+ // addstr = '?source=step'
+ // uni.navigateTo({
+ // url: '/sub_pages/customer/customer-info/customer-info' + addstr
+ // })
+ uni.reLaunch({
+ url: '/pages/login/supplier-reg'
+ })
+ // todo 如果是有分享id的,可能需要提前进行绑定
+
+
+ // #endif
+ },
+ changeAll(e) {
+ this.pcfvalue = e.detail.value[0]
+ },
+ async login() {
+ uni.showLoading({
+ title: '登陆中'
+ });
+ var that = this;
+ if (this.loginType == 'pwd') {
+ if (!that.userName) {
+ uni.showToast({
+ title: '请输入用户名',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.password) {
+ uni.showToast({
+ title: '请输入密码',
+ icon: 'none'
+ });
+ return;
+ }
+ that.phoneNumber = ''
+ }
+ if (this.loginType == 'code') {
+ if (!that.phoneNumber) {
+ uni.showToast({
+ title: '请输入手机号',
+ icon: 'none'
+ });
+ return;
+ }
+ if (!that.smsCode) {
+ uni.showToast({
+ title: '请输入手机验证码',
+ icon: 'none'
+ });
+ return;
+ }
+ }
+ // if (this.pcfvalue == undefined) {
+ // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
+ // return;
+ // }
+ let post = {
+ username: this.userName,
+ password: this.password,
+ tel: this.phoneNumber,
+ smsCode: this.smsCode
+ // openId: '123456789'
+ }
+ // const {
+ // code
+ // } = await this.$http.request('get', '/api/login/admin')
+ const resp = await this.$store.dispatch(this.apitype, post);
+ // uni.hideLoading()
+
+ if (resp.code === 0) {
+
+ // myCache.cache("userToken", res.data.accessToken)
+ // let userRes = await gzmzApi.getMemberInfo();
+ // if (userRes.status) {
+ // myCache.cache("userInfo", JSON.stringify(userRes.data))
+ // }
+ // setTimeout(() => {
+ // uni.navigateBack();
+ // }, 1000);
+
+
+
+ } else {
+ // uni.showToast({
+ // title: '登录失败!',
+ // icon: 'none'
+ // });
+ return;
+ }
+
+ },
+ tc1(id) {
+ uni.navigateTo({
+ url: '/pages/users/xieyi?id=' + id,
+ });
+ }
+ }
+ };
+</script>
+<style lang="scss" scoped>
+ .form-input {
+ background-color: #f8f7fc;
+ border-radius: 50rpx;
+ margin-bottom: 50rpx;
+ border: 1px solid #e9e9e9;
+
+ /deep/ .u-input {
+ padding-left: 60rpx !important;
+ padding-right: 40rpx !important;
+ }
+
+ /deep/ input {
+ height: 70rpx;
+ line-height: 70rpx;
+
+ }
+
+ }
+</style>
+<style lang="scss" scoped>
+ @import './login.scss';
+
+ .main-container {
+ margin: 20px 0;
+ }
+
+ .img-a {
+ position: absolute;
+ width: 100%;
+ top: -150rpx;
+ right: 0;
+ }
+
+ .img-b {
+ position: absolute;
+ width: 50%;
+ bottom: 0;
+ left: -120rpx;
+ }
+
+ .to-home {
+ margin-top: 30rpx;
+ font-size: 30rpx;
+ color: #5af;
+ display: flex;
+ flex-direction: row-reverse;
+ }
+
+ .t-login {
+ width: 100%;
+ margin: 0 auto;
+ font-size: 28rpx;
+ color: #000;
+ }
+
+ .t-login .bg {
+ width: 100%;
+ position: relative;
+ }
+
+ .t-login .login {
+ width: 650rpx;
+ margin: 60rpx auto;
+ margin-top: 0rpx;
+ font-size: 28rpx;
+ color: #000;
+ }
+
+ .t-login button {
+ font-size: 28rpx;
+ background: #5677fc;
+ color: #fff;
+ height: 90rpx;
+ line-height: 90rpx;
+ border-radius: 50rpx;
+ box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
+ }
+
+ .t-login input {
+ padding: 0 20rpx 0 60rpx;
+ height: 90rpx;
+ line-height: 90rpx;
+ margin-bottom: 50rpx;
+ background: #f8f7fc;
+ border: 1px solid #e9e9e9;
+ font-size: 28rpx;
+ border-radius: 50rpx;
+ }
+
+ .t-login .t-a {
+ position: relative;
+
+ .get-code {
+ // position: absolute;
+ // right: 40rpx;
+ // top: 25rpx;
+ }
+ }
+
+ .t-login .t-a .icon {
+ width: 40rpx;
+ height: 40rpx;
+ position: absolute;
+ left: 24rpx;
+ top: 14rpx;
+ margin-right: 20rpx;
+ }
+
+ .t-login .t-a .line {
+ width: 2rpx;
+ height: 40rpx;
+ background-color: #dedede;
+ position: absolute;
+ top: 28rpx;
+ left: 98rpx;
+ }
+
+ .t-login .t-b {
+ text-align: left;
+ font-size: 46rpx;
+ color: #000;
+ padding: 300rpx 0 30rpx 0;
+ font-weight: bold;
+ }
+
+ .t-login .t-b2 {
+ text-align: left;
+ font-size: 32rpx;
+ color: #aaaaaa;
+ padding: 0rpx 0 120rpx 0;
+ }
+
+ .t-login .t-c {
+ position: absolute;
+ right: 22rpx;
+ top: 22rpx;
+ background: #5677fc;
+ color: #fff;
+ font-size: 24rpx;
+ border-radius: 50rpx;
+ height: 50rpx;
+ line-height: 50rpx;
+ padding: 0 25rpx;
+ z-index: 999;
+ }
+
+ .t-login .t-d {
+ text-align: center;
+ color: #999;
+ margin: 80rpx 0;
+ }
+
+ .t-login .t-e {
+ text-align: center;
+ width: 250rpx;
+ margin: 80rpx auto 0;
+ }
+
+ .t-login .t-g {
+ float: left;
+ width: 50%;
+ }
+
+ .t-login .t-e image {
+ width: 50rpx;
+ height: 50rpx;
+ }
+
+ .t-login .t-f {
+ text-align: center;
+ margin: 200rpx 0 0 0;
+ color: #666;
+ }
+
+ .t-login .t-f text {
+ margin-left: 20rpx;
+ color: #aaaaaa;
+ font-size: 27rpx;
+ }
+
+ // .t-login .uni-input-placeholder {
+ // color: #000;
+ // }
+
+ .cl {
+ zoom: 1;
+ }
+
+ .cl:after {
+ clear: both;
+ display: block;
+ visibility: hidden;
+ height: 0;
+ content: '\20';
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3