用户管理

更新时间:2024-09-11 02:06:17下载pdf

API 列表

分类API说明
登录与退出loginByWx微信授权登录
loginByAccount账号登录
loginByTicket临时票据登录
isLogin是否登录
logout退出登录
用户信息getUserInfo获取用户信息
getOpenId获取用户 openId
预注销sendCode发送验证码
verifyCode校验验证码
preDeleteAccount预注销用户信息
绑定微信bindWX绑定微信
unbindWX解绑微信
更新信息updateUser更新用户信息

登录与退出

微信授权登录

loginByWx

微信授权登录。

需要注意分为以下两种情况:

  • 普通微信登录:未使用微信开放平台来进行多应用关联。
  • 账号打通微信登录:使用了微信开放平台来进行多应用关联,例如,关联公众号和小程序。

入参

可选,可传入一个对象,对象支持的参数有:

名称 类型 必填 说明
isMultiAppLogin Boolean 是否为账号打通登录

返回数据

返回一个 Promise 对象。

示例

import { loginByWx } from '@ray-js/wechat';

Page({
  async login(){
    try {
       await loginByWx();
       console.log('登录成功');
    } catch (e){
       console.log('登录失败');
    }
  }
})

账号登录

loginByAccount

使用 App 账号和密码进行登录。

  • 此 API 需要进行账号打通操作后,方可使用。否则,请使用 loginByWx API 进行登录。
  • 若需账号打通,则用户需要拥有正式版微信 SDK 小程序,并确认信息无误后,可 提交工单 进行申请。

入参

需要传入一个 Account 对象。

Account 对象数据结构

名称 类型 必填 说明
username String 账号
password String 密码

返回数据

返回一个 Promise 对象。

示例

import { loginByAccount } from '@ray-js/wechat';

Page({
  async login(){
    try {
       await loginByAccount({ username: 'test', password: '123456'});
       console.log('登录成功');
    } catch (e){
       console.log('登录失败');
    }
  }
})

临时票据登录

loginByTicket

此 API 一般结合云开发项目,进行账号打通后的同步登录。

入参

需要传入一个对象。

对象数据结构

名称 类型 必填 说明
ticket String 登录凭证
accessId String 项目的 AccessId,从 涂鸦开发者平台 上获取

返回数据

返回一个 Promise 对象。

示例

import { loginByTicket } from '@ray-js/wechat';

Page({
  async login(){
    try {
       await loginByTicket({ ticket: 'as3d8e9wkd9ekdkfje9984e', accessId: 'test12444556'});
       console.log('登录成功');
    } catch (e){
       console.log('登录失败');
    }
  }
})

是否登录

isLogin

判断当前登录状态。

入参

返回数据

返回一个 Promise 对象,其值为 Boolean 值。

  • true:当前为已登录状态。
  • false:当前为未登录状态。

示例

import { isLogin } from '@ray-js/wechat';

Page({
  async onLoad(){
    const hasLogin = await isLogin();
    if (hasLogin) {
        console.log('已登录');
    } else {
        console.log('未登录');
    }
  }
})

退出登录

logout

执行退出登录。

入参

名称 类型 必填 说明
isForce Boolean 是否强制退出,默认为 false

返回数据

返回一个 Promise 对象。

  • 如果入参 isForcetrue 时,一定会返回一个 Promise.resolve(true) 的值。
  • 如果入参 isForcefalse 时,只有正常退出时,才会返回 Promise.resolve(true) 的值,否则返回 Promise.reject(err) 的值。

示例

import { logout } from '@ray-js/wechat';

Page({
  async handleLogout(){
    await logout(true);
    console.log('退出登录成功');
  }
})

用户信息

获取登录用户信息

getUserInfo

获取登录用户的信息。

入参

返回数据

返回 UserInfo 对象,未登录时返回 null

UserInfo 数据结构

属性 类型 说明
avatar String 用户头像
country_code String 国家码
create_time Number 注册时间
email String 绑定的邮箱
mobile String 绑定的手机号码
nick_name String 昵称
temp_unit String 用户设置的温度单位
time_zone_id String 所在时区
uid string 用户 ID(UID)
update_time Number 信息更新时间
username String 用户名
isBindWx Boolean 是否绑定微信

示例

import { getUserInfo } from '@ray-js/wechat';

Page({
  onLoad(){
    const useInfo = getUserInfo();
  }
})

获取 openId

getOpenId

获取用户的微信 openId

入参

返回数据

返回一个 Promise 对象,Promise 值的数据结构为:

属性 类型 说明
openId String 微信的 openId
unionId String 微信的 unionId,进行账号打通后才有值

示例

import { getOpenId } from '@ray-js/wechat';

Page({
  onLoad(){
    const { openId } = getOpenId();
  }
})

预注销

发送验证码

sendCode

在进行一些高危操作之前,需要先发送验证码。例如,注销用户。

入参

入参为一个对象,对象数据结构为:

名称 类型 必填 说明
type Number 业务码,8 表示注销用户
username String 待接收验证码的手机号码或邮箱

返回数据

一个 Promise 对象。

示例

import { sendCode } from '@ray-js/wechat';

Page({
  async handleSendCode(){
    try {
        await sendCode({
            type:8,
            username: '13888888888'
        });
        console.log('发送成功');
    } catch(e) {
        console.log('发送失败');
    }
  }
})

校验验证码

verifyCode

校验用户输入的验证码。

入参

入参为一个对象,对象数据结构为:

名称 类型 必填 说明
type Number 业务码,8 表示注销用户
username String 待接收验证码的手机号码或邮箱
code String 用户输入的验证码

返回数据

一个 Promise 对象。

示例

import { verifyCode } from '@ray-js/wechat';

Page({
  async handleSendCode(){
    try {
        await verifyCode({
            type:8,
            username: '13888888888',
            code: '123456',
        });
        console.log('发送成功');
    } catch(e) {
        console.log('发送失败');
    }
  }
})

预注销用户数据

preDeleteAccount

在成功调用此 API 后,一般在 7 天后执行注销操作。在执行注销操作前,如果用户进行了登录,则会取消预注销任务。

此 API 为高危操作 API,故在调用此 API 前,请先进行验证码校验,否则无法成功调用此 API。

入参

返回数据

一个 Promise 对象。

示例

import { preDeleteAccount } from '@ray-js/wechat';

Page({
  async handleDeleteAccount(){
    try {
        await preDeleteAccount();
        console.log('预注销用户成功');
    } catch(e) {
        console.log('预注销用户失败');
    }
  }
})

绑定微信

账号绑定微信

bindWX

账号绑定当前微信。仅使用账号登录的用户可以做此操作。

入参

返回数据

一个 Promise 对象。

示例

import { bindWX } from '@ray-js/wechat';

Page({
  async handleBindWX(){
    try {
        await bindWX();
        console.log('绑定成功');
    } catch(e) {
        console.log('绑定失败');
    }
  }
})

账号解绑微信

unbindWX

解除当前账号绑定的微信。仅使用账号登录的用户可以做此操作。

入参

返回数据

一个 Promise 对象。

示例

import { unbindWX } from '@ray-js/wechat';

Page({
  async handleUnbindWX(){
    try {
        await unbindWX();
        console.log('解绑成功');
    } catch(e) {
        console.log('解绑失败');
    }
  }
})

更新信息

更新用户昵称和头像

updateUser

更新用户的昵称和头像。

由于安全问题,目前暂不开放头像更新。

入参

需要传入一个对象,对象的数据结构为:

名称 类型 必填 说明
nickName String 用户昵称
avator String 用户头像

返回数据

一个 Promise 对象。

示例

import { updateUser } from '@ray-js/wechat';

Page({
  async handleUpdateNickname(){
    try {
        // 更新用户昵称
        await updateUser({nickName: 'hello'});
        console.log('更新成功');
    } catch(e) {
        console.log('更新失败');
    }
  }
})