first commit

This commit is contained in:
Ls
2026-02-12 12:19:20 +08:00
commit 219fd9be5c
529 changed files with 169918 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
@import 'uview-plus/theme.scss';
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
$uni-color-primary: #007aff;
$uni-color-success: #4cd964;
$uni-color-warning: #f0ad4e;
$uni-color-error: #dd524d;
/* 文字基本颜色 */
$uni-text-color: #333; // 基本色
$uni-text-color-inverse: #fff; // 反色
$uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息
$uni-text-color-placeholder: #808080;
$uni-text-color-disable: #c0c0c0;
/* 背景颜色 */
$uni-bg-color: #fff;
$uni-bg-color-grey: #f8f8f8;
$uni-bg-color-hover: #f1f1f1; // 点击状态颜色
$uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色
/* 边框颜色 */
$uni-border-color: #c8c7cc;
/* 尺寸变量 */
/* 文字尺寸 */
$uni-font-size-sm: 12px;
$uni-font-size-base: 14px;
$uni-font-size-lg: 16;
/* 图片尺寸 */
$uni-img-size-sm: 20px;
$uni-img-size-base: 26px;
$uni-img-size-lg: 40px;
/* Border Radius */
$uni-border-radius-sm: 2px;
$uni-border-radius-base: 3px;
$uni-border-radius-lg: 6px;
$uni-border-radius-circle: 50%;
/* 水平间距 */
$uni-spacing-row-sm: 5px;
$uni-spacing-row-base: 10px;
$uni-spacing-row-lg: 15px;
/* 垂直间距 */
$uni-spacing-col-sm: 4px;
$uni-spacing-col-base: 8px;
$uni-spacing-col-lg: 12px;
/* 透明度 */
$uni-opacity-disabled: 0.3; // 组件禁用态的透明度
/* 文章场景相关 */
$uni-color-title: #2c405a; // 文章标题颜色
$uni-font-size-title: 20px;
$uni-color-subtitle: #555; // 二级标题颜色
$uni-font-size-subtitle: 18px;
$uni-color-paragraph: #3f536e; // 文章段落颜色
$uni-font-size-paragraph: 15px;

View File

@@ -0,0 +1,119 @@
<script setup lang="ts">
import { onLaunch, onShow, onHide } from "@dcloudio/uni-app";
import { onMounted, ref } from "vue";
import { WebSocket } from '@/Service/Comm/TwWebSocket';
import { Service } from "@/Service/Service"
import { CNRiderOrderService } from '@/Service/CN/CNRiderOrderService'
let isios = ref(false)
const currentLatitude = ref(0);
const currentLongitude = ref(0);
let locationTimer: ReturnType<typeof setInterval> | null = null;
onLaunch(() => {
isios.value = uni.getSystemInfoSync().platform != 'ios'//是否为ios
//#ifdef APP-PLUS//app
if (isios.value) {
// getVersion()//更新
}
//#endif
// 在 App 启动时,立即初始化并建立 WebSocket 连接
WebSocket.ConnectSocketInit();
// 打开调用
uni.$on("ImCom", () => {
WebSocket.ConnectSocketInit();
})
// 关闭调用
uni.$on("ImComOff", () => {
WebSocket.CloseSocket();
})
});
onShow(() => {
WebSocket.ConnectSocketInit();
});
onHide(() => {
});
const startFetchingLocation = () => {
// 安全检查:如果定时器已存在,先清除,防止重复启动
if (locationTimer) {
clearInterval(locationTimer);
}
console.log("开始定时获取位置间隔1分钟...");
// 1. 立即执行第一次获取
getLocationNow();
// 2. 设置定时器,每 60000 毫秒 (1分钟) 执行一次
locationTimer = setInterval(() => {
getLocationNow();
}, 60000);
};
const getLocationNow = () => {
uni.getLocation({
type: 'wgs84',
isHighAccuracy: true,
success: (res) => {
if(Service.GetUserIsLogin()){
CNRiderOrderService.UpdateRiderLocation(res.longitude,res.latitude).then(res=>{})
}
},
fail: (err) => {
// console.error('获取经纬度失败:', err);
}
});
};
/**
* 停止定时获取位置
*/
const stopFetchingLocation = () => {
if (locationTimer) {
clearInterval(locationTimer);
locationTimer = null; // 清理 ID
}
};
const getUpData = () => {
// #ifdef APP
// plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
// NvpMerchService.GetAppVersion().then(res=>{
// console.log('wgtinfo.versionCode',wgtinfo.versionCode);
// if (res.data.version > wgtinfo.versionCode) {
// setTimeout(function() {
// uni.navigateTo({
// url: "/pages/upData/upData?info=" +
// encodeURIComponent(
// JSON.stringify(res.data))
// })
// }, 1000)
// }
// })
// })
// #endif
}
</script>
<style lang="scss">
@import "uview-plus/index.scss";
@import "colorui/main.css";
@import "colorui/icon.css";
page {
--nav-mian: #1890FF; //全局颜色
--nav-vice: #52C41A; //副颜色
--nav-diluted: #FF4D4F; //次颜色
}
</style>