IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 用户模块-接口说明 -> 正文阅读

[JavaScript知识库]用户模块-接口说明

用户模块-接口说明

一.用户模块概述

? 用户模块主要提供对于是用户使用本产品的基础。用户模块提供以下功能:

用户注册

用户登录

用户激活

用户收获地址新增/修改/删除/设为默认

找回密码

修改密码

二.事件定义

1. 用户激活

? 用户在注册的同时会同步发送用户激活的邮件。此激活邮件中存在用户激活的链接,用户通过点击此链接之后,在此页面内进行跳转到激活页面,此页面中有两个按钮,是否激活。用户点击激活之后,通过ajax发送激活请求。进行激活。

2. 用户地址管理

? 地址查询功能:在用户访问到地址页面时,此时会发送用户绑定的地址请求,全量返回有效的用户地址。

? 增加地址功能:用户可以提交新增地址,包括收货人、收件地址、地址标签、以及用户的联系方式,通过ajax提交。如果正常存储的话,此时回全量返回用户绑定的地址。

? 修改地址功能:用户可以修改有效地址中的收件人、收件地址、练习方式、以及地址标签。提交成功的话,回全量返回用户的地址。

? 删除地址功能:用户可以在界面上触发删除地址按钮,此时会将地址的ID通过ajax传入到后台,通过设置该地址的活跃属性来实现删除功能,此功能也是全量返回,然后通过渲染进行在前端展示。

? 设为默认地址:用户可以将任意一个非默认地址改为默认地址。通过ajax提交到后端,此功能提交的是地址的ID,将此ID的地址设置为默认,同时将此用户的其他地址ID设为非默认。然后进行全量返回。进行渲染。

3. 找回密码

? 用户在登陆页可以通过点击找回密码按钮来实现找回密码功能,主要分为三步。首先通过用户发送注册时的邮箱,此时会向邮箱中发送一份关于找回密码的验证码,此验证码会有时效。通过输入对应的验证码,验证没问题之后,显示设置新密码界面,提交之后就可以使用新密码进行登录。

4. 修改密码

? 修改密码功能需要在登录情况下进行,在个人账号管理页面中选择,需要输入旧密码以及新密码。通过ajax进行与后端交互。如果用户正确修改密码之后,则需要重新登陆。

三.API 说明

1. 用户注册功能API

用户注册功能API

  • URL

    http://127.0.0.1:8000/v1/users

  • 请求方法

    POST

  • 请求参数

    JSON

    字段含义类型备注
    uname用户名char必填
    password密码char必填
    phone手机号char必填
    email邮箱char必填
    carts购物车中商品种类数量int必填

    请求示例

    {
        'uname':'zhaoliying',
        'password':'123456',
        'phone':'13603263333',
        'email':'zhaoliying@tedu.cn',
        'carts': '0'
    }
    
  • 响应格式

    • 正确示例

      {
          'code': 200,
          'username': 'zhaoliying',
          'data': { 'token': token },
          'carts_count': 0
      }
      
    • 错误示例

      {
          'code': xxx,
          'error': 'error reason'
      }
      
  • 响应数据说明

    字段含义类型备注
    code状态码int必填
    username用户名char与error二选一
    data返回数据[token]dict与error二选一
    carts_count购物车商品种类数量int与error二选一
    error错误原因char错误时填写

2. 用户登录功能API

用户登录功能API

  • URL

    http://127.0.0.1:8000/v1/tokens

  • 请求方法

    POST

  • 请求参数

    JSON

    字段含义类型备注
    username用户名char必填
    password密码char必填
    carts购物车商品种类数量int必填

    请求示例

    {
        'username': 'zhaoliying',
        'password': '123456',
        'carts': 0
    }
    
  • 响应格式

    • 正确响应示例

      {
          'code': 200,
          'username': 'zhaoliying',
          'data': { 'token': token },
          'carts_count': 0
      }
      
    • 错误响应示例

      {
          'code': xxx,
          'error': 'error reason'
      }
      
  • 响应数据说明

    字段含义类型备注
    code状态码int必填
    username用户名char与error二选一
    data返回数据[token]dict与error二选一
    carts_count购物车商品种类数量int与error二选一
    error错误原因char错误时填写

3. 邮箱验证激活功能API

? 在用户注册时候,后台会给用户注册填写的邮箱发送一条激活的链接。通过点击链接跳转到达达商城的用户激活页面。通过激活来实现商城所有功能的体验。

3.1 事件触发

? 用户在注册时候会通过邮箱给用户发送一封激活邮件,然后用户通过点击链接,进行重定向到前端地址,此时通过js获取用户前端页面的查询字符串,进行激活。

页面名: register.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o8KU3Lpa-1634386395602)(images/WX20191124-214045.png)]

3.2 触发结果

正常结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-67T7yRey-1634386395603)(images/WX20191124-211639.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KqXtOCaC-1634386395604)(images/WX20191124-213112.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p4BHkgy0-1634386395604)(images/WX20191124-213433.png)]

跳转激活页面:

页面地址: xxx/xxx/active.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XxruOBhQ-1634386395605)(images/WX20191124-213600.png)]

异常结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w4Y4PReY-1634386395605)(images/WX20191124-214504.png)]

URLhttp://127.0.0.1:8000/v1/users/activation?code=xxxx

请求方法:GET

请求参数:JSON

字段含义类型备注
code用户名和随机码base64编码字符串char必填

返回值:JSON

响应格式

# 正常响应
{
  'code': 200,
  'data': '激活成功'
}
# 异常响应
{
  'code':xxx,
  'error':'error_reason'
}

4. 地址管理功能API

4.1 地址功能说明

达达商城提供地址增删改查设为默认的功能:

? 查询功能:在用户请求的地址管理页面的时候,等页面主体加载完之后,会发送查询当前用户的绑定地址。返回当前用户绑定的所有地址。

? 增加地址功能:用户可以新增绑定地址。

? 修改地址功能:可以修改用户地址中的任何字段。

? 删除地址功能:可以删除用户所绑定的地址,不是真正的删除,而是在后台将地址改为非活跃的。

? 设为默认地址:用户可以将任意一个非默认地址改为默认地址。默认地址在用户完成付款之前会直接绑定到该订单上。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v4IuHOfA-1634386395606)(images/WX20191127-103812.png)]

4.2 查询地址

URL:http://127.0.0.1:8000/v1/users/<username>/address

4.2.1 事件出发

页面名:addressAdmin.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JyhCQ5lx-1634386395606)(images/WX20191124-215254.png)]

4.2.2 触发结果

? 正常响应:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7d2wlJIv-1634386395607)(images/WX20191124-220115.png)]

? 异常响应:

? 如果用户没有登陆的访问到地址页面,此时会弹出用户登陆提示,然后跳到登陆页面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fa1FR748-1634386395607)(images/WX20191125-150939@2x.png)]

请求方法:GET

返回数据:在访问页面的时候,返回当前用户的所有地址

返回值:JSON

响应格式

# 正常数据返回
{
  "code":200,
   "addresslist":[
      {
        'id':123456, # 地址id
        'address':'河北省石家庄市裕华区幸福快乐大厦1166室', # 地址
        'receiver''达内科技', # 收货人
        'receiver_mobile''12345678901', # 联系电话
        'tag':'家',# 地址标签
        'postcode':'722494',  #
        'is_default':"True",
      },
      {
         'id':123457,
        'address':'河北省石家庄市桥东区编程大厦1188室''receiver''达内科技''receiver_mobile''12345678910',
        'tag':'公司''postcode':'722406',
        'is_default':"False",
      }
    ]
}
# 异常数据返回类型:
{
  'code': status_code,
  'error':'error_reason'
}

4.3 新增地址

4.3.1 事件触发

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1PXOM7bi-1634386395607)(images/WX20191125-091831@2x.png)]

4.3.2 触发结果

? 正常结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yHLx2vqV-1634386395608)(images/WX20191125-091954@2x.png)]

? 异常结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AOqCJ3YS-1634386395608)(images/WX20191125-092143@2x.png)]

URL:http://127.0.0.1:8000/v1/users/<username>/address

请求方法:POST

请求参数:JSON

参数参数类型含义备注
receiverchar(10)收件人必填
receiver_phonechar(11)收件人电话必填
addresschar(100)地址必填
postcodechar(7)邮编必填
tagchar(10)标签必填

请求示例

{
  'receiver':'小王''receiver_phone':'18667018590',
  'address':'北京市东城区珠市口大街珍贝大厦2楼',
  'postcode':'722405',
  'tag':'公司'
}

返回值:JSON

响应格式

# 正常响应
{
  "code":200,
  "data":"新增地址成功!"
}
# 异常响应
{
  'code': status_code,
  'error':'error_reason'
}

4.4 删除地址

4.4.1 事件触发

页面名:addressAdmin.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kFCV3VRS-1634386395608)(images/WX20191125-094403@2x.png)]

4.4.2 触发结果

正常触发:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O4MOvFiE-1634386395608)(images/WX20191125-094523@2x.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CYkYzrv5-1634386395609)(images/WX20191125-094621@2x.png)]

URL:http://127.0.0.1:8000/v1/users/<username>address/<id>

请求方法:DELETE

请求参数: JSON

参数参数类型含义备注
idchar(10)地址ID必填
usernamechar(11)用户名必填
{
  'id':'xxxxxx'
}

返回值:JSON

响应格式

# 正常响应
{
  "code":200,
   "data":"删除地址成功"
}
# 异常响应:
{
  'code':xxxx,
  'error':'error_reason'
}

4.5 修改地址

4.5.1 事件触发

页面名:addressAdmin.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ppqHEjH-1634386395609)(images/WX20191125-095319@2x.png)]

4.5.2 触发结果

正常响应

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ooRyrxk9-1634386395609)(images/WX20191125-095555@2x.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mRS89BFn-1634386395609)(images/WX20191125-095813@2x.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gkoavt1D-1634386395610)(images/WX20191125-100000@2x.png)]

异常响应

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yW5X46w9-1634386395610)(images/WX20191125-100137@2x.png)]

URL:http://127.0.0.1:8000/v1/users/<username>/address/<id>

请求方式:PUT

请求参数:JSON

参数参数类型含义备注
tagchar(10)地址标签必填
receiver_phonechar(11)收件人电话必填
receiverchar(7)收件人姓名必填
Addresschar(100)收件人地址必填

请求示例:

{
  'receiver':'校长',
  'receiver_phone':'18667018590''address':'广东省深圳市龙华区民治大道100号',
  'tag':'公司',
}

返回值:JSON

响应格式

# 正常响应
{
  "code":200,
  "data":"地址修改成功!"
}

# 异常响应
{
    "code": xxx,
     'error':'error_reason'
}

4.6 设为默认地址

4.6.1 事件触发

页面名:addressAdmin.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0zkUa8l-1634386395610)(images/WX20191125-102252@2x.png)]

4.6.2 触发结果

正常触发

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WiqSh7r4-1634386395610)(images/WX20191125-102356@2x.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9gZQ5JMl-1634386395610)(images/WX20191125-102449@2x.png)]

URLhttp://127.0.0.1:8000/v1/users/address/<username>/default

请求类型:POST

参数参数类型含义备注
idchar(10)地址ID必填

请求示例

{
  'id':'xxxxxxx'
}

返回值:JSON

响应格式

# 正常响应
{
  "code":200,
  "data":"设为默认成功!"
}
# 异常响应
{
  'code':xxx,
  'error':'error_reason'
}

5. 修改密码

在登录的状态下才能够修改用户登录密码。

5.1 事件触发

页面名: personal_password.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-llJpiy9W-1634386395611)(images/WX20191124-201357.png)]

5.2 触发结果

? 触发成功:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uqYC0YZy-1634386395611)(images/1574586866845.jpg)]

? 触发失败:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jPQkUQmM-1634386395611)(images/WX20191124-171200@2x.png)]

修改密码API:

URL: http://127.0.0.1:8000/v1/users/<username>/password

请求方法:POST

请求参数:JSON

字段含义类型备注
oldpassword旧密码char必填
password1新密码char必填
password2确认密码char必填

请求示例:

{
  'oldpasword':'123456',
  'password1':'123321',
  'password2':'654321'
}
字段含义类型备注
code状态int默认正常为200。异常见附录
error错误信息dict与data二选一
data正确信息dict与error二选一
message包含在正确信息或者错误信息中,为具体原因char存在于data或者error中

返回值:JSON

响应格式

# 正确示例
{
  'code':200,
  'data':'修改成功'
}
# 错误示例
{
  'code':xxx,
  'error':'error reason'
}

6. 找回密码功能

时序图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qMHDIHD4-1634386395611)(images/WX20191127-104632.png)]

6.1 发送邮箱验证请求

6.1.1 事件触发

页面名: findPass.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jSJlrfYm-1634386395611)(images/WX20191124-201908.png)]

6. 1.2 触发结果

邮箱中可以收到后台发送的邮箱验证码(10分钟之内有效):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bG8apzRi-1634386395611)(images/1574598497022.jpg)]

触发失败:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hsdMalbx-1634386395612)(images/WX20191124-203937.png)]

发送邮箱验证

URLhttp://127.0.0.1:8000/v1/users/password/sms

请求方法:POST

请求参数:JSON

字段含义类型备注
email邮箱char通过邮箱找回密码

请求示例:

{
	'email':xxxxx # 邮箱
}

响应数据

字段含义类型备注
code状态码int必填
data返回数据dict与error二选一
error返回错误原因char与data二选一

返回值:JSON

响应格式

# 正常响应
{
  'code':200,
  'data':"邮件发送成功",
}
# 异常响应
{
  'code':xxx,
  'error':'error reason'
}

6.2 发送邮箱验证码

6.2.1 事件触发

页面名: findPass.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AfI5SHRb-1634386395612)(images/WX20191124-203134.png)]

6.2.2 触发结果

正常结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CPOlKUJ6-1634386395612)(images/WX20191125-142700@2x.png)]

异常结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vpUOWVa3-1634386395612)(images/WX20191124-204534.png)]

发送邮箱验证码:

URLhttp://127.0.01:8000/v1/users/password/verification/

请求方法: POST

请求参数:JSON

字段含义类型备注
email邮箱char必填
code验证码char必填
{
  'email':'xxxx',
  'code':'xxxx'
}

响应数据:

字段含义类型备注
code响应状态吗char必填
data返回正常数据()dict与error二选一
error返回错误原因()char与data二选一

返回值:JSON

响应格式

# 正常响应
{
  'code':200,
 	'data':'验证码通过''email''xxxx' # 返回邮箱
}
# 异常响应
{
  'code':xxx,
  'error':'error reason'
}

6.3 修改密码

6.3.1 事件触发

页面名: findPass.html

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wD6FHTDZ-1634386395613)(images/WX20191125-113421@2x.png)]

6.3.2 触发结果

正常响应

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5wFcFnwX-1634386395613)(images/WX20191125-114042@2x.png)]

异常响应:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGBrxukV-1634386395613)(images/WX20191125-114319@2x.png)]

修改密码:

URLhttp://127.0.0.1:8000/v1/users/password/new

请求方法:POST

请求参数:JSON

字段含义类型备注
email邮箱char必填
password1新密码char必填
Password2确认密码char必填

请求i示例

{
	"email":"xxx",    # 通过用户邮箱锁定用户
  'password1':'xxx' # 新密码
  'password2':'xxx' # 确认密码
}

响应数据:

字段含义类型备注
code响应状态码char必填
data返回正常数据dict与error二选一
error返回异常数据dict与data二选一
message具体响应信息char正确或者错误原因

返回值:JSON

响应格式

# 正常数据
{
  'code':200,
  'data':'OK'
}
#  异常数据
{
  'code':xxx,
  'error':'error reason'
}

附录:用户模块异常状态码参考:

状态码响应信息原因短语
200正常OK
10100无效参数Invalid parameters
10101无法获取用户名,需要登陆。User not logged in
10102设置新密码两次输入不一致Inconsistent passwords
10103旧密码错误Old password error
10104用户查询出错User query error
10105存储验证码失败Storage authentication code failed
10106验证码失效,请重新发送The validation code is invalid. Please send it again.
10107无法获取用户旧密码Unable to retrieve old password
10108无效的密码Please enter your password
10109确认密码有误Confirm that the password is incorrect
10110两次密码不一致Password Inconsistencies
10111旧密码错误Old password error!
10112验证链接失效Verify that the link is invalid and resend it
10113激活链接参数有误Error activating link parameters
10114地址查询出错Error in Address Query
10115无效的收件人invalid recipients
10116无效的地址Invalid address
10117无效的电话号码Invalid phone number
10118无效的邮编Invalid postcode
10119无效的地址标签Invalid tag
10120地址存储异常Address storage exception
10121地址查询异常Get address exception
10122无法获取地址IDGet address id error
10123修改地址参数有误Error in address modification parameters
10124无法获取微博登陆页Cant get weibo login page
10125无法获取微博tokenUnable to get weibo token
10126无效的邮箱Invalid email
10127无效的用户名Invalid username
10128创建用户失败Create user failed
10129无效的微博tokenInvalid access token
10130关联微博失败Related to weibo failed
10131无效的手机号Invalid phone number
201微博账号未绑定本地用户access_token used
10131重复请求Repeated requests
10132获取验证码异常Verify Code Error
10133新旧密码重复Use Different Password
10134无法获取用户Can’t get User
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 11:54:34  更:2021-10-17 11:56:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:46:56-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码