鸿蒙菜谱APP前端后端版本 大作业 毕设参考 实战学习

鸿蒙菜谱APP 前端 后端学习 大作业 毕设 项目实战参考

项目需求说明

使用deveco studio开发一个鸿蒙APP,能够实现前端和后端进行交互,能够动态实现数据的存储,菜谱APP是当下流行的APP,通过菜谱APP可以分享自己的菜谱,同时也可以进行AI智能对话,后端可以管理菜谱的发布,可以管理用户,前端可以注册用户信息,前端可以查看菜谱的信息。前后端分离的项目。

使用人员

学生学习参考,开发人员实战学习

开发环境

鸿蒙前端开发工具 【dev eco studio】
开发框架语句 【ArkUI TypeScript】
app运行工具 【鸿蒙模拟器】

后端环境:
后端java代码开发工具 【idea】
后端框架 【SpringBoot+MyBatis/MyBatisPlus 】
后端项目构建工具 【maven构建】

数据存储 :【mysql】

项目效果实现图

登录效果

登录实现代码:

//  登录的异步方法
  async clickLogin(){

    if(!this.isChecked){
      showMsg('请勾选隐私协议之后,在进行登录操作')
      return
    }

    if(this.username==''||this.password==''){
      showMsg('账号或者密码不能为空')
    }else{
      this.user.username = this.username
      this.user.password = this.password
      await axios.post(loginUrl,this.user,{headers:{
        'Content-Type':'application/json'
      }})
        .then(async (response: AxiosResponse) => {
          // 获取到的数据赋值给users数组

          if(response.data.isSuccess) {
            this.user = response.data.user
            //   //存储登录的信息
              let user:USERINFO = this.user
              let context = getContext(this)
              await putData('username',user.username,context)
              await putData('email',user.email,context)
            showMsg('登录成功')
            setTimeout(() => {
              router.replace({ url: 'pages/TabsPage' }
              )
            }, 1000)
          }else{
            showMsg('用户名或者密码错误')
          }
        })
        .catch((error: AxiosError) => {
          showMsg('登录失败')

        })
        .then(()=> {
          // 总是会执行
        });

    }
  }

登陆页面构建

build() {
    Column(){
        Image($r('app.media.logo'))
          .width(100)
          .height(100)
          .margin({top:20})
      TextInput({
        placeholder:'请输入账号',text:this.username
      })
        .placeholderColor('#666')
        .height(40)
        .borderRadius(20)
        .backgroundColor('#fff')
        .margin({top:100})
        .onChange((value)=>{this.username=value})

        TextInput({
          placeholder:'请输入密码',text:this.password
        })
          .placeholderColor('#666')
          .height(40)
          .borderRadius(20)
          .backgroundColor('#fff')
          .margin({top:20})
          .type(InputType.Password)
          .onChange((value)=>{this.password=value})

       Row(){
          Checkbox()
            .width(10)
            .margin({top:7})
            .onChange((value: boolean) => {
                this.isChecked = value
            })
          Text() {
            Span('我已经阅读并同意')
            Span('《系统隐私政策》  ').fontColor('#3274f6')
            Span('《系统用户服务协议》').fontColor('#3274f6')
            Span('未注册的手机号码将自动注册未系统账号')
          }
           .fontSize(12)
           .fontColor('#666')
           .lineHeight(20)
       }.alignItems(VerticalAlign.Top)
        .margin({top:20})

       Button('登录')
         .width('100%')
         .backgroundColor('#bf2838')
         .margin({top:25})
         .onClick(()=>{
           this.clickLogin()
         })

       Row({space:115}){
          Text('新用户注册').fontSize(14).fontColor('#666')
            .onClick(()=>{
              router.replaceUrl({
                url:'pages/Reg'
              })
            })
          Text('忘记密码').fontSize(14).fontColor('#666')
       }
       .margin({top:15})
    }
    .padding(20)
    .width('100%')
    .height('100%')
    .backgroundImage($r('app.media.bg'))
    .backgroundImageSize(ImageSize.Cover)
  }
}

注册效果图

在这里插入图片描述

菜谱首页

在这里插入图片描述
菜谱详情页面
在这里插入图片描述

AI智能问答

在这里插入图片描述

个人中心

在这里插入图片描述

后端web 系统菜谱发布管理

在这里插入图片描述

后端菜谱删除代码


function del(id){
    //发送ajax请求删除数据
    $.get("/food/deleteFood",{"id":id},function(res){
        if(res.isSuccess){
            utils.$msg('删除成功','orange');
            $("#foodTable").bootstrapTable('refresh')
        }
    });
}

后端菜谱表格搜索功能代码

 search:function(){
            var foodName = $("#q_foodName").val();
            var queryparam = {
                silent:true,
                query:{
                    foodName:foodName
                }
            };
            $('#foodTable').bootstrapTable('refresh',queryparam);

        },

数据库表设计

t_food 是菜谱表
t_menu 是后端菜单表
t_permission是权限表
t_role是角色表
t_role_permission是角色权限表
t_user是用户表
t_user_role是用户角色表

代码获取

项目全部代码 sx 博主 ,项目安装部署运行,项目可以讲解说明

鸿蒙HarmonyOS是华为开发的一款分布式操作系统,旨在为各种智能设备提供统一的操作系统平台。在鸿蒙HarmonyOS上实现微信app效果,可以通过以下步骤进行: ### 1. 环境搭建 首先,需要搭建鸿蒙HarmonyOS的开发环境。可以通过华为开发者官网下载DevEco Studio,这是鸿蒙系统的集成开发环境(IDE)。 ### 2. 创建新项目 打开DevEco Studio,创建一个新的鸿蒙HarmonyOS项目。选择合适的模板,例如“Empty Ability”,然后填写项目名称和包名等信息。 ### 3. 设计界面 使用鸿蒙HarmonyOS提供的UI框架,设计微信app的界面。可以通过XML布局文件或者代码方式实现。微信的主要界面包括聊天列表、聊天窗口、联系人列表等。 ### 4. 实现功能 #### 4.1 聊天功能 实现聊天功能需要处理消息的发送和接收。可以使用鸿蒙HarmonyOS提供的WebSocket或者Socket接口进行实时通信。 ```java // 示例代码:发送消息 public void sendMessage(String message) { // 使用WebSocket发送消息 webSocket.send(message); } // 示例代码:接收消息 webSocket.onMessage((message) -> { // 处理接收到的消息 receiveMessage(message); }); ``` #### 4.2 联系人列表 实现联系人列表需要从服务器获取联系人数据,并显示在界面上。可以使用ListContainer组件来实现。 ```xml <!-- 示例代码:联系人列表布局 --> <ListContainer id="contactList" orientation="vertical"> </ListContainer> ``` ```java // 示例代码:加载联系人数据 public void loadContacts() { List<Contact> contacts = getContactsFromServer(); contactList.setItemProvider(new ContactItemProvider(contacts)); } ``` #### 4.3 聊天记录 实现聊天记录需要将消息保存到本地数据库中。可以使用鸿蒙HarmonyOS提供的数据库接口进行数据存储。 ```java // 示例代码:保存消息到数据库 public void saveMessage(String message) { // 使用数据库接口保存消息 database.insert("messages", message); } ``` ### 5. 测试与调试 在模拟器或者真机上测试app的各项功能,确保没有明显的bug和问题。 ### 6. 发布 完成开发和测试后,可以将app发布到华为的应用市场。 ### 总结 通过以上步骤,可以在鸿蒙HarmonyOS上实现一个类似微信的app效果。当然,实际开发中还需要考虑更多的细节和优化,例如性能优化、安全性、用户体验等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值