• [案例共创] 【案例共创】华为云码道代码智能体实践: Spec开发宠物小程序
    背景随着宠物经济的兴起,数字化工具成为宠物店提升服务效率与用户体验的关键。本项目旨在利用码道(CodeArts),快速构建一款贴合实际业务需求的宠物店预约小程序。宠物经济数字化宠物消费市场增长:宠物主对高品质服务的需求日益增长,愿意为便捷、专业的服务付费,形成了巨大的市场空间。传统的管理方式痛点:传统的电话、微信预约方式效率低下,易出错,难以进行有效的模块数据统计和分析,制约了门店的进一步发展。小程序解决方案:小程序作为一种轻量级应用,无需下载安装,即用即走,非常适合宠物店这类需要快速触达用户的线下服务场景。业务需求与挑战核心功能梳理:明确小程序的核心是解决预约管理问题,需包含服务展示、在线预约、信息收集等基础功能。用户体验要求:界面需要温馨友好,操作流程应简洁明了,减少用户学习成本,提供流畅的使用体验。开发技术门槛:对于没有编程基础的宠物店老板而言,如何跨越技术门槛,快速实现想法并上线是最大的挑战。数据安全与可靠:确保用户提交的个人信息和预约数据安全、可靠,防止数据泄漏或丢失,是系统稳定运行的基础。AI赋能,让软件开发更简单、更高效码道通过多项智能体核心能力重塑开发体验需求智能拆解:输入自然语言描述的需求,AI可自动拆解为详细的功能点和开发任务。界面原型生成:根据需求或草图,AI可快速生成符合规范的UI界面原型,加速设计环节。代码自动生成:AI根据设计稿和业务逻辑,自动生成高质量的前后端代码,减少手动编码工作量。测试用例生成:自动为代码生成单元测试、集成测试用例,提升代码质量和可靠性。智能问题修复:AI能够理解上下文,辅助开发者快速定位并修复BUG。码道(CodeArts)实践通过码道的Spec、规则和Skill,我们能够高效、规范地完成宠物小程序的开发。在实践过程中亲自体验感受AI编程、AI协作的强大优势。Spec开发模式模式选择Vibe-Coding模式:边说边做,快速验证。通过对话探索想法,通过迭代发现需求。Spec-Driven模式:以规划为导向,交付精准,代码优质。Spec模式-需求生成Spec模式-方案设计Spec模式-任务计划Spec模式-任务执行Rules规则设置通过规则约束,确保代码风格与质量统一代码风格规范:设置统一的代码格式规则,如缩进、命名规范等,保证团队代码风格的一致性。安全漏洞扫描:集成安全扫描规则,在代码提交时自动检查潜在的安全楼栋,如SQL注入、XSS攻击等。提交信息检查:规范Git提交信息的格式,确保每次提交都有清晰的描述,便于后续的版本管理和追溯。质量门禁卡点:在CI/CD流水线中设置质量门禁,如代码覆盖率、编译成功率等,确保只有高质量的代码才能合入主干分支。Skills技能设置技能扩展,让AI具备领域专业知识技能是什么?技能是CodeArts中能力的封装,它将特定领域的专业知识(如前端开发、测试)打包成可复用的模块。内置技能:CodeArts预置了丰富的内置技能,如生成单测、修复单测、Web页面生成与美化、国际化支持等。自定义技能:用户可以根据项目需求,创建个人级或项目级的自定义技能,将自己的经验沉淀为AI的能力。技能调用:在智能体模式下,通过简单的自然语言指令,如“使用frontend-design技能生成一个登录页”,即可调用相应技能完成任务。问题总结在实践中,我们遇到了一些问题并进行了总结,这些经验为后续的开发提供了宝贵的参考,也验证了AI编程、AI辅助开发的巨大潜力。从问题中学习,不断优化开发流程需求描述偏差:初始需求描述过于宽泛,导致AI生成内容与预期不符。通过细化需求,增加示例和约束,问题得以解决。样式调整迭代:AI生成的默认样式为基础,通过多次使用自然语言指令进行细化调整,最终达到设计要求。移动端兼容性:部分组件在移动端显示或交互效果不佳。利用CodeArts预览功能,在多种设别上进行测试并针对性优化。数据库配置:初期对云数据库配置不熟悉。通过查阅文档和问AI咨询,掌握了集合创建、索引设置和数据验证方法。遇到的问题及解决Spec模式:并未触发严格的Spec模式?解决:添加关键词“请按照Spec四步模式进行开发”封装Utils函数:新建上下文对话未使用封装函数?解决:Rules规则里,在自定义Rule规则里添加封装的关键函数方法,使得新建上下文自动触发封装函数引用。作品展示
  • [问题求助] 获取token成功但一直显示403错误
    还有个错误显示是获取设备数据失败: Error: 获取设备影子失败: {"data":{"error_code":"IOTDA.000021","error_msg":"Operation not allowed. User not found by IAM token or the authorized user has not subscribed to IoTDA."是权限不够吗 那应该怎么改?
  • [问题求助] 小程序可以订阅设备属性吗
    请问小程序可以用mqtt直接订阅设备属性并显示吗?然后设备检测到的数据在小程序上实时流动变化(我需要的就是这个功能),如果不行还有什么方便的方法吗?
  • [问题求助] 小程序可以订阅设备属性并显示吗
    我想让小程序实时显示设备的数据变化,可以用小程序直接订阅设备向平台上报的属性吗(用mqtt)
  • [问题求助] 微信小程序的文章列表选用样式3后实际小程序页面不显示任何内容
    微信小程序的文章列表选用样式3后实际小程序页面不显示任何内容下方图是编辑界面的截图 下方是实际微信小程序的界面截图 如上图所示,产品列表的内容全部都消失了。实在匪夷所思·····小程序也重新上传审核发布了都没有解决。
  • [知识分享] 微信h5网页如何静默获取到用户的基本信息(头像昵称)
    要在微信H5网页中静默获取用户的基本信息(如头像和昵称),需要使用微信开放平台提供的OAuth2.0认证机制。具体步骤如下:1. 注册微信公众号或小程序首先,你需要有一个经过认证的微信公众号(服务号)或小程序账号,并且你需要在微信公众平台上进行开发者认证。2. 配置授权回调域名在微信公众平台的“接口权限”->“网页授权”设置中,配置好你的授权回调域名。例如,如果你的网页地址是 http://yourdomain.com,那么你应该将 yourdomain.com 配置为授权回调域名。3. 获取OAuth2.0授权通过以下URL引导用户进行授权:https://open.weixin.qq.com/connect/oauth2/authorize?appid=YOUR_APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect这里,替换以下参数:YOUR_APPID: 你的公众号AppIDREDIRECT_URI: 授权后重定向的回调链接地址STATE: 用于保持请求和回调的状态,可以填写任意值示例:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd930ea5d5a258f4f&redirect_uri=http://yourdomain.com/callback&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect4. 获取Access Token用户同意授权后,微信会重定向到回调地址,并带上 code 和 state 参数。在回调页面通过 code 换取 access_token 和 openid。请求URL示例:https://api.weixin.qq.com/sns/oauth2/access_token?appid=YOUR_APPID&secret=YOUR_APPSECRET&code=CODE&grant_type=authorization_code替换参数:YOUR_APPID: 你的公众号AppIDYOUR_APPSECRET: 你的公众号AppSecretCODE: 上一步获取到的 code5. 获取用户信息拿到 access_token 和 openid 后,就可以通过以下URL获取用户信息:https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN替换参数:ACCESS_TOKEN: 第四步获取到的 access_tokenOPENID: 第四步获取到的 openid微信会返回用户的基本信息,包括头像和昵称,如下所示:{ "openid": "OPENID", "nickname": "NICKNAME", "sex": 1, "province": "PROVINCE", "city": "CITY", "country": "COUNTRY", "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6ibgty/0", "privilege": ["PRIVILEGE1", "PRIVILEGE2"], "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL" }示例代码以下是一个简单的PHP示例,用以演示整个流程:<?php // Step 1: Redirect to WeChat authorization page $appid = 'YOUR_APPID'; $redirect_uri = urlencode('http://yourdomain.com/callback'); $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid={$appid}&redirect_uri={$redirect_uri}&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"; header("Location: $url"); exit; // Step 2: Handle the callback and get access token if (isset($_GET['code'])) { $code = $_GET['code']; $appsecret = 'YOUR_APPSECRET'; $token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code"; $token_data = json_decode(file_get_contents($token_url), true); if (isset($token_data['access_token'])) { $access_token = $token_data['access_token']; $openid = $token_data['openid']; // Step 3: Get user info $user_info_url = "https://api.weixin.qq.com/sns/userinfo?access_token={$access_token}&openid={$openid}&lang=zh_CN"; $user_info = json_decode(file_get_contents($user_info_url), true); // Output user info print_r($user_info); } else { echo "Failed to get access token."; } } else { echo "No code provided."; } ?>注意事项授权作用域:snsapi_userinfo 需要用户手动同意授权,所以严格意义上说这不是完全的“静默”授权。如果需要静默授权,只能使用 snsapi_base,但只能获取 openid。安全性:确保回调地址的安全,避免被恶意利用。缓存处理:考虑对 access_token 做适当的缓存,以减少请求次数。通过以上步骤,你可以实现从微信H5页面静默获取用户的头像和昵称。
  • [技术干货] 微信测试号—scope参数错误或没有scope权限
    1、报错信息: 最近微信测试号自定义菜单后,点击提醒scope参数错误或没有scope权限,如下图:2、原因分析: 如果是微信测试号的话,可能是没有授予权限,没有设置授权回调页面域名。 3、解决方案 到 微信测试号管理(https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login)里配置授权回调页面域名,设置成自己服务器的域名就可以了,注意不要带"http://"