「AI开发小程序教程」七、用户与登录

2026-06-13 | 5 分钟阅读 | 分类: 微信小程序

在第六篇中,我讲了怎么用AI开发一个待办事项小程序的后端程序,把数据存储到服务器中,即使换了手机,历史数据也能取到。但这些数据会对打开小程序的任何人展示,也可以被任何人更改,无法服务多个用户。

要解决这个问题,需要加入用户体系,并在数据库中记录每条数据是哪个用户的。小程序只把属于用户自己的数据展示出来,并且每个用户只能修改删除自己的私有数据。

用户体系

一般来说,一个支持多用户的软件中,会有用户表,用于存储用户ID、用户名、密码、昵称、头像等个人信息。在其他数据表中,通常添加一个user_id来表示是哪个用户的数据。

但在微信小程序的场景下,有一点不同,因为使用微信小程序的用户本身一定是一个微信用户。微信小程序提供了一种机制(wx.login),我们可以利用这个机制获取到用户在我们小程序里的唯一用户id:openid。所以,在微信小程序中,后端程序也可以不需要自建用户表。

相关文档位于:

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.login.html

图片

注意,openid是用户在当前小程序的唯一标识,同一个用户在不同的小程序中的openid是不一样的。这肯定是出于安全考虑非常正确的做法。所以你如果开发了多个小程序,即使两个小程序内有相同的openid,那也肯定不是同一个微信用户。

如果某个用户同时使用了你的多个小程序,并且你想要在不同的小程序之间进行用户的统一的互联互通,那么你需要去微信开放平台注册一个帐号(注意是开放平台,不是公众平台),并且把小程序绑定到微信开放平台帐号上,然后使用unionid,而不是openid。在这个教程中,我暂时用openid就足够了。

要注意的是,并不是在小程序的代码中使用了wx.login就立即获得到openid,这个方法只会返回一个code。

图片

需要把这个code提交到后端程序,再从后端程序中访问微信的接口来换取openid。完整的登录机制文档位于:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html

图片

可以看到,在请求微信服务器的时候,需要appid和appsecret,这两个东西是从小程序的后台取得的。

图片

而微信服务器提供的接口是auth.code2Session,文档位于:

https://developers.weixin.qq.com/miniprogram/dev/server/API/user-login/api_code2session.html

你不必了解到底怎么调用这些方法,因为最终是AI帮我们实现这些东西。你只需要知道流程,以便跟AI说明:

  • 使用wx.login拿到code
  • 把code发送到后端程序
  • 后端程序去请求微信接口auth.code2Session,拿到openid
  • 后端不要直接返回openid,换成一个门票给小程序(也称为token、令牌等)
  • 小程序存储这个门票,并在后续请求后端程序时带上门票

当然,门票的有效时间你可以随意指定,可长可短,当门票实效后,重新来一次登录流程就行

用户登录

上面的内容,我重点讲了微信登录,但是并不是说非要用微信登录才行。

小程序并没有限制登录方式,你依然可以使用自建的用户系统,用户表。提供登录、注册的方法。比如常见的手机号+验证码、帐号(如手机号、邮箱)+密码登录等。

以下是详细的对比,✅代表优势项

图片

当然,你也可以同时支持多种登录方式。

让AI帮你实现用户与登录

又到了跟AI聊天的时候了。由于登录方式的多样性,与AI聊天也会有不同的方式,这里我以帐号密码登录、微信小程序登录为例分别举个例子。

1、帐号密码登录

使用以下模版

为小程序增加用户体系,后端使用自建的用户表

小程序中实现登录、注册页面

后端存储用户密码时不要使用明文,要注意安全性问题,不要用过于简单的方式加密待办事项数据接口进行调整,只展示用户的私有数据

实现数据权限控制,用户只能操作自己的数据

图片

然后测试功能正常就可以了,都是熟悉的套路了。非常简单,一次就过。

图片

2、小程序登录

使用以下模板

为小程序增加用户体系,后端不需要自建用户表,使用微信小程序登录即可

  • 使用wx.login拿到code
  • 把code发送到后端程序
  • 后端程序去请求微信接口auth.code2Session,拿到openid(此处需要的appid、appsecret,以配置文件配置,不要直接在代码中)
  • 后端不要直接返回openid,换成一个门票给小程序(也称为token、令牌等)
  • 小程序存储这个门票,并在后续请求后端程序时带上门票
  • 门票的有效期为1天,如果失效,请重新登录

小程序中不需要登录、注册页面,用户进入小程序时,自动调用微信小程序登录

待办事项数据接口进行调整,只展示用户的私有数据

实现数据权限控制,用户只能操作自己的数据

图片

接下来,按照提示把appid和appsecret写到配置文件里就能运行啦。

总结

按顺序读过之前文章的朋友可能越来越能感受和理解「像程序员那样,用AI制作小程序」的关键点了:可以不会写程序,但要学会一些程序员使用的词语,能清楚地向AI表达自己的需求。这也正是贯穿本教材的基本方法论,我会告诉你这些基本的词语、基本的流程,让你不光能用AI写出来小程序,也能像程序员那样专业!

小程序开发方法基本就是这样了,让AI不断更新和实现你的想法就行。接下来,我将重点介绍怎么真正部署、上线小程序,先完成主线任务。

文章目录

鲁ICP备2023028957号鲁公网安备37059002000210