From 333c9f575a7fe7fd445a8ae6fb44d0fe23d93ae2 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 04 十二月 2025 16:53:51 +0800
Subject: [PATCH] feat: 通知
---
apps/underTakeMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue | 52 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/apps/underTakeMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue b/apps/underTakeMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue
index a13ad5f..31411a0 100644
--- a/apps/underTakeMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue
+++ b/apps/underTakeMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue
@@ -55,6 +55,7 @@
import { Eye, Marshalling } from '@nutui/icons-vue-taro';
import Taro from '@tarojs/taro';
import * as authServices from '@12333/services/apiV2/auth';
+import { subscribeMessageTemplateIdsForU } from '@12333/constants';
defineOptions({
name: 'AccountLoginForm',
@@ -75,6 +76,7 @@
const formRef = ref(null);
const isAccount = ref(false);
const wxMiniAppUserLoginRes = ref<API.LoginCommandCallback>();
+const loginRes = ref(null);
const form = reactive({
loading: false,
@@ -87,15 +89,11 @@
userPassword: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�' }],
});
-async function handleLoginByHasAccount() {
+function handleLoginByHasAccount() {
try {
if (props.policyChecked) {
userStore.loginSuccess(wxMiniAppUserLoginRes.value);
- Message.success('鐧诲綍鎴愬姛', {
- onClosed: () => {
- jump();
- },
- });
+ handleLoginSuccess();
} else {
noAccess();
}
@@ -104,7 +102,6 @@
async function handleLogin() {
try {
- let loginRes = await Taro.login();
if (props.policyChecked) {
const { valid } = await formRef.value.validate();
if (valid) {
@@ -112,9 +109,9 @@
await userStore.loginByPassword({
userName: form.userName,
password: form.userPassword,
- code: loginRes.code,
+ code: loginRes.value?.code,
});
- jump();
+ handleLoginSuccess();
}
} else {
noAccess();
@@ -129,6 +126,37 @@
Message.warning('璇峰厛闃呰骞跺嬀閫夊崗璁�');
}
+async function handleLoginSuccess() {
+ try {
+ if (!Taro.requestSubscribeMessage) {
+ await Message.confirm({ message: '浣犵殑寰俊鐗堟湰杩囦綆锛屼笉鏀寔璁㈤槄娑堟伅锛屾槸鍚︾户缁紵' });
+ }
+ const res = await Taro.getSetting({
+ withSubscriptions: true,
+ });
+ let setting: boolean[] = [];
+ if (res.subscriptionsSetting && res.subscriptionsSetting.itemSettings) {
+ setting = subscribeMessageTemplateIdsForU
+ .map((id) => res.subscriptionsSetting.itemSettings[id] !== 'accept')
+ .filter(Boolean);
+ }
+ Taro.requestSubscribeMessage({
+ tmplIds: subscribeMessageTemplateIdsForU,
+ success: function (res) {
+ console.log('res: ', res);
+ },
+ });
+ console.log('setting: ', setting);
+ Message.success('鐧诲綍鎴愬姛', {
+ onClosed: () => {
+ jump();
+ },
+ });
+ } catch (error) {
+ console.log('error: ', error);
+ }
+}
+
function goRegister() {
console.log('RouterPath.registerForm: ', RouterPath.registerForm);
Taro.navigateTo({
@@ -138,9 +166,9 @@
onMounted(async () => {
try {
- let loginRes = await Taro.login();
+ loginRes.value = await Taro.login();
const params: API.WxmpLoginCommand = {
- code: loginRes.code,
+ code: loginRes.value?.code,
type: AppLocalConfig.userType,
enterpriseType: AppLocalConfig.enterpriseType,
};
@@ -154,6 +182,8 @@
if (error?.info?.errorCode == 's401') {
isAccount.value = false;
}
+ } finally {
+ loginRes.value = await Taro.login();
}
});
</script>
--
Gitblit v1.9.1