尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(三)

用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(三)
📅 发布时间:2026/6/18 0:49:44

用 .NET MAUI 10 + VS Copilot 从 0 开发一个签到 App(三)

一、本文目标

从这一篇开始,我们正式进入业务功能开发。

本文将完成一个最重要的里程碑:

使用 Visual Studio Copilot,从 0 生成一个“可用但不幼稚”的签到页面。

读完本文,你将看到:

  • Copilot 在 MAUI + XAML 中能做到什么程度
  • 哪些代码“看起来对,但实际不该直接用”
  • 一个真实项目中,如何控制 Copilot 的参与边界

二、签到页面的设计目标

在写任何代码之前,先明确目标。

这个签到页面需要做到:

  • 一个明确的页面标题
  • 一个「签到」按钮
  • 当前用户最近一次签到时间
  • 不引入复杂 UI 动效

这是一个典型的业务页面,而不是 Demo 展示页。


三、使用 Copilot 生成第一步

1️⃣ Copilot Prompt(原始输入)

我在 MainPage.xaml 中,直接向 Copilot Chat 输入了下面的提示:

制作一个签到app, 要求有身份验证, 多租户, 使用freesql orm

这一步非常关键:

Prompt 写得越清晰,后面需要人工修改的成本就越低。

Copilot回复如下

你的需求是将当前的 .NET MAUI 工程改造成一个支持身份验证、多租户,并使用 FreeSql ORM 的签到应用。
我会分步实现基础结构,优先完成以下内容:
1.	添加 FreeSql ORM 支持。
2.	设计用户、租户、签到相关的数据模型。
3.	实现基础身份验证(如简单登录界面和逻辑)。
4.	多租户支持(用户与租户关联)。
5.	基础签到功能界面和逻辑。首先,我将获取项目文件列表,确认需要修改和添加的文件。接下来会逐步实现上述功能。下一步将进行如下操作:
1.	在 MauiProgram.cs 中集成 FreeSql ORM(注册为单例)。
2.	创建数据模型(用户、租户、签到记录)。
3.	添加登录页面和基础身份验证逻辑。
4.	设计多租户结构(用户与租户关联)。
5.	初步实现签到功能界面。

2️⃣ Copilot 生成

Copilot 很快给出了一个完整的文件结构,大致包括:

  • MauiProgram.cs
  • Entities.cs

• 在 MauiProgram.cs 注册了 FreeSql ORM,使用 SQLite 数据库。
• 新建了 Entities.cs,包含租户、用户、签到记录的数据模型。


四、添加登录页面和基础身份验证逻辑,并设计多租户结构与签到功能界面。

继续实现以下内容:

  1. 登录页面(用户名、密码、租户选择)。
  2. 登录逻辑(身份验证,用户与租户关联)。
  3. 登录成功后进入签到页面。
    我将先创建登录页面的 XAML 和后台代码,并实现租户列表加载与登录校验。稍后会添加签到页面。

image

已完成以下步骤:

  1. 创建了登录页面(LoginPage.xaml 和后台代码),支持租户选择、用户名、密码输入。
  2. 登录逻辑实现,校验用户与租户信息,登录成功后跳转签到页面。
  3. 创建了签到页面(SignInPage.xaml 和后台代码),用户可进行签到操作。
  4. 设置应用入口为登录页面。
    你可以直接运行项目,体验多租户身份验证和签到功能。

五、首次运行出错

❌ 问题 1:freesql页面获取实例没弄好, 因为maui10改了一些特性,手工调整了一下ok了

Copilot 有时会:

  • 没有最新SDK的训练数据,写出旧版方法
  • 默认加入不必要的写法

这会让程序运行不起来,需要手工介入。

❌ 问题 2:当前的 App.xaml.cs 文件中,MainPage 和 CreateWindow(IActivationState?) 都设置了主页面,可能导致 MAUI 导航和窗口初始化冲突。

image

Copilot 完美的修复了问题

六、登录页面中文乱码

生成的页面编码不对

  1. 用支持 UTF-8 的编辑器(如 VS、VS Code)打开 LoginPage.xaml。
  2. 点击右下角编码, 用GBK重新打开, 选择“另存为”,编码选 UTF-8。

image


七、这一页完成后的状态

到这一步为止,我们已经拥有:

  • 一个可运行的登录和签到页面
  • 一个结构清晰的 ViewModel
  • 没有任何“Demo 味”的临时代码

这也是整个签到 App 的业务起点。


八、Copilot 在这一阶段的真实评价

客观来说:

  • Copilot 可以完成 80%~90% 的样板代码
  • 但剩下的 10%,决定了项目的质量

尤其是在:

  • 新SDK方法
  • 可扩展性

这些地方,人类工程师不可替代。


九、下一篇预告

下一篇,我们会把这个“单页签到”升级成真正可用的功能:

第 4 篇:签到逻辑落地——从按钮点击到数据持久化(SQLite)

同时,也会开始为后面的:

  • 登录
  • 多租户

正式铺路。

到下一篇,我们开始写“真正的业务代码”。🚀

关联项目

FreeSql QQ群:4336577

BA & Blazor QQ群:795206915

Maui Blazor 中文社区 QQ群:645660665

知识共享许可协议

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名AlexChow(包含链接: https://github.com/densen2014 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系 。

转载声明

本文来自博客园,作者:周创琳 AlexChow,转载请注明原文链接:https://www.cnblogs.com/densen2014/p/19379853

AlexChow

今日头条 | 博客园 | 知乎 | Gitee | GitHub

image

相关新闻

  • Scikit-image 实战指南:10 个让 CV 模型更稳健的预处理技巧
  • 常用 Linux 性能调优参数速查表
  • AgentScope深入分析-LLMMCP

最新新闻

  • 2026年河南汝瓷伴手礼定制与企业商务礼品源头厂家采购指南 - 年度推荐企业名录
  • IT内幕16:微软中国薪资福利揭秘:为什么被称为“养老院”?
  • 如何在C++中正确地使用和操作指针?
  • 出生医学证明登报怎么办理?出生医学证明登报多少钱?(附模板+详细流程) - 叮咚办真方便
  • 国内五恒系统服务企业排行:基于资质与案例的客观盘点 - 起跑123
  • 零代码私有化:企业级AI模型工作站DLTM训推一体化平台助力企业搭建专属AI检测模型

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号