提交 b2a32ac8 authored 作者: 刘旭's avatar 刘旭

同步代码

上级 4cac610a
......@@ -37,3 +37,15 @@ export const signInAndOut = (data?: any) =>
"POST",
data
)
/**
* @brief 查看附件
* @param data
* @return
*/
export const geFileList = (data?: any) =>
request(
"/LQKJ.K3.PeiXunSystem.WebApi.WebApiService.FilePDF,LQKJ.K3.PeiXunSystem.WebApi.common.kdsvc",
"POST",
data
)
{
"name" : "wms测试",
"appid" : "__UNI__6D85B85",
"description" : "",
"versionName" : "1.0.1",
"versionCode" : "100",
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
"compatible" : {
"ignoreVersion" : true
},
/* 模块配置 */
"modules" : {
"Bluetooth" : {},
"Barcode" : {},
"Geolocation" : {},
"Webview-x5" : {}
},
/* 应用发布信息 */
"distribute" : {
/* android打包配置 */
"android" : {
"permissions" : [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_PRIVILEGED\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
],
"minSdkVersion" : 21
},
/* ios打包配置 */
"ios" : {
"dSYMs" : false
},
/* SDK配置 */
"sdkConfigs" : {
"ad" : {},
"geolocation" : {
"system" : {
"__platform__" : [ "android" ]
}
}
}
}
},
/* 快应用特有相关 */
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "wx3c4c615b24d3b72b",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true
},
"mp-alipay" : {
"usingComponents" : true
"name": "wms测试",
"appid": "__UNI__6D85B85",
"description": "",
"versionName": "1.0.1",
"versionCode": "100",
"transformPx": false,
/* 5+App特有相关 */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
"mp-baidu" : {
"usingComponents" : true
"compatible": {
"ignoreVersion": true
},
"mp-toutiao" : {
"usingComponents" : true
/* 模块配置 */
"modules": {
"Bluetooth": {},
"Barcode": {},
"Geolocation": {},
"Webview-x5": {}
},
"uniStatistics" : {
"enable" : false,
"version" : "2"
/* 应用发布信息 */
"distribute": {
/* android打包配置 */
"android": {
"permissions": [
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_PRIVILEGED\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH\"/>",
"<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\"/>"
],
"minSdkVersion": 21
},
/* ios打包配置 */
"ios": {
"dSYMs": false
},
/* SDK配置 */
"sdkConfigs": {
"ad": {},
"geolocation": {
"system": {
"__platform__": ["android"]
}
}
}
}
},
/* 快应用特有相关 */
"quickapp": {},
/* 小程序特有相关 */
"mp-weixin": {
"appid": "wx3c4c615b24d3b72b",
"setting": {
"urlCheck": false
},
"vueVersion" : "3",
"h5" : {
"template" : "index.html",
"sdkConfigs" : {
"maps" : {
"qqmap" : {
"key" : "3M5BZ-SFCRJ-AHSF7-XRA5Q-Y6NIJ-DXBH4"
}
}
"usingComponents": true
},
"mp-alipay": {
"usingComponents": true
},
"mp-baidu": {
"usingComponents": true
},
"mp-toutiao": {
"usingComponents": true
},
"uniStatistics": {
"enable": false,
"version": "2"
},
"vueVersion": "3",
"h5": {
"template": "index.html",
"sdkConfigs": {
"maps": {
"qqmap": {
"key": "3M5BZ-SFCRJ-AHSF7-XRA5Q-Y6NIJ-DXBH4"
}
}
}
}
}
......@@ -41,7 +41,8 @@
"path": "pages/class/courseArrange",
"style": {
"navigationBarTitleText": "课程安排",
"navigationStyle": "custom"
"navigationStyle": "custom",
"onReachBottomDistance": 50
}
},
{
......
<template>
<view class='arrange-item-container'>
<h3>{{ arrangeList.date }}</h3>
<u-card :show-head="false" margin="0">
<template #body>
<view class="arrange-header">
<h3>{{ arrangeList.title }}</h3>
<u-button size="mini" plain :type="arrangeStatus.type">{{ arrangeStatus.detail }}</u-button>
</view>
<view class="item">
<u-icon name="account" />
<text>{{ arrangeList.classTeacher }}</text>
</view>
<view class="item">
<u-icon name="map" />
<text>{{ arrangeList.address }}</text>
</view>
</template>
<template #foot>
<view class="arrange-footer">
<u-icon name="order" />
<text>课程安排</text>
</view>
</template>
</u-card>
</view>
<view class="arrange-item-container">
<h3>
&nbsp;{{ dayjs(arrangeItem.startDate).format("YYYY-MM-DD") }}&nbsp;&nbsp;
{{
dateFormat(arrangeItem.startDate) +
"~" +
dateFormat(arrangeItem.endDate)
}}
</h3>
<u-card :show-head="false" margin="0">
<template #body>
<view class="arrange-header">
<h3>{{ arrangeItem.courseName }}</h3>
<u-button size="mini" plain :type="arrangeStatus.type">{{
arrangeStatus.detail
}}</u-button>
</view>
<view class="item">
<u-icon name="account" />
<text v-for="(item, i) in arrangeItem.Teachs" :key="i">
&nbsp;{{ item.teachName }}&nbsp;
</text>
</view>
<view class="item">
<u-icon name="map" />
<text>&nbsp;{{ arrangeItem.classArea }}&nbsp;</text>
</view>
</template>
<template #foot>
<view class="arrange-footer" @tap="openInfo">
<u-icon name="order" />
<text>课件资料</text>
</view>
</template>
</u-card>
</view>
<infoPopup
ref="infoRef"
v-model:show="show"
:courseNumber="props.arrangeItem.courseNumber"
/>
</template>
<script setup lang='ts'>
<script setup lang="ts">
import infoPopup from "@/pages/course/components/infoPopup.vue"
import dayjs from "dayjs"
const props = defineProps({
arrangeList: {
type: Array,
default: () => []
} as any
arrangeItem: {
type: Array,
default: () => [],
} as any,
})
const arrangeDetail = ['未开始', '上课中', '已下课']
const show = ref(false)
const infoRef = ref()
const arrangeDetail = ["未开始", "上课中", "已下课"]
const arrangeStatus = computed(() => {
const statusObj = {
type: '',
detail: ''
};
const statusObj = {
type: "",
detail: "",
}
switch (props.arrangeList.type) {
case 0:
statusObj.type = 'warning';
break;
case 1:
statusObj.type = 'primary';
break;
case 2:
statusObj.type = 'info';
break;
}
statusObj.detail = arrangeDetail[props.arrangeList.type]
return statusObj;
});
switch (props.arrangeItem.courseType) {
case 0:
statusObj.type = "warning"
break
case 1:
statusObj.type = "primary"
break
case 2:
statusObj.type = "info"
break
}
statusObj.detail = arrangeDetail[props.arrangeItem.courseType]
return statusObj
})
const dateFormat = (dateStr: string) => {
// 创建一个日期对象,传入特定日期和时间
const date = new Date(dateStr)
// 获取小时和分钟
const hours = ("0" + date.getHours()).slice(-2)
const minutes = ("0" + date.getMinutes()).slice(-2)
// 构建时间字符串
const time = hours + ":" + minutes
return time
}
const openInfo = () => {
show.value = true
infoRef.value.init()
}
</script>
<style lang="scss" scoped>
.arrange-item-container {
h3 {
margin-bottom: 32rpx;
}
h3 {
margin-bottom: 32rpx;
}
.arrange-header {
display: flex;
justify-content: space-between;
align-items: center;
.arrange-header {
display: flex;
justify-content: space-between;
align-items: center;
h3 {
margin: 0;
}
uni-button {
margin: 0;
}
h3 {
margin: 0;
}
.item {
margin: 20rpx 0;
uni-button {
margin: 0;
}
}
.item {
margin: 20rpx 0;
}
.arrange-footer {
text-align: end;
.arrange-footer {
text-align: end;
text {
color: #2979ff;
}
text {
color: #2979ff;
}
}
}
</style>
\ No newline at end of file
</style>
......@@ -93,7 +93,7 @@ const toAddressBook = () => {
}
const toCourseArrange = () => {
uni.navigateTo({
url: "/pages/class/courseArrange",
url: "/pages/class/courseArrange?classId=" + props.classItem.classId,
})
}
......
<template>
<headers title='课程安排' />
<view class='course-arrange-container'>
<view class="progress">
<text>课程进度:</text>
<u-line-progress active-color="#2979ff" :percent="60" :height="25" />
</view>
<u-time-line>
<u-time-line-item v-for="(item, index) in arrangeList" :key="index">
<template #node>
<view class="u-node">
<view class="u-dot"></view>
</view>
</template>
<template #content>
<arrangeItem :arrangeList="item" />
</template>
</u-time-line-item>
</u-time-line>
<headers title="课程安排" />
<view class="course-arrange-container">
<view class="progress">
<text>课程进度:</text>
<u-line-progress active-color="#2979ff" :percent="percent" :height="25" />
</view>
<view v-if="arrangeList.length">
<u-time-line>
<u-time-line-item v-for="(item, index) in arrangeList" :key="index">
<template #node>
<view class="u-node">
<view class="u-dot"></view>
</view>
</template>
<template #content>
<arrangeItem :arrangeItem="item" />
</template>
</u-time-line-item>
</u-time-line>
<view style="padding: 20rpx">
<u-loadmore :status="status" icon-type="flower" />
</view>
</view>
<view v-else class="empty">
<u-empty text="暂无课程安排" mode="list" />
</view>
</view>
</template>
<script setup lang='ts'>
import headers from '@/components/header/index.vue'
import arrangeItem from './components/arrangeItem.vue'
<script setup lang="ts">
import headers from "@/components/header/index.vue"
import arrangeItem from "./components/arrangeItem.vue"
import { getCourse } from "@/api/course"
import { useGlobalStore } from "@/store/useStore"
const arrangeList = ref([
{
title: '党支部书记班',
date: '2022-04-01 09:00~12:00', // 课程时间
address: '深圳市南山区西丽街道办公室', // 课程地点
classTeacher: '王少龙', // 班主任
type: 0 // 0 未开始, 1 上课中, 2 已下课
},
{
title: '党支部书记班',
date: '2022-04-01 09:00~12:00', // 课程时间
address: '深圳市南山区西丽街道办公室', // 课程地点
classTeacher: '王少龙', // 班主任
type: 1 // 0 未开始, 1 上课中, 2 已下课
},
{
title: '党支部书记班',
date: '2022-04-01 09:00~12:00', // 课程时间
address: '深圳市南山区西丽街道办公室', // 课程地点
classTeacher: '王少龙', // 班主任
type: 2 // 0 未开始, 1 上课中, 2 已下课
}
])
const arrangeList = ref([] as any)
const globalStore = useGlobalStore()
const percent = ref()
const listQuery = reactive({
Phone: globalStore.Phone,
pageIndex: 1,
pageSize: 999,
total: 0,
type: 5,
classId: "",
})
const status = ref("loadmore")
onLoad((options: any) => {
listQuery.classId = options.classId
init()
})
// 上拉加载数据
onReachBottom(() => {
// 判断是否还有下一页数据
if (listQuery.pageIndex * listQuery.pageSize >= listQuery.total)
return (status.value = "nomore")
// // 判断是否正在请求其它数据,如果是,则不发起额外的请求
if (status.value === "loading") return
listQuery.pageIndex += 1
init()
})
const init = async () => {
status.value = "loading"
const { data: res } = await getCourse(listQuery)
if (res.code == 200) {
if (res.total > 10) status.value = "loadmore"
else status.value = "nomore"
arrangeList.value = [...arrangeList.value, ...res.data]
listQuery.total = res.total
let num: number = res.data.filter(
(item: any) => item.courseType === 2
).length
percent.value = (num / res.total) * 100
// console.log(arrangeList.value)
}
}
</script>
<style lang="scss" scoped>
.course-arrange-container {
padding: 0 20rpx;
.progress {
display: flex;
align-items: center;
justify-content: center;
padding: 26rpx 10rpx 50rpx 30rpx;
padding: 0 20rpx;
.progress {
display: flex;
align-items: center;
justify-content: center;
padding: 26rpx 10rpx 50rpx 30rpx;
text {
display: block;
padding: 12rpx 0;
font-size: 32rpx;
white-space: nowrap;
}
.registered {
margin-left: 30rpx;
color: #3b99fc;
}
text {
display: block;
padding: 12rpx 0;
font-size: 32rpx;
white-space: nowrap;
}
.u-dot {
height: 22rpx;
width: 22rpx;
border-radius: 3.125rem;
background: #2979ff;
box-shadow: 0 0 10px rgba(0, 0, 0.6, 0.412);
.registered {
margin-left: 30rpx;
color: #3b99fc;
}
}
.u-dot {
height: 22rpx;
width: 22rpx;
border-radius: 3.125rem;
background: #2979ff;
box-shadow: 0 0 10px rgba(0, 0, 0.6, 0.412);
}
}
</style>
\ No newline at end of file
</style>
......@@ -146,7 +146,11 @@
</view>
</view>
</view>
<infoPopup v-model:show="infoState.show" />
<infoPopup
ref="infoRef"
v-model:show="infoState.show"
:courseNumber="props.courseItem.courseNumber"
/>
</template>
<script setup lang="ts">
......@@ -174,6 +178,7 @@ const props = defineProps({
})
const isRange = ref(true)
const infoRef = ref()
const courseStore = useCourseStore()
const globalStore = useGlobalStore()
......@@ -277,7 +282,7 @@ const signInStatus = computed(() => {
}
infoState.signInColor = signInColor
console.log(signInStr, "signInStr")
// console.log(signInStr, "signInStr")
return signInStr
})
......@@ -366,6 +371,7 @@ const toSeeMore = () => {
const openInfo = () => {
infoState.show = true
infoRef.value.init()
}
</script>
......
......@@ -8,51 +8,68 @@
@close="handeClose"
>
<view class="info">
<text class="title">课程资料</text>
<view v-for="(item, i) in 10" class="item">
<view>
<u-icon name="order" size="50"></u-icon>
<text>党性学习第一节课件.pdf</text>
</view>
<view>
<u-icon
name="eye-fill"
size="50"
style="margin-right: 30rpx"
@tap="pdfView"
></u-icon>
<u-icon name="download" size="50" @tap="downLoadPdf"></u-icon>
<block v-if="infoList.length">
<text class="title">课件资料</text>
<view v-for="(item, i) in infoList" :key="i" class="item">
<view>
<u-icon name="order" size="50"></u-icon>
<text>{{ item.name }}</text>
</view>
<view>
<u-icon
name="eye-fill"
size="50"
style="margin-right: 30rpx"
@tap="pdfView(item)"
></u-icon>
<u-icon name="download" size="50" @tap="downLoadPdf(item)"></u-icon>
</view>
</view>
</block>
<view v-else class="empty">
<u-empty text="暂无资料" mode="list" />
</view>
</view>
</u-popup>
</template>
<script setup lang="ts">
import { toast, zconfirm } from "@/utils/util"
import { zconfirm } from "@/utils/util"
import { geFileList } from "@/api/course"
import { baseUrl } from "@/utils/request"
const props = defineProps({
show: {
type: Boolean,
default: false,
},
courseNumber: {
type: String,
default: "",
},
})
const emits = defineEmits(["update:show"])
const pdfView = () => {
const pdfView = (item: any) => {
uni.navigateTo({
url: "/pages/course/pdfView",
url:
"/pages/course/pdfView?name=" +
item.name +
"&url=" +
encodeURIComponent(baseUrl + "/" + item.url),
})
}
const downLoadPdf = () => {
const infoList = ref([] as any)
const downLoadPdf = (item: any) => {
zconfirm("确定下载课件资料?", (result: boolean) => {
if (result) {
const url = "/static/pdf/web/compressed.tracemonkey-pldi-09.pdf"
const url = baseUrl + "/" + item.url
const a = document.createElement("a")
a.href = url
a.download = "compressed.tracemonkey-pldi-09.pdf"
a.download = item.name
a.click()
}
})
......@@ -61,6 +78,18 @@ const downLoadPdf = () => {
const handeClose = () => {
emits("update:show", false)
}
const init = async () => {
const { data: res } = await geFileList({ courseNumber: props.courseNumber })
if (res.code == 200) {
console.log(res)
infoList.value = res.data
}
}
defineExpose({
init,
})
</script>
<style lang="scss" scoped>
......@@ -84,13 +113,14 @@ const handeClose = () => {
}
.item {
box-sizing: border-box;
display: flex;
justify-content: space-between;
align-items: center;
background-color: $u-type-info-light;
width: 100%;
height: 100rpx;
padding: 20rpx;
padding: 30rpx;
border-radius: 10rpx;
margin-bottom: 20rpx;
......
......@@ -177,7 +177,7 @@ onMounted(async () => {
}
}
uni-modal {
z-index: 19999 !important;
:deep(uni-modal) {
z-index: 99999 !important;
}
</style>
<template>
<headers title="预览pdf" />
<headers :title="pdfState.title" />
<view class="pdf-container">
<web-view class="webview" :src="pdfState.pdfUrl"></web-view>
</view>
......@@ -9,45 +9,15 @@
import headers from "@/components/header/index.vue"
const pdfState = reactive({
title: "",
pdfUrl: "",
viewerUrl: "/static/pdf/web/viewer.html",
fileUrl: "/static/pdf/web/compressed.tracemonkey-pldi-09.pdf",
})
const fetch = () => {
// url类型
// pdfState.urlStr = "" //这里是获取的url值
// pdfState.pdfUrl = `${pdfState.viewerUrl}?file=${encodeURIComponent(
// pdfState.urlStr
// )}`
onLoad((options: any) => {
pdfState.title = options.name
pdfState.pdfUrl =
pdfState.viewerUrl + "?file=" + encodeURIComponent(pdfState.fileUrl)
// base64类型:
// 代码中定义base64转blob方法
// pdfState.base64ToBlob()
// const base64Str = ''; // 这里是获取的base64值
// let result = base64Str.replace(/[\r\n]/g, "");
// let pdfBase64 = `data:application/pdf;base64,${result}`;
// let pdf = URL.createObjectURL(pdfState.base64ToBlob(pdfBase64)); // base64ToBlob就是第3步定义的方法
// pdfState.pdfUrl = `${pdfState.viewerUrl}?file=${encodeURIComponent(pdf)}`;
}
const base64ToBlob = (base64Data: any) => {
let arr = base64Data.split(","),
fileType = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
l = bstr.length,
u8Arr = new Uint8Array(l)
while (l--) {
u8Arr[l] = bstr.charCodeAt(l)
}
return new Blob([u8Arr], {
type: fileType,
})
}
onMounted(() => {
fetch()
pdfState.viewerUrl + "?file=" + encodeURIComponent(options.url)
})
</script>
......
......@@ -1152,7 +1152,7 @@ const PDFViewerApplication = {
this.metadata = metadata;
this._contentDispositionFilename ??= contentDispositionFilename;
this._contentLength ??= contentLength;
console.log(`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` + `${(info.Producer || "-").trim()} / ${(info.Creator || "-").trim()}] ` + `(PDF.js: ${_pdfjsLib.version || "?"} [${_pdfjsLib.build || "?"}])`);
// console.log(`PDF ${pdfDocument.fingerprints[0]} [${info.PDFFormatVersion} ` + `${(info.Producer || "-").trim()} / ${(info.Creator || "-").trim()}] ` + `(PDF.js: ${_pdfjsLib.version || "?"} [${_pdfjsLib.build || "?"}])`);
let pdfTitle = info.Title;
const metadataTitle = metadata?.get("dc:title");
if (metadataTitle) {
......@@ -1642,9 +1642,9 @@ exports.PDFViewerApplication = PDFViewerApplication;
return;
}
const fileOrigin = new URL(file, window.location.href).origin;
if (fileOrigin !== viewerOrigin) {
throw new Error("file origin does not match viewer's");
}
// if (fileOrigin !== viewerOrigin) {
// throw new Error("file origin does not match viewer's");
// }
} catch (ex) {
PDFViewerApplication.l10n.get("loading_error").then(msg => {
PDFViewerApplication._documentError(msg, {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -38,7 +38,7 @@ const useQqMaps = () => {
location: position.lat + ',' + position.lng,
get_poi: 1
}).then((res: any) => {
console.log(res.result, 'res.result');
// console.log(res.result, 'res.result');
mapsInfo.addr = res.result.address
})
}
......
......@@ -6,7 +6,13 @@ export const src1 =
export const bacSrc =
"https://img2.baidu.com/it/u=460732253,1892860896&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=888"
export const pdfUrl =
"https://www.ropiniot.com/DJService/File/BASE_001/ACT/5512e00f-f679-42ec-a3ae-991e9db7df98/e8f7cf96-5774-476e-bced-e28309cd72b3.pdf"
export const pdfUrl1 =
"https://swsdl.vivo.com.cn/appstore/cloudtest/pdf/20220621/202206212026012891400036.pdf"
export const demoAddr = {
lng: "113.86139",
lat: "22.588493",
lat: "22.588493",
} as any
import config from "./config"
// const baseurl = "https://weixin.lingqingkeji.com:86/k3cloud"
// const baseurl = "/k3cloud"
const baseurl = "/XiBU"
export const baseUrl = "/k3cloud"
// 部署到iis上用的
// const baseUrl = "https://weixin.lingqingkeji.com:86/k3cloud"
// const baseUrl = "/XiBU"
// 封装公共申请办法
function request(
......@@ -17,7 +18,7 @@ function request(
title: "加载中...",
})
header = { "Content-Type": "application/json" }
url = baseurl + url
url = baseUrl + url
uni.request({
url,
......
{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"types": ["@dcloudio/types"],
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"types": ["@dcloudio/types"],
"baseUrl": ".",
"paths": {
"@/*": ["src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论