tsx81428 发表于 2025-3-11 11:19:51

uniapp:sqlite最具体教程,小白可直接粘贴复制

https://i-blog.csdnimg.cn/direct/1caceca905d745c288a6cce62fbfdd86.png
新建uniapp项目,需要4个页面,
loading 启动页:打开数据库,判断数据表是否存在,表内是否有数据,创建数据表的逻辑。
register 注册页:数据表已存在,但是没有数据,需要进入该页面注册第一条数据
index 首页:展示数据列表内的数据,可修改默认,添加新数据
edit 编辑:编辑,更新数据
以下代码已测试兼容安卓IOS,可直接粘贴复制到自己项目里使用,
数据字段自行添加/修改,修改后别忘了把sqlite.js内的对应上
https://i-blog.csdnimg.cn/direct/d5ebdf86883f439f9aa15bab000a7ce9.png
   loading.vue
<template>
        <view class="content">
        </view>
</template>

<script>
        import {
   
                openDatabase, // 打开/创建:数据库
                createWalletTable, // 创建钱包表
                checkTableExists, // 检查数据表是否存在
                checkTableHasData, // 检查表内是否有数据
                insertWalletData, // 添加钱包数据
                queryWalletData, // 获取表数据
                updateWalletData, // 更新表数据
                deleteWalletData, // 删除表数据
                closeDatabase, // 关闭数据库
        } from '@/static/sqlite.js'
        export default {
   
                async onLoad() {
   
                        // 1. 打开/创建:数据库
                        let res_openDatabase = await openDatabase()
                        console.log('打开数据库:', res_openDatabase);

                        // 2. 检查数据表是否存在
                        let res_checkTableExists = await checkTableExists('wallets')
                        console.log('数据表是否存在:', res_checkTableExists);
                       
                        if (res_checkTableExists) {
   
                                // 如果表存在,检查表中是否有数据
                                let res_checkTableHasData = await checkTableHasData('wallets')
                                console.log('表内有数据吗:', res_checkTableHasData);
                                if(res_checkTableHasData){
   
                                        uni.redirectTo({
   
                                                url: '/pages/index/index',
                                        })
                                }else{
   
                                        uni.redirectTo({
   
                                                url: '/pages/index/register',
                                        })
                                }
                        } else {
   
                                // 不存在创建数据表,并去注册
                                let res_createWalletTable = await createWalletTable()
                                console.log('创建成功:', res_createWalletTable);
                                uni.redirectTo({
   
                                        url: '/pages/index/register',
                                })
                        }
                },
                methods: {
   }
        }
</script>
   register.vue
<template>
        <view class="content">
                <view class="">第一次注册,id默认1,is_default默认1(默认地址),不能修改</view>
                <view class="value">
                        <view class="item">
                                <text>id:</text>
                                <input type="text" placeholder="请输入" v-model="id" disabled/>
                        </view>
                        <view class="item">
                                <text>name:</text>
                                <input type="text" placeholder="请输入" v-model="name"/>
                        </view>
                        <view class="item">
                                <text>chain:</text>
                                <input type="text" placeholder="请输入" v-model="chain"/>
                        </view>
                        <view class="item">
                                <text>password:</text>
                                <input type="text" placeholder="请输入" v-model="password"/>
                        </view>
                        <view class="item">
                                <text>address:</text>
                                <input type="text" placeholder="请输入" v-model="address"/>
                        </view>
                        <view class="item">
                                <text>mnemonic:</text>
                                <input type="text" placeholder="请输入" v-model="mnemonic"/>
                        </view>
                        <view class="item">
                                <text>privateKey:</text>
                                <input type="text" placeholder="请输入" v-model="privateKey"/>
                        </view>
                        <view class="item">
                                <text>is_default:</text>
                                <input type="text" placeholder="请输入" v-model="is_default" disabled/>
                        </view>
                </view>
               
               
                <button class="btn" type="default" @click="add">注册添加数据</button>
        </view>
</template>

<script>
        import {
   
                openDatabase, // 打开/创建:数据库
                createWalletTable, // 创建钱包表
                checkTableExists, // 检查数据表是否存在
                checkTableHasData, // 检查表内是否有数据
                insertWalletData, // 添加钱包数据
                queryWalletData, // 获取表数据
                updateWalletData, // 更新表数据
                deleteWalletData, // 删除表数据
                closeDatabase, // 关闭数据库
        } from '@/static/sqlite.js'
        export default {
   
                data() {
   
                        return {
   
                                id:'1',
                                chain:'BNB',
                                address:'我的地址',
                                mnemonic:'我的助记词',
                                privateKey:'我的私钥',
                                name:'钱包名称',
                                password:'123456',
                                is_default:1
                        }
                },
                async onLoad() {
   

                },
                methods:
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: uniapp:sqlite最具体教程,小白可直接粘贴复制