feat: add registration page for new miniprogram users

- New register page with chooseAvatar, nickname input (random default),
  and required phone number authorization via getPhoneNumber
- Login simplified: removed deprecated wx.getUserProfile, checks
  is_new_user flag to redirect new users to registration
- Server login response now includes is_new_user field
这个提交包含在:
Guoguo
2026-05-06 06:12:34 -07:00
父节点 5cc41f0f10
当前提交 563e515bce
修改 9 个文件,包含 301 行新增92 行删除
+3
查看文件
@@ -16,7 +16,9 @@ router.post('/auth/login', wrap(async (req, res) => {
const session = await code2Session(req.body.code || '')
let user = await userDao.findByOpenid(session.openid)
let isNewUser = false
if (!user) {
isNewUser = true
const result = await userDao.create(session.openid)
user = await userDao.findById(result.insertId)
await logDao.write({ user_id: user.user_id, action: 'user_register', detail: '新用户注册', ip: req.ip })
@@ -26,6 +28,7 @@ router.post('/auth/login', wrap(async (req, res) => {
res.json(ok({
token,
user_id: String(user.user_id),
is_new_user: isNewUser,
user_info: {
user_id: String(user.user_id),
nickname: user.nickname || '用户' + String(user.user_id),