zoukankan      html  css  js  c++  java
  • 微信小程序-输入密码

    //<wxml>

    <!--输入钱包密码-->
    <view wx:if="{{wallets_password_flag}}" class="wallets-password">
    <view class="input-content-wrap">
    <view class="top">
    <view catchtap="close_wallets_password" class="close">×</view>
    <view class="txt">请输入支付密码</view>
    <view catchtap="modify_password" class="forget">忘记密码</view>
    </view>
    <view class="actual_fee">
    <span>¥</span>
    <text>{{actual_fee/100}}</text>
    </view>
    <view catchtap="set_Focus" class="input-password-wrap">
    <view class="password_dot">
    <i wx:if="{{wallets_password.length>=1}}"></i>
    </view>
    <view class="password_dot">
    <i wx:if="{{wallets_password.length>=2}}"></i>
    </view>
    <view class="password_dot">
    <i wx:if="{{wallets_password.length>=3}}"></i>
    </view>
    <view class="password_dot">
    <i wx:if="{{wallets_password.length>=4}}"></i>
    </view>
    <view class="password_dot">
    <i wx:if="{{wallets_password.length>=5}}"></i>
    </view>
    <view class="password_dot">
    <i wx:if="{{wallets_password.length>=6}}"></i>
    </view>
    </view>
    </view>
    <input bindinput="set_wallets_password" class="input-content" password type="number" focus="{{isFocus}}" maxlength="6" />
    </view>
     
    //wxss

    page .wallets-password {
    position: absolute;
    left: 0;
    top: 0;
    100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    }

    page .wallets-password .input-content-wrap {
    position: absolute;
    top: 200rpx;
    left: 50%;
    display: flex;
    flex-direction: column;
    600rpx;
    margin-left: -300rpx;
    background: #fff;
    border-radius: 20rpx;
    }

    page .wallets-password .input-content-wrap .top {
    display: flex;
    align-items: center;
    height: 90rpx;
    border-bottom: 2rpx solid #ddd;
    justify-content: space-around;
    }

    page .wallets-password .input-content-wrap .top .close {
    font-size: 44rpx;
    color: #999;
    font-weight: 100;
    }

    page .wallets-password .input-content-wrap .top .forget {
    color: #00a2ff;
    font-size: 22rpx;
    }

    page .wallets-password .input-content-wrap .actual_fee {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    height: 100rpx;
    margin: 0 23rpx;
    border-bottom: 2rpx solid #ddd;
    }

    page .wallets-password .input-content-wrap .actual_fee span {
    font-size: 24rpx;
    }

    page .wallets-password .input-content-wrap .actual_fee text {
    font-size: 36rpx;
    }

    page .wallets-password .input-content-wrap .input-password-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150rpx;
    }

    page .wallets-password .input-content-wrap .input-password-wrap .password_dot {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #000;
    box-sizing: border-box;
    90rpx;
    height: 90rpx;
    border: 2rpx solid #ddd;
    border-left: none 0;
    }

    page .wallets-password .input-content-wrap .input-password-wrap .password_dot:nth-child(1) {
    border-left: 2rpx solid #ddd;
    }

    page .wallets-password .input-content-wrap .input-password-wrap .password_dot i {
    background: #000;
    border-radius: 50%;
    20rpx;
    height: 20rpx;
    }

    page .wallets-password .input-content {
    position: absolute;
    opacity: 0;
    left: -100%;
    top: 600rpx;
    background: #f56;
    z-index: -999;
    }

    page .wallets-password .input-content.active {
    z-index: -99;
    }
     
    //wxjs
    data: {
    payment_mode: 1,//默认支付方式 微信支付
    isFocus: false,//控制input 聚焦
    balance:100,//余额
    actual_fee:20,//待支付
    wallets_password_flag:false//密码输入遮罩
    },
     
    set_wallets_password(e) {//获取钱包密码
    this.setData({
    wallets_password: e.detail.value
    });
    if (this.data.wallets_password.length == 6) {//密码长度6位时,自动验证钱包支付结果
    wallet_pay(this)
    }
    },
    set_Focus() {//聚焦input
    console.log('isFocus', this.data.isFocus)
    this.setData({
    isFocus: true
    })
    },
    set_notFocus() {//失去焦点
    this.setData({
    isFocus: false
    })
    },
    close_wallets_password () {//关闭钱包输入密码遮罩
    this.setData({
    isFocus: false,//失去焦点
    wallets_password_flag: false,
    })
    },
    pay() {//去支付
    pay(this)
    }
    })
    /*-----------------------------------------------*/
    /*支付*/
    function pay(_this) {
    let apikey = _this.data.apikey;
    let id = _this.data.id;
    let payment_mode = _this.data.payment_mode
    if (payment_mode == 1) {
    // 微信支付
    // 微信自带密码输入框
    console.log('微信支付')
    } else if (payment_mode == 0) {
    // 转账支付 后续跳转至传转账单照片
    console.log('转账支付')
    } else if (payment_mode == 2) {
    // 钱包支付 输入密码
    console.log('钱包支付')
    _this.setData({
    wallets_password_flag: true,
    isFocus: true
    })
    }

    }
    // 钱包支付
    function wallet_pay(_this) {
    console.log('钱包支付请求函数')
    /*
    1.支付成功
    2.支付失败:提示;清空密码;自动聚焦isFocus:true,拉起键盘再次输入
    */
    }
     
     
    //使用
    var loginMask = require('../../utils/login.js');
    loginMask.init.apply(this, []);
     
    <!-- 登录模板-->
    <include src="../../utils/courseList.wxml"/>
     
    @import "../../utils/password.wxss";
  • 相关阅读:
    python 序列应用
    跨浏览器本地存储框架(store.js/USTORE.js/Box.js)
    【设计开发命名必备】英语单词缩写规则
    Web服务器性能估算
    Spring整合FreeMarker本地化动态设置
    mybatis注解详解
    两种Freemarker模板路径设置方法
    Drools5集成Spring3
    Oracle 时间戳生成语句(秒级+毫秒级)
    Drools动态加载规则文件
  • 原文地址:https://www.cnblogs.com/weiwentaweb/p/8109946.html
Copyright © 2011-2022 走看看