✨ 个人信息:增加读取社交信息的接口
parent
f968397ad8
commit
4d9343d2db
|
@ -127,9 +127,9 @@
|
|||
</view>
|
||||
</uni-forms>
|
||||
|
||||
<!-- 当前社交平台的绑定关系,只处理 wechat 微信场景 -->
|
||||
<view v-if="sheep.$platform.name !== 'H5'">
|
||||
<view class="title-box ss-p-l-30">第三方账号绑定</view>
|
||||
|
||||
<view class="account-list ss-flex ss-row-between">
|
||||
<view v-if="'WechatOfficialAccount' === sheep.$platform.name" class="ss-flex ss-col-center">
|
||||
<image
|
||||
|
@ -153,16 +153,16 @@
|
|||
<text class="list-name">微信开放平台</text>
|
||||
</view>
|
||||
<view class="ss-flex ss-col-center">
|
||||
<view class="info ss-flex ss-col-center" v-if="state.thirdOauthInfo">
|
||||
<view class="info ss-flex ss-col-center" v-if="state.thirdInfo">
|
||||
<image
|
||||
class="avatar ss-m-r-20"
|
||||
:src="sheep.$url.cdn(state.thirdOauthInfo.avatar)"
|
||||
></image>
|
||||
<text class="name">{{ state.thirdOauthInfo.nickname }}</text>
|
||||
:src="sheep.$url.cdn(state.thirdInfo.avatar)"
|
||||
/>
|
||||
<text class="name">{{ state.thirdInfo.nickname }}</text>
|
||||
</view>
|
||||
<view class="bind-box ss-m-l-20">
|
||||
<button
|
||||
v-if="state.thirdOauthInfo"
|
||||
v-if="state.thirdInfo.openid"
|
||||
class="ss-reset-button relieve-btn"
|
||||
@tap="unBindThirdOauth"
|
||||
>
|
||||
|
@ -193,7 +193,7 @@
|
|||
const state = reactive({
|
||||
model: {}, // 个人信息
|
||||
rules: {},
|
||||
thirdOauthInfo: null,
|
||||
thirdInfo: {}, // 社交用户的信息
|
||||
});
|
||||
|
||||
const placeholderStyle = 'color:#BBBBBB;font-size:28rpx;line-height:normal';
|
||||
|
@ -210,17 +210,17 @@
|
|||
|
||||
const userInfo = computed(() => sheep.$store('user').userInfo);
|
||||
|
||||
// 选择性别 TODO
|
||||
// 选择性别
|
||||
function onChangeGender(e) {
|
||||
state.model.sex = e.detail.value;
|
||||
}
|
||||
|
||||
// 修改手机号 TODO
|
||||
// 修改手机号
|
||||
const onChangeMobile = () => {
|
||||
showAuthModal('changeMobile');
|
||||
};
|
||||
|
||||
// TODO 芋艿:微信公众号的处理,暂时忽略;后续再说
|
||||
// 选择微信的头像,进行上传
|
||||
function onChooseAvatar(e) {
|
||||
const tempUrl = e.detail.avatarUrl || '';
|
||||
uploadAvatar(tempUrl);
|
||||
|
@ -258,7 +258,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
// 解绑第三方账号 TODO
|
||||
// 解绑第三方账号
|
||||
function unBindThirdOauth() {
|
||||
uni.showModal({
|
||||
title: '解绑提醒',
|
||||
|
@ -266,11 +266,12 @@
|
|||
cancelText: '再想想',
|
||||
confirmText: '确定',
|
||||
success: async function (res) {
|
||||
if (res.confirm) {
|
||||
const result = await sheep.$platform.useProvider('wechat').unbind();
|
||||
if (result) {
|
||||
getUserInfo();
|
||||
}
|
||||
if (!res.confirm) {
|
||||
return;
|
||||
}
|
||||
const result = await sheep.$platform.useProvider('wechat').unbind(state.thirdInfo.openid);
|
||||
if (result) {
|
||||
await getUserInfo();
|
||||
}
|
||||
},
|
||||
});
|
||||
|
@ -294,14 +295,10 @@
|
|||
const userInfo = await sheep.$store('user').getInfo();
|
||||
state.model = clone(userInfo);
|
||||
|
||||
// TODO 芋艿:第三方授权信息,待搞
|
||||
// 获得社交用户的信息
|
||||
if (sheep.$platform.name !== 'H5') {
|
||||
return;
|
||||
// 这个先注释,要不然小程序保存个人信息有问题,
|
||||
let { data, error } = await sheep.$api.user.thirdOauthInfo();
|
||||
if (error === 0) {
|
||||
state.thirdOauthInfo = data;
|
||||
}
|
||||
const result = await sheep.$platform.useProvider('wechat').getInfo();
|
||||
state.thirdInfo = result || {};
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
import request from '@/sheep/request';
|
||||
|
||||
const SocialApi = {
|
||||
// 获得社交用户
|
||||
getSocialUser: (type) => {
|
||||
return request({
|
||||
url: '/app-api/member/social-user/get',
|
||||
method: 'GET',
|
||||
params: {
|
||||
type
|
||||
},
|
||||
custom: {
|
||||
showLoading: false,
|
||||
},
|
||||
});
|
||||
},
|
||||
// 社交绑定
|
||||
socialBind: (type, code, state) => {
|
||||
return request({
|
||||
url: '/app-api/member/social-user/bind',
|
||||
method: 'POST',
|
||||
data: {
|
||||
type,
|
||||
code,
|
||||
state
|
||||
},
|
||||
custom: {
|
||||
custom: {
|
||||
showSuccess: true,
|
||||
loadingMsg: '绑定中',
|
||||
successMsg: '绑定成功',
|
||||
},
|
||||
},
|
||||
});
|
||||
},
|
||||
// 社交绑定
|
||||
socialUnbind: (type, openid) => {
|
||||
return request({
|
||||
url: '/app-api/member/social-user/unbind',
|
||||
method: 'DELETE',
|
||||
data: {
|
||||
type,
|
||||
openid
|
||||
},
|
||||
custom: {
|
||||
showLoading: false,
|
||||
loadingMsg: '解除绑定',
|
||||
successMsg: '解绑成功',
|
||||
},
|
||||
});
|
||||
},
|
||||
};
|
||||
|
||||
export default SocialApi;
|
|
@ -28,18 +28,6 @@ export default {
|
|||
},
|
||||
}),
|
||||
|
||||
// 解除绑定微信
|
||||
unbind: (data) =>
|
||||
request({
|
||||
url: 'third/wechat/unbind',
|
||||
method: 'POST',
|
||||
data,
|
||||
custom: {
|
||||
showSuccess: true,
|
||||
loadingMsg: '解除绑定',
|
||||
},
|
||||
}),
|
||||
|
||||
// 公众号授权
|
||||
oauthLogin: (data) =>
|
||||
request({
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import third from '@/sheep/api/third';
|
||||
import $store from '@/sheep/store';
|
||||
import AuthUtil from '@/sheep/api/member/auth';
|
||||
import SocialApi from '@/sheep/api/member/social';
|
||||
|
||||
const socialType = 34; // 社交类型 - 微信小程序
|
||||
|
||||
|
@ -83,11 +83,9 @@ const bind = () => {
|
|||
};
|
||||
|
||||
// 微信小程序解除绑定
|
||||
const unbind = async () => {
|
||||
const { error } = await third.wechat.unbind({
|
||||
platform: 'miniProgram',
|
||||
});
|
||||
return !error;
|
||||
const unbind = async (openid) => {
|
||||
const { code } = await SocialApi.socialUnbind(socialType, openid);
|
||||
return code === 0;
|
||||
};
|
||||
|
||||
// 小程序更新
|
||||
|
@ -183,13 +181,22 @@ function setOpenid(openid) {
|
|||
uni.setStorageSync('openid', openid);
|
||||
}
|
||||
|
||||
// 获得社交信息
|
||||
async function getInfo() {
|
||||
const { code, data } = await SocialApi.getSocialUser(socialType);
|
||||
if (code !== 0) {
|
||||
return undefined;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export default {
|
||||
load,
|
||||
login,
|
||||
bind,
|
||||
unbind,
|
||||
checkUpdate,
|
||||
bindUserPhoneNumber,
|
||||
mobileLogin,
|
||||
getInfo,
|
||||
subscribeMessage,
|
||||
};
|
||||
|
|
|
@ -2,6 +2,7 @@ import third from '@/sheep/api/third';
|
|||
import $wxsdk from '@/sheep/libs/sdk-h5-weixin';
|
||||
import { getRootUrl } from '@/sheep/helper';
|
||||
import AuthUtil from '@/sheep/api/member/auth';
|
||||
import SocialApi from '@/sheep/api/member/social';
|
||||
|
||||
const socialType = 31; // 社交类型 - 微信公众号
|
||||
|
||||
|
@ -51,13 +52,10 @@ async function bind(code = '') {
|
|||
}
|
||||
|
||||
// 微信公众号解除绑定
|
||||
async function unbind() {
|
||||
debugger
|
||||
const { error } = await third.wechat.unbind({
|
||||
platform: 'officialAccount',
|
||||
});
|
||||
return Promise.resolve(!error);
|
||||
}
|
||||
const unbind = async (openid) => {
|
||||
const { code } = await SocialApi.socialUnbind(socialType, openid);
|
||||
return code === 0;
|
||||
};
|
||||
|
||||
// 获取公众号登陆地址
|
||||
async function getLoginUrl(event = 'login') {
|
||||
|
@ -104,10 +102,20 @@ function setOpenid(openid) {
|
|||
uni.setStorageSync('openid', openid);
|
||||
}
|
||||
|
||||
// 获得社交信息
|
||||
async function getInfo() {
|
||||
const { code, data } = await SocialApi.getSocialUser(socialType);
|
||||
if (code !== 0) {
|
||||
return undefined;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export default {
|
||||
load,
|
||||
login,
|
||||
bind,
|
||||
unbind,
|
||||
getInfo,
|
||||
jssdk: $wxsdk,
|
||||
};
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
// 登录
|
||||
import third from '@/sheep/api/third';
|
||||
import SocialApi from '@/sheep/api/member/social';
|
||||
|
||||
// TODO 芋艿:等后面搞 App 再弄
|
||||
const socialType = 32; // 社交类型 - 微信开放平台
|
||||
|
||||
const load = async () => {};
|
||||
|
||||
|
@ -37,7 +39,23 @@ const login = () => {
|
|||
});
|
||||
};
|
||||
|
||||
// 微信 App 解除绑定
|
||||
const unbind = async (openid) => {
|
||||
const { code } = await SocialApi.socialUnbind(socialType, openid);
|
||||
return code === 0;
|
||||
};
|
||||
|
||||
// 获得社交信息
|
||||
async function getInfo() {
|
||||
const { code, data } = await SocialApi.getSocialUser(socialType);
|
||||
if (code !== 0) {
|
||||
return undefined;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
export default {
|
||||
load,
|
||||
login,
|
||||
getInfo
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue