first commit

This commit is contained in:
PC-202306242200\Administrator
2026-03-28 23:27:25 +08:00
commit 85b89ccea7
1694 changed files with 168292 additions and 0 deletions

73
store/modules/auth.js Normal file
View File

@@ -0,0 +1,73 @@
import {
setUser,
setToken,
getAuth
} from '../../com/storage/auth.js'
const getDefaultState = () => {
return {
token: {
access_token: '',
token_type: '',
expires_in: '',
},
user: {
id: '',
username: '',
vip: '',
nickname: '',
avatar_url: '',
appcode: '',
pid: '',
mobile: '',
openid: '',
}
}
}
export default {
namespaced: true,
state: getAuth() ? getAuth() : getDefaultState(),
mutations: {
//通俗的理解mutations 里面装着改变数据的方法集合,处理数据逻辑的方法全部放在 mutations 里,使数据和视图分离。
setToken(state, value) { //更新当前时间戳
state.token = value;
setToken(value);
},
resetToken(state) {
Object.assign(state.token, getDefaultState().token);
setToken(getDefaultState().token);
},
setUser(state, value) {
state.user = value;
setUser(value);
},
resetUser: (state) => {
Object.assign(state.user, getDefaultState().user);
setUser(getDefaultState().user);
},
},
actions: {
/**
* action 类似于 mutation ,不同在于:
action 提交的是 mutation通过 mutation 来改变 state ,而不是直接变更状态。
action 可以包含任意异步操作。
*/
setTokenAction(context, value) {
context.commit('setToken', value);
},
resetTokenAction: (state) => {
context.commit('resetToken');
},
setUserAction(context, value) {
context.commit('setUser', value);
},
resetUserAction(context) {
context.commit('resetUser');
}
},
getters: {
},
}

63
store/modules/location.js Normal file
View File

@@ -0,0 +1,63 @@
const getDefaultState = () => {
return {
data: {
city: '郑州市',
city_code: '410100',
lat: '34.789049',
lng: '113.684792',
time: ''
},
current: {
lat: '34.789049',
lng: '113.684792',
city: '郑州市',
city_code: '410100',
time: ''
}
}
}
export default {
namespaced: true,
state: getDefaultState(),
mutations: {
//通俗的理解mutations 里面装着改变数据的方法集合,处理数据逻辑的方法全部放在 mutations 里,使数据和视图分离。
setStateData(state, value) { //更新当前时间戳
state.data = value;
},
resetStateData(state) {
},
setStateCurrent(state, value) { //更新当前时间戳
state.current = value;
},
resetStateCurrent(state) {
},
},
actions: {
/**
* action 类似于 mutation ,不同在于:
action 提交的是 mutation通过 mutation 来改变 state ,而不是直接变更状态。
action 可以包含任意异步操作。
*/
setStateDataAction(context, value) {
context.commit('setStateData', value);
},
resetStateDataAction: (state) => {
context.commit('resetStateData');
},
setStateCurrentAction(context, value) {
context.commit('setStateCurrent', value);
},
resetStateCurrentAction: (state) => {
context.commit('resetStateCurrent');
},
},
getters: {
},
}

34
store/modules/policy.js Normal file
View File

@@ -0,0 +1,34 @@
const getDefaultState = () => {
return {
is_buy: 0,
is_trusteeship: 0,
is_give: 0,
is_mianze: 0,
}
}
export default {
namespaced: true,
state: getDefaultState(),
mutations: {
//通俗的理解mutations 里面装着改变数据的方法集合,处理数据逻辑的方法全部放在 mutations 里,使数据和视图分离。
setBuy(state, value) { //更新当前时间戳
state.is_buy = value;
},
setTrusteeship(state, value) { //更新当前时间戳
state.is_trusteeship = value;
},
setGive(state, value) { //更新当前时间戳
state.is_give = value;
},
setMianze(state, value) { //更新当前时间戳
state.is_mianze = value;
},
},
actions: {
},
getters: {
},
}

208
store/modules/ws.js Normal file
View File

@@ -0,0 +1,208 @@
import {
WS_URL
} from '@/env'
import store from '../../store'
const getDefaultState = () => {
return {
socketTask: null,
interval: null,
//断线重连定时器
timer: null,
//心跳间隔
timeout: 20000,
// 当前重连次数
connectNum: 1,
//链接是否打开了
isOpen: false,
network: true,
orderPreInterval: null,
orderRunInterval: null,
// 存放websocket中onMessage数据
orderPre: {
device_id: '',
pay_type: '',
is_connect: 0,
fd: '',
},
orderRunItems: [],
orderRunItem: {
order: null,
report: null
}
}
}
export default {
namespaced: true,
state: getDefaultState(),
mutations: {
setWsData(state, data) {
state.wsData = data
},
setOrderPreInterval(state, data) {
clearTimeout(state.orderPreInterval);
state.orderPreInterval = setInterval(() => {
this.dispatch('ws/WEBSOCKET_SEND', JSON.stringify(data));
}, 10000);
},
setOrderRunInterval(state, data) {
clearTimeout(state.orderRunInterval);
state.orderRunInterval = setInterval(() => {
this.dispatch('ws/WEBSOCKET_SEND', JSON.stringify(data));
}, 15000);
},
WEBSOCKET_SEND(state, data) {
state.socketTask.send({
data,
async success() {
console.log('send', data)
},
})
},
},
actions: {
reConnect({
commit,
state
}) {
if (state.connectNum < 20) {
state.timer = setTimeout(() => {
this.dispatch('ws/initWs')
}, 3000)
state.connectNum += 1;
} else if (state.connectNum < 50) {
state.timer = setTimeout(() => {
this.dispatch('ws/initWs')
}, 10000)
state.connectNum += 1;
} else {
state.timer = setTimeout(() => {
this.dispatch('ws/initWs')
}, 450000)
state.connectNum += 1;
}
},
initWs({
commit,
state
}) {
console.log(state.isOpen)
// 防止重复连接
if (state.isOpen) {
return;
};
const _this = this;
//检查网络是否可用
uni.getNetworkType({
success(result) {
console.log(result)
if (result.networkType == 'none') {
state.netWork = false;
// 网络断开后显示model
// uni.showModal({
// title: '网络错误',
// content: '请检查网络',
// showCancel: false,
// success: function(res) {
// }
// })
return;
}
let url = wsUrl();
const token = store.state.auth.token.access_token;
state.socketTask = uni.connectSocket({
url,
header: {
Authorization: token.token_type + ' ' + token.access_token,
},
complete: (e) => {
},
});
if (!state.socketTask) {
return;
};
// 监听开启
state.socketTask.onOpen(() => {
console.log('onOpen')
// 将连接状态设为已连接
state.isOpen = true;
//开启心跳
state.interval = setInterval(() => {
state.socketTask.send({
data: 'ping',
success(res) {
console.log(res)
},
fail(err) {
console.log('正在尝试重新链接第' + state
.connectNum + '次');
uni.showToast({
title: '正在尝试重新链接第' + state
.connectNum + '次',
icon: "none",
});
state.isOpen = false;
//执行重连
_this.dispatch('ws/reConnect');
},
})
}, state.timeout);
});
// 监听信息
state.socketTask.onMessage(res => {
console.log('onMessage' + res.data)
if (res.data && res.data == 'pong') {
return;
}
let data = JSON.parse(res.data);
switch (data.action) {
case 'order_pre':
state.orderPre = data.data;
break;
case 'order_run_items':
state.orderRunItems = data.data;
break;
case 'order_run_item':
state.orderRunItem = data.data;
break;
default:
break;
}
});
// 监听关闭
state.socketTask.onClose(() => {
state.isOpen = false;
state.socketTask = false;
//清除定时器
clearTimeout(state.interval);
state.interval = null;
_this.dispatch('ws/reConnect');
});
// 监听错误
state.socketTask.onError((e) => {
state.isOpen = false;
state.socketTask = false;
});
}
})
},
WEBSOCKET_SEND({
commit
}, data) {
commit('WEBSOCKET_SEND', data)
},
}
}