feat(commission): 支持计奖商品参与设置、独立分成与多规格规则,完善团队中心与微信快捷登录
这个提交包含在:
@@ -50,20 +50,27 @@ const login = async () => {
|
||||
// 微信小程序手机号授权登陆
|
||||
const mobileLogin = async (e) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
if (e.errMsg !== 'getPhoneNumber:ok') {
|
||||
const detail = e?.detail || e || {};
|
||||
if (detail.errMsg !== 'getPhoneNumber:ok') {
|
||||
resolve(false);
|
||||
return;
|
||||
}
|
||||
|
||||
const { code } = await third.wechat.login(
|
||||
let currentSessionId = uni.getStorageSync('sessionId');
|
||||
if (!currentSessionId) {
|
||||
await getSessionId(false);
|
||||
currentSessionId = uni.getStorageSync('sessionId');
|
||||
}
|
||||
|
||||
const res = await third.wechat.login(
|
||||
{
|
||||
platform: 'miniProgram',
|
||||
payload: encodeURIComponent(
|
||||
JSON.stringify({
|
||||
sessionId: uni.getStorageSync('sessionId'),
|
||||
code: e.code,
|
||||
iv: e.iv,
|
||||
encryptedData: e.encryptedData,
|
||||
sessionId: currentSessionId,
|
||||
code: detail.code,
|
||||
iv: detail.iv,
|
||||
encryptedData: detail.encryptedData,
|
||||
}),
|
||||
),
|
||||
},
|
||||
@@ -72,12 +79,35 @@ const mobileLogin = async (e) => {
|
||||
},
|
||||
);
|
||||
|
||||
if (code === 1) {
|
||||
if (res?.code === 1) {
|
||||
resolve(true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (code === -1) {
|
||||
getSessionId(false);
|
||||
if (res?.code === -1) {
|
||||
const got = await getSessionId(false);
|
||||
if (got) {
|
||||
const retryRes = await third.wechat.login(
|
||||
{
|
||||
platform: 'miniProgram',
|
||||
payload: encodeURIComponent(
|
||||
JSON.stringify({
|
||||
sessionId: uni.getStorageSync('sessionId'),
|
||||
code: e.code,
|
||||
iv: e.iv,
|
||||
encryptedData: e.encryptedData,
|
||||
}),
|
||||
),
|
||||
},
|
||||
{
|
||||
shareInfo: uni.getStorageSync('shareLog') || {},
|
||||
},
|
||||
);
|
||||
if (retryRes?.code === 1) {
|
||||
resolve(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
resolve(false);
|
||||
});
|
||||
@@ -229,20 +259,57 @@ const checkUpdate = async (silence = true) => {
|
||||
// 绑定用户手机号
|
||||
const bindUserPhoneNumber = (e) => {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
const { code } = await third.wechat.bindUserPhoneNumber({
|
||||
const detail = e?.detail || e || {};
|
||||
if (detail.errMsg && !detail.errMsg.includes('ok')) {
|
||||
resolve(false);
|
||||
return;
|
||||
}
|
||||
|
||||
let sessionId = uni.getStorageSync('sessionId');
|
||||
if (!sessionId) {
|
||||
await getSessionId(false);
|
||||
sessionId = uni.getStorageSync('sessionId');
|
||||
}
|
||||
|
||||
const res = await third.wechat.bindUserPhoneNumber({
|
||||
platform: 'miniProgram',
|
||||
payload: encodeURIComponent(
|
||||
JSON.stringify({
|
||||
sessionId: uni.getStorageSync('sessionId'),
|
||||
iv: e.iv,
|
||||
encryptedData: e.encryptedData,
|
||||
code: e.code,
|
||||
sessionId: sessionId,
|
||||
iv: detail.iv,
|
||||
encryptedData: detail.encryptedData,
|
||||
code: detail.code,
|
||||
}),
|
||||
),
|
||||
});
|
||||
if (code === 1) {
|
||||
|
||||
if (res?.code === 1) {
|
||||
await sheep.$store('user').getInfo();
|
||||
resolve(true);
|
||||
return;
|
||||
}
|
||||
|
||||
// sessionId 过期重试
|
||||
if (res?.code === -1) {
|
||||
await getSessionId(false);
|
||||
const retryRes = await third.wechat.bindUserPhoneNumber({
|
||||
platform: 'miniProgram',
|
||||
payload: encodeURIComponent(
|
||||
JSON.stringify({
|
||||
sessionId: uni.getStorageSync('sessionId'),
|
||||
iv: detail.iv,
|
||||
encryptedData: detail.encryptedData,
|
||||
code: detail.code,
|
||||
}),
|
||||
),
|
||||
});
|
||||
if (retryRes?.code === 1) {
|
||||
await sheep.$store('user').getInfo();
|
||||
resolve(true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
resolve(false);
|
||||
});
|
||||
};
|
||||
@@ -279,6 +346,7 @@ function subscribeMessage(event) {
|
||||
export default {
|
||||
load,
|
||||
login,
|
||||
mobileLogin,
|
||||
bind,
|
||||
unbind,
|
||||
transfer,
|
||||
|
||||
在新工单中引用
屏蔽一个用户