Эх сурвалжийг харах

官网部分内容部署完成, 修改文档,以及错误页面

kindring 2 жил өмнө
parent
commit
3944e05e90

+ 36 - 13
README.md

@@ -1,20 +1,43 @@
-# boke_n
+# 合方圆官网
 
 
-## Build Setup
+## 如何构建?
+> 项目基于`nuxt`进行开发,使用`yarn`进行包管理  
+> 后端为`php`脚本接口,主要代码在`phpApi`中  
+> `nodejs` 版本 12+  
+> `php` 版本 5.3
 
 
-```bash
-# install dependencies
-$ yarn install
 
 
-# serve with hot reload at localhost:3000
-$ yarn dev
+### 安装依赖
+```shell
+yarn install
+```
+### 本地开发项目
+```shell
+yarn dev
+```
 
 
-# build for production and launch server
-$ yarn build
-$ yarn start
+### 部署项目
+1. 打包静态页面
+```shell
+yarn generate
+```
+2. 将`dist`目录下的文件上传到服务器
+3. 配置`nginx`或者`apache`服务器
 
 
-# generate static project
-$ yarn generate
+### ssr部署
+1. 构建项目
+```shell
+yarn build
+```
+2. 上传项目到服务器
+3. 服务器安装`pm2`与`nodejs`
+4. 启动项目
+```shell
+pm2 start npm --name "hfy" -- run start
 ```
 ```
 
 
-For detailed explanation on how things work, check out [Nuxt.js docs](https://nuxtjs.org).
+## 注意事项
+1. 服务器`php`版本为`5.3`,请不要使用`php7`以上的版本
+2. tailwindcss 可以移除
+3. nuxt.config.js 中的 `server` 配置项可以移除
+4. 静态打包动态路由页面需要在`nuxt.config.js`中配置`generate.routes`'

+ 153 - 0
components/showingAd.vue

@@ -0,0 +1,153 @@
+<template>
+  <div class="content">
+    <div class="conBox showing">
+      <a
+        v-for="(item,i) in chunkItems"
+        :class="`chunk imgBox chunk${(i+1)}`"
+        :key="item.id"
+        :href="item.href"
+      >
+        <!--         实时管理(物联网) -->
+        <img :src="item.img" alt="imgNotFound">
+        <p class="chunkText">
+          <span class="title">{{lang===langType.cn?item.title:getAbbrText(item.title)}}</span>
+          <span class="subTitle">{{lang===langType.cn?item.subTitle:getAbbrText(item.subTitle)}}</span>
+          <span class="chunkMore">
+          {{lang===langType.cn?"了解更多":getAbbrText("了解更多")}}
+        </span>
+        </p>
+
+      </a>
+    </div>
+  </div>
+</template>
+
+<script>
+import langMap from "~/map/langMap";
+import {showingStandData} from "@/map/showingData";
+
+export default {
+  name: "showingAd",
+  props: {
+    lang:{
+      default: langMap.lang.cn
+    },
+  },
+  data(){
+    return {
+      langType: langMap.lang,
+      // chunk 1-7
+      chunkItems:showingStandData
+    }
+  },
+  methods: {
+    getLangText(str) {
+      return langMap.getText(this.lang, str);
+    },
+    getAbbrText(str) {
+      return langMap.getAbbrText(this.lang, str);
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+
+.showing{
+  margin-top: 20px;
+  display: grid;
+  grid-template-columns: repeat(3, 425px);
+  grid-template-rows: repeat(3, 350px);
+  grid-template-areas:
+    'a b c'
+    'd d c'
+    'e f g';
+  grid-gap: 20px;
+}
+.showing .chunk {
+  box-shadow: 1px 1px 3px black;
+  /*box-sizing: border-box;*/
+  /*padding:5px;*/
+  position: relative;
+  overflow: hidden;
+  cursor: pointer;
+}
+
+.showing .chunk:hover{
+  box-shadow: 1px 1px 3px deepskyblue;
+}
+
+
+.showing .chunk:hover > img{
+  left: -20px;
+  top: -20px;
+  max-width: calc(100% + 40px);
+  width: calc(100% + 40px);
+  height: calc(100% + 40px);
+}
+.showing .chunk .chunkText{
+  display: block;
+  position: absolute;
+  width: 100%;
+  height: 150px;
+  bottom: -50px;
+  /*background: #000;*/
+  color: white;
+  transition: all .5s;
+  padding: 0 15px;
+  background-image: linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,0.5) 75% );
+}
+.showing .chunk:hover .chunkText{
+  bottom: 0;
+  background-image: linear-gradient(rgba(0,0,0,0) 0,rgba(0,0,0,0.66) 66% 15% 80% );
+}
+.showing .chunk .chunkText .title{
+  height: 40px;
+  font-size: 1.5em;
+  display: flex;
+  /*justify-content: center;*/
+  align-items: center;
+}
+.showing .chunk .chunkText .subTitle{
+  padding: 5px 0;
+  min-height: 35px;
+  max-height: 80px;
+  font-size: 1.2em;
+}
+.showing .chunk .chunkText .chunkMore{
+  margin-top: 20px;
+  height: 30px;
+  font-size: 0.9em;
+  color: #ff6e3f;
+}
+.showing .chunk .chunkText .chunkMore:hover{
+  color: orangered;
+}
+
+.showing .chunk .chunkText > *{
+  display: block;
+}
+.showing .chunk1 {
+  grid-area: a;
+}
+.showing .chunk2{
+  grid-area: b;
+}
+.showing .chunk3{
+  grid-area: c;
+}
+.showing .chunk4{
+  grid-area: d;
+}
+.showing .chunk5{
+  grid-area: e;
+}
+.showing .chunk6{
+  grid-area: f;
+}
+.showing .chunk7{
+  grid-area: g;
+}
+</style>
+

+ 3 - 51
components/showingStand.vue

@@ -11,6 +11,7 @@
         v-for="(item,i) in chunkItems"
         v-for="(item,i) in chunkItems"
         :class="`chunk imgBox chunk${(i+1)}`"
         :class="`chunk imgBox chunk${(i+1)}`"
          :key="item.id"
          :key="item.id"
+        :href="item.href"
       >
       >
 <!--         实时管理(物联网) -->
 <!--         实时管理(物联网) -->
         <img :src="item.img" alt="imgNotFound">
         <img :src="item.img" alt="imgNotFound">
@@ -30,6 +31,7 @@
 <script>
 <script>
 
 
 import langMap from "~/map/langMap";
 import langMap from "~/map/langMap";
+import {showingStandData} from "@/map/showingData";
 
 
 export default {
 export default {
   name: "showingStand",
   name: "showingStand",
@@ -42,57 +44,7 @@ export default {
     return {
     return {
       langType: langMap.lang,
       langType: langMap.lang,
       // chunk 1-7
       // chunk 1-7
-      chunkItems:[
-        {
-          id: 'iotManger',
-          img: 'image/showing/szman.jpg',
-          href: 'https://gpscore.net/',
-          title: "管理平台",
-          subTitle: "一站式管理,专业高效"
-        },
-        {
-          id: 'ePower',
-          img: 'image/showing/szman.jpg',
-          href: 'https://gpscore.net/',
-          title: "智慧能源",
-          subTitle: "1+3综合数字能源管理平台"
-        },
-        {
-          id: 'aiCamera',
-          img: 'image/showing/ai_h.jpg',
-          href: 'https://gpscore.net/',
-          title: "ai视觉",
-          subTitle: "摄像头+ai算法,各种算法,各种场景"
-        },
-        {
-          id: 'iot',
-          img: 'image/showing/iot.jpg',
-          href: 'https://gpscore.net/',
-          title: "合方圆物联网解决方案",
-          subTitle: "积极开阔物联网在行业,医疗,家居等大众市场上的应用"
-        },
-        {
-          id: 'gps',
-          img: 'image/showing/gps.jpg',
-          href: 'https://gpscore.net/',
-          title: "北斗导航",
-          subTitle: "合方圆关于GPS与北斗功能区别详细说明"
-        },
-        {
-          id: 'etc',
-          img: 'image/showing/etc.jpg',
-          href: 'https://gpscore.net/',
-          title: "智慧停车场",
-          subTitle: "ai视觉落地成套方案"
-        },
-        {
-          id: 'aiCamera',
-          img: 'image/showing/lowCam.jpg',
-          href: 'https://gpscore.net/',
-          title: "低功耗摄像头",
-          subTitle: "超低功耗,超长工作时长"
-        }
-      ]
+      chunkItems:showingStandData
     }
     }
   },
   },
   methods: {
   methods: {

+ 51 - 0
map/showingData.js

@@ -0,0 +1,51 @@
+export const showingStandData =[
+  {
+    id: 'iotManger',
+    img: 'image/showing/szman.jpg',
+    href: 'https://gpscore.net/',
+    title: "管理平台",
+    subTitle: "一站式管理,专业高效"
+  },
+  {
+    id: 'ePower',
+    img: 'image/showing/szman.jpg',
+    href: '/ad/zhny',
+    title: "智慧能源",
+    subTitle: "1+3综合数字能源管理平台"
+  },
+  {
+    id: 'aiCamera',
+    img: 'image/showing/ai_h.jpg',
+    href: 'https://gpscore.net/',
+    title: "ai视觉",
+    subTitle: "摄像头+ai算法,各种算法,各种场景"
+  },
+  {
+    id: 'iot',
+    img: 'image/showing/iot.jpg',
+    href: 'https://gpscore.net/',
+    title: "合方圆物联网解决方案",
+    subTitle: "积极开阔物联网在行业,医疗,家居等大众市场上的应用"
+  },
+  {
+    id: 'gps',
+    img: 'image/showing/gps.jpg',
+    href: 'https://gpscore.net/',
+    title: "北斗导航",
+    subTitle: "合方圆关于GPS与北斗功能区别详细说明"
+  },
+  {
+    id: 'etc',
+    img: 'image/showing/etc.jpg',
+    href: 'https://gpscore.net/',
+    title: "智慧停车场",
+    subTitle: "ai视觉落地成套方案"
+  },
+  {
+    id: 'aiCamera',
+    img: 'image/showing/lowCam.jpg',
+    href: 'https://gpscore.net/',
+    title: "低功耗摄像头",
+    subTitle: "超低功耗,超长工作时长"
+  }
+]

+ 14 - 2
nuxt.config.js

@@ -45,7 +45,10 @@ export default {
         '@nuxtjs/axios',
         '@nuxtjs/axios',
         // '@nuxtjs/style-resources',
         // '@nuxtjs/style-resources',
     ],
     ],
-    plugins: ["@plugins/svg-icon.js"],
+    plugins: [
+      "@plugins/svg-icon.js",
+      {src: '~/plugins/vue-pdf.js', ssr: false}
+    ],
     // api中间件
     // api中间件
     serverMiddleware: [
     serverMiddleware: [
         '~/server/index.js'
         '~/server/index.js'
@@ -99,7 +102,16 @@ export default {
           '/product/item/aiCam',
           '/product/item/aiCam',
           '/product/item/sm',
           '/product/item/sm',
           '/product/item/low',
           '/product/item/low',
-          '/product/item/cam'
+          '/product/item/cam',
+          '/solution/sol',
+          '/solution/acs',
+          '/solution/epower',
+          '/news/com',
+          '/news/pa',
+          '/news/in',
+          '/news/item/com',
+          '/news/item/pa',
+          '/news/item/in',
         ]
         ]
     }
     }
 }
 }

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 164 - 676
package-lock.json


+ 3 - 1
package.json

@@ -14,7 +14,9 @@
     "core-js": "^3.6.5",
     "core-js": "^3.6.5",
     "express": "^4.17.1",
     "express": "^4.17.1",
     "net-ping": "^1.2.3",
     "net-ping": "^1.2.3",
-    "nuxt": "^2.14.6"
+    "nuxt": "^2.14.6",
+    "pdfjs-dist": "^2.5.207",
+    "vue-pdf": "4.2"
   },
   },
   "devDependencies": {
   "devDependencies": {
     "@nuxtjs/tailwindcss": "^3.4.2",
     "@nuxtjs/tailwindcss": "^3.4.2",

+ 159 - 0
pages/about/index.vue

@@ -1,6 +1,125 @@
 <template>
 <template>
   <div class="about-us">
   <div class="about-us">
     <lucency-header :lang="lang" page-key="solution" />
     <lucency-header :lang="lang" page-key="solution" />
+    <item-banner :title="'深圳市合方圆科技开发有限公司'" :sub-title="'专致执着,追求无限卓越'"></item-banner>
+
+    <div class="conBox big-title">
+      <span >
+        公司简介
+      </span>
+      <div class="hr"></div>
+    </div>
+<!--    公司简介-->
+    <div class="conBox">
+      <div class="pageContent">
+        <p>
+          合方圆公司位于—中国电子通信行业的重镇深圳。
+          是一家以通信技术、精密测试等技术为方向的高科技企业,
+          是国内多家知名高校联合科研基地、
+          研究生联合培养基地及工信部通信工业委员会深圳办事处(无限低功耗)。
+          目前公司主要业务方向为M2M领域的2G、4G、GPS、北斗无线通信定位模块、智能AI摄像头等产品。
+        </p>
+        <p>
+          公司的核心骨干、管理人员均来自业内知名企业技术骨干及中层管理人员。
+          在无线通信、精密测试方向有十年以上的技术积累以及项目管理经验。
+          “专致执着,追求无限卓越”
+          是我们全体员工的奋斗目标,我们将一如既往的秉承和坚持,再创奇迹。
+          本公司为顾客提供优质服务,使顾客买得开心,用得放心,也为我们赢得了市场。
+          成立以来公司立足深圳面向世界,
+          致力于无线通信模块的营销与服务,
+          提供行业最佳解决方案,合方圆为您提供最优质的服务。
+          公司发布了基于移动通信网络的M2M系列产品与解决 方案,
+          在电力、油田、煤矿、邮政、金融、环保、水利、交通、铁路、热力、路 灯监控、税务、
+          安防等行业得到了广泛的应用。
+        </p>
+        <p>
+          物联网技术与产业发展迅速,合方圆科技开发有限公司又率先推出了成套的物联网产品和典型应用解决方案。
+          合方圆在M2M领域享有盛誉并积累了丰富的行业应用 经验,M2M是物联网重要的组成部分,
+          在M2M市场与产品成功的基础之上,积极开发物联网产品与应用方案。
+          合方圆物联网系列产品涵盖了接入终端、网络设备和应用平台,
+          同时基于成套的物联网产品,并根据用户的实际应用需求,为用户定制开发物联网应用解决方案,
+          提供交钥匙工程服务。合方圆十分重视技术与产品的研发,
+          已经建立了一支在M2M领域具有强劲实力的研发队伍,
+          公司专注于物联网行业应用最新技术的研究,
+          并坚持长期投入和不断创新,拥有行业内最新核心技术和优秀人才。
+          目前,公司研发人员已占公司总人数的90%以上。
+          经历多年的发展,合方圆已经建立了完善的市场管理与产品研发管理(IPD)流程、
+          可靠性设计与试验体系以及人力资源管理体系,通过了系统集成、安防行业资质许可等多项认证。
+          依托敏锐的市场开拓能力、先进的管理体系与管理流程,合方圆步入了可持续性快速发展的通道,
+          重要的产品有
+          <span class="mark">4G无线通信物联模块-G8100</span>、
+          <span class="mark">车牌识别摄像头CAM200-R01</span>、
+          <span class="mark">烟火/行为/安全识别摄像头</span>、
+          <span class="mark">单目自动变焦摄像头</span>、
+          <span class="mark">4倍/10倍/16倍/20倍/33倍自动变焦云台摄像头</span>、
+          <span class="mark">200万高清4G低功耗枪型摄像机</span>、
+          <span class="mark">1200/1400万像素高清摄像头</span>、
+          <span class="mark">灭火器智能安全监测底座</span>、
+          <span class="mark">带4GVPN网关的备电监控系统等高科技产品</span>。
+          在智能安防领域取得突破性发展。
+        </p>
+        <p>
+          努力开拓市场、创新博未来!本着“合作、创新、专业、诚信”的经营理念,合方圆让一切都在掌控之中,力争成为物联网领域的急先锋与领先者。
+        </p>
+      </div>
+    </div>
+    <div class="conBox big-title">
+      <span >
+        公司主要产品
+      </span>
+      <div class="hr"></div>
+    </div>
+    <div class="conBox">
+      <div class="pageContent">
+        <span class="pro-item mark">4G无线通信物联模块-G8100</span>
+        <span class="pro-item mark">车牌识别摄像头CAM200-R01</span>
+        <span class="pro-item mark">烟火/行为/安全识别摄像头</span>
+        <span class="pro-item mark">单目自动变焦摄像头</span>
+        <span class="pro-item mark">4倍/10倍/16倍/20倍/33倍自动变焦云台摄像头</span>
+        <span class="pro-item mark">200万高清4G低功耗枪型摄像机</span>
+        <span class="pro-item mark">1200/1400万像素高清摄像头</span>
+        <span class="pro-item mark">灭火器智能安全监测底座</span>
+        <span class="pro-item mark">带4GVPN网关的备电监控系统等高科技产品</span>
+      </div>
+    </div>
+    <div class="conBox big-title">
+      <span >
+        公司地址
+      </span>
+      <div class="hr"></div>
+    </div>
+    <div class="conBox">
+<!--      公司地址 -->
+      <div class="pageContent">
+        <div class="address">
+          <div class="address-item">
+            <div class="address-item-title">深圳市合方圆科技开发有限公司</div>
+            <div class="address-item-content">
+              <div class="address-item-content-item">
+                <span>地址:</span>
+                <span>深圳市龙岗区园山街道荷坳社区长金路26号鸿祥发创意园厂房B栋407-408室。</span>
+              </div>
+              <div class="address-item-content-item">
+                <span>电话:</span>
+                <span>+86 755-84727693/15817487997</span>
+              </div>
+              <div class="address-item-content-item">
+                <span>传真:</span>
+                <span>+86 755-84727693</span>
+              </div>
+              <div class="address-item-content-item">
+                <span>邮箱:</span>
+                <span>116871232@qq.com</span>
+              </div>
+              <div class="address-item-content-item">
+                <span>官网:</span>
+                <span>www.szhfy.com.cn</span>
+              </div>
+    </div>
+          </div>
+        </div>
+      </div>
+    </div>
     <default-footer :lang="lang"/>
     <default-footer :lang="lang"/>
 
 
     <site-bar wechat-src="/image/wechat.jpg"></site-bar>
     <site-bar wechat-src="/image/wechat.jpg"></site-bar>
@@ -23,5 +142,45 @@ export default {
 </script>
 </script>
 
 
 <style scoped>
 <style scoped>
+.conBox{
+  margin-top: 15px;
+}
+.big-title{
+  font-size: 1.5rem;
+  font-weight: bold;
+  margin-bottom: 20px;
+  justify-content: flex-start;
+}
+.title{
+  font-size: 20px;
+  font-weight: bold;
+  margin-bottom: 20px;
+}
 
 
+.address{
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+}
+.address-item{
+  width: 50%;
+  margin-bottom: 20px;
+}
+.pageContent{
+  padding: 0 20px;
+}
+.pageContent p{
+  margin-bottom: 20px;
+/*  首行缩进*/
+  text-indent: 2em;
+}
+.pro-item{
+  display: block;
+  margin-bottom: 10px;
+}
+.address-item-title{
+  font-size: 1.2rem;
+  font-weight: bold;
+  margin-bottom: 10px;
+}
 </style>
 </style>

+ 39 - 0
pages/ad/index.vue

@@ -0,0 +1,39 @@
+<template>
+  <div class="content">
+    <lucency-header :lang="lang" page-key="news" />
+    <item-banner :title="'合方圆'" :sub-title="'专致执着,追求无限卓越'"></item-banner>
+
+    <showing-ad :lang="lang"/>
+    <default-footer :lang="lang"/>
+
+    <site-bar wechat-src="/image/wechat.jpg"></site-bar>
+  </div>
+
+</template>
+
+<script>
+import langMap from "@/map/langMap";
+
+export default {
+  name: "adIndex",
+  props:['uLang'],
+  data(){
+    return {
+      langType: langMap.lang,
+      lang: this.uLang?this.uLang:langMap.lang.cn,
+    }
+  },
+  methods:{
+    getLangText(str) {
+      return langMap.getText(this.lang, str);
+    },
+    getAbbrText(str) {
+      return langMap.getAbbrText(this.lang, str);
+    },
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 53 - 0
pages/ad/zhny/index.vue

@@ -0,0 +1,53 @@
+<template>
+<!--  一个宣传页 -->
+  <div class="content">
+    <lucency-header :lang="lang" page-key="solution" />
+    <item-banner :title="'合方圆'" :sub-title="'综合能源管理平台解决方案'"></item-banner>
+    <div class="conBox">
+      <pdf v-for="i in totalPage" :page="i" :key="i" :src="blobSrc"></pdf>
+    </div>
+    <default-footer :lang="lang"/>
+
+    <site-bar wechat-src="/image/wechat.jpg"></site-bar>
+  </div>
+
+</template>
+
+<script>
+import langMap from "@/map/langMap";
+
+
+export default {
+  name: "adZhnyIndex",
+  props:['uLang'],
+  data(){
+    return {
+      langType: langMap.lang,
+      lang: this.uLang?this.uLang:langMap.lang.cn,
+      blobSrc: null,
+      totalPage: 0,
+    }
+  },
+  mounted(){
+    this.loadPdf();
+  },
+  methods:{
+    getLangText(str) {
+      return langMap.getText(this.lang, str);
+    },
+    getAbbrText(str) {
+      return langMap.getAbbrText(this.lang, str);
+    },
+    loadPdf(){
+      this.blobSrc = this.$pdf.createLoadingTask({ url: "/file/zhny.pdf" });
+      this.blobSrc.promise.then(pdf => {
+        this.totalPage = pdf.numPages;
+      });
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 64 - 0
pages/errorPage/404.vue

@@ -0,0 +1,64 @@
+<template>
+  <div class="content">
+    <lucency-header :lang="lang" page-key="news" />
+    <item-banner :title="'合方圆'" :sub-title="'专致执着,追求无限卓越'"></item-banner>
+    <div class="conBox err-404">
+      <div class="error404">
+        <img src="/image/404.png" alt="">
+
+        <p>{{getLangText('404')}}</p>
+        <p>您当前访问的资源无法找到</p>
+      </div>
+    </div>
+    <default-footer :lang="lang"/>
+
+    <site-bar wechat-src="/image/wechat.jpg"></site-bar>
+  </div>
+
+</template>
+
+<script>
+import langMap from "~/map/langMap";
+
+export default {
+  name: "error404",
+  props:['uLang'],
+  data(){
+    return {
+      langType: langMap.lang,
+      lang: this.uLang?this.uLang:langMap.lang.cn,
+    }
+  },
+  methods:{
+    getLangText(str) {
+      return langMap.getText(this.lang, str);
+    },
+    getAbbrText(str) {
+      return langMap.getAbbrText(this.lang, str);
+    },
+  }
+}
+</script>
+
+<style scoped>
+.err-404{
+  padding: 0 20px;
+  color: red;
+  font-size: 2.5rem;
+  display: flex;
+  justify-content: center;
+  flex-direction: column;
+}
+.error404{
+  text-align: center;
+  margin-top: 100px;
+  margin-bottom: 100px;
+}
+.err-404 img{
+  width: 90%;
+}
+.error404 p{
+  margin: 0;
+  display: block;
+}
+</style>

+ 2 - 2
pages/news/item/index.vue

@@ -1,7 +1,7 @@
 <template>
 <template>
   <div class="content">
   <div class="content">
-    <lucency-header :lang="lang" page-key="solution" />
-    <item-banner :title="productTypeText" :sub-title="productTypeSubText"></item-banner>
+    <lucency-header :lang="lang" page-key="news" />
+    <item-banner :title="'合方圆'" :sub-title="solutionDetail.title"></item-banner>
     <div class="conBox big-title">
     <div class="conBox big-title">
       <span >
       <span >
         {{solutionDetail.title}}
         {{solutionDetail.title}}

+ 1 - 2
pages/solution/item/index.vue

@@ -20,7 +20,6 @@
       <span class="time">
       <span class="time">
         发布日期: {{solutionDetail.date_time}}
         发布日期: {{solutionDetail.date_time}}
       </span>
       </span>
-
     </div>
     </div>
     <default-footer :lang="lang"/>
     <default-footer :lang="lang"/>
 
 
@@ -42,7 +41,7 @@ export default {
   components:{defaultFooter},
   components:{defaultFooter},
   data(){
   data(){
     return {
     return {
-      langType: langMap.lang,
+      langType: langp.lang,
       lang: this.uLang?this.uLang:langMap.lang.cn,
       lang: this.uLang?this.uLang:langMap.lang.cn,
       solutionId: null,
       solutionId: null,
       solutionDetail: {},
       solutionDetail: {},

+ 6 - 1
phpAPi/web.config

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
 <configuration>
     <system.webServer>
     <system.webServer>
-        <httpErrors errorMode="Detailed" />
+
         <rewrite>
         <rewrite>
             <rules>
             <rules>
                 <rule name="已导入的规则 1" stopProcessing="true">
                 <rule name="已导入的规则 1" stopProcessing="true">
@@ -14,5 +14,10 @@
                 </rule>
                 </rule>
             </rules>
             </rules>
         </rewrite>
         </rewrite>
+        <httpErrors errorMode="Custom" existingResponse="Replace">
+          <clear />
+          <error statusCode="404" responseMode="ExecuteURL" path="/ErrorPage/404/index.html" />
+
+        </httpErrors>
     </system.webServer>
     </system.webServer>
 </configuration>
 </configuration>

+ 10 - 0
plugins/vue-pdf.js

@@ -0,0 +1,10 @@
+
+import Vue from 'vue'
+import pdf from 'vue-pdf'
+import CMapReaderFactory from 'vue-pdf/src/CMapReaderFactory.js';
+Vue.component('pdf', pdf)
+
+//挂载到全局,用于 createLoadingTask 功能
+export default function ({ app, redirect }, inject) {
+  inject('pdf', pdf);
+}

BIN
static/file/zhny.pdf


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 307 - 307
yarn.lock


+ 28 - 0
宣传文案/流媒体平台.md

@@ -0,0 +1,28 @@
+# 流媒体平台
+> 合方圆流媒体综合平台,  
+> 平台上实时查看,管理合方圆摄像头等媒体设备的图像,视频等.  
+> 也可以配置ai算法,实现人脸识别,人脸比对,人脸抓拍等功能.
+> 实时推流监控
+
+## 核心竞争力
+### 设备与平台一体化
+> 设备与平台皆为自研,可以最大程度上保证设备与平台的兼容性,发挥出设备最大性能.
+
+### 低延时
+> 设备端支持多种推流协议,可以在不同环境下使用不同的推流协议,  
+> 保证推流的稳定性,同时保证推流的延时.  
+> 更有基于webrtc的p2p推流,减少服务器的压力,  
+> 低延时是合方圆流媒体平台的核心竞争力之一.
+
+### ai算法
+> 在设备前端进行的ai算法,可以大大减少后端服务器的压力,  
+> 保证平台的稳定性.  
+> 通过合方圆cam协议,可精准配置摄像头的ai算法,用以完美适应多种场景.
+
+### 操作精准
+> 通过合方圆cam协议,可以精准配置摄像头的参数,  
+> 远程配置摄像头的参数,实现远程配置摄像头的功能.
+
+### 扩展性强
+> 设备端支持多种推流协议,可以在不同环境下使用不同的推流协议,  
+> 服务端提供多种方式调用接口,可以在不同的场景下使用不同的方式调用接口.

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно