asp-smart-ui-plus-test
Version:
A Component Library for Vue 3
49 lines (46 loc) • 1.3 kB
JavaScript
import { ref } from 'vue';
import { showToast } from 'vant';
import { phoneValida } from '../../utils/utils/common.mjs';
function useSmsLogin({
channelId = "",
activityId = "",
SUCCESS_CODE = "0000",
checkSmsCode,
userStore
}) {
const user = userStore();
const loading = ref(false);
const userInfo = ref({});
const goSmsLogin = async ({
smsCode = "",
phoneNumber
}) => {
var _a;
if (!phoneValida(phoneNumber)) {
showToast("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7\uFF01");
return false;
}
loading.value = true;
const params = {
phoneNum: phoneNumber,
smsCode,
channelId,
activityId
};
const res = await checkSmsCode(params);
loading.value = false;
if (res.result && res.result.resultCode === SUCCESS_CODE) {
const userObject = {
usessionid: res.data.usessionId || res.data.usessionid,
phoneNumMask: res.data.msisdnmask || res.data.phoneNumMask
};
user.UPDATE_USER(userObject);
userInfo.value = res.data;
showToast("\u767B\u5F55\u6210\u529F");
} else {
showToast(((_a = res.result) == null ? void 0 : _a.resultDes) || res.message || res.resultDes);
}
};
return { loading, goSmsLogin, userInfo };
}
export { useSmsLogin };