用户模块

获取用户列表

接口

GET https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/

该接口支持通过参数 return_total_count 指定是否返回查询对象总数,以协助不关心对象总数只关心查询结果列表的开发者提升接口响应速度。同时,从 v2.2 版本开始该接口默认不返回查询对象总数,欲获取总数的开发者需要显式指定 return_total_count 参数。

参数说明

参数类型必填说明
whereStringN查询语句,参数值应经过 JSON 编码为 JSONString 后,再经过 URL 编码
order_byStringN以下字段不支持排序:gender, country, province, city, language
limitNumberN限制返回资源的个数,默认为 20 条,最大可设置为 1000
offsetNumberN设置返回资源的起始偏移值,默认为 0
return_total_countNumberN返回结果 meta 中是否返回 total_count,1 为返回,0 为不返回,默认不返回

若开发者只需要获取对象总数,则可以通过设置 limit=1 以及 return_total_count=1 来达到该效果,total_count 可从返回的 meta 中获取

请求示例:

  1. https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/?limit=1&return_total_count=1

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.get('https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/', {
  5. params: {
  6. nickname__contains: 'Tom',
  7. gender: 1,
  8. created_at__gt: 1483228800,
  9. order_by: '-created_at',
  10. return_total_count: 1
  11. }
  12. }).then(res => {
  13. console.log(res.data)
  14. })

返回示例

  1. {
  2. "meta": {
  3. "limit": 20,
  4. "next": null,
  5. "offset": 0,
  6. "previous": null,
  7. "total_count": 1
  8. },
  9. "objects": [
  10. {
  11. "avatar": "https://media.ifanrusercontent.com/media/tavatar/55/c3/55c3dbebcc61891be10d29ded808c84a01dcf864.jpg",
  12. "city": "Guangzhou",
  13. "country": "China",
  14. "created_at": 1504504504,
  15. "gender": 1,
  16. "nickname": "PCG",
  17. "openid": "onzns0KsLKFyg3-VcW0GwTE652_k",
  18. "unionid": "onzns0KsLKFyg3-VcW0GwTE652_k",
  19. "province": "Guangdong",
  20. "user_group": [
  21. 137
  22. ],
  23. "user_id": 36619758
  24. }
  25. ]
  26. }

获取用户详情

接口

GET https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/{{user_id}}/

其中 user_id 即用户 ID

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.get('https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/36619758/')
  5. .then(res => {
  6. console.log(res.data)
  7. })

返回示例

  1. {
  2. "avatar": "https://media.ifanrusercontent.com/media/tavatar/55/c3/55c3dbebcc61891be10d29ded808c84a01dcf864.jpg",
  3. "city": "Guangzhou",
  4. "country": "China",
  5. "created_at": 1504504504,
  6. "gender": 1,
  7. "nickname": "PCG",
  8. "openid": "onzns0KsLKFyg3-VcW0GwTE652_k",
  9. "unionid": "onzns0KsLKFyg3-VcW0GwTE652_k",
  10. "province": "Guangdong",
  11. "user_group": [
  12. 137
  13. ],
  14. "user_id": 36619758
  15. }

更新单个用户信息

接口

PUT https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/:id/

其中 :id 是用户在 _userprofile 表中的 id

参数说明

参数与更新数据表数据的参数一致,详细说明请查看:数据模块:更新数据。支持数据原子性更新,详细说明请查看:数据模块:数据原子性更新

返回示例

  1. {
  2. "avatar": "https://media.ifanrusercontent.com/tavatar/4d/7c/4d7c5418b262bfa2250fd3b70789ba9d0c6e4603.jpg",
  3. "city": "广州",
  4. "country": "中国",
  5. "created_at": 1542858732,
  6. "created_by": 70695404,
  7. "gender": 1,
  8. "id": 70695404,
  9. "is_authorized": true,
  10. "language": "zh_CN",
  11. "nickname": "Guoch",
  12. "openid": "o0b495agcnGojMQbCnlB9AV6OeDw",
  13. "province": "广东",
  14. "test": "changed_from_open_api",
  15. "unionid": null,
  16. "updated_at": 1542957870
  17. }

状态码说明

200: 成功。

400: 字段类型不匹配,更新非自定义字段或不存在的字段。

404: 用户不存在。

批量修改自定义字段

PUT https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/

该接口支持通过参数 return_total_count 指定是否返回待更新对象总数,以协助不关心对象总数只关心数据更新结果的开发者提升接口响应速度。同时,从 v2.2 版本开始该接口默认不返回待更新对象总数,欲获取总数的开发者需要显式指定 return_total_count 参数。

Query 参数说明

参数类型必填说明
whereStringN查询语句,参数值应经过 JSON 编码为 JSONString 后,再经过 URL 编码
limitNumberN限制单次请求更新的用户数,默认为 20 条,最大可设置为 1000
offsetNumberN设置更新的偏移值,默认为 0
return_total_countNumberN返回结果中是否包含 total_count,1 为包含,0 为不包含,默认不包含

where 字段的详细说明请查看:数据模块:数据操作

参数说明

参数与更新数据表数据的参数一致,详细说明请查看:数据模块:更新数据。支持数据原子性更新,详细说明请查看:数据模块:数据原子性更新

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.put('https://cloud.minapp.com/userve/v2.2/miniapp/user_profile/', {
  5. test: 'test'
  6. }).then(res => {
  7. console.log(res.data)
  8. });

返回示例

  1. {
  2. "operation_result": [
  3. {
  4. "success": {
  5. "id": "5a3c51cdceb616ccfc9d5f78",
  6. "updated_at": 1564411939
  7. }
  8. }
  9. ],
  10. "succeed": 1,
  11. "total_count": 1,
  12. "offset": 0,
  13. "limit": 1000,
  14. "next": null
  15. }

返回参数的详细说明请查看:数据模块:同步批量修改数据

状态码说明

200: 成功。

400: 字段类型不匹配,更新非自定义字段或不存在的字段。

401: 未授权,请检查请求头中的 Authorization 字段是否正确。

修改用户登录信息

接口

PUT https://cloud.minapp.com/userve/v2.2/miniapp/user/account/:id/

其中 :id 是用户在 _userprofile 表中的 id

参数说明

Content-Type: application/json

参数类型必填说明
usernamestringN用户名,不区分大小写
emailstringN邮箱,不区分大小写
new_passwordstringN设置用户密码
phonestringN新的手机号

如果需要为用户强行修改密码, 传入 new_password 即可。当设置新的手机号时,phone_verified 重置为 false,需要重新通过验证码进行验证。

如想重置用户的 email/username/phone,可以将 email/username/phone 的值设置为 null。

代码示例

  1. var axios = require('axios').create({
  2. withCredentials: true
  3. })
  4. axios.put('https://cloud.minapp.com/userve/v2.2/miniapp/user/account/70695404/', {
  5. username: 'pretty_girl'
  6. }).then(res => {
  7. console.log(res.data)
  8. });

返回示例

  1. {
  2. "email": "pretty_girl@fake.com",
  3. "email_verified": false,
  4. "username": "pretty_girl",
  5. "phone": "13800138000",
  6. "phone_verified": true
  7. }

返回参数说明

参数类型说明
usernamestring用户名,不区分大小写
emailstring邮箱,不区分大小写
email_verifiedboolean用户邮箱是否已激活
phonestring手机号码
phone_verifiedboolean手机号码是否已经验证

状态码说明

200: 成功。

400: password 错误、email 不合法、username 或 email 已经存在。

404: 用户不存在。