第一次提交

This commit is contained in:
gxwebsoft
2023-08-04 13:04:21 +08:00
commit 7a73b38bd5
764 changed files with 166417 additions and 0 deletions

46
store/modules/app.js Executable file
View File

@@ -0,0 +1,46 @@
import { STORE_ID, PLATFORM, REFEREE_ID } from '@/store/mutation-types'
import storage from '@/utils/storage'
const app = {
state: {
// 当前商城的ID
storeId: null,
// 当前终端平台
platform: '',
// 推荐人ID
refereeId: null
},
mutations: {
SET_STORE_ID: (state, value) => {
state.storeId = value
},
SET_PLATFORM: (state, value) => {
state.platform = value
},
SET_REFEREE_ID: (state, value) => {
state.refereeId = value
}
},
actions: {
// 记录推荐人ID
SaveRefereeId({ commit }, value) {
const store = this
const refereeId = parseInt(value)
return new Promise((resolve, reject) => {
if (refereeId > 0 && store.getters.userId != refereeId) {
// 保存推荐人ID到缓存
storage.set(REFEREE_ID, refereeId)
// 记录到store全局变量
commit('SET_REFEREE_ID', refereeId)
resolve()
}
})
}
}
}
export default app

5
store/modules/index.js Executable file
View File

@@ -0,0 +1,5 @@
import app from './app'
import user from './user'
import theme from './theme'
export { app, user, theme }

40
store/modules/theme.js Executable file
View File

@@ -0,0 +1,40 @@
import storage from '@/utils/storage'
import { isEmpty } from '@/utils/util'
import { APP_THEME } from '@/store/mutation-types'
const theme = {
state: {
// 当前自定义主题
appTheme: {
mainBg: '#fa2209',
mainBg2: '#ff6335',
mainText: '#ffffff',
viceBg: '#ffb100',
viceBg2: '#ffb900',
viceText: '#ffffff',
},
},
mutations: {
SET_APP_THEME: (state, value) => {
if (!isEmpty(value)) {
state.appTheme = value
}
}
},
actions: {
// 记录自定义主题
SetAppTheme({ commit }, value) {
return new Promise((resolve, reject) => {
storage.set(APP_THEME, value)
commit('SET_APP_THEME', value)
resolve()
})
}
}
}
export default theme

136
store/modules/user.js Executable file
View File

@@ -0,0 +1,136 @@
import { ACCESS_TOKEN, USER_ID } from '@/store/mutation-types'
import storage from '@/utils/storage'
import * as LoginApi from '@/api/login'
import { alipayLogin } from '@/websoft/api/login.js'
// 登陆成功后执行
const loginSuccess = (commit, { token, userId }) => {
// 过期时间30天
const expiryTime = 30 * 86400
// 保存tokne和userId到缓存
storage.set(USER_ID, userId, expiryTime)
storage.set(ACCESS_TOKEN, token, expiryTime)
// 记录到store全局变量
commit('SET_TOKEN', token)
commit('SET_USER_ID', userId)
}
const user = {
state: {
// 用户认证token
token: '',
// 用户ID
userId: null,
// 用户
userInfo: null
},
mutations: {
SET_TOKEN: (state, value) => {
state.token = value
},
SET_USER_ID: (state, value) => {
state.userId = value
},
SET_USER: (state,value) => {
state.userInfo = value
}
},
actions: {
// 用户登录 (普通登录: 输入手机号和验证码)
Login({ commit }, data) {
return new Promise((resolve, reject) => {
LoginApi.login({ form: data })
.then(response => {
const result = response.data
loginSuccess(commit, result)
resolve(response)
})
.catch(reject)
})
},
// 微信小程序一键授权登录 (获取用户基本信息)
LoginMpWx({ commit }, data) {
return new Promise((resolve, reject) => {
LoginApi.loginMpWx({ form: data }, { isPrompt: false })
.then(response => {
const result = response.data
loginSuccess(commit, result)
resolve(response)
})
.catch(reject)
})
},
// 支付宝小程序一键授权登录 (获取用户基本信息)
LoginMpAlipay({ commit }, data) {
return new Promise((resolve, reject) => {
alipayLogin({ data }, { isPrompt: false })
.then(response => {
const result = response.data
loginSuccess(commit, result)
resolve(response)
})
.catch(reject)
})
},
// 微信公众号一键授权登录 (获取用户基本信息)
LoginWxOfficial({ commit }, data) {
return new Promise((resolve, reject) => {
LoginApi.loginWxOfficial({ form: data }, { isPrompt: false })
.then(response => {
const result = response.data
loginSuccess(commit, result)
resolve(response)
})
.catch(reject)
})
},
// 微信小程序一键授权登录 (授权手机号)
LoginMpWxMobile({ commit }, data) {
return new Promise((resolve, reject) => {
LoginApi.loginMpWxMobile({ form: data }, { isPrompt: false })
.then(response => {
const result = response.data
loginSuccess(commit, result)
resolve(response)
})
.catch(reject)
})
},
// 退出登录
Logout({ commit }, data) {
const store = this
return new Promise((resolve, reject) => {
if (store.getters.userId > 0) {
// 删除缓存中的tokne和userId
storage.remove(USER_ID)
storage.remove(ACCESS_TOKEN)
// 记录到store全局变量
commit('SET_TOKEN', '')
commit('SET_USER_ID', null)
resolve()
}
})
},
setUserInfo({ commit }, data) {
commit('SET_USER',data)
},
setToken({ commit }, data) {
commit('SET_TOKEN',data)
},
setUserId({ commit }, data) {
commit('SET_USER_ID',data)
}
}
}
export default user