十四洲 2022-09-27 17:15 采纳率: 37.5%
浏览 23

uniapp,不依靠后端的情况下用H5的localstorage来实现注册后的账号才能登录

问题遇到的现象和发生背景

uniapp,编辑器HBuilderX。在做登录注册页面。
登陆页面的账号密码现在可以在后台出现,
但是想注册一个账号,然后再按着注册的账号登录
不用后端单纯用h5的localstorage怎么实现?
想实现只有固定账号才能登陆成功
比如:账号:admin; 密码:123

或者把账号密码写死也可以,固定账号才能登录那种

用代码块功能插入代码,请勿粘贴截图

//源代码太臭太长了,这个是简易版的,
想实现著有固定账号才能登陆成功
(以下是测试用的简易版)

<template>
    <view class="">
        <view class="content">
            <uni-easyinput type="password" v-model="form.name" prefixIcon="person"></uni-easyinput>
            <uni-easyinput type="text" v-model="form.password" prefixIcon="person"></uni-easyinput>
        </view>
        <view class="">
            <button type="default" size="mini" @click="register">注册</button>
            <button type="default" size="mini" @click="login">登录</button>
        </view>
    </view>
</template>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
    export default {
        data() {
            return {
                form: {}
            }
        },
        onLoad() {},
        methods: {
            login() {
                console.log(this.form);
                //存储用户的数据到 storage
                uni.setStorageSync('user', this.form) //key名,data,data的值
                uni.getStorage({
                    key: 'user',
                    success: function(res) {
                        // console.log(res.data);
                        if (this.name == "admin" && this.password == "123") {
                            console.log('登陆成功');
                            uni.navigateTo({
                                url: '../index/index'
                            })
                        } else {
                            console.log('密码错误啦 ');
                        }

                    }
                });
            }
        }
    }
</script>
运行结果及报错内容

这一块虽然没有报错但是感觉哪里怪怪的实现不了只有注册了才能登录的效果。
(原本在写的)

denglu() {
                console.log(this.dataBase);
                //存储数据到storage
                uni.setStorageSync('root', this.dataBase)
                uni.getStorage({
                    key: 'root',
                    success: function(res) {
                        console.log(res.data);
                    }
                });
            
                if(this.username =='admin' && this.password == '123'){
                    console.log('登陆成功');
                    uni.navigateTo({
                        url:'../index/index'
                    })
                }else{
                    console.log('密码错误啦 ');
                }
                
            },

            register() {
                if (this.name && this.personNumber) {
                    var obj = {
                        "user": this.Regname,
                        "pass": this.personNumber
                    }
                    var arr = [];
                    if (uni.getStorageSync("dataBase")) {
                        arr = uni.getStorageSync("dataBase");
                        console.log(this.arr);
                    }
                    var arr = uni.getStorageSync("dataBase") ? uni.getStorageSync("dataBase") : [];
                    console.log(this.arr);
                    for (var i = 0; i < arr.length; i++) {
                        if (arr[i].user == this.Regname) {
                            uni.showModal({
                                title: "该用户已存在",
                                showCancel: false
                            })
                            break;
                        }
                    }
                    if (i == arr.length) {
                        arr.push(obj);
                        uni.showToast({
                            title: '注册成功',
                            showCancel: false
                        })
                        this.Regname = "";
                        this.personNumber = "";
                        uni.setStorageSync("dataBase", arr);
                    }
                } else {
                    uni.showModal({
                        title: "用户名或密码不能为空",
                        showCancel: false
                    })
                }
            },
        },

我想要达到的结果

想实现只有固定账号才能登陆成功
比如:账号:admin; 密码:123

  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 创建了问题 9月27日

      悬赏问题

      • ¥20 oracle需要把blob(在不截取的条件下)完整转为varchar2类型
      • ¥15 c语言九宫格问题纠错
      • ¥15 数值方法(MATLAB版)第四版课后习题求解
      • ¥15 关于#java#的运行时间过长问题,如何解决?
      • ¥15 R包安装过程中出现了错误
      • ¥15 android 类似辅助筛选软件得实现
      • ¥40 pyqt5主界面跳转实现pandas运用
      • ¥20 uniapp使用uni.uploadFile上传图片,通过后端返回的授权链接,put文件到阿里云服务器
      • ¥15 一个简单循迹小车应该怎么做
      • ¥15 VS2022搭建ASM运行环境