liukangdong
2024-09-19 2cb2f782d29b546caecbabf16f605721e0ea4243
‘’
已添加2个文件
已修改9个文件
529 ■■■■■ 文件已修改
admin/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/OperaRoomsWindow.vue 173 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/manifest.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/api/index.js 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/manifest.json 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/pages.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/pages/index/config.vue 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/pages/index/index.vue 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/static/icon/right.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/utils/config.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5_meeting/utils/service.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -2,5 +2,5 @@
NODE_ENV = 'development'
VUE_APP_API_URL  = 'http://localhost:10010'
# VUE_APP_API_URL  = 'http://192.168.31.42:10010'
VUE_APP_API_URL  = 'http://10.50.250.178:8088/gateway_interface'
VUE_APP_API_URL  = 'http://192.168.0.139:10010'
# VUE_APP_API_URL  = 'http://10.50.250.178:8088/gateway_interface'
admin/src/views/meeting/components/OperaRoomsWindow.vue
@@ -1,27 +1,13 @@
<template>
  <GlobalAlertWindow
    v-loading="isUploading"
    :title="title"
    :visible.sync="visible"
    :confirm-working="isWorking"
    @confirm="confirm"
  >
  <GlobalAlertWindow v-loading="isUploading" :title="title" :visible.sync="visible" :confirm-working="isWorking"
    @confirm="confirm">
    <el-form :model="form" ref="form" :rules="rules" label-width="120px" label-suffix=":">
      <el-form-item label="会议室名称" prop="name">
        <el-input v-model="form.name" placeholder="请输入会议室名称" :maxlength="10" v-trim/>
      </el-form-item>
      <el-form-item label="开放时间" prop="timeRange">
        <el-time-picker
          is-range
          value-format="HH:mm"
          format="HH:mm"
          v-model="timeRange"
          range-separator="至"
          start-placeholder="开始时间"
          end-placeholder="结束时间"
          placeholder="选择时间范围"
          @change="selectRange"
        ></el-time-picker>
        <el-time-picker is-range value-format="HH:mm" format="HH:mm" v-model="timeRange" range-separator="至"
          start-placeholder="开始时间" end-placeholder="结束时间" placeholder="选择时间范围" @change="selectRange"></el-time-picker>
      </el-form-item>
      <el-form-item label="粒度分钟" prop="intervalTime">
        <el-input v-model="form.intervalTime" type="number" placeholder="请输入时间粒度(分钟)" v-trim/>
@@ -30,35 +16,40 @@
        <el-input v-model="form.limitNum" type="number" placeholder="请输入容纳人数" v-trim/>
      </el-form-item>
      <el-form-item label="管理员" prop="sysList">
        <el-select
          v-model="form.sysList"
          filterable
          multiple
          clearable
          placeholder="请选择部门"
        >
        <el-select v-model="form.sysList" filterable multiple clearable placeholder="请选择部门">
        <!-- :label="`${item.department.name}-${item.realname}`" -->
          <el-option
            v-for="item in userList()"
            :key="item.id"
            :value="item.id"
            :label="item.companyId?`${item.companyName}-${item.companyName}`:item.realname"
          />
          <el-option v-for="item in userList()" :key="item.id" :value="item.id"
            :label="item.companyId ? `${item.companyName}-${item.companyName}` : item.realname" />
        </el-select>
      </el-form-item>
      <el-form-item label="提供服务项目" prop="projectList">
        <el-checkbox-group v-model="form.projectList">
          <el-checkbox v-for="project in projectList" :label="project.id" :key="project.id">{{project.name}}</el-checkbox>
          <el-checkbox v-for="project in projectList" :label="project.id" :key="project.id">{{ project.name
            }}</el-checkbox>
        </el-checkbox-group>
      </el-form-item>
      <el-form-item label="会议室图片" prop="imgurl">
        <UploadAvatarImage
          :file="{ 'imgurlfull': form.imgFullUrl, 'imgurl': form.imgurl }"
          :uploadData="uploadData"
          @uploadSuccess="uploadAvatarSuccess"
          @uploadEnd="isUploading = false"
          @uploadBegin="isUploading = true"
        />
      <el-form-item label="空闲展示内容" prop="fileType">
        <el-radio v-model="form.fileType" @change="changeFile" :label="2">无</el-radio>
        <el-radio v-model="form.fileType" @change="changeFile" :label="0">图片</el-radio>
        <el-radio v-model="form.fileType" @change="changeFile" :label="1">视频</el-radio>
      </el-form-item>
      <el-form-item v-if="form.fileType == 0" label="展示图片" prop="imgurl">
        <div class="upload_wrap">
          <el-upload class="avatar-uploader" accept=".png,.jpg,.jpeg" :action="uploadImgUrl" :data="uploadData"
            :show-file-list="false" :on-success="handleImgSuccess">
            <div>
              <i class="el-icon-plus avatar-uploader-icon"></i>
            </div>
          </el-upload>
          <div v-for="item, i in form.multifileList" class="img_wrap">
            <img :src="item.fileurlFull" class="img">
            <i class="el-icon-error del" @click="imgDel(i)"></i>
          </div>
        </div>
      </el-form-item>
      <el-form-item v-if="form.fileType == 1" label="展示视频" prop="imgurl">
        <UploadAvatarVideo :file="{ 'videourlfull': form.videoFullUrl, 'videourl': form.videourl }" :uploadData="uploadData"
          @uploadSuccess="uploadAvatarSuccess" @uploadEnd="isUploading = false" @uploadBegin="isUploading = true" />
      </el-form-item>
      <el-form-item label="使用须知" prop="tips">
        <el-input v-model="form.tips" type="textarea" placeholder="请输入使用须知" v-trim/>
@@ -70,13 +61,13 @@
<script>
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
import UploadAvatarVideo from '@/components/common/UploadAvatarVideo'
import { numRule } from '@/utils/form'
import { fetchList } from '@/api/meeting/projects'
export default {
  name: 'OperaRoomsWindow',
  extends: BaseOpera,
  components: { GlobalAlertWindow, UploadAvatarImage },
  components: { GlobalAlertWindow, UploadAvatarVideo },
  data () {
    let timeRangeRule = (rule, value, callBack) => {
      if (!this.form.startTime) {
@@ -90,6 +81,7 @@
      callBack()
    }
    return {
      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/visitsAdmin/cloudService/public/upload',
      isUploading: false,
      uploadData: {
        folder: 'projects'
@@ -99,11 +91,13 @@
      form: {
        id: null,
        sysList: [],
        multifileList: [],
        projectList: [],
        createDate: '',
        editor: '',
        editDate: null,
        isdeleted: 0,
        fileType: 2,
        name: '',
        remark: '',
        startTime: '',
@@ -182,17 +176,41 @@
        console.log(target)
      })
    },
    imgDel(i) {
      this.form.multifileList.splice(i, 1)
    },
    handleImgSuccess(res) {
      const list = [...this.form.multifileList]
      if (res.code == 200) {
        let { data } = res
        list.push({
          fileurl: data.imgaddr,
          fileurlFull: data.url,
          type: 0
        })
        this.$set(this.form, 'multifileList', list)
      }
    },
    selectRange(v) {
      // console.log(this.timeRange);
      console.log(v);
      console.log(v)
      this.form.startTime = v[0]
      this.form.endTime = v[1]
      console.log(this.form.startTime, this.form.endTime);
      console.log(this.form.startTime, this.form.endTime)
    },
    // ä¸Šä¼ å›¾ç‰‡
    changeFile() {
      this.$set(this.form, 'multifileList', [])
    },
    uploadAvatarSuccess(file) {
      this.form.imgurl = file.imgurl;
      this.form.imgFullUrl = file.imgurlfull;
      console.log('file', file)
      this.form.multifileList.push({
        fileurl: file.imgurl,
        fileurlFull: file.imgurlfull,
        type: 1
      })
      this.$set(this.form, 'videourl', file.imgurl)
      this.$set(this.form, 'videoFullUrl', file.imgurlfull)
    },
    // ç¡®è®¤æ–°å»º
    __confirmCreate () {
@@ -237,7 +255,7 @@
        if (!valid) {
          return
        }
        console.log(this.form);
        console.log(this.form)
        debugger
        // è°ƒç”¨æ–°å»ºæŽ¥å£
        this.isWorking = true
@@ -272,6 +290,63 @@
</script>
<style lang="scss" scoped>
@import "@/assets/style/alertstyle.scss";
$image-width: 90px;
.upload_wrap {
  display: flex;
  .img_wrap {
    margin-left: 10px;
    border: 1px dashed #d9d9d9;
    width: $image-width;
    height: $image-width;
    border-radius: 6px;
    position: relative;
    .img {
      width: $image-width;
      height: $image-width;
    }
    .del {
      position: absolute;
      top: -6px;
      right: -6px;
      cursor: pointer;
      color: red;
    }
  }
}
.avatar-uploader {
  width: $image-width;
  height: $image-width;
}
::v-deep .el-upload {
  border: 1px dashed #d9d9d9;
  border-radius: 6px;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}
.avatar-uploader .el-upload:hover {
  border-color: #409EFF;
}
.avatar-uploader-icon {
  line-height: 90px;
  font-size: 28px;
  color: #8c939d;
  width: $image-width;
  height: $image-width;
  text-align: center;
}
.avatar {
  width: 90px;
  max-height: 90px;
  display: block;
}
</style>
h5/manifest.json
@@ -91,12 +91,12 @@
            "proxy" : {
                "/admin_interface" : {
                    // è¿™ä¸ªå­—段名需与你配置的basePrefixUrl一致,系统识别到带有/dev-api请求的地址时,会在前面拼接上代理服务器地址
                    // "target" : "http://192.168.0.173/admin_interface", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                    "target" : "http://192.168.0.139/admin_interface", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                    // "target" : "http://192.168.31.42:10010", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                    "target" : "http://10.50.250.178:8088/gateway_interface", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                    // "target" : "http://10.50.250.178:8088/gateway_interface", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                    "changeOrigin" : true, // å…è®¸è·¨åŸŸ 
                    "pathRewrite" : {
                        "^/admin_interface" : "" // é‡å†™åœ°å€ï¼Œå¦‚果实际接口中是不带/dev-api,需要将这个前缀置空,因为这个前缀只是为了识别用,识别完之后就没用了
                        "^/admin_interface" : ""
                    }
                }
            },
h5_meeting/api/index.js
@@ -2,151 +2,11 @@
export * from '@/utils/config.js'
// æŸ¥è¯¢å­—典值数据
export const getSystemDictData = (data) => {
//
export const meetScreenData = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/other/getSystemDictData',
    data
  })
}
// æŽˆæƒ
export const wxAuthorize = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/visitor/wxAuthorize',
    url: 'cloudService/web/meeting/meetScreenData',
    method: 'get',
    data
  })
}
export const getUserInfo = () => {
  return http({
    url: 'getUserInfo',
    method: 'get'
  })
}
export const loginCaptcha = () => {
  return http({
    url: 'captcha',
    method: 'get'
  })
}
//  å‘送短信验证码
export const sendSms = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/business/smsEmail/sendSms',
    method: 'post',
    data
  })
}
//  ç™»å½•
export const loginPost = (data) => {
  return http({
    url: 'loginH5',
    method: 'post',
    data
  })
}
//  èŽ·å–æœˆå°ç»„ä¿¡æ¯
export const getPlatformGroupList = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/getPlatformGroupList',
    method: 'post',
    data
  })
}
//  èŽ·å–æœˆå° ä»»åŠ¡ä¿¡æ¯
export const getPlatformWorkData = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/getPlatformWorkData',
    method: 'get',
    data
  })
}
//  è½¦è¾†æŽ’队情况
export const platformLineUpPage = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformLineUpPage',
    method: 'post',
    data
  })
}
//  å«å·åˆ—表
export const platformCallList = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformCallList',
    method: 'post',
    data
  })
}
//  å…¥å›­å«å·
export const platformInPark = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformInPark',
    method: 'post',
    data
  })
}
//  æœˆå°å«å·
export const platformCallNumber = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformCallNumber',
    method: 'post',
    data
  })
}
//  å¼‚常挂起
export const platformErr = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformErr',
    method: 'post',
    data
  })
}
//  è½¬ç§»æœˆå°
export const platformMove = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformMove',
    method: 'post',
    data
  })
}
//  æœˆå°è¿‡å·
export const platformOverNumber = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/platformOverNumber',
    method: 'post',
    data
  })
}
//  å®Œæˆä½œä¸š
export const finishWork = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/finishWork',
    method: 'post',
    data
  })
}
//  æ‰‹åŠ¨å¼€å§‹ä½œä¸š
export const beginWork = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/beginWork',
    method: 'post',
    data
  })
}
//  æ›´æ–°æœˆå°é…ç½®ä¿¡æ¯
export const updUserPlatformConfig = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/updUserPlatformConfig',
    method: 'get',
    data
  })
}
//  ä¿®æ”¹ç¦å¯ç”¨çŠ¶æ€
export const updPlatformStatus = (data) => {
  return http({
    url: 'visitsAdmin/cloudService/web/pdaPlatform/updPlatformStatus',
    method: 'post',
    data
  })
}
h5_meeting/manifest.json
@@ -5,6 +5,30 @@
    "versionName" : "1.0.0",
    "versionCode" : "100",
    "transformPx" : false,
        "h5": {
                "router": {
                    "mode": "hash",
                    "base": "./"
                },
                // "base" : "/h5/"
                "devServer": {
                    "port": 8090,
                    "historyApiFallback": true,
                    "disableHostCheck": true,
                    "proxy": {
                        "/meetingAdmin": {
                            // è¿™ä¸ªå­—段名需与你配置的basePrefixUrl一致,系统识别到带有/dev-api请求的地址时,会在前面拼接上代理服务器地址
                            // "target" : "http://192.168.0.173/admin_interface", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                            "target": "http://192.168.0.139:10010", // ä»£ç†æœåŠ¡å™¨åŸŸåæˆ–IP地址
                            "changeOrigin": true, // å…è®¸è·¨åŸŸ
                            "pathRewrite": {
                                "^/meetingAdmin": "" // é‡å†™åœ°å€ï¼Œå¦‚果实际接口中是不带/dev-api,需要将这个前缀置空,因为这个前缀只是为了识别用,识别完之后就没用了
                            }
                        }
                    },
                    "https": false
                }
            },
    /* 5+App特有相关 */
    "app-plus" : {
        "usingComponents" : true,
h5_meeting/pages.json
@@ -5,6 +5,13 @@
            "style": {
                "navigationStyle": "custom"
            }
        },
        {
            "path" : "pages/index/config",
            "style" :
            {
                "navigationBarTitleText" : "配置"
            }
        }
    ],
    "globalStyle": {
h5_meeting/pages/index/config.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,103 @@
<template>
    <view class="app">
        <view class="list">
            <view class="item">
                <view class="title">会议室编码</view>
                <view class="line">
                    <input type="text" v-model="param.code" />
                    <image src="../../static/icon/right.svg" class="icon"></image>
                </view>
            </view>
            <view class="item">
                <view class="title">接口地址</view>
                <view class="line">
                    <input type="text" v-model="param.addr" />
                    <image src="../../static/icon/right.svg" class="icon"></image>
                </view>
            </view>
            <view class="item">
                <view class="title">接口调用间隔(秒)</view>
                <view class="line">
                    <input type="text" v-model="param.time" />
                    <image src="../../static/icon/right.svg" class="icon"></image>
                </view>
            </view>
        </view>
        <view class="save" @click="handleSave">保存配置</view>
    </view>
</template>
<script>
    export default {
        data() {
            return {
                param: {}
            };
        },
        onLoad(){
            const param = uni.getStorageSync('param') || {}
            this.param = { ...param }
        },
        methods: {
            handleSave() {
                const param = this.param
                uni.setStorageSync('param', param)
                setTimeout(()=>{
                    uni.showToast({
                        title: '更新配置成功',icon:'none'
                    })
                })
                setTimeout(()=>{
                    uni.navigateBack()
                }, 400)
            }
        }
    }
</script>
<style lang="scss" scoped>
    .save{
        position: fixed;
        width: 680upx;
        height: 90upx;
        line-height: 90upx;
        background: #00B5D1;
        border-radius: 7upx;
        left: 35upx;
        bottom: 36upx;
        color: #fff;
        text-align: center;
        font-weight: 500;
        font-size: 32rpx;
    }
.list{
    .item{
        width: 100%;
        height: 148upx;
        padding: 28upx 34upx 0;
        .title{
            font-weight: 500;
            font-size: 28rpx;
            color: #111111;
            line-height: 39rpx;
        }
        .line{
            height: 80upx;
            display: flex;
            align-items: center;
            justify-content: space-between;
            border-bottom: 1rpx solid #CCCCCC;
            input{
                flex: 1;
                font-size: 28rpx;
                color: #666666;
            }
            .icon{
                width: 28upx;
                height: 28upx;
            }
        }
    }
}
</style>
h5_meeting/pages/index/index.vue
@@ -2,7 +2,7 @@
    <view class="main_app">
        <image src="@/static/bg@2x.png" class="main_bg" mode=""></image>
        <view class="header_wrap">
            <view class="title">会议室</view>
            <view class="title" @touchend="touchend">会议室</view>
            <view class="time_wrap">
                <view class="time">{{time}}</view>
                <view class="date">{{date}}</view>
@@ -45,18 +45,49 @@
<script>
    import dayjs from 'dayjs'
    import {
        meetScreenData
    } from '@/api/index.js'
    export default {
        data() {
            return {
                time: '',
                date: '',
                timer: null
                timer: null,
                touchNum: 0,
                param: {}
            }
        },
        onLoad() {
            this.initDatetime()
            this.param = uni.getStorageSync('param') || {}
            if(!this.param.code){
                return uni.navigateTo({
                    url: '/pages/index/config'
                })
            }
            this.getData()
        },
        methods: {
            getData() {
                meetScreenData({
                    roomId: this.param.code
                })
            },
            touchend() {
                this.touchNum++
                setTimeout(() => {
                    if (this.touchNum == 1) {
                        console.log('单击')
                    }
                    if (this.touchNum >= 2) {
                        uni.navigateTo({
                            url: '/pages/index/config'
                        })
                    }
                    this.touchNum = 0
                }, 250)
            },
            initDatetime() {
                let weeks = ['周日','周一','周二','周三','周四','周五','周六']
                this.time = dayjs().format('HH:mm')
@@ -81,9 +112,11 @@
        justify-content: space-between;
        padding-bottom: 35rpx;
        color: #fff;
        .meeting_wrap{
            margin-left: 42rpx;
            margin-top: 85rpx;
            .title{
                font-weight: 500;
                font-size: 42rpx;
@@ -92,14 +125,18 @@
                height: 62rpx;
                margin-bottom: 32rpx;
            }
            .list{
                display: flex;
                width: calc( 100vw - 42rpx );
                overflow-x: auto;
                scrollbar-width: none; 
                &:-webkit-scrollbar {
                  display: none; /* Chrome Safari */
                    display: none;
                    /* Chrome Safari */
                 }
                .item{
                    padding: 34rpx 28rpx;
                    display: flex;
@@ -111,6 +148,7 @@
                    border-radius: 7rpx;
                    margin-right: 28rpx;
                    position: relative;
                    .item_bg{
                        position: absolute;
                        width: 178rpx;
@@ -119,26 +157,31 @@
                        bottom: 0;
                        // z-index: -1;
                    }
                    .name{
                        flex: 1;
                        font-weight: bold;
                        font-size: 39rpx;
                    }
                    .line{
                        font-weight: 500;
                        margin-bottom: 7rpx;
                    }
                }
                .empty{
                    background: rgba(255,255,255,0.11);
                }
            }
        }
        .meeting_con{
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0 42rpx;
            .content{
                .line{
                    display: flex;
@@ -146,6 +189,7 @@
                    font-weight: 500;
                    font-size: 32rpx;
                    margin: 24rpx 0;
                    image{
                        width: 30rpx;
                        height: 30rpx;
@@ -153,18 +197,21 @@
                    }
                }
            }
            .qrcode{
                width: 166rpx;
                height: 166rpx;
                border: 1px solid red;
            }
        }
        .meeting_name{
            margin-bottom: 12rpx;
            font-weight: bold;
            font-size: 49rpx;
            padding-left: 42rpx;
        }
        .home_status{
            font-weight: bold;
            font-size: 125rpx;
@@ -172,21 +219,26 @@
            line-height: 185rpx;
            height: 185rpx;
        }
        .orange{
            color: #FFB100;
        }
        .header_wrap{
            padding: 34rpx 34rpx 0 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            .time_wrap{
                text-align: right;
                .time{
                    font-size: 56rpx;
                    margin-bottom: 4rpx;
                }
            }
            .title{
                font-size: 56rpx;
                font-weight: bold;
@@ -198,6 +250,7 @@
                border-radius: 0rpx 7rpx 7rpx 0rpx;
            }
        }
        .main_bg{
            position: absolute;
            width: 100%;
h5_meeting/static/icon/right.svg
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1726651011394" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4417" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M761.056 532.128c0.512-0.992 1.344-1.824 1.792-2.848 8.8-18.304 5.92-40.704-9.664-55.424L399.936 139.744c-19.264-18.208-49.632-17.344-67.872 1.888-18.208 19.264-17.376 49.632 1.888 67.872l316.96 299.84L335.2 813.632c-19.072 18.4-19.648 48.768-1.248 67.872 9.408 9.792 21.984 14.688 34.56 14.688 12 0 24-4.48 33.312-13.44l350.048-337.376c0.672-0.672 0.928-1.6 1.6-2.304 0.512-0.48 1.056-0.832 1.568-1.344 2.72-2.848 4.16-6.336 6.016-9.6z" p-id="4418" fill="#666666"></path></svg>
h5_meeting/utils/config.js
@@ -1,5 +1,5 @@
export const baseUrl = 'admin_interface/'
export const baseUrl = 'meetingAdmin/'
// export const baseUrl = 'http://192.168.0.139:10010/admin_interface/'
export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`
export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch`
h5_meeting/utils/service.js
@@ -2,7 +2,7 @@
export const http = function (options) {
    {
        return new Promise((resolve, reject) => {
            let token = uni.getStorageSync('token') || ''
            // let token = uni.getStorageSync('token') || ''
            // åœ¨ç™»å½•的时候需要储存 token uni.setStorageSync("authorization","这里是登录获取的token值")
            // uni.showLoading({
@@ -18,7 +18,7 @@
                method: options.method || 'GET',
                header: options.header || {
                    // æ ¹æ®å®žé™…接口设计 key å– token æˆ–者 authorization
                    dm_user_token: token,
                    // dm_user_token: token,
                    "content-type": 'application/json;charset=UTF-8'
                },
                success: (res) => {