diff --git a/src/apis.js b/src/apis.js index 63058f9..8513a15 100644 --- a/src/apis.js +++ b/src/apis.js @@ -50,12 +50,12 @@ export const getProvinceData = () => { return request("GET", "/index/provinces/list"); }; -export const loginAPI = async (nickName, avatarUrl, code) => { +export const loginAPI = async (nickName, avatarData, code) => { const result = await request("POST", "/index/code", { appName: "shoot", appId: "wxa8f5989dcd45cc23", nickName, - avatarUrl, + avatarData, code, }); uni.setStorageSync("token", result.token); diff --git a/src/components/Signin.vue b/src/components/Signin.vue index e6c3811..af41c88 100644 --- a/src/components/Signin.vue +++ b/src/components/Signin.vue @@ -50,7 +50,10 @@ const handleLogin = () => { provider: "weixin", success: async (loginRes) => { const { code } = loginRes; - const result = await loginAPI(nickName.value, avatarUrl.value, code); + const fileManager = uni.getFileSystemManager(); + const avatarBase64 = fileManager.readFileSync(avatarUrl.value, "base64"); + const base64Url = `data:image/png;base64,${avatarBase64}`; + const result = await loginAPI(nickName.value, base64Url, code); updateUser({ ...result.user, nickName: nickName.value,