307 lines
10 KiB
JavaScript
307 lines
10 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../common/vendor.js");
|
|
const api_api = require("../../api/api.js");
|
|
const utils_auth = require("../../utils/auth.js");
|
|
if (!Array) {
|
|
const _easycom_up_input2 = common_vendor.resolveComponent("up-input");
|
|
const _easycom_up_form_item2 = common_vendor.resolveComponent("up-form-item");
|
|
const _easycom_up_toast2 = common_vendor.resolveComponent("up-toast");
|
|
const _easycom_up_code2 = common_vendor.resolveComponent("up-code");
|
|
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
|
|
const _easycom_up_form2 = common_vendor.resolveComponent("up-form");
|
|
(_easycom_up_input2 + _easycom_up_form_item2 + _easycom_up_toast2 + _easycom_up_code2 + _easycom_up_button2 + _easycom_up_form2)();
|
|
}
|
|
const _easycom_up_input = () => "../../node-modules/uview-plus/components/u-input/u-input.js";
|
|
const _easycom_up_form_item = () => "../../node-modules/uview-plus/components/u-form-item/u-form-item.js";
|
|
const _easycom_up_toast = () => "../../node-modules/uview-plus/components/u-toast/u-toast.js";
|
|
const _easycom_up_code = () => "../../node-modules/uview-plus/components/u-code/u-code.js";
|
|
const _easycom_up_button = () => "../../node-modules/uview-plus/components/u-button/u-button.js";
|
|
const _easycom_up_form = () => "../../node-modules/uview-plus/components/u-form/u-form.js";
|
|
if (!Math) {
|
|
(_easycom_up_input + _easycom_up_form_item + _easycom_up_toast + _easycom_up_code + _easycom_up_button + _easycom_up_form)();
|
|
}
|
|
const _sfc_main = {
|
|
__name: "login",
|
|
setup(__props) {
|
|
const code = common_vendor.ref("");
|
|
const phone = common_vendor.ref(null);
|
|
common_vendor.ref(false);
|
|
const isPhoneLogin = common_vendor.ref(true);
|
|
const customStyle = common_vendor.reactive({
|
|
height: "90rpx",
|
|
fontSize: "36rpx"
|
|
});
|
|
const customCode = common_vendor.reactive({
|
|
color: "#3ec7c0",
|
|
height: "64rpx",
|
|
fontSize: "28rpx",
|
|
borderColor: "#e2e2e2",
|
|
opcity: "1"
|
|
});
|
|
const tips = common_vendor.ref("");
|
|
const seconds = common_vendor.ref(10);
|
|
const uCodeRef = common_vendor.ref(null);
|
|
const checked = common_vendor.ref(false);
|
|
const hasRedirectUrl = common_vendor.ref(false);
|
|
const radioChange = (e) => {
|
|
checked.value = !checked.value;
|
|
};
|
|
const alertAgree = () => {
|
|
common_vendor.index.showToast({
|
|
title: "请先同意用户协议",
|
|
icon: "none"
|
|
});
|
|
};
|
|
common_vendor.onLoad((options) => {
|
|
if (options.redirectUrl) {
|
|
hasRedirectUrl.value = true;
|
|
}
|
|
});
|
|
const goPage = () => {
|
|
if (hasRedirectUrl.value) {
|
|
common_vendor.index.__f__("log", "at pages/login/login.vue:201", "true");
|
|
let url = "";
|
|
let redirectUrl = common_vendor.index.getStorageSync("redirectUrl");
|
|
if (redirectUrl && redirectUrl.indexOf("/login/login") == -1) {
|
|
url = redirectUrl;
|
|
} else {
|
|
url = "pages/index/index";
|
|
}
|
|
common_vendor.index.__f__("log", "at pages/login/login.vue:210", "url:" + url);
|
|
common_vendor.index.redirectTo({
|
|
url: "/" + url,
|
|
success() {
|
|
common_vendor.index.setStorageSync("redirectUrl", "");
|
|
}
|
|
});
|
|
} else {
|
|
common_vendor.index.__f__("log", "at pages/login/login.vue:219", "false");
|
|
common_vendor.index.redirectTo({
|
|
url: "/pages/index/index"
|
|
});
|
|
}
|
|
};
|
|
const getPhoneNumber = (e) => {
|
|
if (e.detail.errMsg === "getPhoneNumber:ok") {
|
|
common_vendor.index.__f__("log", "at pages/login/login.vue:228", e.target.code);
|
|
utils_auth.auth().then((res) => {
|
|
common_vendor.index.__f__("log", "at pages/login/login.vue:230", res);
|
|
api_api.api.wxLogin({
|
|
phone_code: e.target.code,
|
|
wx_code: res,
|
|
source: 1
|
|
}).then((data) => {
|
|
common_vendor.index.hideKeyboard();
|
|
let result = data.data.data;
|
|
{
|
|
const { envVersion } = common_vendor.index.getAccountInfoSync().miniProgram;
|
|
if (envVersion == "release") {
|
|
common_vendor.index.setStorageSync("AUTH_TOKEN_CASEDATA", result.token);
|
|
} else {
|
|
common_vendor.index.setStorageSync("DEV_AUTH_TOKEN_CASEDATA", result.token);
|
|
}
|
|
}
|
|
common_vendor.index.setStorageSync("userInfo", {
|
|
avatar: result.avatar,
|
|
user_id: result.user_id,
|
|
status: result.status,
|
|
user_name: result.user_name,
|
|
doctor_id: result.doctor_id
|
|
});
|
|
goPage();
|
|
}).catch((err) => {
|
|
common_vendor.index.showToast({
|
|
title: err,
|
|
icon: "none"
|
|
});
|
|
});
|
|
});
|
|
}
|
|
};
|
|
const phoneLogin = () => {
|
|
if (!isPhoneNum(phone.value))
|
|
return;
|
|
if (!code.value) {
|
|
common_vendor.index.showToast({
|
|
title: "请输入验证码",
|
|
icon: "none"
|
|
});
|
|
return false;
|
|
}
|
|
if (!checked.value) {
|
|
common_vendor.index.showToast({
|
|
title: "请先同意用户协议",
|
|
icon: "none"
|
|
});
|
|
return false;
|
|
}
|
|
utils_auth.auth().then((res) => {
|
|
api_api.api.mobileLogin({
|
|
code: code.value,
|
|
phone: phone.value,
|
|
wx_code: res
|
|
}).then((data) => {
|
|
common_vendor.index.hideKeyboard();
|
|
let result = data.data.data;
|
|
const { envVersion } = common_vendor.index.getAccountInfoSync().miniProgram;
|
|
if (envVersion == "release") {
|
|
common_vendor.index.setStorageSync("AUTH_TOKEN_CASEDATA", result.token);
|
|
} else {
|
|
common_vendor.index.setStorageSync("DEV_AUTH_TOKEN_CASEDATA", result.token);
|
|
}
|
|
common_vendor.index.setStorageSync("userInfo", {
|
|
avatar: result.avatar,
|
|
user_id: result.user_id,
|
|
status: result.status,
|
|
user_name: result.user_name,
|
|
doctor_id: result.doctor_id
|
|
});
|
|
goPage();
|
|
});
|
|
});
|
|
};
|
|
const isPhoneNum = (phonenum) => {
|
|
let reg = /^1[3456789]\d{9}$/;
|
|
if (!reg.test(phonenum)) {
|
|
common_vendor.index.showToast({
|
|
title: "请输入有效的手机号码!",
|
|
icon: "none"
|
|
});
|
|
return false;
|
|
} else {
|
|
return true;
|
|
}
|
|
};
|
|
const codeChange = (text) => {
|
|
tips.value = text;
|
|
};
|
|
const switchType = () => {
|
|
isPhoneLogin.value = !isPhoneLogin.value;
|
|
};
|
|
const goRegister = () => {
|
|
common_vendor.index.navigateTo({
|
|
url: "/pages/register/register"
|
|
});
|
|
};
|
|
const getCode = () => {
|
|
if (!isPhoneNum(phone.value))
|
|
return;
|
|
if (uCodeRef.value.canGetCode) {
|
|
common_vendor.index.showLoading({
|
|
title: "正在获取验证码"
|
|
});
|
|
getSms();
|
|
} else {
|
|
common_vendor.index.$u.toast("倒计时结束后再发送");
|
|
}
|
|
};
|
|
const getSms = () => {
|
|
api_api.api.getCode({
|
|
phone: phone.value,
|
|
scene: 1
|
|
}).then((res) => {
|
|
common_vendor.index.hideLoading();
|
|
common_vendor.index.$u.toast("验证码已发送");
|
|
uCodeRef.value.start();
|
|
});
|
|
};
|
|
const end = () => {
|
|
customCode.opacity = 1;
|
|
};
|
|
const start = () => {
|
|
customCode.opacity = 0.5;
|
|
};
|
|
return (_ctx, _cache) => {
|
|
return common_vendor.e({
|
|
a: !isPhoneLogin.value
|
|
}, !isPhoneLogin.value ? {
|
|
b: common_vendor.o(($event) => phone.value = $event),
|
|
c: common_vendor.p({
|
|
placeholder: "请输入手机号",
|
|
modelValue: phone.value
|
|
}),
|
|
d: common_vendor.p({
|
|
label: "手机号",
|
|
prop: "userInfo.name",
|
|
borderBottom: true
|
|
})
|
|
} : {}, {
|
|
e: !isPhoneLogin.value
|
|
}, !isPhoneLogin.value ? {
|
|
f: common_vendor.o(($event) => code.value = $event),
|
|
g: common_vendor.p({
|
|
placeholder: "请输入验证码",
|
|
modelValue: code.value
|
|
}),
|
|
h: common_vendor.sr("uToastRef", "e4e4508d-5,e4e4508d-3"),
|
|
i: common_vendor.sr(uCodeRef, "e4e4508d-6,e4e4508d-3", {
|
|
"k": "uCodeRef"
|
|
}),
|
|
j: common_vendor.o(end),
|
|
k: common_vendor.o(start),
|
|
l: common_vendor.o(codeChange),
|
|
m: common_vendor.p({
|
|
seconds: seconds.value
|
|
}),
|
|
n: common_vendor.t(tips.value),
|
|
o: common_vendor.o(getCode),
|
|
p: common_vendor.p({
|
|
customStyle: customCode,
|
|
color: "#e2e2e2"
|
|
}),
|
|
q: common_vendor.p({
|
|
label: "验证码",
|
|
prop: "userInfo.name",
|
|
borderBottom: true
|
|
})
|
|
} : {}, {
|
|
r: common_vendor.sr("form", "e4e4508d-0"),
|
|
s: common_vendor.p({
|
|
labelPosition: "left",
|
|
labelWidth: "115rpx"
|
|
}),
|
|
t: !isPhoneLogin.value
|
|
}, !isPhoneLogin.value ? {
|
|
v: common_vendor.o(phoneLogin),
|
|
w: common_vendor.p({
|
|
customStyle,
|
|
type: "success",
|
|
text: "登录",
|
|
color: "#3cc7c0",
|
|
size: "large"
|
|
})
|
|
} : common_vendor.e({
|
|
x: checked.value
|
|
}, checked.value ? {
|
|
y: common_vendor.o(getPhoneNumber),
|
|
z: common_vendor.p({
|
|
customStyle,
|
|
type: "success",
|
|
["open-type"]: "getPhoneNumber",
|
|
text: "手机号快捷登录",
|
|
color: "#3cc7c0",
|
|
size: "large"
|
|
})
|
|
} : {
|
|
A: common_vendor.o(alertAgree),
|
|
B: common_vendor.p({
|
|
customStyle,
|
|
type: "success",
|
|
text: "手机号快捷登录",
|
|
color: "#3cc7c0",
|
|
size: "large"
|
|
})
|
|
}), {
|
|
C: common_vendor.t(isPhoneLogin.value ? "用短信验证码登录" : "快捷登录"),
|
|
D: common_vendor.o(switchType),
|
|
E: common_vendor.o(goRegister),
|
|
F: checked.value,
|
|
G: common_vendor.o(radioChange)
|
|
});
|
|
};
|
|
}
|
|
};
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-e4e4508d"]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/login/login.js.map
|