index.js 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const common_assets = require("../../common/assets.js");
  4. const _sfc_main = {
  5. __name: "index",
  6. setup(__props) {
  7. const agreed = common_vendor.ref(false);
  8. const showLoginPopup = common_vendor.ref(false);
  9. const showRegisterPopup = common_vendor.ref(false);
  10. const loginTab = common_vendor.ref("phone");
  11. const loginPhone = common_vendor.ref("");
  12. const loginCode = common_vendor.ref("");
  13. const loginAccount = common_vendor.ref("");
  14. const loginPassword = common_vendor.ref("");
  15. const regPhone = common_vendor.ref("");
  16. const regCode = common_vendor.ref("");
  17. const regAccount = common_vendor.ref("");
  18. const regPassword = common_vendor.ref("");
  19. const loginCodeCountdown = common_vendor.ref(0);
  20. const regCodeCountdown = common_vendor.ref(0);
  21. let loginCodeTimer = null;
  22. let regCodeTimer = null;
  23. function handleLogin() {
  24. if (!agreed.value) {
  25. common_vendor.index.showToast({ title: "请先同意协议", icon: "none" });
  26. return;
  27. }
  28. }
  29. function openProtocol(type) {
  30. const urls = {
  31. service: "/pages/protocol/service",
  32. privacy: "/pages/protocol/privacy"
  33. };
  34. common_vendor.index.navigateTo({ url: urls[type] });
  35. }
  36. function socialLogin(type) {
  37. }
  38. function openRegister() {
  39. showLoginPopup.value = false;
  40. showRegisterPopup.value = true;
  41. }
  42. function getLoginCode() {
  43. if (loginCodeCountdown.value > 0)
  44. return;
  45. if (!/^1[3-9]\d{9}$/.test(loginPhone.value)) {
  46. common_vendor.index.showToast({ title: "请输入正确手机号", icon: "none" });
  47. return;
  48. }
  49. loginCodeCountdown.value = 60;
  50. loginCodeTimer = setInterval(() => {
  51. if (loginCodeCountdown.value > 0) {
  52. loginCodeCountdown.value--;
  53. } else {
  54. clearInterval(loginCodeTimer);
  55. loginCodeTimer = null;
  56. }
  57. }, 1e3);
  58. common_vendor.index.request({
  59. url: "http://localhost:9500/user/code",
  60. method: "POST",
  61. data: { phone: loginPhone.value },
  62. success(res) {
  63. common_vendor.index.__f__("log", "at pages/login/index.vue:162", "验证码接口返回", res);
  64. if (res.data && (res.data.code === 0 || res.data.success)) {
  65. common_vendor.index.showToast({ title: "验证码已发送", icon: "none" });
  66. } else {
  67. common_vendor.index.showToast({ title: res.data.msg || "发送失败", icon: "none" });
  68. }
  69. },
  70. fail(err) {
  71. common_vendor.index.__f__("log", "at pages/login/index.vue:170", "验证码接口失败", err);
  72. common_vendor.index.showToast({ title: "网络错误", icon: "none" });
  73. }
  74. });
  75. }
  76. function getRegCode() {
  77. if (regCodeCountdown.value > 0)
  78. return;
  79. regCodeCountdown.value = 60;
  80. common_vendor.index.showToast({ title: "验证码已发送", icon: "none" });
  81. regCodeTimer = setInterval(() => {
  82. if (regCodeCountdown.value > 0) {
  83. regCodeCountdown.value--;
  84. } else {
  85. clearInterval(regCodeTimer);
  86. regCodeTimer = null;
  87. }
  88. }, 1e3);
  89. }
  90. function handlePopupLogin() {
  91. if (loginTab.value === "phone") {
  92. if (!/^1[3-9]\d{9}$/.test(loginPhone.value)) {
  93. common_vendor.index.showToast({ title: "请输入正确手机号", icon: "none" });
  94. return;
  95. }
  96. if (!loginCode.value) {
  97. common_vendor.index.showToast({ title: "请输入验证码", icon: "none" });
  98. return;
  99. }
  100. common_vendor.index.request({
  101. url: "http://localhost:9500/user/login",
  102. method: "POST",
  103. data: { phone: loginPhone.value, code: loginCode.value },
  104. success(res) {
  105. common_vendor.index.__f__("log", "at pages/login/index.vue:203", "登录接口返回", res);
  106. if (res.data && (res.data.code === 0 || res.data.success)) {
  107. common_vendor.index.showToast({ title: "登录成功", icon: "success" });
  108. common_vendor.index.setStorageSync("userPhone", loginPhone.value);
  109. common_vendor.index.switchTab({ url: "/pages/index/index" });
  110. } else {
  111. common_vendor.index.showToast({ title: res.data.msg || "登录失败", icon: "none" });
  112. }
  113. },
  114. fail(err) {
  115. common_vendor.index.__f__("log", "at pages/login/index.vue:214", "登录接口失败", err);
  116. common_vendor.index.showToast({ title: "网络错误", icon: "none" });
  117. }
  118. });
  119. } else {
  120. if (loginAccount.value === "零零" && loginPassword.value === "666") {
  121. common_vendor.index.setStorageSync("userPhone", loginAccount.value);
  122. common_vendor.index.switchTab({ url: "/pages/index/index" });
  123. } else {
  124. common_vendor.index.showToast({ title: "账号或密码错误", icon: "none" });
  125. }
  126. }
  127. }
  128. function handleRegister() {
  129. }
  130. common_vendor.onUnmounted(() => {
  131. if (loginCodeTimer)
  132. clearInterval(loginCodeTimer);
  133. if (regCodeTimer)
  134. clearInterval(regCodeTimer);
  135. });
  136. return (_ctx, _cache) => {
  137. return common_vendor.e({
  138. a: common_assets._imports_0,
  139. b: !agreed.value,
  140. c: common_vendor.o(handleLogin),
  141. d: common_assets._imports_1,
  142. e: !agreed.value,
  143. f: common_vendor.o(($event) => socialLogin()),
  144. g: agreed.value,
  145. h: common_vendor.o(($event) => agreed.value = !agreed.value),
  146. i: common_vendor.o(($event) => openProtocol("service")),
  147. j: common_vendor.o(($event) => openProtocol("privacy")),
  148. k: common_assets._imports_2,
  149. l: common_vendor.o(($event) => showLoginPopup.value = true),
  150. m: common_assets._imports_3,
  151. n: showLoginPopup.value
  152. }, showLoginPopup.value ? common_vendor.e({
  153. o: common_vendor.o(($event) => showLoginPopup.value = false),
  154. p: loginTab.value === "phone" ? 1 : "",
  155. q: common_vendor.o(($event) => loginTab.value = "phone"),
  156. r: loginTab.value === "account" ? 1 : "",
  157. s: common_vendor.o(($event) => loginTab.value = "account"),
  158. t: loginTab.value === "phone"
  159. }, loginTab.value === "phone" ? {
  160. v: loginPhone.value,
  161. w: common_vendor.o(($event) => loginPhone.value = $event.detail.value),
  162. x: loginCode.value,
  163. y: common_vendor.o(($event) => loginCode.value = $event.detail.value),
  164. z: common_vendor.t(loginCodeCountdown.value > 0 ? loginCodeCountdown.value + "s" : "获取验证码"),
  165. A: loginCodeCountdown.value > 0,
  166. B: common_vendor.o(getLoginCode)
  167. } : {
  168. C: loginAccount.value,
  169. D: common_vendor.o(($event) => loginAccount.value = $event.detail.value),
  170. E: loginPassword.value,
  171. F: common_vendor.o(($event) => loginPassword.value = $event.detail.value)
  172. }, {
  173. G: common_vendor.o(handlePopupLogin),
  174. H: common_vendor.o(openRegister)
  175. }) : {}, {
  176. I: showRegisterPopup.value
  177. }, showRegisterPopup.value ? {
  178. J: common_vendor.o(($event) => showRegisterPopup.value = false),
  179. K: regPhone.value,
  180. L: common_vendor.o(($event) => regPhone.value = $event.detail.value),
  181. M: regCode.value,
  182. N: common_vendor.o(($event) => regCode.value = $event.detail.value),
  183. O: common_vendor.t(regCodeCountdown.value > 0 ? regCodeCountdown.value + "s" : "获取验证码"),
  184. P: common_vendor.o(getRegCode),
  185. Q: regAccount.value,
  186. R: common_vendor.o(($event) => regAccount.value = $event.detail.value),
  187. S: regPassword.value,
  188. T: common_vendor.o(($event) => regPassword.value = $event.detail.value),
  189. U: common_vendor.o(handleRegister)
  190. } : {});
  191. };
  192. }
  193. };
  194. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-d08ef7d4"]]);
  195. wx.createPage(MiniProgramPage);
  196. //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/login/index.js.map