lu_quan_dev
han 10 months ago
parent b06a49f812
commit c1ea54bcb6
  1. 17
      common/config.js
  2. 1
      common/httpRequest.js
  3. 3
      pages/fuwu/fuwu.vue
  4. 4
      pages/index/index.vue
  5. 1
      subPageA/food/fooddetial/fooddetial.vue
  6. 364
      subPageB/jiqiren/jiqiren/zhinengjiqiren.vue
  7. 1
      subPageC/Ai/index.vue
  8. 22
      subPageC/flower/index.vue
  9. 44
      subPageC/translate/index.vue
  10. 14
      subPageC/weather/index.vue

@ -55,13 +55,14 @@ module.exports = {
aiSendMsg: REAUEST_ROOTPATH + "/app-api/wechatshop/ai/sendMsg", //Ai发送
getWeatherForecast: REAUEST_ROOTPATH + "/app-api/wechatshop/weather/getWeatherForecast", //天气预报
getRealTimeWeather: REAUEST_ROOTPATH + "/app-api/wechatshop/weather/getRealTimeWeather", //Ai发送
getTtranslate: REAUEST_ROOTPATH + "/app-api/wechatshop/toolTranslate/translate", //翻译
// getMethodList: REAUEST_ROOTPATH + "/mobile/method/getMethodList", //原攻略列表
getMethodList: REAUEST_ROOTPATH + "/mobile/WalkthroughType/selectWalkthroughType", //攻略列表
getMethodRecommendList: REAUEST_ROOTPATH + "/mobile/WalkthroughType/selectMessageRecommend", //攻略推荐列表
selectMessageWalkthroughType: REAUEST_ROOTPATH + "/mobile/WalkthroughType/selectMessageWalkthroughType",//攻略分类查询攻略列表
selectMessageWalkthroughType: REAUEST_ROOTPATH +
"/mobile/WalkthroughType/selectMessageWalkthroughType", //攻略分类查询攻略列表
@ -117,19 +118,23 @@ module.exports = {
getMessageInfoFormFilter: REAUEST_ROOTPATH + "/mobile/messageInfo/getMessageInfoFormFilter", //信息管理列表数据查询
getMessageInfoFormFilter_two: REAUEST_ROOTPATH + "/mobile/messageInfo/getMessageInfoFormFilter_two" ,//信息管理列表数据查询-导游页面测试
getMessageInfoFormFilter_food: REAUEST_ROOTPATH + "/mobile/messageInfo/getMessageInfoFormFilter_food" ,//信息管理列表数据查询-美食页面
getMessageInfoFormFilter_two: REAUEST_ROOTPATH +
"/mobile/messageInfo/getMessageInfoFormFilter_two", //信息管理列表数据查询-导游页面测试
getMessageInfoFormFilter_food: REAUEST_ROOTPATH +
"/mobile/messageInfo/getMessageInfoFormFilter_food", //信息管理列表数据查询-美食页面
getMessgeInfoDetailFormId: REAUEST_ROOTPATH + "/mobile/messageInfo/getMessgeInfoDetailFormId", //信息详情接口查询
getSysParamFormRegion: REAUEST_ROOTPATH + "/mobile/sysParam/getSysParamFormRegion", //系统参数查询
getCondition: REAUEST_ROOTPATH + "/mobile/sort/getCondition.do", //排序、分类筛选条件查询
getLineInfoFormFilterByPage: REAUEST_ROOTPATH + "/mobile/lineInfo/getLineInfoFormFilterByPage", //查询线路列表接口
getLineDetailFormId: REAUEST_ROOTPATH + "/mobile/lineInfo/getLineDetailFormId", //线路详情接口
updateMessageInfoUBFeildFormId: REAUEST_ROOTPATH + "/mobile/messageInfo/updateMessageInfoUBFeildFormId" ,//更改信息的浏览量和点赞量
updateMessageInfoUBFeildFormId: REAUEST_ROOTPATH +
"/mobile/messageInfo/updateMessageInfoUBFeildFormId", //更改信息的浏览量和点赞量
getMapData: REAUEST_ROOTPATH + "/mobile/h5/getTenXData", //获取地图上的数据
getRedisData: REAUEST_ROOTPATH + "/mobile/messageInfo/getRedisData.do", //从redis中获取数据
getScenicListToMap: REAUEST_ROOTPATH + "/mobile/scenic/getScenicListToMap", //查询景区信息显示到地图
getHotelListToMap: REAUEST_ROOTPATH + "/mobile/gyhotel/getHotelListToMap", //查询酒店信息显示到地图
getScenicListFormFilter: REAUEST_ROOTPATH + "/mobile/scenic/getScenicListFormFilter" ,//查询景区列表(暂用在热门景区,所返回字段只有目的地详情中热门景区字段)
getScenicListFormFilter: REAUEST_ROOTPATH +
"/mobile/scenic/getScenicListFormFilter", //查询景区列表(暂用在热门景区,所返回字段只有目的地详情中热门景区字段)
getWeather: REAUEST_ROOTPATH + "/mobile/weather/getweather", //天气
saveUser: REAUEST_ROOTPATH + "/mobile/weixin/saveUserInfo", //APP保存微信用户信息
getUserInterest: REAUEST_ROOTPATH + "/mobile/interest/getUserInterest.do", //根据用户uniid查询用户关注选择的推送数据

@ -283,6 +283,7 @@ module.exports = {
method: "GET",
header: headers
};
console.log('config'.config)
config = requestInterceptor(config);
uni.request(config).then(result => {
const response = responseInterceptor(result, config);

@ -96,8 +96,7 @@
class="at_size_2" mode="aspectFill"></image>
<view class="at_t">附近</view>
</view>
<view class="w_20" @click="goQuanyi">
<!-- <view class="w_20" @click="goToPages('jiqiren')"> -->
<view class="w_20" @click="goToPages('jiqiren')">
<image src="https://eluyou.ailuquan.cn/upload/image/2024/mapIcon/daolan/lefu2x.png"
class="at_size_2" mode="aspectFill"></image>
<view class="at_t">AI管家</view>

@ -49,7 +49,7 @@
</view>
</view>
<view class="w_20" hover-class="checkActive">
<view class="kua_nav" @click="goQuanyi">
<view class="kua_nav" @click="goToPages('Ai')">
<image src="https://eluyou.ailuquan.cn/upload/image/2024/mapIcon/daolan/icon-nav-04.png"
class="at_size_1"></image>
<view class="at_t">行程规划</view>
@ -79,7 +79,7 @@
</view>
</view>
<view class="w_20" hover-class="checkActive">
<view class="kua_nav" @click="goToPages('Ai')">
<view class="kua_nav" @click="goToPages('jiqiren')">
<image src="https://eluyou.ailuquan.cn/upload/image/2024/mapIcon/daolan/icon-nav-13.png"
class="at_size_2"></image>
<view class="at_t">AI管家</view>

@ -137,6 +137,7 @@
if (!that.$util.isSuccess(res)) {
return;
}
console.log("========")
var data = res.data;
data.logo = this.$config.ROOTPATH + data.logo;
var shangjia = data[that.$param.shangjiakey];

@ -4,8 +4,8 @@
title="智能客服" @clickLeft="back" />
<!-- -->
<scroll-view id="scrollview" class="jqr_dig_scroll" scroll-y="true" :style="{height:style.contentViewHeight+'px'}"
:scroll-with-animation="true" :scroll-top="scrollTop">
<scroll-view id="scrollview" class="jqr_dig_scroll" scroll-y="true"
:style="{height:style.contentViewHeight+'px'}" :scroll-with-animation="true" :scroll-top="scrollTop">
<view id="msgview" class="user-box" :class="item.typestyle" v-for="(item,index) in messages" :key="index">
<view class="quanbao">
<image :src="item.headurl" class="jqr_dig_pic"></image>
@ -13,13 +13,13 @@
<span>泉宝</span>
<span>{{ item.time }}</span>
</view>
</view>
<view class="dig_column ">
<view :class="item.contentstyle">
<view class="janw_link" v-for="(items,index) in item.content" :key="index">
<navigator class="janw_link" @tap="goToMsgDetail(items)" v-for="(items,i) in item.content"
:key="i">
{{items.text}}
</view>
</navigator>
<navigator @tap="getSelectMsg(item.search,item.bcode,item.page+1)"
v-if="item.type == 'jiqiren' && item.content.length >= 7" class="dig_more">
查看更多
@ -45,8 +45,6 @@
<view class="w_33 half" @tap="showText()">
<image src="/subPageB/static/img/jqr_jpan.png" class="jqr_tol_pic"></image>
</view>
<view class="w_33 half" @tap="goToIndex()">
<image src="/subPageB/static/img/jqr_home.png" class="jqr_tol_pic"></image>
</view>
@ -61,9 +59,7 @@
</text>
</scroll-view>
<view class="dly_flex jpan_mode">
<view class="b_tol_ipt">
<input v-model="inputValue" type="text" focus placeholder="请输入"
placeholder-style="color:#999; font-size:24rpx" class="ipt_jqr" />
@ -74,13 +70,17 @@
</view>
</view>
<!-- 语音模式 -->
<!-- <view class="yuyin_mode">
<view class="dly_flex_c jqr_tol_box">
<view class="yuyin_mode">
<view class="dly_flex_c jqr_tol_box" @touchstart="touchstart" @touchend="touchend">
<image src="/subPageB/static/img/jqr_yuy.png" class="jqr_tol_pic_l"></image>
</view>
</view> -->
</view>
<view v-if="recordStart" class="audio-animation">
<view class="audio-wave">
<text class="audio-wave-text" v-for="item in 10" :style="{'animation-delay': `${item/10}s`}"></text>
<view class="text">松开 发送</view>
</view>
</view>
</view>
</view>
</template>
@ -97,6 +97,8 @@ innerAudioContext.autoplay = true;
},
data() {
return {
//
rootPath: this.$config.ROOTPATH,
threebut: true,
textbut: false,
allConList: [],
@ -112,16 +114,16 @@ innerAudioContext.autoplay = true;
typestyle: "dly_flex left_dig m-item",
time: this.$util.getCurrentTime3(),
headurl: "/subPageB/static/img/jqr_jxw.png",
content:[{text:"您好,我是您的智能小助手"}],
content: [{
text: "您好,我是您的智能小助手"
}],
contentstyle: "jqr_box_txt dig_gd"
}],
inputValue: "",
luyinstart: true,
voicePath: "",
max: 5000, //
frame: 50, //
longTag: false, //
maxTiming: false, //
messageType: 'voice', // text voice
recordStart: false,
draw: undefined,
seconds: '00',
ms: '00',
@ -177,7 +179,9 @@ innerAudioContext.autoplay = true;
typestyle: "dly_flex_c2 right_dig m-item me",
time: this.$util.getCurrentTime3(),
headurl: "",
content:[{text:title}],
content: [{
text: title
}],
contentstyle: "jqr_box"
})
this.scrollToBottom();
@ -212,6 +216,7 @@ innerAudioContext.autoplay = true;
}
content.push(item);
}
this.$nextTick(()=>{
this.messages.push({
type: "jiqiren",
typestyle: "dly_flex left_dig m-item",
@ -223,10 +228,14 @@ innerAudioContext.autoplay = true;
bcode: baseinfo,
contentstyle: "jqr_box dig_gd"
})
})
this.scrollToBottom();
})
},
goToMsgDetail: function(items) {
console.log(items)
if (items.type == "user") {
return;
}
@ -237,114 +246,29 @@ innerAudioContext.autoplay = true;
}
if (items.bcode == "3302") {
uni.navigateTo({
url: "/subPageA/food/fooddetial/fooddetial?fid=" + items.dataid + "&fareacode=" + items.region
url: "/subPageA/food/fooddetial/fooddetial?fid=" + items.dataid + "&fareacode=" + items
.region
})
}
if (items.bcode == "3303") {
uni.navigateTo({
url: "/subPageA/method/methoddetail/methoddetail?guid="+items.dataid
url: "/subPageA/method/methodDetail/methodDetail?guid=" + items.dataid
})
}
if (items.bcode == "3304") {
uni.navigateTo({
url: "/pagesA/travelroute/travelroutedetail/travelroutedetail?id="+items.dataid
url: "/subPageB/hotel/hoteldetail/hoteldetail?id=" + items.dataid + '&region=' + items
.region
})
}
if (items.bcode == "3305") {
uni.navigateTo({
url: "/subPageB/hotel/hoteldetail/hoteldetail?id="+items.dataid
url: "/subPageA/travelroute/travelroutedetail/travelroutedetail?id=" + items.dataid
})
}
},
/* start: function() {
this.longTag = setTimeout(this.recording, 500); // 500ms
},
move: function() {
clearTimeout(this.longTag);
clearTimeout(this.maxTiming);
clearInterval(this.draw);
this.longTag = false;
},
end: function() {
clearTimeout(this.longTag);
clearTimeout(this.maxTiming);
clearInterval(this.draw);
if (this.longTag) { // timeoutfalserecordingtouchmove
console.log('按住时间少于500ms会执行这里并return');
return
}
this.longTag = false;
this.draw = false;
if(this.yuyintype){
this.stopRecord();
}
this.yuyintype = true;
}, */
recording: function() {
if(this.luyinstart){
uni.showLoading({
title: '录音中,再次点击结束录音'
});
this.startRecord();
this.luyinstart = false;
}else{
uni.hideLoading();
uni.showToast({
title: '结束录音',
duration: 2000
});
this.stopRecord();
this.luyinstart = true;
}
/* // 开始录音
this.longTag = false;
this.startRecord();
// 10
this.maxTiming = setTimeout(function() {
//clearInterval(this.draw);
self.stopRecord();
self.yuyintype = false;
//
// self.send();
}, self.max); */
//
/*let angle = -0.5;
let context = uni.createCanvasContext('canvas');
this.draw = setInterval(function() {
context.beginPath();
context.setStrokeStyle("#11C966");
context.setLineWidth(3);
context.arc(61,40, 35, -0.5 * Math.PI, (angle += 2 / (self.max / self.frame)) * Math.PI, false);
context.stroke();
context.draw();
}, self.frame); */
},
//
startRecord:function() {
let that = this;
that.$wechat.startRecord(
function(res){
console.log("开始录音")
},function(res){
})
},
//
stopRecord:function(){
let that = this;
that.$wechat.stopRecord(
function(res){
var str = res.translateResult.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\,|\.|\<|\。|\>|\/|\?]/g,"");
that.getMsg(str,'',1)
},function(res){
}
)
},
   /**
/**
* @author gongliying
* @date 2019-07-26
* @information 跳转页面底部
@ -356,16 +280,164 @@ innerAudioContext.autoplay = true;
query.select('#scrollview').boundingClientRect();
query.exec((res) => {
that.style.mitemHeight = 0;
res[0].forEach((rect) => that.style.mitemHeight = that.style.mitemHeight + rect.height + 200) //
           // vueDOM setTimeout   
           setTimeout(() => {
res[0].forEach((rect) => that.style.mitemHeight = that.style.mitemHeight + rect.height +
200) //
// vueDOM setTimeout   
setTimeout(() => {
  if (that.style.mitemHeight > (that.style.contentViewHeight - 100)) { //
  that.scrollTop = that.style.mitemHeight - that.style.contentViewHeight //
  }
         }, 100)
        })
if (that.style.mitemHeight > (that.style.contentViewHeight -
100)) { //
that.scrollTop = that.style.mitemHeight - that.style
.contentViewHeight //
}
}, 100)
})
},
//
authTips() {
uni.showModal({
title: '提示',
content: '您拒绝了麦克风权限,将导致功能不能正常使用,去设置权限?',
confirmText: '去设置',
cancelText: '取消',
success: (res) => {
if (res.confirm) {
uni.openSetting({
success: (res) => {
if (res.authSetting['scope.record']) {
console.log("已授权麦克风");
this._recordAuth = true
} else {
//
wx.showModal({
title: '提示',
content: '您未授权麦克风,功能将无法使用',
showCancel: false,
confirmText: '知道了'
})
}
}
})
}
}
})
},
//
touchstart() {
this.threebut = false;
this.textbut = true;
//
const _permission = 'scope.record'
uni.getSetting({
success: (res) => {
//
if (res.authSetting.hasOwnProperty(_permission)) {
// false
if (!res.authSetting[_permission]) {
this.authTips()
} else {
//
this._recordAuth = true
//
recorderManager.start({
format: 'pcm',
})
recorderManager.onStart(() => {
this.recordStart = true
})
//
recorderManager.onError((res) => {
console.log('recorder error', res)
uni.showToast({
icon: 'none',
title: '系统出错,请重试'
})
this.recordStart = false
})
}
} else {
//
uni.authorize({
scope: _permission,
success: () => {
//
this._recordAuth = true
},
fail: (res) => {
/**
* 104 未授权隐私协议
* 用户可能拒绝官方隐私授权弹窗为了避免过度弹窗打扰用户开发者再次调用隐私相关接口时
* 若距上次用户拒绝不足10秒将不再触发弹窗直接给到开发者用户拒绝隐私授权弹窗的报错
*/
if (res.errno == 104) {
uni.showModal({
title: '温馨提示',
content: '您拒绝了隐私协议,请稍后再试',
confirmText: '知道了',
showCancel: false,
success: () => {}
})
} else {
//
this.authTips()
}
}
})
}
}
})
},
//
touchend() {
const $this = this
if (!this._recordAuth || !this.recordStart) return
//
recorderManager.stop();
recorderManager.onStop((res) => {
const {
duration,
tempFilePath
} = res
this.recordStart = false
wx.uploadFile({
url: $this.rootPath + '/app-api/wechatshop/toolIdentify/identifySpeech',
filePath: tempFilePath,
name: 'file',
formData: {
'file': tempFilePath
},
success: function(res) {
let data = JSON.parse(res.data)
$this.messages.push({
type: "user",
typestyle: "dly_flex_c2 right_dig m-item me",
time: $this.$util.getCurrentTime3(),
headurl: "",
content: [{
text: data.data
}],
contentstyle: "jqr_box"
})
$this.getSelectMsg(data.data, "", 1);
$this.scrollToBottom();
},
fail: function(res) {
UTIL.log(res);
wx.showModal({
title: '提示',
content: "网络请求失败,请确保网络是否正常",
showCancel: false,
success: function(res) {}
});
wx.hideToast();
}
});
})
},
}
}
</script>
@ -421,13 +493,16 @@ innerAudioContext.autoplay = true;
padding-left: 20rpx
}
}
.lazy_sech {
background-color: #fff;
}
.jqr_tol {
height: fit-content;
padding: 20rpx 0 50rpx 0;
}
.jpan_mode {
display: flex;
align-items: center;
@ -458,7 +533,56 @@ innerAudioContext.autoplay = true;
.dig_more {
bottom: 0;
}
.noPadding {
padding-bottom: 20rpx !important;
}
.audio-animation {
position: fixed;
// width: 100vw;
// height: 100vh;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
z-index: 202410;
display: flex;
justify-content: center;
align-items: center;
.text {
text-align: center;
font-size: 28rpx;
color: #333;
margin-top: 60rpx;
}
.audio-wave {
padding: 50rpx;
.audio-wave-text {
background-color: #0983ff;
width: 7rpx;
height: 12rpx;
margin: 0 6rpx;
border-radius: 5rpx;
display: inline-block;
border: none;
animation: wave 0.25s ease-in-out;
animation-iteration-count: infinite;
animation-direction: alternate;
}
/* 声波动画 */
@keyframes wave {
from {
transform: scaleY(1);
}
to {
transform: scaleY(4);
}
}
}
}
</style>

@ -202,7 +202,6 @@
.then(res => {
console.log("---", res)
});
this.content = ''
this.scrollToBottom()
// //

@ -1,5 +1,9 @@
<template>
<view class="v-pages-flower">
<view class="bg">
<image src="https://eluyou.ailuquan.cn/upload/image/2024/mapIcon/daolan/flower-bg.png" class="img">
</image>
</view>
<view class="icon" @click="chooseImage">
<image src="https://eluyou.ailuquan.cn/upload/image/2024/mapIcon/daolan/icon-camera.png" class="img">
</image>
@ -42,6 +46,8 @@
export default {
data() {
return {
//
rootPath: this.$config.ROOTPATH,
imageSrc: "",
imageTitle: "",
search_result: []
@ -57,13 +63,13 @@
mediaType: ['image'],
sourceType: [sourceType],
success: (res) => {
console.log(res)
$this.imageSrc = res.tempFiles[0].tempFilePath
uni.showLoading({
title: '图片识别中...'
})
this.task = uni.uploadFile({
url: 'http://192.168.130.157:48080/app-api/wechatshop/toolIdentify/identifyPlant', //
url: this.rootPath +
'/app-api/wechatshop/toolIdentify/identifyPlant', //
filePath: $this.imageSrc,
name: 'file',
formData: {
@ -115,19 +121,21 @@
overflow: hidden;
&:after {
.bg {
content: '';
width: 100%;
width: 100vw;
height: 60vh;
position: absolute;
left: 0;
top: 0;
z-index: 0;
background: url('@/static/test/flower-bg.png');
background-repeat: no-repeat;
background-size: cover;
image {
width: 100vw;
height: 100%;
}
}
&:before {
content: '';
width: 160%;

@ -49,6 +49,8 @@
},
data() {
return {
//
rootPath: this.$config.ROOTPATH,
imageSrc: "",
imageTitle: "",
search_result: [],
@ -160,27 +162,23 @@
mediaType: ['image'],
sourceType: ['camera', 'album'],
success: (res) => {
console.log(res)
$this.imageSrc = res.tempFiles[0].tempFilePath
uni.showLoading({
title: '识别中...'
})
console.log("bbb")
this.task = uni.uploadFile({
url: 'http://192.168.130.157:48080/app-api/wechatshop/toolIdentify/identifyText',
url: this.rootPath + '/app-api/wechatshop/toolIdentify/identifyText',
filePath: $this.imageSrc,
name: 'file',
formData: {
'file': $this.imageSrc
},
success: (res) => {
console.log('uploadImage success, res is:', res)
let data = JSON.parse(res.data)
uni.showToast({
title: '识别成功',
icon: 'success',
duration: 1000
})
if (data.data.words !== null) {
this.ActiveText = data.data.words
@ -190,7 +188,6 @@
this.gotoTranslate()
},
fail: (err) => {
console.log('uploadImage fail', err);
uni.showModal({
content: err.errMsg,
showCancel: false
@ -207,30 +204,45 @@
}
})
},
// from
changeFrom(val) {
this.fromShow = false
this.ActiveFrom = val.value[0]
},
// to
changeTo(val) {
this.toShow = false
this.ActiveTo = val.value[0]
},
//
gotoTranslate() {
if (this.ActiveFrom.value == this.ActiveTo.value) {
this.resultText = this.ActiveText
} else {
let queryParams
if (!this.exchange) {
queryParams = `query=${this.ActiveText}&from=${this.ActiveFrom.value}&to=${this.ActiveTo.value}`
} else {
queryParams = `query=${this.ActiveText}&from=${this.ActiveTo.value}&to=${this.ActiveFrom.value}`
queryParams = {
query: this.ActiveText,
from: this.ActiveFrom.value,
to: this.ActiveTo.value
}
uni.request({
url: 'http://192.168.130.157:48080/app-api/wechatshop/toolTranslate/translate?' + queryParams,
success: (res) => {
this.resultText = res.data.data
console.log(this.resultText)
} else {
queryParams = {
query: this.ActiveText,
from: this.ActiveTo.value,
to: this.ActiveFrom.value,
}
}
this.$Request.get(this.$config.getTtranslate, queryParams, "", "", false, true)
.then(res => {
if (res.data !== null) {
this.resultText = res.data
} else {
this.resultText = this.ActiveText
}
})
}
});
},
}
}

@ -1,10 +1,8 @@
<template>
<view class="v-pages-bg" v-if="today_data" :class="TodayClass">
<view class="v-weather-bg" :class="TodayClass"></view>
<view class="v-weather-bar row flex-align-center">
<image src="@/static/test/icon-back.png" class="img" mode="widthFix" @click="gotoBack()"></image>
<view class="col">鹿泉天气</view>
</view>
<uni-nav-bar dark statusBar :fixed="true" background-color="transparent" :border="false" left-icon="left"
title="鹿泉天气" @clickLeft="gotoBack" />
<!-- 今日天气 -->
<view class="v-pages-weather_top container-fluid" v-if="today_data">
<view class="today-temp">{{today_data.temp}}°</view>
@ -50,7 +48,11 @@
data
} from '../../uni_modules/uview-ui/libs/mixin/mixin';
import uniNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
export default {
components: {
uniNavBar
},
data() {
return {
today_data: undefined,
@ -130,8 +132,8 @@
},
gotoBack() {
uni.navigateBack({
delta: 1 // 1
});
delta: 1,
})
},
getWeekday(day) {
const date = new Date(day); //

Loading…
Cancel
Save