跳至主要內容

第5次课

周子力2025年10月7日小于 1 分钟教学文档HarmonyOS

备忘录设计

1.UI界面

picture 0
picture 0
picture 1
picture 1
picture 2
picture 2
picture 3
picture 3

2.代码结构

picture 4
picture 4

代码云效: https://codeup.aliyun.com/688724e5efefeec54ed56ac5/harmony/notes.git

可以用git clone 拉取代码, 例:

git clone https://codeup.aliyun.com/688724e5efefeec54ed56ac5/harmony/notes.git

2.网络数据获取代码

import axios,{
  InternalAxiosRequestConfig,
  AxiosError,
  AxiosResponse
} from "@ohos/axios"

import { MemoParams, Task } from "../model/TaskModel";


const service=axios.create({
  // baseURL:"http://localhost:5000/api",
  // headers:{'Content-Type': 'application/json'},
  baseURL:"http://10.31.25.81:5000/api",
  timeout:3000
})

// 添加请求拦截器
service.interceptors.request.use((config:InternalAxiosRequestConfig) => {
  // 对请求数据做点什么
  return config;
}, (error:AxiosError) => {
  // 对请求错误做些什么
  return Promise.reject(error);
});


// 添加响应拦截器
service.interceptors.response.use((response:AxiosResponse)=> {
  // 对响应数据做点什么
  return response;
}, (error:AxiosError)=> {
  // 对响应错误做点什么
  return Promise.reject(error);
});


export async function getallmemos(){

   return await service({
     url:"/tasks",
     method:"get",
  })
}

export async function addMemo(params:Task){

  return await service({
      url:"/tasks",
      method:"post",
      data: params
  })

}

export async function delMemo(task_id:MemoParams){

  return await service({
    url:"/tasks",
    method:"delete",
    params: task_id
  })

}

export async function toggleMemo(task_id:MemoParams){

  return await service({
    url:"/tasks/toggle",
    method:"put",
    params: task_id
  })

}

export async function updateMemo(task_id:string,data:MemoParams){

  return await service({
    url:"/tasks",
    method:"put",
    params:{task_id:task_id},
    data: data,
  })

}

```
上次编辑于: 2025/10/11 01:18:56
贡献者: zilizhou,unknown