2025-08-04 16:52:42 +08:00

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