64 行
2.6 KiB
JavaScript
64 行
2.6 KiB
JavaScript
/**
|
||
* 接口模块 · 认证与登录(用户端)
|
||
* 对应模块:认证与登录
|
||
*/
|
||
import { get, post, buildUrl, buildHeaders } from '../utils/request.js'
|
||
|
||
export const authApi = {
|
||
/** 微信一键授权登录:code -> token */
|
||
wxLogin: (payload) => post('/auth/wx-login', payload, { silent: true }),
|
||
/** 手机号密码登录(支持 H5 调试) */
|
||
passwordLogin: (payload) => post('/auth/password-login', payload, { silent: true }),
|
||
/** 手机号绑定(手动输入 11 位手机号) */
|
||
bindPhone: (payload) => post('/auth/bind-phone', payload, { silent: true }),
|
||
/** 微信手机号快捷获取(<button open-type="getPhoneNumber"> 回调的 code) */
|
||
wxPhone: (payload) => post('/auth/wx-phone', payload, { silent: true }),
|
||
/** 保存收款人真实姓名(提现商家转账用,需与微信实名一致) */
|
||
saveRealname: (payload) => post('/auth/realname', payload, { silent: true }),
|
||
/** 更新个人资料(微信昵称 / 头像路径) */
|
||
saveProfile: (payload) => post('/auth/profile', payload, { silent: true }),
|
||
/**
|
||
* 上传微信头像(chooseAvatar 得到的临时文件路径)
|
||
* 小程序环境走 uni.uploadFile(multipart/form-data)。
|
||
* @returns {Promise<{url:string, avatar:string}>}
|
||
*/
|
||
uploadAvatar(filePath) {
|
||
if (typeof uni === 'undefined' || !uni.uploadFile) {
|
||
return post('/auth/avatar', { file: filePath }, { silent: true })
|
||
}
|
||
return new Promise((resolve, reject) => {
|
||
const header = buildHeaders()
|
||
// uni.uploadFile 自行设置 multipart 边界,不能带 application/json
|
||
delete header['Content-Type']
|
||
uni.uploadFile({
|
||
url: buildUrl('/auth/avatar'),
|
||
filePath,
|
||
name: 'file',
|
||
header,
|
||
success: (res) => {
|
||
let body = res && res.data
|
||
try {
|
||
body = JSON.parse(res.data)
|
||
} catch (e) {}
|
||
if (body && body.code === 0) {
|
||
resolve(body.data)
|
||
return
|
||
}
|
||
reject(new Error((body && body.message) || '头像上传失败'))
|
||
},
|
||
fail: () => reject(new Error('头像上传失败')),
|
||
})
|
||
})
|
||
},
|
||
/** 个人 / 商家用户类型切换(商家需资质) */
|
||
switchType: (payload) => post('/auth/switch-type', payload, { silent: true }),
|
||
/** 获取当前用户资料 */
|
||
profile: () => get('/auth/profile', {}, { silent: true }),
|
||
/** 获取当前用户商家认证与商铺资料 */
|
||
getMerchant: () => get('/auth/merchant', {}, { silent: true }),
|
||
/** 提交商家资质认证 / 更新商铺资料 */
|
||
applyMerchant: (payload) => post('/auth/merchant-apply', payload, { silent: true }),
|
||
}
|
||
|
||
export default authApi
|