| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- import request from '@/utils/request'
- import { getRefreshToken } from '@/utils/auth'
- import { OAUTH2_URL } from '@/api/baseUrl'
- // 1、引入ibps-oauth包
- import IbpsOAuth from './oauth2'
- // import { GRANT_TYPE, CLIENT_ID, CLIENT_SECRET } from '@/constant'
- import { GRANT_TYPE } from '@/constant'
- // 2、生成一个OAuth的实例,clientId和clientSecert作为构造参数
- // const oauthApi = new IbpsOAuth(CLIENT_ID, CLIENT_SECRET)
- const oauthApi = new IbpsOAuth()
- /**
- * 用户登录
- * @param {*} username 用户名
- * @param {*} password 密码
- * @param {*} captcha 验证码
- * @param {*} requestId 验证码请求ID
- */
- export function login(params) {
- if (GRANT_TYPE === 'authorization_code') {
- return loginByCode(params)
- } else if (GRANT_TYPE === 'password_credentials') {
- return loginByPassword(params)
- }
- }
- /**
- * 通过[code授权]方式登录
- * @param {*} username 用户名
- * @param {*} password 密码
- * @param {*} captcha 验证码
- * @param {*} requestId 验证码请求ID
- */
- export function loginByCode(params) {
- return new Promise((resolve, reject) => {
- oauthApi.getLoginCode(params, function(error, res) {
- if (error) {
- return reject(error)
- }
- resolve(res)
- })
- })
- }
- /**
- * 通过[密码]授权方式登录
- * @param {*} username 用户名
- * @param {*} password 密码
- * @param {*} captcha 验证码
- * @param {*} requestId 验证码请求ID
- */
- export function loginByPassword(params) {
- return new Promise((resolve, reject) => {
- oauthApi.getAccessTokenByPassword(params, function(error, res) {
- if (error) {
- return reject(error)
- }
- resolve(res)
- })
- })
- }
- /**
- * 用户登出
- *
- */
- export function logout(accessToken) {
- return request({
- url: OAUTH2_URL() + '/user/logout',
- method: 'post',
- params: {
- access_token: accessToken
- }
- })
- }
- /**
- *获取验证码[匿名]
- */
- export function getValidCode(params) {
- return request({
- url: OAUTH2_URL() + '/user/captcha',
- method: 'get',
- params: params
- })
- }
- /**
- * 根据用户名, 获取用户上下文信息
- * @param {*} token
- */
- export function getUserInfo(username, load = true) {
- return request({
- url: OAUTH2_URL() + '/user/context',
- method: 'post',
- params: {
- username
- },
- isLoading: load
- })
- }
- /**
- * 刷新tonken
- */
- export function refreshAccessToken() {
- return new Promise((resolve, reject) => {
- oauthApi.refreshAccessToken(getRefreshToken(), function(error, res) {
- if (error) {
- return reject(error)
- }
- resolve(res)
- })
- })
- }
- /**
- * 微信登录
- * @param {*} params
- */
- export function wcLogin(params) {
- return request({
- url: OAUTH2_URL() + '/user/login/wechat/apply',
- anonymous: true,
- mask: true,
- method: 'post',
- data: params
- })
- }
- export function switchUser({ username, token }) {
- return request({
- url: OAUTH2_URL() + '/authentication/switch',
- method: 'post',
- data: {
- // 'client_id': CLIENT_ID,
- // 'client_secret': CLIENT_SECRET,
- 'grant_type': 'authorization_code',
- 'access_token': token,
- 'username': username
- }
- })
- }
- export function exitSwitchUser({ username, token }) {
- return request({
- url: OAUTH2_URL() + '/authentication/switch/exit',
- method: 'post',
- data: {
- // 'client_id': CLIENT_ID,
- // 'client_secret': CLIENT_SECRET,
- 'grant_type': 'authorization_code',
- 'access_token': token,
- 'username': username
- }
- })
- }
- /**
- * 是否开启注册
- */
- export function getRegisterOpen() {
- return request({
- url: OAUTH2_URL() + '/user/open',
- method: 'get'
- })
- }
- /**
- * 用户注册
- * @param {*} params
- */
- export function register(params) {
- return request({
- url: OAUTH2_URL() + '/user/register',
- method: 'post',
- data: params
- })
- }
- /**
- * 用户短信验证
- * @param {*} params
- */
- export function sendSms(params) {
- return request({
- url: OAUTH2_URL() + '/user/send/sms',
- method: 'get',
- params: params
- })
- }
- /**
- * 重置密码-注册用户使用
- * @param {*} params
- */
- export function resetPasswd(params) {
- return request({
- url: OAUTH2_URL() + '/user/reset/passwd',
- method: 'post',
- data: params
- })
- }
|