From 012285f53969993107efe12cbe410195fca3666f Mon Sep 17 00:00:00 2001 From: "liujw155@outlook.com" Date: Wed, 22 Jan 2025 16:11:18 +0800 Subject: [PATCH] add tid1807 logic for mine --- src/App.vue | 2 +- src/js/api.js | 4 + src/pages.json | 3 +- src/pages/menu/forth.vue | 110 ++++++++++++++++++++--- src/pages/web_view/web_view.vue | 3 +- src/subpackage/menu/components/mine/header.vue | 36 ++++++-- src/subpackage/menu/components/mine/line_tab.vue | 4 +- 7 files changed, 135 insertions(+), 27 deletions(-) diff --git a/src/App.vue b/src/App.vue index 65974ff..541ee89 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,7 +3,7 @@ import util from './utils/util'; export default { onLaunch: function() { - this.$store.commit('setLoginState', { loginState: false }); + // this.$store.commit('setLoginState', { loginState: false }); this.updateManager(); }, methods: { diff --git a/src/js/api.js b/src/js/api.js index 550179d..a20f901 100644 --- a/src/js/api.js +++ b/src/js/api.js @@ -167,5 +167,9 @@ API['party'] = { bindingOpenId: `${ORIGIN}/assistant/bindingOpenId`, //改为小程序端绑定openid } +API['mine'] = { + userCurrent:`${ORIGIN}/user/current`, //获取账户信息, (不要传品牌id) +} + export default { ORIGIN, API }; diff --git a/src/pages.json b/src/pages.json index e1bf9d5..a0aded5 100644 --- a/src/pages.json +++ b/src/pages.json @@ -16,7 +16,8 @@ "componentPlaceholder": { "mine-header": "view", "bottom-logo": "view", - "line-tab": "view" + "line-tab": "view", + "authorization-login": "view" } } }, diff --git a/src/pages/menu/forth.vue b/src/pages/menu/forth.vue index a34ac52..470db83 100644 --- a/src/pages/menu/forth.vue +++ b/src/pages/menu/forth.vue @@ -1,29 +1,49 @@ @@ -31,27 +51,89 @@ import mineHeader from "@/subpackage/menu/components/mine/header.vue"; import lineTab from "@/subpackage/menu/components/mine/line_tab.vue"; import bottomLogo from "@/subpackage/menu/components/bottom_logo.vue"; -import { routeTo, debounce, showLoad, hideLoad, showModal, showNone } from "@/utils/util.js"; +import authorizationLogin from "@/subpackage/authorization/components/login.vue"; +import { routeTo, debounce, showLoad, hideLoad, showModal, showNone, jsonStr } from "@/utils/util.js"; +import { mapGetters } from 'vuex'; +import { servers } from '../../js/server'; +import { API } from '../../js/api'; export default { components:{ mineHeader, lineTab, bottomLogo, + authorizationLogin, }, data(){ return { brand_id: '', - menuPackageLoaded: false + menuPackageLoaded: false, + userInfo: {}, + deadData: { + helpCenterLink: 'https://help.ouxuanzhineng.cn/', // 帮助中心 + cashierSystemLink: 'https://kb.ouxuanzhineng.cn/', // 收银系统 + backstageLink: 'https://admin.ouxuanzhineng.cn/', // 总后台 + assistantCoachAppid: 'wxd71043ec955dfecf', // 教练助手:AppID + }, } }, + computed: { + ...mapGetters([ 'loginState' ]), + extension(){ + return this.userInfo?.extension || {} + }, + }, onLoad(options){ this.brand_id = options?.brand_id ?? ''; + if(this.loginState)this.getUserInfo(); }, methods: { + toMiniProgram(appid){ + uni.navigateToMiniProgram({ appId: appid }); + }, + toWebView(url){ + routeTo(`/pages/web_view/web_view?src=${jsonStr(url)}`, 'nT'); + }, + copyLink(url){ + uni.setClipboardData({ data: url }); + }, toComplaint(){ let { brand_id } = this; routeTo(`/subpackage/message/pages/complaint/list?brand_id=${brand_id}`, 'nT'); }, + loginBtn(){ + this.$refs?.authorizationLogin?.alert?.({ + success: ()=>{ + this.getUserInfo(); + }, + fail: err =>{ + // console.warn('pages index showAuthor authorizationLogin Err ->', err) + } + }) + }, + getUserInfo(){ + showLoad(); + return servers.post({ + url: API.mine.userCurrent, + data: {}, + isDefaultGet: false, + }) + .then(res => { + hideLoad(); + let _data = res?.data || {}; + if(_data.code === 0){ + this.userInfo = _data?.data || {}; + console.log('pages menu getUserInfo res --->', _data); + }else{ + return Promise.reject(_data); + } + }) + .catch(err => { + hideLoad(); + showModal({ content: err?.message || '加载用户失败!' }); + console.warn('pages menu getUserInfo err --->', err); + // return Promise.reject(err); + }) + }, } } diff --git a/src/pages/web_view/web_view.vue b/src/pages/web_view/web_view.vue index 5b8a040..0437b78 100644 --- a/src/pages/web_view/web_view.vue +++ b/src/pages/web_view/web_view.vue @@ -2,6 +2,7 @@ \ No newline at end of file diff --git a/src/subpackage/menu/components/mine/header.vue b/src/subpackage/menu/components/mine/header.vue index 3ee60ac..712f6af 100644 --- a/src/subpackage/menu/components/mine/header.vue +++ b/src/subpackage/menu/components/mine/header.vue @@ -1,20 +1,42 @@