guhongwei 4 роки тому
батько
коміт
31c75595ae

+ 93 - 33
src/layout/live/head.vue

@@ -1,12 +1,49 @@
 <template>
   <div id="heads">
-    <div class="w_0100">
+    <el-row>
       <div class="superbanner">
         <img :src="top_bg" />
       </div>
       <div class="supertop">
         <div class="w_1200">
-          <p>
+          <el-col :span="12" class="left">
+            <span>欢迎来到中科在线</span>
+            <span @click="guanzhu()">关注公众号</span>
+          </el-col>
+          <el-col :span="12" class="right">
+            <el-col :span="18" class="one">
+              <span v-if="user.uid || user.suid">
+                {{ user.name || user.adminuser }}
+              </span>
+            </el-col>
+            <el-col
+              :span="3"
+              class="two"
+              v-if="user.role == '3' || user.role == '4' || user.role == '5' || user.role == '6' || user.role == '7' || user.role == '8'"
+            >
+              <span v-if="user.uid">
+                <button type="text" v-if="user.role == '3' || user.role == '4' || user.role == '5' || user.role == '6' || user.role == '7' || user.role == '8'">
+                  个人中心
+                </button>
+                <button type="button" @click="zhuxiao">注销</button>
+              </span>
+              <span v-else>
+                <el-button type="primary" size="mini" class="loginBtn" @click="webLogin">平台登录</el-button>
+              </span>
+            </el-col>
+            <el-col :span="3" class="two" v-if="user.role == '0' || user.role == '1' || user.role == '7'">
+              <span v-if="user.uid">
+                <button type="text" v-if="user.role == '0' || user.role == '1' || user.role == '7'">
+                  个人中心
+                </button>
+                <button type="button" @click="zhuxiao">注销</button>
+              </span>
+              <span v-else>
+                <el-button type="primary" size="mini" class="loginBtn" @click="adminLogin">管理登录</el-button>
+              </span>
+            </el-col>
+          </el-col>
+          <!-- <p>
             欢迎来到中科在线
           </p>
           <p @click="guanzhu()" class="btnER">关注公众号</p>
@@ -28,7 +65,7 @@
               <button type="button" class="logininfo" @click="btnLogin">登录</button>
               <button type="button" class="logininfo" @click="btnLogin">注册</button>
             </span>
-          </p>
+          </p> -->
         </div>
       </div>
       <div class="superlogo">
@@ -54,7 +91,7 @@
                 <span></span>
               </li>
               <li :class="isTab('service') ? 'active' : ''">
-                <a @click="fuwu()" target="">创新服务</a>
+                <a @click="turnTo('service')" target="">创新服务</a>
                 <span></span>
               </li>
               <li :class="isTab('dynamic') ? 'active' : ''">
@@ -71,7 +108,7 @@
       <div v-if="view" class="erweima">
         <img :src="qrcode" />
       </div>
-    </div>
+    </el-row>
   </div>
 </template>
 
@@ -99,21 +136,32 @@ export default {
   methods: {
     ...login({ logout: 'logout', transactiondtetle: 'delete' }),
     ...dockLogin({ docklogout: 'logout', transactiondtetle: 'delete' }),
-    fuwu() {
-      this.$router.push({ path: '/live/service' });
-    },
+    // 跳转
     turnTo(type) {
       if (type == 'index') {
-      } else if (type == 'hall_index') this.$router.push({ path: '/live/hall/index' });
-      else this.$router.push({ path: `/${type}/index` });
+      } else if (type == 'hall_index') {
+        this.$router.push({ path: '/live/hall/index' });
+      } else if (type == 'service') {
+        this.$router.push({ path: '/live/service' });
+      } else {
+        this.$router.push({ path: `/${type}/index` });
+      }
     },
+    // 选中
     isTab(type) {
       if (type == 'index') return this.$route.path.includes('/live/index');
       else return this.$route.path.includes(`/${type}`);
     },
-    btnLogin() {
-      this.$router.push({ path: '/newlogin' });
+    // 平台登录
+    webLogin() {
+      this.$router.push({ path: '/webLogin' });
     },
+    // 管理登录
+    adminLogin() {
+      this.$router.push({ path: '/adminLogin' });
+    },
+
+    // 个人中心跳转
     stnmae() {
       if (this.user.role == '4' || this.user.role == '5' || this.user.role == '6' || this.user.role == '7') {
         this.$router.push({ path: '/userCenter/index', query: { num: '1' } });
@@ -150,6 +198,7 @@ export default {
         this.view = true;
       }
     },
+    // 创建二维码
     async creatQrCode() {
       let url = `http://free.liaoningdoupo.com/api/auth/wxchat?redirect_uri=http://free.liaoningdoupo.com/platmobile/bind/&type=1&uid=${this.user.uid}`; // 需要转换为二维码的内容
       let el = document.getElementById('qrCodeUrl');
@@ -167,27 +216,38 @@ export default {
 
 <style lang="less" scoped>
 @import '~@/style/style.css';
-.logininfo {
-  font-size: 20px;
-  margin: 0 0 0 5px;
-}
-.username span {
-  cursor: pointer;
-}
-/deep/ button {
-  cursor: pointer;
-}
-.userCenter {
-  font-size: 16px;
-  color: #fff;
-  padding: 3px 10px;
-  border-radius: 5px;
-  font-weight: bold;
-  border: 2px solid transparent;
-}
-.userCenter:hover {
-  color: #fe950e;
-  // border-color: #fe950e;
+.supertop {
+  .left {
+    height: 40px;
+    line-height: 40px;
+    font-size: 16px;
+    span:last-child {
+      padding: 0 10px;
+      font-weight: bold;
+    }
+    span:last-child:hover {
+      cursor: pointer;
+      color: #0085d2;
+      font-weight: bold;
+    }
+  }
+  .right {
+    height: 40px;
+    line-height: 40px;
+    font-size: 16px;
+    color: #000;
+    .one {
+      text-align: right;
+      color: #000;
+      font-weight: bold;
+    }
+    .two {
+      text-align: center;
+      .loginBtn:hover {
+        cursor: pointer;
+      }
+    }
+  }
 }
 .btnER {
   font-size: 16px;

+ 0 - 42
src/layout/login.vue

@@ -1,42 +0,0 @@
-<template>
-  <div id="login">
-    <el-row>
-      <el-col :span="24" class="main">
-        <div class="w_1200">
-          <loginMain v-on="$listeners" :adminForm="adminForm" :form="form" :forms="forms"></loginMain>
-        </div>
-      </el-col>
-    </el-row>
-  </div>
-</template>
-<script>
-import loginMain from '@/layout/login/loginMain.vue';
-export default {
-  name: 'login',
-  props: {
-    info: null, //站点信息
-    adminForm: null, //管理
-    form: null, //登录
-    forms: null, //注册
-  },
-  components: {
-    loginMain, //登录
-  },
-  data: () => ({}),
-  created() {},
-  computed: {},
-  methods: {},
-};
-</script>
-
-<style lang="less" scoped>
-.w_1200 {
-  width: 80%;
-  margin: 0 auto;
-}
-.main {
-  min-height: 800px;
-  overflow: hidden;
-  margin: 10px 0;
-}
-</style>

+ 93 - 83
src/layout/login/loginMain.vue

@@ -1,10 +1,10 @@
 <template>
-  <div id="loginMain">
+  <div id="webLogin">
     <el-row class="loginMains">
       <el-col :span="24" class="top">
         <el-col :span="4" class="info"></el-col>
         <el-col :span="14" class="context">
-          <el-tabs v-model="activeName" @tab-click="handleClick">
+          <el-tabs v-model="activeName">
             <el-tab-pane label="管理登录" name="first">
               <el-col :span="24">
                 <el-form :model="adminForm" label-width="120px">
@@ -182,8 +182,9 @@
 
 <script>
 import upload from '@/components/uploadone.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
-  name: 'loginMain',
+  name: 'webLogin',
   props: {
     adminForm: null,
     form: null,
@@ -192,89 +193,87 @@ export default {
   components: {
     upload,
   },
-  data: () => ({
-    activeName: 'first',
-    // 性别
-    gender_list: [
-      {
-        name: '男',
-      },
-      {
-        name: '女',
-      },
-    ],
-    // 学历
-    edu_list: [
-      {
-        name: '中专及以上',
-      },
-      {
-        name: '大专及以上',
-      },
-      {
-        name: '本科及以上',
-      },
-      {
-        name: '研究生及以上',
-      },
-    ],
-    // 学位
-    degree_list: [
-      {
-        name: '学士',
-      },
-      {
-        name: '博士',
-      },
-      {
-        name: '其他',
-      },
-    ],
-    rules: {
-      name: [{ required: true, message: '请输入用户名称', trigger: 'blur' }],
-      phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
-      password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
-      code: [
-        { required: false, message: '请输入邀请码', trigger: 'blur' },
-        // { type: 'number', message: '年龄必须为数字值' },
+  data: function() {
+    return {
+      activeName: 'first',
+      // 性别
+      gender_list: [
+        {
+          name: '男',
+        },
+        {
+          name: '女',
+        },
       ],
-      cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
-      email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
-      addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
-      img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
-      role: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
-      cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
-      cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
-      img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
-      institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
-      institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
-      institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
-      institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
-      office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
-      profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
-      gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
-      birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
-      level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
-      levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
-      position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
-      school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
-      xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
-      xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
-      major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
-      professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
-      resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
-      project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
-      academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
-      paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
-      remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
-    },
-  }),
+      // 学历
+      edu_list: [
+        {
+          name: '中专及以上',
+        },
+        {
+          name: '大专及以上',
+        },
+        {
+          name: '本科及以上',
+        },
+        {
+          name: '研究生及以上',
+        },
+      ],
+      // 学位
+      degree_list: [
+        {
+          name: '学士',
+        },
+        {
+          name: '博士',
+        },
+        {
+          name: '其他',
+        },
+      ],
+      rules: {
+        name: [{ required: true, message: '请输入用户名称', trigger: 'blur' }],
+        phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
+        password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
+        code: [
+          { required: false, message: '请输入邀请码', trigger: 'blur' },
+          // { type: 'number', message: '年龄必须为数字值' },
+        ],
+        cardnumber: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
+        email: [{ required: true, message: '请输入邮箱', trigger: 'blur' }],
+        addr: [{ required: true, message: '请输入地址', trigger: 'blur' }],
+        img_path: [{ required: true, message: '请输入头像', trigger: 'blur' }],
+        role: [{ required: true, message: '请输入用户类型', trigger: 'blur' }],
+        cardfile_a: [{ required: false, message: '请输入身份证正面', trigger: 'blur' }],
+        cardfile_b: [{ required: false, message: '请输入身份证反面', trigger: 'blur' }],
+        img_qy: [{ required: false, message: '请输入组织机构图片', trigger: 'blur' }],
+        institution_type: [{ required: false, message: '请输入机构类型', trigger: 'blur' }],
+        institution_name: [{ required: false, message: '请输入机构名称', trigger: 'blur' }],
+        institution_code: [{ required: false, message: '请输入机构代码', trigger: 'blur' }],
+        institution_nature: [{ required: false, message: '请输入机构性质', trigger: 'blur' }],
+        office_phone: [{ required: false, message: '请输入办公电话', trigger: 'blur' }],
+        profession: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        gender: [{ required: false, message: '请输入性别', trigger: 'blur' }],
+        birthday: [{ required: false, message: '请输入出生日期', trigger: 'blur' }],
+        level: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        levelname: [{ required: false, message: '请输入职称级别', trigger: 'blur' }],
+        position: [{ required: false, message: '请输入职务', trigger: 'blur' }],
+        school: [{ required: false, message: '请输入院校', trigger: 'blur' }],
+        xl: [{ required: false, message: '请输入学历', trigger: 'blur' }],
+        xw: [{ required: false, message: '请输入学位', trigger: 'blur' }],
+        major: [{ required: false, message: '请输入专业', trigger: 'blur' }],
+        professional: [{ required: false, message: '请输入从事专业', trigger: 'blur' }],
+        resume: [{ required: false, message: '请输入个人简介', trigger: 'blur' }],
+        project: [{ required: false, message: '请输入项目', trigger: 'blur' }],
+        academic: [{ required: false, message: '请输入学术成就', trigger: 'blur' }],
+        paper: [{ required: false, message: '请输入论文', trigger: 'blur' }],
+        remark: [{ required: false, message: '请输入备注', trigger: 'blur' }],
+      },
+    };
+  },
   created() {},
-  computed: {},
   methods: {
-    handleClick(tab, event) {
-      console.log(tab, event);
-    },
     // 管理登录
     adminSubmit() {
       this.$emit('adminSubmit', this.adminform);
@@ -283,6 +282,7 @@ export default {
     loginSubmit() {
       this.$emit('submitDate', this.form);
     },
+    // 注册
     registerSubmit(formName) {
       this.$refs[formName].validate(valid => {
         if (valid) {
@@ -293,10 +293,20 @@ export default {
         }
       });
     },
+    // 图片上传
     uploadSuccess({ type, data }) {
       this.$set(this.forms, `${type}`, data.uri);
     },
   },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
 };
 </script>
 

+ 11 - 23
src/router/index.js

@@ -8,11 +8,19 @@ const live = [
     name: 'live',
     component: () => import('../views/index.vue'),
     children: [
+      // 平台登录
       {
-        path: '/newlogin',
-        meta: { title: '登陆' },
-        component: () => import('../views/newlogin.vue'),
+        path: '/webLogin',
+        meta: { title: '平台登陆' },
+        component: () => import('../views/webLogin.vue'),
       },
+      //管理登录
+      {
+        path: '/adminLogin',
+        meta: { title: '管理登陆' },
+        component: () => import('../views/adminLogin.vue'),
+      },
+      // 信息详情
       {
         path: '/live/detail',
         meta: { title: '信息详情', subSite: true },
@@ -45,7 +53,6 @@ const live = [
         meta: { title: '我要发布', subSite: true },
         component: () => import('../views/market/marketfabu.vue'),
       },
-
       {
         path: '/personnel/rencai',
         name: 'personnelrencai',
@@ -64,7 +71,6 @@ const live = [
         name: 'supermarketlist',
         component: () => import('../views/supermaket/supermarketlist.vue'),
       },
-
       //xiangqing
       {
         path: '/supermaket/supermarketdetail',
@@ -328,24 +334,6 @@ const live = [
     meta: { title: '个人中心', subSite: true },
     component: () => import('../views/vipCenter/index.vue'),
   },
-  {
-    path: '/tltest',
-    meta: { title: '推流测试', subSite: true },
-    name: 'tlcs1',
-    component: () => import('../views/tltest.vue'),
-  }, //测试页
-  {
-    path: '/tllltest',
-    meta: { title: '拉流测试', subSite: true },
-    name: 'llcs1',
-    component: () => import('../views/tllltest.vue'),
-  }, //测试页
-  {
-    path: '/tltest2',
-    meta: { title: '推流测试2', subSite: true },
-    name: 'tlcs2',
-    component: () => import('../views/tltest2.vue'),
-  }, //测试页
 ];
 const routes = [...live];
 

+ 85 - 0
src/views/adminLogin.vue

@@ -0,0 +1,85 @@
+<template>
+  <div id="adminLogin">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="5" class="info"> </el-col>
+        <el-col :span="13" class="login">
+          <el-col :span="24" class="title">
+            管理登录
+          </el-col>
+          <el-col :span="24" class="form">
+            <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+              <el-form-item label="手机号" prop="phone">
+                <el-input v-model="form.phone" placeholder="请输入手机号" :minlength="11" :maxlength="11"></el-input>
+              </el-form-item>
+              <el-form-item label="登录密码" prop="passwd">
+                <el-input v-model="form.passwd" placeholder="请输入登录密码" show-password></el-input>
+              </el-form-item>
+              <el-form-item label="用户类别" prop="role">
+                <el-radio v-model="form.role" label="0">管理员</el-radio>
+                <el-radio v-model="form.role" label="1">合作机构&业务管理员</el-radio>
+              </el-form-item>
+              <el-col :span="24" class="btn">
+                <el-button type="primary" @click="onSubmit">登录</el-button>
+              </el-col>
+            </el-form>
+          </el-col>
+        </el-col>
+        <el-col :span="6" class="info"> </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'adminLogin',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      form: {},
+      rules: {
+        phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
+        passwd: [{ required: true, message: '请输入密码', trigger: 'blur' }],
+        role: [{ required: true, message: '请输入用户类别', trigger: 'blur' }],
+      },
+    };
+  },
+  created() {},
+  methods: {
+    onSubmit() {
+      console.log(this.form);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  height: 800px;
+}
+.login {
+  padding: 15px 0;
+  .title {
+    text-align: center;
+    font-size: 40px;
+    padding: 40px 0;
+  }
+  .form {
+    .btn {
+      text-align: center;
+    }
+  }
+}
+</style>

+ 0 - 56
src/views/tllltest.vue

@@ -1,56 +0,0 @@
-<template>
-  <section class="video-box">
-    <videoPlayer ref="videoPlayer" :options="videoOptions" class="vjs-custom-skin videoPlayer" :playsinline="true" />
-  </section>
-</template>
-<script>
-import 'video.js/dist/video-js.css';
-import 'vue-video-player/src/custom-theme.css';
-import { videoPlayer } from 'vue-video-player';
-import 'videojs-flash';
-export default {
-  components: {
-    videoPlayer,
-  },
-  data() {
-    return {
-      videoSrc: '',
-      // 视频播放
-      videoOptions: {
-        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
-        autoplay: false, //如果true,浏览器准备好时开始回放。
-        muted: false, // 默认情况下将会消除任何音频。
-        loop: false, // 导致视频一结束就重新开始。
-        preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
-        language: 'zh-CN',
-        aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
-        techOrder: ['flash', 'html5'], // 兼容顺序
-        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
-        sources: [
-          {
-            // 流配置,数组形式,会根据兼容顺序自动切换
-            type: 'rtmp/hls',
-            src: 'rtmp://58.200.131.2:1935/livetv/hunantv',
-            // src: 'rtmp://play.liaoningdoupo.com/live/1',
-          },
-        ],
-        poster: '', //你的封面地址
-        // width: document.documentElement.clientWidth,
-        notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
-        controlBar: {
-          timeDivider: true,
-          durationDisplay: true,
-          remainingTimeDisplay: false,
-          fullscreenToggle: true, //全屏按钮
-        },
-      },
-    };
-  },
-};
-</script>
-<style scoped>
-.video-box {
-  width: 1000px;
-  padding: 20px;
-}
-</style>

+ 0 - 83
src/views/tltest.vue

@@ -1,83 +0,0 @@
-<template>
-  <div>
-    <br />
-    <div id="pusher" style="width:300px;height:400px;background-color:#000000;margin:auto"></div>
-    <br />
-    <div style="text-align:center; margin:auto;">
-      <input id="path" type="text" value="" placeholder="请输入直播服务器地址(rtmp)" />
-      <button id="pp" v-on:click="ppPusher()">开始</button>
-    </div>
-    <div class="button" v-on:click="switchCamera()">切换摄像头</div>
-  </div>
-</template>
-
-<script>
-export default {
-  data() {
-    return {
-      bstart: false,
-      pusher: null,
-    };
-  },
-  created() {
-    document.addEventListener('plusready', this.plusReady, false);
-  },
-  methods: {
-    switchCamera() {
-      this.pusher.switchCamera();
-    },
-    plusReady() {
-      // 创建直播推流控件
-      this.pusher = new plus.video.LivePusher('pusher', {
-        url: 'rtmp://live.liaoningdoupo.com/live/',
-      });
-      // 监听状态变化事件
-      this.pusher.addEventListener(
-        'statechange',
-        function(e) {
-          console.log('statechange: ' + JSON.stringify(e));
-        },
-        false
-      );
-    },
-    ppPusher() {
-      if (this.bstart) {
-        this.pusher.stop();
-        this.bstart = false;
-      } else {
-        var path = document.getElementById('path').value;
-        if (path && path.length > 0) {
-          this.pusher.setOptions({ url: path });
-          this.pusher.start();
-          this.bstart = true;
-        } else {
-          plus.nativeUI.toast('请输入直播服务器地址');
-        }
-      }
-      var pp = document.getElementById('pp');
-      pp.innerText = this.bstart ? '停止' : '开始';
-    },
-  },
-};
-</script>
-<style scoped>
-input {
-  width: 70%;
-  font-size: 16px;
-  padding: 0.2em 0.2em;
-  border: 1px solid #00b100;
-  -webkit-user-select: text;
-}
-.button,
-button {
-  width: 20%;
-  margin: 6px 0 6px 6px;
-  font-size: 16px;
-  color: #fff;
-  background-color: #00cc00;
-  border: 1px solid #00b100;
-  padding: 0.2em 0em;
-  -webkit-border-radius: 5px;
-  border-radius: 5px;
-}
-</style>

+ 0 - 111
src/views/tltest2.vue

@@ -1,111 +0,0 @@
-<template>
-  <div>
-    <!-- <video ref="video" width="320" height="240" controls></video> -->
-    <video ref="video" width="320" height="240" controls></video>
-    <!-- <video ref="video1" width="320" height="240" controls></video> -->
-    <canvas ref="canvas" width="320px" height="240px"></canvas>
-    <button type="button" class="btn btn-info" @click="camera('environment')">Back Camera</button>
-    <button type="button" class="btn btn-info" @click="camera('user')">front Camera</button>
-  </div>
-</template>
-
-<script>
-/**
- * 摄像头控制 demo
- */
-export default {
-  data: () => ({
-    video: {},
-    localstream: undefined,
-  }),
-  methods: {
-    camera(face) {
-      // this.stop();
-      // this.gumScern(face);
-      // this.gumCamera(face);
-      this.start();
-    },
-    stop() {
-      return this.video.srcObject && this.video.srcObject.getTracks().map(t => t.stop());
-    },
-
-    start() {
-      navigator.mediaDevices.getUserMedia({ video: true }).then(
-        stream => {
-          // video.srcObject = stream; // 将流赋值给video标签 用于播放
-          this.$refs.video.srcObject = stream;
-          this.$refs.video.play();
-          this.$refs.video.publish('rtmp://live.liaoningdoupo.com/live/', 'zb001?txSecret=ff6a0cc52d12c6ff8e904c220a8dfec6&txTime=5ED6777F');
-          // video.onloadedmetadata = e => video.play();
-          const recorder = new MediaRecorder(stream); // 用于视频保存
-          recorder.ondataavailable = e => {
-            let herf = 'F:/test';
-            download.href = URL.createObjectURL(herf);
-          };
-          recorder.start();
-          console.log('-----------------------stream');
-          console.log(stream);
-          // let pause = this.$refs.video;
-          // pause.onclick = function() {
-          //   video.pause();
-          //   recorder.stop();
-          // };
-        },
-        error => console.log(error)
-      );
-    },
-    gumScern(face) {
-      return navigator.mediaDevices
-        .getDisplayMedia({ audio: true, video: true })
-        .then(stream => {
-          console.log('--------------------------getDisplayMedia');
-          console.log(stream);
-          this.$refs.video.srcObject = stream;
-          this.$refs.video.play();
-        })
-        .catch(() => {
-          navigator.mediaDevices.getDisplayMedia({ audio: false, video: true }).then(stream => {
-            console.log('error--------------------------getUserMedia');
-            console.log(stream);
-            this.$refs.video.srcObject = stream;
-            this.$refs.video.play();
-          });
-        });
-    },
-    gumCamera(face) {
-      return navigator.mediaDevices
-        .getUserMedia({ audio: false, video: true })
-        .then(stream => {
-          console.log('--------------------------getUserMedia');
-          console.log(stream);
-          // 将值保存到本地
-          let herf = 'rtmp://live.liaoningdoupo.com/live/zb001?txSecret=ff6a0cc52d12c6ff8e904c220a8dfec6&txTime=5ED6777F';
-          this.recorder = new MediaRecorder(stream);
-          this.recorder.ondataavailable = e => {
-            herf = e.data;
-            download.href = URL.createObjectURL(herf);
-          };
-          console.log('--------------------------start');
-          this.recorder.start();
-
-          this.$refs.video.srcObject = stream;
-          this.$refs.video.play();
-          console.log('--------------------------end');
-        })
-        .catch(() => {
-          navigator.mediaDevices.getUserMedia({ audio: false, video: true }).then(stream => {
-            console.log('error--------------------------getUserMedia');
-            console.log(stream);
-            this.$refs.video.srcObject = stream;
-            this.$refs.video.play();
-          });
-        });
-    },
-  },
-  mounted() {
-    this.camera('environment');
-  },
-};
-</script>
-
-<style lang="scss" scoped></style>

+ 3 - 5
src/views/newlogin.vue

@@ -1,7 +1,6 @@
 <template>
-  <div id="login">
+  <div id="webLogin">
     <login-detail
-      :info="info"
       :form="form"
       @submitDate="submitnewLogin"
       :adminForm="adminForm"
@@ -13,7 +12,7 @@
 </template>
 
 <script>
-import loginDetail from '@/layout/login.vue';
+import loginDetail from '@/layout/login/webLogin.vue';
 import { mapState, createNamespacedHelpers, mapGetters } from 'vuex';
 const { mapActions: mapMarket } = createNamespacedHelpers('market');
 const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
@@ -22,12 +21,11 @@ const { mapActions: dockLogin } = createNamespacedHelpers('dockLogin');
 
 expertsuser;
 export default {
-  name: 'login',
+  name: 'webLogin',
   props: {},
   components: { loginDetail },
   data: () => {
     return {
-      info: {},
       // 管理登录
       adminForm: {},
       // 个人