android添加银行插件
diff --git a/pages/sub_basic/register.vue b/pages/sub_basic/register.vue
new file mode 100644
index 0000000..40732c5
--- /dev/null
+++ b/pages/sub_basic/register.vue
@@ -0,0 +1,258 @@
+<template>
+ <view class="register" @touchmove.stop.prevent="moveHandle">
+ <!-- #ifndef MP-WEIXIN -->
+ <u-navbar title="注册" :border-bottom="false" :is-back="false"></u-navbar>
+ <!-- #endif -->
+ <view class="register-con">
+ <view class="register-con-logo">
+ <!-- #ifdef MP-WEIXIN -->
+ <u-image src="/pages/sub_basic/images/login/logo.png" width="300rpx" mode="widthFix"></u-image>
+ <!-- #endif -->
+ <!-- #ifndef MP-WEIXIN -->
+ <u-image src="./images/login/logo.png" width="300rpx" mode="widthFix"></u-image>
+ <!-- #endif -->
+ </view>
+ <view class="register-con-form">
+ <u-field v-model="tel" placeholder="请输入手机号" label-width="50" maxlength="11" type="number"clear-size="40">
+ <u-icon slot="icon" name="shouji" custom-prefix="custom-icon" color="#999999"></u-icon>
+ </u-field>
+ <u-field v-model="code" placeholder="请输入验证码" label-width="50" maxlength="6" type="number"clear-size="40">
+ <u-icon slot="icon" name="code" custom-prefix="custom-icon" color="#999999"></u-icon>
+ <u-button slot="right" @click="getCode" size="mini" :disabled="isChecked" :custom-style="btn">{{codeText}}</u-button>
+ </u-field>
+ <u-field v-model="pwd" icon="lock-fill" placeholder="请设置6-12位密码" label-width="50" icon-color="#999999" maxlength="12"
+ :password="true" type="number"clear-size="40"></u-field>
+ </view>
+ <view class="register-con-agreement">
+ <u-checkbox v-model="checked" shape="circle" label-size="26" icon-size="16"><text style="margin-left: 20rpx;">我已同意<text class="register-con-agreement-text" @click="toUrl('/pages/sub_mine/agreement')">《用户协议》</text></text></u-checkbox>
+ </view>
+ <u <u-button @click="register" :custom-style="registerConBtn">立即注册</u-button>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ codeText: "获取验证码",
+ pwd: "",
+ tel: "",
+ code: "",
+ isChecked: false,
+ timer: "",
+ checked: false,
+ registerConBtn:{
+ width: '600rpx',
+ backgroundColor: '#2FA8E1',
+ color: '#FFFFFF',
+ fontFamily: "PingFang-SC-Medium",
+ fontSize: '30rpx',
+ marginTop: '100rpx',
+ padding: '50rpx 0'
+ },
+ btn:{
+ color: '#2FA8E1',
+ backgroundColor: '#FFFFFF',
+ borderColor:'#2FA8E1',
+ borderWidth: '1rpx',
+ borderStyle: 'solid',
+ fontFamily: "PingFang-SC-Regular"
+ }
+ }
+ },
+ methods: {
+ moveHandle(){
+ return
+ },
+ getCode() {
+ let that = this
+ let tel = that.tel
+ if (tel == "") {
+ uni.showToast({
+ title: "请输入正确手机号",
+ icon: "none",
+ duration: 800
+ })
+ return false
+ }
+ uni.removeStorageSync('token')
+ that.$u.post('/i/code', {
+ phone: tel
+ }).then(res => {
+ uni.showToast({
+ title: res.msg,
+ icon: "none",
+ duration: 800
+ })
+ let i = 60
+ that.isChecked = true
+ that.timer = setInterval(() => {
+ if (i != 0) {
+ i--
+ that.codeText = i + "s"
+ } else {
+ clearInterval(that.timer)
+ that.codeText = "重新获取"
+ that.isChecked = false
+ }
+ }, 1000)
+ })
+ },
+ async register() {
+ let that = this
+ let {
+ tel,
+ pwd,
+ code,
+ checked
+ } = that
+ if (tel == "") {
+ uni.showToast({
+ title: "请输入正确手机号",
+ icon: "none",
+ duration: 800
+ })
+ return false
+ }
+ if (code == "") {
+ uni.showToast({
+ title: "请输入验证码",
+ icon: "none",
+ duration: 800
+ })
+ return false
+ }
+ if (pwd == "") {
+ uni.showToast({
+ title: "请设置您的密码",
+ icon: "none",
+ duration: 800
+ })
+ return false
+ }
+ if (!checked) {
+ uni.showToast({
+ title: "请先阅读并同意用户协议",
+ icon: "none",
+ duration: 800
+ })
+ return false
+ }
+ let param = {
+ phone: tel,
+ code: code,
+ }
+ let ret = await that.$u.post("/i/checkcode", param)
+ if (ret.code === 200) {
+ let {
+ randcode,
+ uid
+ } = ret
+ let params = {
+ "pwd": pwd,
+ "repwd": pwd,
+ "id": uid,
+ "random": randcode
+ // "id":"2c9b808573b4eff001740fccd23c63fc",
+ // "random":"r5m7anoef7ku5gdsz6o4gi2rkk5enf"
+ }
+ that.$u.post("/i/register", params).then((res) => {
+ uni.setStorageSync("token", res.token)
+ uni.setStorageSync("userid", res.userid)
+ uni.setStorageSync("tenantid", res.tenantid)
+ uni.setStorageSync("tokenexpire", res.expire)
+ uni.setStorageSync("tokentime", res.now)
+ uni.setStorageSync("signed", res.signed)
+ uni.setStorageSync("paypwdset", res.paypwdset)
+ uni.showToast({
+ title: "注册成功",
+ icon: "none",
+ duration: 800,
+ complete(res) {
+ setTimeout(() => {
+ uni.reLaunch({
+ url: "/pages/sub_basic/login"
+ })
+ }, 1500)
+ }
+ })
+ })
+ }
+ }
+
+
+
+ },
+ onUnload() {
+ let that = this
+ clearInterval(that.timer)
+ }
+ }
+</script>
+
+<style scoped lang="scss">
+ .btn {
+ border-radius: 50rpx;
+ width: 150rpx;
+ color: #2FA8E1;
+ border: 2rpx #2FA8E1 solid;
+ font-size: 25rpx;
+ }
+
+ .register {
+ width: 100vw;
+ font-family: "PingFang-SC-Medium";
+ background-color: #FFFFFF;
+ height: 100vh;
+
+ &-con {
+ padding: 30rpx;
+
+ &-agreement {
+ font-family: "PingFang-SC-Medium";
+ margin-left: 50rpx;
+ margin-top: 15rpx;
+ color: #999999;
+ &-text {
+ color: #2FA8E1;
+ }
+ }
+
+ &-title {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ text {
+ font-family: "PingFang-SC-Medium";
+ font-size: 32rpx;
+ color: #333333;
+ }
+ }
+
+ &-logo {
+ display: flex;
+ justify-content: center;
+ padding: 30rpx 0;
+ align-items: center;
+ text-align: center;
+ }
+
+ &-form {
+ width: 650rpx;
+ margin: auto;
+ }
+
+ &-btn {
+ background-color: #2FA8E1;
+ padding: 50rpx 0;
+ color: #FFFFFF;
+ width: 600rpx;
+ font-size: 30rpx;
+ margin-top: 100rpx;
+ }
+ }
+
+ }
+</style>