diff --git a/pages.config.js b/pages.config.js index f1de649..aa9f9be 100755 --- a/pages.config.js +++ b/pages.config.js @@ -72,6 +72,7 @@ export default defineUniPages({ }, { root: 'pages/form', + name: 'form', pages: [ { path: 'index', @@ -91,6 +92,7 @@ export default defineUniPages({ }, { root: 'pages/other', + name: 'other', pages: [ { path: 'income-details', @@ -167,6 +169,12 @@ export default defineUniPages({ ], }, ], + preloadRule: { + "pages/index/home/index": { + network: "all", + packages: ["pages/form", "pages/other"] // 在 pages/index 页面中预加载名为 pack1 分包内容 + } + }, tabBar: { // color: '#999999', // selectedColor: '#018d71', @@ -188,7 +196,7 @@ export default defineUniPages({ // iconPath: 'static/tabbar/tab-personal.png', // selectedIconPath: 'static/tabbar/tab-personal-active.png', pagePath: 'pages/index/personal/index', - // text: '我的', + // text: '我的', }, ], }, diff --git a/src/api/base/index.js b/src/api/base/index.js index 0d02036..7e58fc9 100755 --- a/src/api/base/index.js +++ b/src/api/base/index.js @@ -73,4 +73,15 @@ export const fetchPzServerList = params => * @desc 医院列表 */ export const fetchPzHospitalList = params => - request.get('/pzhospital/list', params) \ No newline at end of file + request.get('/pzhospital/listAll', params) + +/** + * @desc 上门服务列表 +*/ +export const fetchServerTypeList = params => + request.get('/visittype/listAll', params) +/** + * @desc 报告列表 +*/ +export const fetchReportTypelList = params => + request.get('/reporttype/listAll', params) \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js index fa52519..33d91a2 100755 --- a/src/api/index.js +++ b/src/api/index.js @@ -2,16 +2,18 @@ import * as base from './base/index.js' import * as user from './user/index.js' import * as home from './home/index.js' import * as realname from './realname/index.js' +import * as order from './order/index.js' const api = { ...base, ...user, ...home, ...realname, + ...order, } export default { - install(app) { + install (app) { app.config.globalProperties.$api = api }, } diff --git a/src/api/user/index.js b/src/api/user/index.js index 246cd5b..8876764 100755 --- a/src/api/user/index.js +++ b/src/api/user/index.js @@ -36,10 +36,15 @@ export const doctorSave = data => /** * @description 获取陪诊师信息 - */ -export const doctorInfo = data => - request.get('/doctor/infomation', data) +*/ +export const doctorInfo = params => + request.get('/doctor/infomation', params) +/** + * @description 切换身份信息 + */ +export const checkRole = data => + request.post('/wxUser/checkRole', data) /** diff --git a/src/assets/avatar.gif b/src/assets/avatar.gif deleted file mode 100755 index 7808220..0000000 Binary files a/src/assets/avatar.gif and /dev/null differ diff --git a/src/assets/image-wechat.png b/src/assets/image-wechat.png deleted file mode 100755 index 3dc350c..0000000 Binary files a/src/assets/image-wechat.png and /dev/null differ diff --git a/src/components/agreed-comp/agreed-comp.vue b/src/components/agreed-comp/agreed-comp.vue index c3fbace..9d8e982 100644 --- a/src/components/agreed-comp/agreed-comp.vue +++ b/src/components/agreed-comp/agreed-comp.vue @@ -8,7 +8,7 @@ labelColor="#666" labelSize="24rpx" @change="handleChange" - :disabled="disabled" + :disabled="disabled" > @@ -45,7 +45,7 @@ const emit = defineEmits(['update:agreed']) const instance = getCurrentInstance() const { $Router } = instance.proxy watchEffect(() => { - checked.value[0] = prop.agreed ? '1' : '' + checked.value[0] = prop.agreed ? '1' : '' }) const handleAgree = () => { @@ -53,6 +53,7 @@ const handleAgree = () => { } const handleAgreeCheck = () => { checked.value[0] = checked.value[0] === '1' ? '' : '1' + emit('update:agreed', !!checked.value[0]) } const handleChange = () => { emit('update:agreed', !!checked.value[0]) diff --git a/src/components/upload-img/upload-img.vue b/src/components/upload-img/upload-img.vue index ac9d7f7..f4707d2 100644 --- a/src/components/upload-img/upload-img.vue +++ b/src/components/upload-img/upload-img.vue @@ -27,7 +27,14 @@ const fileList = ref(props.modelValue) // 删除图片 const deletePic = (event) => { fileList.value.splice(event.index, 1) - emits('update:modelValue', fileList.value) + emits( + 'update:modelValue', + fileList.value.map((item) => ({ + size: item.size, + type: item.type, + url: item.url + })) + ) } // 新增图片 @@ -58,7 +65,14 @@ const afterRead = async (event) => { : fileList.value.splice(fileListLen, 1) fileListLen++ } - emits('update:modelValue', fileList.value) + emits( + 'update:modelValue', + fileList.value.map((item) => ({ + size: item.size, + type: item.type, + url: item.url + })) + ) } diff --git a/src/pages/index/personal/index.vue b/src/pages/index/personal/index.vue index 1292085..57ee226 100755 --- a/src/pages/index/personal/index.vue +++ b/src/pages/index/personal/index.vue @@ -121,7 +121,7 @@ import defaultAvatar from '@/static/avatar.png' import { onShow } from '@dcloudio/uni-app' const instance = getCurrentInstance() -const { $api, $store, $Router, $loading } = instance.proxy +const { $api, $store, $Router, $loading, $dialog, $toast } = instance.proxy const userStore = $store.user const isLogin = computed(() => !!$store.user.token) @@ -178,11 +178,35 @@ const listConst = [ ] const menuList = ref([]) watchEffect(() => { - const { roleName = 'simple' } = userInfo.value + const { roleName = 'simple', roleList = [] } = userInfo.value + list.simple[1].text = roleList.includes('common') ? '切换身份' : '成为陪诊师' menuList.value = [...list[roleName], ...listConst] }) -function handleInfo(item) { +const handleInfo = async (item) => { + const { roleName, roleList = [] } = userInfo.value + if ( + !item.path || + (item.path === '/pages/other/switch' && roleList.includes('common')) + ) { + try { + await $dialog( + `确认切换回${roleName === 'simple' ? '陪诊师' : '普通用户'}?`, + { + showCancelButton: true, + confirmButtonText: '确认', + cancelButtonText: '取消', + confirmColor: '#FF8CA6' + } + ) + const { success, wxUser = {} } = await $api.checkRole({ roleName }) + if (success) { + userStore.setUserInfo(wxUser) + $toast('身份切换成功!') + } + } catch (error) {} + return + } $Router.push({ path: item.path, query: item.query || {} @@ -191,7 +215,7 @@ function handleInfo(item) { // 提现 const handleWithdraw = () => {} -async function handleLogin() { +const handleLogin = async () => { if (!isLogin.value) { $loading(true) userStore.login().then((user) => { @@ -201,25 +225,20 @@ async function handleLogin() { path: '/pages/other/edit-userinfo' }) : userStore.setUserInfo(user) - console.log('🚀 ~ file: index.vue:204 ~ user:', user) }) } else $Router.push({ path: '/pages/other/edit-userinfo' }) } -// await userStore.logout() -// await $toast('退出登录成功', { type: 'success' }) const getUserInfo = async () => { if (isLogin.value) { - // $loading(true) const res = await $api.getUser() if (res.success) { - // $loading(false) userStore.setUserInfo(res.wxUser || {}) } else userStore.logout() - } else userStore.removeUserInfo() + } else userStore.logout() } onShow(() => { diff --git a/src/pages/other/switch.vue b/src/pages/other/switch.vue index dde1a3b..ff44902 100644 --- a/src/pages/other/switch.vue +++ b/src/pages/other/switch.vue @@ -300,7 +300,6 @@ const handleSubmit = async () => { agreed.value = true } catch (error) { - console.log('error', error) return } } diff --git a/src/static/logo.png b/src/static/logo.png deleted file mode 100755 index b5771e2..0000000 Binary files a/src/static/logo.png and /dev/null differ diff --git a/src/store/user/index.js b/src/store/user/index.js index 116a8d1..342bd56 100755 --- a/src/store/user/index.js +++ b/src/store/user/index.js @@ -1,9 +1,9 @@ import { defineStore } from 'pinia' import { getToken, removeToken, setToken, getUserInfo as getStorageUserInfo, setUserInfo, removeUserInfo } from '@/utils/token.js' import { getUserInfo, userLogin } from '@/api/user/index.js' -import defaultAvatar from '@/static/avatar.png' -import router from '@/router' import { useToast } from '@/utils/modals/index.js' +// import defaultAvatar from '@/static/avatar.png' +// import router from '@/router' // import storage from '@/utils/storages' @@ -38,9 +38,17 @@ export const useUserStore = defineStore('app-user', { provider: 'weixin', success: ({ userInfo }) => { // 获取用户信息成功 - this.setUserInfo(userInfo) - this.setToken(res.token) - resolve(userInfo) + if (res.token) { + this.setUserInfo(userInfo) + this.setToken(res.token) + resolve(userInfo) + } else { + useToast('微信登录失败!', { + type: 'error', + duration: 2 * 1000, + }) + reject('登录失败!') + } }, fail: (err) => { useToast('微信登录失败,请先同意授权!', { diff --git a/src/utils/token.js b/src/utils/token.js index 3d68175..d996496 100755 --- a/src/utils/token.js +++ b/src/utils/token.js @@ -7,7 +7,7 @@ export function setToken (data) { export const getToken = () => storage.get('token') export function removeToken () { - storage.remove('userInfo') + storage.remove('token') } export function setUserInfo (data) { storage.set('userInfo', data) diff --git a/vite.config.js b/vite.config.js index fdab894..b11cfbd 100755 --- a/vite.config.js +++ b/vite.config.js @@ -77,7 +77,6 @@ export default defineConfig({ // }, // }, rollupOptions: { - external: ['z-paging'], // external: ['/wxcomponents'], // output: { // manualChunks: undefined,