import { WX_GET_PHONE, WX_GET_USER, WX_UPDATE_USER, WX_UPLOAD_URL } from '../utils/apiList' import { request, Response } from '../utils/http' const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms)); // import { UPLOAD, transformUploadResponseOkData } from 'miniprogram-uploader'; interface PhoneParams { code: string encryptedData: string iv: string } interface PhoneResType { countryCode: string phoneNumber: string purePhoneNumber: string } interface UserResType { } type UserRes = Response & { data: GlobalUserInfo } type PhoneRes = Response & { data: PhoneResType } export const getUserInfo = async (): Promise => { const res = await request.get(WX_GET_USER) const app = getApp(); app.globalData.userInfo = Object.assign({}, app.globalData.userInfo, res.data) wx.setStorageSync('wxUserId', res.data?.wxUserId || '') return res.data } export const updateUserInfo = async (params: Partial): Promise => { const res = await request.post(WX_UPDATE_USER, params) return res } export const decrptPhone = async (params: PhoneParams): Promise => { const res = await request.get(WX_GET_PHONE, params) return res.data } export const updateAvatar = async (avatarUrl: string): Promise => { let url = '' wx.uploadFile({ filePath: avatarUrl, name: 'file', url: WX_UPLOAD_URL, success: async (res) => { const data = JSON.parse(res.data) url = data.data } }) await sleep(500) return Promise.resolve(url) }