EASYAIuniappNewUI/src/composables/useCommon.ts
2025-02-16 11:40:12 +08:00

62 lines
2.5 KiB
TypeScript

import {request} from "@/utils/request.ts";
import {useAppStore} from "@/stores/appStore.ts";
import type {
IPayOrder,
IPayOrderCreatWechatMiniProgramPay,
IWechatPrePay,
IProduct,
User,
IMember,
IMiniProgramContent, IWorkFlow
} from "@/types";
import {computed} from "vue";
import {storeToRefs} from "pinia";
import {EventType} from "@/types/event.types.ts";
import {emit} from "@/utils/emitter.ts";
/** 微信登录 */
export const loginByWechatCode=(code:string)=>request<User>(`auth/loginByWechatMiniProgram?code=${code}`)
/** 用户名密码登录 */
export const loginByUsername=(data:{username: string, password: string})=>request('/users/loginByUsername',{method:'POST',data})
/** 退出登录 */
export const loginOut=()=>{useAppStore().clearUser();emit(EventType.AUTH_LOGOUT, null)}
/** 保存登录信息到本地 */
export const saveLoginInfo=(user:Partial<User>)=>useAppStore().setUser(user)
/** 获取登录信息 */
export const getLoginInfo=()=>useAppStore().getUser()
/** 修改用户的昵称和头像 */
export const updateUserInfo=(data:Partial<User>)=>request<User>('/users/update',{method:'POST',data})
/** 重新获取用户信息 */
export const refreshUserInfo=(user=getLoginInfo())=>request<User>(`/users/${user._id}`).then(res=>{useAppStore().setUser(res)})
/** 是否为登录状态 */
export const isLogin =computed(()=>{
const {user}=storeToRefs(useAppStore())
console.log("storeToRefs(useAppStore())",user.value)
uni.setStorageSync('refreshToken', user.value.refresh_token)
return !!user.value.refresh_token
})
/** 获取用户的会员信息,获取用户最高的权限等级会员信息*/
export const getUserVipInfo=()=>request<IMember>('/member/topLevel',{method:'POST'})
/** 产品套餐相关 */
/** 获取所有的套餐 */
export const getProductList=()=>request<IProduct[]>('/product')
/** 获取订单详情 */
export const getOrderInfoById=(order_id:string)=>request<IPayOrder[]>(`/pay/query`,{method:'POST',data:{_id:order_id}})
/**支付相关*/
export const creatOrder=(data:IPayOrderCreatWechatMiniProgramPay)=>request<IPayOrder>(`/pay/order`,{method:'POST',data})
/** 预支付 */
export const getPrePay=(order_id:string)=>request<IWechatPrePay>(`pay/prePay/${order_id}`)
/** 获取所有的应用 */
export const getApps=()=>request<IWorkFlow[]>('workflow/getAllWorkflowApps/mp')
/** 页面配置相关 */
/** 获取页面配置信息 */
export const getPageContent=()=>request<IMiniProgramContent>(`content/mp/content`)