国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

arkTS開(kāi)發(fā)鴻蒙OS應(yīng)用(登錄頁(yè)面實(shí)現(xiàn),連接數(shù)據(jù)庫(kù))

這篇具有很好參考價(jià)值的文章主要介紹了arkTS開(kāi)發(fā)鴻蒙OS應(yīng)用(登錄頁(yè)面實(shí)現(xiàn),連接數(shù)據(jù)庫(kù))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

喜歡的朋友可在抖音、小紅書(shū)、微信公眾號(hào)、嗶哩嗶哩搜索“淼學(xué)派對(duì)”。知乎搜索“編程淼”。

前端架構(gòu)

arkts 與數(shù)據(jù)庫(kù)連接案例,數(shù)據(jù)庫(kù)

Toubu.ets

import router from '@ohos.router'
@Component
export struct Header{
  build(){
  //   標(biāo)題部分
    Row({space:5}){
      Image($r('app.media.fanhui'))
        .width(20)
        .onClick(() =>{
          router.back()
        })
      Blank()
      Image($r('app.media.shuaxin'))
        .width(30)
    }
    .width('98%')
    .height(30)
  }
}

Index.ets

import  axios  from '@ohos/axios'
import router from '@ohos.router'
@Entry
@Component
struct Index {
  // 上傳數(shù)據(jù)
  @State zhanghao: string = ''
  @State mima: string = ''
  @State zhanghao_find:string =''
  @State mima_find:string =''

  build() {
      Column() {
        Text('龍年千帆啟鴻蒙')
          .margin({top:70})
          .fontWeight(FontWeight.Bold)
          .fontSize(30)
        Image($r('app.media.icon'))
          .width(150)
          .margin({top:50,bottom:20})
        // 賬號(hào)登錄
        TextInput({placeholder:'賬號(hào)'})
          .margin(20)
          .height(50)
          .onChange(value =>{
            console.log(value)
            this.zhanghao_find = value
          })
          .backgroundColor('#36D2')
        TextInput({placeholder:'密碼'})
          .margin({left:20,right:20,bottom:25})
          .height(50)
          .onChange(value =>{
            console.log(value)
            this.mima_find = value
          })
          .backgroundColor('#36D2')
        Button('登錄')
          .width(200)
          .onClick(()=>{
            axios({
              method: "get",
              url: 'http://localhost:3000/find/'+this.zhanghao_find+ '/' + this.mima_find,
            }).then(res => {
              // console.info('result:' + JSON.stringify(res.data));
              console.info('result:' + JSON.stringify(res.data));
                router.pushUrl({
                  url: 'pages/NewApp_one',
                })
            }).catch(error => {
              console.error(error);
            })
          })
        Row(){
          Text('注冊(cè)')
            .margin({right:5})
            .onClick( () =>{
              {
                router.pushUrl({
                  url: 'pages/zhuce',
                })
              }
            })
          Text('|')
          Text('忘記密碼')
            .margin({left:5})
            .onClick( () =>{
              {
                router.pushUrl({
                  url: 'pages/WangjiMima',
                })
              }
            })
        }.margin(20)
      }
      .width('100%')
    .height('100%')
  }
}

NewApp_one.ets

@Entry
@Component
struct NewApp_one {
  @State message: string = 'app主頁(yè)'

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

WangjiMima.ets

import { Header } from '../components/Toubu'
import  axios  from '@ohos/axios'
import router from '@ohos.router'
@Entry
@Component
struct Index {
  // 上傳數(shù)據(jù)
  @State zhanghao: string = ''
  @State mima: string = ''

  build() {
    Column() {
      Header()
        .margin(20)
      TextInput({placeholder:'原賬號(hào)'})
        .margin(20)
        .height(50)
        .onChange(value =>{
          console.log(value)
          this.zhanghao = value
        })
        .backgroundColor('#36D2')
      TextInput({placeholder:'新密碼'})
        .margin({ left:20,right:20,bottom:20 })
        .height(50)
        .onChange(value =>{
          console.log(value)
          this.mima = value
        })
        .backgroundColor('#36D2')
      Button('修改密碼')
        .width(200)
        .onClick(()=>{
          axios({
            method: "post",
            url: 'http://localhost:3000/upd',
            data:{
              zhanghao:this.zhanghao,
              newmima:this.mima
            },
          }).then(res => {
            console.info('result:' + JSON.stringify(res.data));
            {
              router.pushUrl({
                url: 'pages/NewApp_one',
              })
            }
          }).catch(error => {
            console.error(error);
          })
        })
    }
    .width('100%')
    .height('100%')
  }
}

zhuce.ets

import { Header } from '../components/Toubu'
import  axios  from '@ohos/axios'
import router from '@ohos.router'
@Entry
@Component
struct Index {
  // 上傳數(shù)據(jù)
  @State zhanghao: string = ''
  @State mima: string = ''
  @State zhanghao_find:string =''
  @State mima_find:string =''

  build() {
    Column() {
      Header()
        .margin(20)
      TextInput({placeholder:'注冊(cè)賬號(hào)'})
        .margin(20)
        .height(50)
        .onChange(value =>{
          console.log(value)
          this.zhanghao = value
        })
        .backgroundColor('#36D2')
      TextInput({placeholder:'注冊(cè)密碼'})
        .margin({ left:20,right:20,bottom:20 })
        .height(50)
        .onChange(value =>{
          console.log(value)
          this.mima = value
        })
        .backgroundColor('#36D2')
      Button('注冊(cè)并登錄')
        .width(200)
        .onClick(()=>{
          axios({
            method: "post",
            url: 'http://localhost:3000/publish',
            data:{
              zhanghao:this.zhanghao,
              mima:this.mima
            },
          }).then(res => {
            console.info('result:' + JSON.stringify(res.data));
              router.pushUrl({
                url: 'pages/NewApp_one',
              })
          }).catch(error => {
            console.error(error);
          })
        })
    }
    .width('100%')
    .height('100%')
  }
}

后端代碼node.js

const express = require('express');
const app = express();
const { users } = require('./db');

app.use(express.urlencoded({ extended: true }));
app.use(express.json())

// 注冊(cè)賬號(hào)
app.post("/publish", async (req, res) => {
    try {
        const { zhanghao, mima } = req.body;
        await users.create({
            zhanghao, mima
        });
        res.send("success")
    } catch (error) {
        res.send(error, "error")
    }
})
// 注銷賬號(hào)
app.post("/del", async (req, res) => {
    console.log(req.body.zhanghao)
    try {
        const { zhanghao } = req.body;

        // 使用 deleteOne 刪除指定 name 的數(shù)據(jù)
        const result = await users.deleteOne({ zhanghao });

        if (result.deletedCount === 1) {
            res.send("success");
        } else {
            res.send("未找到匹配的記錄");
        }
    } catch (error) {
        res.send(error, "error");
    }
})
// 修改賬號(hào)密碼
app.post("/upd", async (req, res) => {
    try {
        const { zhanghao, newmima } = req.body;
        // 使用 updateOne 更新指定 name 的數(shù)據(jù)記錄的 nianling 字段
        const result = await users.updateOne({ zhanghao }, { $set: { mima: newmima } });
        res.json({ message: "密碼更新成功!", result });
    } catch (error) {
        res.status(500).json({ error: error.message });
    }
});

// 賬號(hào)登錄
app.get("/find/:zhanghao/:mima", async (req, res) => {
    try {
        const zhanghao = req.params.zhanghao;
        const mima = req.params.mima;

        // 使用 find 查詢所有匹配指定 name 的數(shù)據(jù)記錄
        const results = await users.find({ zhanghao, mima });

        if (results.length > 0) {
            // 如果找到匹配的記錄,則返回所有匹配的記錄
            res.json({ data: results, message: "登錄成功!" });
        } else {
            res.status(404).json({ message: "未找到匹配的記錄" });
        }
    } catch (error) {
        res.status(500).json({ message: "服務(wù)器內(nèi)部錯(cuò)誤" });
    }
});


app.listen(3000, () => {
    console.log('server running')
})

效果圖

arkts 與數(shù)據(jù)庫(kù)連接案例,數(shù)據(jù)庫(kù)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-842956.html

到了這里,關(guān)于arkTS開(kāi)發(fā)鴻蒙OS應(yīng)用(登錄頁(yè)面實(shí)現(xiàn),連接數(shù)據(jù)庫(kù))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 鴻蒙實(shí)戰(zhàn):ArkTs 開(kāi)發(fā)一個(gè)鴻蒙應(yīng)用

    鴻蒙實(shí)戰(zhàn):ArkTs 開(kāi)發(fā)一個(gè)鴻蒙應(yīng)用

    學(xué)習(xí)過(guò)的 ArkTs 知識(shí)點(diǎn),一步一步開(kāi)發(fā)一個(gè)小的鴻蒙應(yīng)用示例,涉及到 ?ArkTs 語(yǔ)法、注解 @Entry 、 @Component 、 @state 、路由、生命周期、 @Prop 、 @Link 、常用組件的使用等等知識(shí)點(diǎn)。 要開(kāi)發(fā)一個(gè)鴻蒙應(yīng)用,首先我們需要知道 系統(tǒng)是如何找到頁(yè)面的啟動(dòng)入口 。 鴻蒙如何啟動(dòng)應(yīng)用

    2024年02月22日
    瀏覽(25)
  • 用Rust開(kāi)發(fā)鴻蒙應(yīng)用(ArkTS NAPI)

    在DevEco Studio的模板工程中包含使用Native API的默認(rèn)工程,使用File-New-Create Project創(chuàng)建Native C++模板工程。 在此基礎(chǔ)上進(jìn)行修改 刪除 entry/src/main/cpp 打開(kāi) entry/build-profile.json5 刪除c++ build 配置 創(chuàng)建rust項(xiàng)目 修改 Cargo.toml lib.rs 添加測(cè)試代碼 添加對(duì)應(yīng)ts代碼 配置依賴 在 rust 根目錄下編

    2024年02月03日
    瀏覽(27)
  • 【鴻蒙應(yīng)用ArkTS開(kāi)發(fā)系列】- Web組件使用講解

    【鴻蒙應(yīng)用ArkTS開(kāi)發(fā)系列】- Web組件使用講解

    目錄 一、Web組件介紹 二、創(chuàng)建組件 權(quán)限列表 三、設(shè)置樣式和屬性 四、添加事件和方法 五、訪問(wèn)本地Html 1、本地html文件創(chuàng)建 2、本地html文件加載 2、JS對(duì)象注入,Html使用JS對(duì)象調(diào)用客戶端方法 3、客戶端調(diào)用本地Html網(wǎng)頁(yè)中的JS方法 使用鴻蒙的ArkUI框架開(kāi)發(fā)鴻蒙應(yīng)用的時(shí)候,官

    2024年02月07日
    瀏覽(25)
  • 【鴻蒙(HarmonyOS)】UI開(kāi)發(fā)的兩種范式:ArkTS、JS(以登錄界面開(kāi)發(fā)為例進(jìn)行對(duì)比)

    【鴻蒙(HarmonyOS)】UI開(kāi)發(fā)的兩種范式:ArkTS、JS(以登錄界面開(kāi)發(fā)為例進(jìn)行對(duì)比)

    之后關(guān)于HarmonyOS技術(shù)的分享,將會(huì)持續(xù)使用到以下版本 HarmonyOS:3.1/4.0 SDK:API 9 Release Node.js:v14.20.1 DevEco Studio: 3.1.0 HarmonyOS應(yīng)用的UI開(kāi)發(fā)依賴于 方舟開(kāi)發(fā)框架(簡(jiǎn)稱ArkUI) 。 根據(jù)官方介紹,ArkUI提供了UI語(yǔ)法、豐富的UI功能(組件、布局、動(dòng)畫(huà)以及交互事件),以及實(shí)時(shí)界面

    2024年02月08日
    瀏覽(16)
  • 鴻蒙開(kāi)發(fā)已解決-ArkTS開(kāi)發(fā)webview,html頁(yè)面中的input和按鈕等操作均無(wú)響應(yīng)

    在鴻蒙開(kāi)發(fā)過(guò)程遇到的問(wèn)題: 問(wèn)題 ArkTS API9 使用webview加載的html,頁(yè)面中的按鈕和input等操作均無(wú)響應(yīng) 是有相關(guān)API設(shè)置webview是否可以touch或者,webview的層級(jí)問(wèn)題來(lái)解決? ArkTS API9 使用webview加載的html,頁(yè)面中的按鈕和input等操作均無(wú)響應(yīng),是有相關(guān)API設(shè)置webview是否可以touch或者

    2024年02月03日
    瀏覽(35)
  • 鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS(stateStyles:多態(tài)樣式)

    鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS(stateStyles:多態(tài)樣式)

    @Styles和@Extend僅僅應(yīng)用于靜態(tài)頁(yè)面的樣式復(fù)用,stateStyles可以依據(jù)組件的內(nèi)部狀態(tài)的不同,快速設(shè)置不同樣式。這就是我們本章要介紹的內(nèi)容stateStyles(又稱為:多態(tài)樣式)。 stateStyles是屬性方法,可以根據(jù)UI內(nèi)部狀態(tài)來(lái)設(shè)置樣式,類似于css偽類,但語(yǔ)法不同。ArkUI提供以下五種

    2024年04月15日
    瀏覽(30)
  • 鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(通用屬性:文本通用)

    鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(通用屬性:文本通用)

    文本通用屬性目前只針對(duì)包含文本元素的組件,設(shè)置文本樣式。 說(shuō)明: 從API Version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。 名稱 參數(shù)類型 描述 fontColor ResourceColor 設(shè)置字體顏色。 從API version 9開(kāi)始,該接口支持在ArkTS卡片中使用。 fon

    2024年03月23日
    瀏覽(22)
  • 鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(基礎(chǔ)手勢(shì):Checkbox)

    鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(基礎(chǔ)手勢(shì):Checkbox)

    提供多選框組件,通常用于某選項(xiàng)的打開(kāi)或關(guān)閉。 說(shuō)明: API version 11開(kāi)始,Checkbox默認(rèn)樣式由圓角方形變?yōu)閳A形。 該組件從API Version 8開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。 無(wú) Checkbox(options?: CheckboxOptions) 多選框組件。 卡片能力: ?從

    2024年04月11日
    瀏覽(33)
  • 鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(容器組件:Scroll)

    鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(容器組件:Scroll)

    可滾動(dòng)的容器組件,當(dāng)子組件的布局尺寸超過(guò)父組件的尺寸時(shí),內(nèi)容可以滾動(dòng)。 說(shuō)明: 該組件從API version 7開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。 該組件嵌套List子組件滾動(dòng)時(shí),若List不設(shè)置寬高,則默認(rèn)全部加載,在對(duì)性能有要求的場(chǎng)

    2024年04月13日
    瀏覽(31)
  • 鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(基礎(chǔ)手勢(shì):CalendarPicker)

    鴻蒙Harmony應(yīng)用開(kāi)發(fā)—ArkTS聲明式開(kāi)發(fā)(基礎(chǔ)手勢(shì):CalendarPicker)

    日歷選擇器組件,提供下拉日歷彈窗,可以讓用戶選擇日期。 說(shuō)明: 該組件從API Version 10開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。 無(wú) CalendarPicker(options?: CalendarOptions) 日歷選擇器。 系統(tǒng)能力: ?SystemCapability.ArkUI.ArkUI.Full 參數(shù): 參數(shù)名

    2024年03月09日
    瀏覽(21)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包