mabaoyi 5 ماه پیش
والد
کامیت
6721539cdc
80فایلهای تغییر یافته به همراه379 افزوده شده و 75 حذف شده
  1. BIN
      dist/assets/bannebg-QEyV7bUG.png
  2. BIN
      dist/assets/bg-CwcYviGf.png
  3. BIN
      dist/assets/bg@2x-B4NyvJ_n.png
  4. BIN
      dist/assets/bg@2x-CZgS7LA7.png
  5. BIN
      dist/assets/bookbg-FK62YUjM.png
  6. 1 0
      dist/assets/bookinfo-CKk6wZuK.css
  7. 1 0
      dist/assets/bookinfo-CN-pxRwY.js
  8. 1 0
      dist/assets/bottom-CMS95VKK.css
  9. 1 0
      dist/assets/bottom-Vb-0DLDr.js
  10. BIN
      dist/assets/chajianbao-BSsHCNVH.png
  11. 0 0
      dist/assets/code-BL6zcpLW.js
  12. 1 0
      dist/assets/config-CTJ7UY_R.js
  13. 1 0
      dist/assets/corporation-BXf7iivY.css
  14. 1 0
      dist/assets/corporation.vue_vue_type_style_index_0_scoped_a08f5b6f_lang-ClSNcLkk.js
  15. 0 0
      dist/assets/course-B7zlKVSt.css
  16. 0 0
      dist/assets/course-DCR92-IE.js
  17. 1 0
      dist/assets/handbook-3RBnz1fT.js
  18. 1 0
      dist/assets/handbook-BxV4xwP8.css
  19. 1 0
      dist/assets/index-0ntUYYVG.js
  20. 0 0
      dist/assets/index-4rHvr1y8.css
  21. 1 0
      dist/assets/index-B26X9HsH.css
  22. 0 0
      dist/assets/index-B2aZcpAA.js
  23. 10 0
      dist/assets/index-B44dBTj2.js
  24. 0 0
      dist/assets/index-B8o_Of8G.js
  25. 1 0
      dist/assets/index-BB4Td9xS.js
  26. 1 0
      dist/assets/index-BXIwoPAs.css
  27. 1 0
      dist/assets/index-B_yfJhWm.js
  28. 1 0
      dist/assets/index-CZVGqIOi.css
  29. 1 0
      dist/assets/index-CsfR4yEi.css
  30. 0 0
      dist/assets/index-CxjVhlLo.js
  31. 0 0
      dist/assets/index-DP5kJxYz.js
  32. 0 0
      dist/assets/index-DWPGdCUA.css
  33. 1 0
      dist/assets/index-DY2TBNpm.js
  34. 1 0
      dist/assets/index-D_NAWIQ-.css
  35. 0 0
      dist/assets/index-DwZqtVu6.js
  36. 0 0
      dist/assets/index-Ppcq3ChK.css
  37. 0 0
      dist/assets/index-boQd3b-t.css
  38. 1 0
      dist/assets/index-vT7ZDBzP.css
  39. 0 0
      dist/assets/info-BYUWO4kx.css
  40. 0 0
      dist/assets/info-K8vo_dmu.js
  41. 1 0
      dist/assets/kecheng-Bt4lzOTi.js
  42. BIN
      dist/assets/lanse3@2x-D3q2Z7hm.png
  43. 1 0
      dist/assets/login-D1Bziq4K.js
  44. BIN
      dist/assets/mianfeibg-CFAg8adE.png
  45. BIN
      dist/assets/peixun-Iwbc4AKt.png
  46. 0 0
      dist/assets/price-BKVGgnf9.css
  47. 0 0
      dist/assets/price-CzTY5lLA.js
  48. 1 0
      dist/assets/price_bg-BEEhHTL3.js
  49. BIN
      dist/assets/price_bg-CsOr6EjM.png
  50. BIN
      dist/assets/price_bg2-D7xuq_md.png
  51. 1 0
      dist/assets/product-BXp2apM_.css
  52. 0 0
      dist/assets/product-DsBQqAVs.js
  53. 0 0
      dist/assets/request-DlYpkY1d.js
  54. BIN
      dist/assets/shichang-C-nBLvfb.png
  55. BIN
      dist/assets/shuzitubiao1-BPJ4Ic-a.png
  56. BIN
      dist/assets/shuzitubiao2-DoMMSz9N.png
  57. BIN
      dist/assets/shuzitubiao3-DuAQpQ80.png
  58. BIN
      dist/assets/shuzitubiao4-D5T-mI3O.png
  59. BIN
      dist/assets/shuzizhuanxing-Du2Ayl7M.png
  60. BIN
      dist/assets/tubiao1-Dcr0D1W4.png
  61. BIN
      dist/assets/tubiao2-BGwe2X1K.png
  62. BIN
      dist/assets/tubiao3-CQBCI3SA.png
  63. BIN
      dist/assets/weixuanzhongbg-DL-eqMH7.png
  64. BIN
      dist/assets/xiaoshou-PMRrsOud.png
  65. BIN
      dist/assets/xuanzetubiao1-jV0MxkIq.png
  66. BIN
      dist/assets/xuanzetubiao2-BWO_fdJZ.png
  67. BIN
      dist/assets/xuanzetubiao3-CntE0QYM.png
  68. BIN
      dist/assets/xuanzetubiao4-BTFsTugO.png
  69. BIN
      dist/assets/xuanzhongbg-Dnjdx730.png
  70. BIN
      dist/assets/zengzhangtubiao1-DAK0Un3I.png
  71. BIN
      dist/assets/zengzhangtubiao2-DvQ7j1VE.png
  72. BIN
      dist/assets/zengzhangtubiao3-BMA1mz49.png
  73. BIN
      dist/assets/zengzhangtubiao4-BHyR9lWJ.png
  74. 34 0
      dist/index.html
  75. 1 0
      dist/vite.svg
  76. 33 1
      src/api/kecheng.ts
  77. 13 14
      src/components/row/row.vue
  78. 108 35
      src/view/video/course.vue
  79. 6 2
      src/view/video/index.vue
  80. 151 23
      src/view/video/info.vue

BIN
dist/assets/bannebg-QEyV7bUG.png


BIN
dist/assets/bg-CwcYviGf.png


BIN
dist/assets/bg@2x-B4NyvJ_n.png


BIN
dist/assets/bg@2x-CZgS7LA7.png


BIN
dist/assets/bookbg-FK62YUjM.png


+ 1 - 0
dist/assets/bookinfo-CKk6wZuK.css

@@ -0,0 +1 @@
+[data-v-9bf9c21c] .el-col-12{max-width:100%!important}[data-v-9bf9c21c] .el-menu-item.is-active{background:#0d0fff0d!important;color:#0d0fff!important}[data-v-9bf9c21c] .el-menu-item.is-active:before{width:.20833vw;height:100%;background:#0d0fff;content:"";display:block;position:absolute;left:0}[data-v-9bf9c21c] .el-menu-item{position:relative}.left[data-v-9bf9c21c]{width:12.5vw;height:62.5vw;border-right:1px solid rgba(151,151,151,.5)}.left .chan[data-v-9bf9c21c]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:.83333vw;color:#222;line-height:1.14583vw;text-align:left;font-style:normal;margin-bottom:.83333vw}.flex[data-v-9bf9c21c]{display:flex;align-items:center}.content[data-v-9bf9c21c]{width:62.5vw;margin:0 auto}.menu[data-v-9bf9c21c]{margin-top:1.25vw}.top[data-v-9bf9c21c]{width:100vw;height:3.125vw;background:#fff;box-shadow:0 .10417vw .52083vw -.10417vw #0003;margin-top:3.125vw;margin-bottom:1.25vw}.item[data-v-9bf9c21c]{width:4.16667vw;height:1.66667vw;background:#f5f5f7;border-radius:.15625vw;font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.72917vw;color:#2f2f2f;line-height:1.66667vw;text-align:center;font-style:normal;margin-right:.625vw;cursor:pointer}.active[data-v-9bf9c21c]{background:#0d0fff0d!important;color:#0d0fff!important}

+ 1 - 0
dist/assets/bookinfo-CN-pxRwY.js

@@ -0,0 +1 @@
+import{_ as h,m as b,b as n,o as x,c as C,e as s,f as t,B as V,i as o,F as g,g as k,C as N,j as d,p as w,h as B}from"./index-B44dBTj2.js";const i=a=>(w("data-v-9bf9c21c"),a=a(),B(),a),I=k('<div class="top flex" data-v-9bf9c21c><div class="content flex" data-v-9bf9c21c><div class="item" data-v-9bf9c21c>文档首页</div><div class="item active" data-v-9bf9c21c>产品文档</div><div class="item" data-v-9bf9c21c>开发文档</div><div class="item" data-v-9bf9c21c>接口文档</div></div></div>',1),S={class:"content"},O={class:"left"},F=i(()=>s("div",{class:"chan"},"产品文档",-1)),j={class:"menu"},y=i(()=>s("span",null,"Navigator One",-1)),E={__name:"bookinfo",setup(a){b(()=>{});const _=(e,c)=>{console.log(e,c)},u=e=>{console.log(e)};return(e,c)=>{const m=n("el-input"),l=n("el-menu-item"),p=n("el-sub-menu"),f=n("el-menu"),v=n("el-col");return x(),C(g,null,[I,s("div",S,[s("div",O,[F,t(m,{modelValue:e.input2,"onUpdate:modelValue":c[0]||(c[0]=r=>e.input2=r),style:{width:"80%"},placeholder:"请输入关键字搜索","prefix-icon":V(N)},null,8,["modelValue","prefix-icon"]),s("div",j,[t(v,{span:12},{default:o(()=>[t(f,{"default-active":"2",class:"el-menu-vertical-demo",onOpen:_,onClose:e.handleClose},{default:o(()=>[t(p,{index:"1"},{title:o(()=>[y]),default:o(()=>[t(l,{onClick:u,index:"1-1"},{default:o(()=>[d("item one")]),_:1}),t(l,{index:"1-2"},{default:o(()=>[d("item two")]),_:1}),t(l,{index:"1-3"},{default:o(()=>[d("item three")]),_:1})]),_:1})]),_:1},8,["onClose"])]),_:1})])])])],64)}}},T=h(E,[["__scopeId","data-v-9bf9c21c"]]);export{T as default};

+ 1 - 0
dist/assets/bottom-CMS95VKK.css

@@ -0,0 +1 @@
+.bottom_font[data-v-f4a94964]{font-family:SFPro,SFPro;font-weight:400;font-size:.72917vw;color:#fff9;line-height:.83333vw;text-align:justify;font-style:normal;text-align:center;margin-top:1.04167vw}.line[data-v-f4a94964]{height:1px;opacity:.2;margin-top:1.35417vw;background:#979797}.center[data-v-f4a94964]{margin-top:3.125vw;display:flex;justify-content:space-between;align-items:center}.center .address[data-v-f4a94964]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.625vw;color:#ffffff80;line-height:1.14583vw;text-align:justify;font-style:normal;margin-top:.52083vw}.center .emil[data-v-f4a94964]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.625vw;color:#fff;line-height:.88542vw;text-align:justify;font-style:normal}.center .logo[data-v-f4a94964]{width:5.41667vw;height:2.29167vw;background:#d8d8d8}.top[data-v-f4a94964]{display:flex;justify-content:space-between}.top .img[data-v-f4a94964]{margin:1.04167vw 0 0}.top .img .image[data-v-f4a94964]{width:3.75vw;height:3.75vw;margin-right:1.04167vw}.bg[data-v-f4a94964]{width:100vw;background:#131415;padding:3.38542vw 18.75vw;box-sizing:border-box}.title[data-v-f4a94964]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:.83333vw;color:#fff;line-height:1.14583vw;text-align:justify;font-style:normal}.item[data-v-f4a94964]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.72917vw;color:#ffffff80;line-height:1.04167vw;text-align:justify;font-style:normal;margin-top:.72917vw;cursor:pointer}

+ 1 - 0
dist/assets/bottom-Vb-0DLDr.js

@@ -0,0 +1 @@
+var f=(o,v,t)=>new Promise((s,r)=>{var c=a=>{try{i(t.next(a))}catch(n){r(n)}},l=a=>{try{i(t.throw(a))}catch(n){r(n)}},i=a=>a.done?s(a.value):Promise.resolve(a.value).then(c,l);i((t=t.apply(o,v)).next())});import{_}from"./code-BL6zcpLW.js";import{r as b}from"./request-DlYpkY1d.js";import{d as k,k as x,m,o as d,c as e,e as p,F as u,s as g,t as h,g as y,_ as B}from"./index-B44dBTj2.js";const C=o=>b({url:"footer",method:"get",params:o}),F={class:"bg"},I={class:"top"},N={class:"title"},S=y('<div data-v-f4a94964><div class="title" data-v-f4a94964>联系我们</div><div class="item" data-v-f4a94964>售前电话:400-008-0559</div></div><div data-v-f4a94964><div class="title" data-v-f4a94964>关注我们</div><div class="item" data-v-f4a94964>周一至周五(09:30-18:00)</div><div class="img" data-v-f4a94964><img class="image" src="'+_+'" alt="" data-v-f4a94964><img class="image" src="'+_+'" alt="" data-v-f4a94964></div></div>',2),V=y('<div class="center" data-v-f4a94964><div data-v-f4a94964><div class="emil" data-v-f4a94964>官方邮箱:yunchangzhang@1</div><div class="address" data-v-f4a94964>广州市天河区林和东路285号天安人寿中心</div></div><div data-v-f4a94964><div class="logo" data-v-f4a94964></div></div></div><div class="line" data-v-f4a94964></div><div class="bottom_font" data-v-f4a94964>鲁ICP备13020601号-8 版权所有</div>',3),q=k({__name:"bottom",setup(o){const v=x({list:[]});return m(()=>f(this,null,function*(){try{const{data:s}=yield C({});v.list=s}catch(s){}})),m(()=>{}),(s,r)=>(d(),e("div",F,[p("div",I,[(d(!0),e(u,null,g(v.list,(c,l)=>(d(),e("div",{key:l},[p("div",N,h(c.title),1),(d(!0),e(u,null,g(c.footer,(i,a)=>(d(),e("div",{class:"item",key:a},h(i.title),1))),128))]))),128)),S]),V]))}}),L=B(q,[["__scopeId","data-v-f4a94964"]]);export{L as b};

BIN
dist/assets/chajianbao-BSsHCNVH.png


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/code-BL6zcpLW.js


+ 1 - 0
dist/assets/config-CTJ7UY_R.js

@@ -0,0 +1 @@
+import{r as o}from"./request-DlYpkY1d.js";const e=r=>o({url:"config",method:"get",params:r});export{e as c};

+ 1 - 0
dist/assets/corporation-BXf7iivY.css

@@ -0,0 +1 @@
+.image[data-v-17482991]{width:62.5vw;height:14.0625vw;margin-top:3.125vw}.flex[data-v-17482991]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:2.08333vw}.bg[data-v-17482991]{width:100vw;background:#f5f9ff;padding:4.16667vw 18.75vw;box-sizing:border-box}.bg .item[data-v-17482991]{width:11.71875vw;height:6.45833vw;background:#fff;box-shadow:0 .20833vw .41667vw #adb8ca1a;border-radius:.41667vw;margin-bottom:1.04167vw}.bg .title[data-v-17482991]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.875vw;color:#222;line-height:2.60417vw;text-align:justify;font-style:normal;text-align:center}.bg .sm_font[data-v-17482991]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.5625vw;text-align:center;font-style:normal}.info[data-v-a08f5b6f]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.5625vw;text-align:center;font-style:normal;margin-top:.625vw}.box[data-v-a08f5b6f]{display:flex;justify-content:space-between;align-content:center;margin-top:3.125vw}.box .item[data-v-a08f5b6f]{width:30.20833vw;height:29.16667vw}.bgbox[data-v-a08f5b6f]{width:100%;height:42.70833vw;padding:4.16667vw 18.75vw 0;box-sizing:border-box}.bgbox .title[data-v-a08f5b6f]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.875vw;color:#222;line-height:2.60417vw;text-align:center;font-style:normal}

+ 1 - 0
dist/assets/corporation.vue_vue_type_style_index_0_scoped_a08f5b6f_lang-ClSNcLkk.js

@@ -0,0 +1 @@
+import{_ as a,m as i,o,c,e as t,t as s}from"./index-B44dBTj2.js";const l={class:"bg"},n={class:"title"},_={class:"sm_font"},d=["src"],r={__name:"Application ",props:{title:{default:"陪伴企业成长的一站式生产制造业务管理平台"},titleinfo:{default:"全面应用模块,满足所有的应用场景"},image:{default:""}},setup(e){return i(()=>{}),(m,f)=>(o(),c("div",l,[t("div",n,s(e.title),1),t("div",_,s(e.titleinfo),1),t("div",null,[t("img",{class:"image",src:e.image,alt:""},null,8,d)])]))}},u=a(r,[["__scopeId","data-v-17482991"]]);export{u as a};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/course-B7zlKVSt.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/course-DCR92-IE.js


+ 1 - 0
dist/assets/handbook-3RBnz1fT.js

@@ -0,0 +1 @@
+import{_ as m,a as u,m as h,b as f,o as i,c,e,f as l,F as b,s as v,p as k,h as g}from"./index-B44dBTj2.js";import{b as y}from"./bottom-Vb-0DLDr.js";import"./code-BL6zcpLW.js";import"./request-DlYpkY1d.js";const t=o=>(k("data-v-de45cdfc"),o=o(),g(),o),V={class:""},x={class:"black"},I=t(()=>e("div",{class:"title"},"云厂长功能手册",-1)),S={class:"bga"},w=t(()=>e("div",{class:"title"},"快速入门",-1)),B=t(()=>e("div",{class:"sm_font"},"从多个角度帮助你快速了解我们",-1)),C={class:"imgbox",style:{display:"flex","justify-content":"space-between","align-items":"center"}},F=["src"],N={__name:"handbook",setup(o){const d=u(),p=()=>{d.push({name:"bookinfo"})};return h(()=>{}),(s,a)=>{const r=f("el-input");return i(),c("div",V,[e("div",x,[I,e("div",null,[l(r,{modelValue:s.input2,"onUpdate:modelValue":a[0]||(a[0]=n=>s.input2=n),style:{width:"240px"},placeholder:"你可以输入关键词,或者直接输入问题","prefix-icon":s.Search},null,8,["modelValue","prefix-icon"])])]),e("div",S,[w,B,e("div",C,[(i(),c(b,null,v(3,(n,_)=>e("img",{onClick:p,key:_,class:"image",src:s.image,alt:""},null,8,F)),64))])]),l(y)])}}},R=m(N,[["__scopeId","data-v-de45cdfc"]]);export{R as default};

+ 1 - 0
dist/assets/handbook-BxV4xwP8.css

@@ -0,0 +1 @@
+.flex[data-v-de45cdfc]{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-top:2.08333vw}.bga[data-v-de45cdfc]{width:100vw;background:#f5f9ff;padding:4.16667vw 18.75vw;box-sizing:border-box}.bga .imgbox[data-v-de45cdfc]{margin-top:2.5vw}.bga .image[data-v-de45cdfc]{width:19.79167vw;height:13.54167vw;border-radius:.41667vw;cursor:pointer}.bga .item[data-v-de45cdfc]{width:11.71875vw;height:6.45833vw;background:#fff;box-shadow:0 .20833vw .41667vw #adb8ca1a;border-radius:.41667vw;margin-bottom:1.04167vw}.bga .title[data-v-de45cdfc]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.875vw;color:#222;line-height:2.60417vw;text-align:justify;font-style:normal;text-align:center}.bga .sm_font[data-v-de45cdfc]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.5625vw;text-align:center;font-style:normal}.black[data-v-de45cdfc]{width:100%;height:25vw;background:url(./bookbg-FK62YUjM.png);background-size:100%;display:flex;flex-direction:column;align-items:center}.black .title[data-v-de45cdfc]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:2.8125vw;color:#222;line-height:3.90625vw;text-align:left;font-style:normal;margin-top:9.27083vw;margin-bottom:2.08333vw}[data-v-de45cdfc] .el-input{width:31.25vw!important;height:2.8125vw!important}

+ 1 - 0
dist/assets/index-0ntUYYVG.js

@@ -0,0 +1 @@
+var p=(_,l,e)=>new Promise((i,n)=>{var a=s=>{try{t(e.next(s))}catch(c){n(c)}},u=s=>{try{t(e.throw(s))}catch(c){n(c)}},t=s=>s.done?i(s.value):Promise.resolve(s.value).then(a,u);t((e=e.apply(_,l)).next())});import{B as b}from"./index-B_yfJhWm.js";import{b as g}from"./bottom-Vb-0DLDr.js";import{d as v,a as x,m as B,k,o as m,c as d,f,e as o,F as h,s as y,t as r,_ as L}from"./index-B44dBTj2.js";import{l as I}from"./kecheng-Bt4lzOTi.js";import"./code-BL6zcpLW.js";import"./request-DlYpkY1d.js";const w={class:"videobox"},C={class:"box"},E=["onClick"],$=["src"],F={class:"minbox"},G={class:"bottom"},J={class:"title"},N={class:"small"},P=v({__name:"index",setup(_){const l=x();B(()=>p(this,null,function*(){try{const{data:a}=yield I({});i.list=a.data}catch(a){}}));const i=k({banneImageList:[{imgUrl:"https://img1.baidu.com/it/u=1964831979,2551193402&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=357",isBtn:!0,btnText:"点我,了解详情"},{imgUrl:"https://img1.baidu.com/it/u=3821883389,2247186365&fm=253&fmt=auto&app=138&f=JPEG?w=798&h=500",isBtn:!1}],list:[]}),n=a=>{l.push({name:"course",query:{id:a}})};return(a,u)=>(m(),d(h,null,[f(b,{banneImageList:i.banneImageList},null,8,["banneImageList"]),o("div",w,[o("div",C,[(m(!0),d(h,null,y(i.list,(t,s)=>(m(),d("div",{onClick:c=>n(t.id),class:"item",key:s},[o("img",{class:"image",src:t.image,alt:""},null,8,$),o("div",F,r(t.duration_num),1),o("div",G,[o("div",J,r(t.title),1),o("div",N,[o("div",null,"共"+r(t.video_num)+"节课",1),o("div",null,r(t.study_num)+"人学习",1)])])],8,E))),128))])]),f(g)],64))}}),T=L(P,[["__scopeId","data-v-b449904e"]]);export{T as default};

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-4rHvr1y8.css


+ 1 - 0
dist/assets/index-B26X9HsH.css

@@ -0,0 +1 @@
+.demonstration[data-v-4a744026]{color:var(--el-text-color-secondary)}.detail[data-v-4a744026]{position:relative;width:8.75vw;height:2.76042vw;background-color:#0d0fff;color:#fff;font-size:.83333vw;border:none;cursor:pointer;z-index:1000;bottom:9.42708vw;left:18.75vw;margin-right:1.04167vw;border-radius:.20833vw}.el-carousel__item img[data-v-4a744026]{width:100%;height:100%}.el-carousel__item[data-v-4a744026]:nth-child(2n){background-color:#99a9bf}.el-carousel__item[data-v-4a744026]:nth-child(odd){background-color:#d3dce6}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-B2aZcpAA.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 10 - 0
dist/assets/index-B44dBTj2.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-B8o_Of8G.js


+ 1 - 0
dist/assets/index-BB4Td9xS.js

@@ -0,0 +1 @@
+import{B as i}from"./index-B_yfJhWm.js";import{b as n}from"./bottom-Vb-0DLDr.js";import{a}from"./corporation.vue_vue_type_style_index_0_scoped_a08f5b6f_lang-ClSNcLkk.js";import{_ as o,k as e,m as c,o as r,c as g,f as t,F as f}from"./index-B44dBTj2.js";import{a as l}from"./index-B8o_Of8G.js";import"./code-BL6zcpLW.js";import"./request-DlYpkY1d.js";const p={__name:"index",setup(b){const s=e({tabslist:[{label:"智能数据跟踪",name:"first",content:["云厂长团队版提供了全面的功能模块,包括C","云厂长团队版提供了全面的功能模块"],imgae:"https://inews.gtimg.com/om_bt/Os3eJ8u3SgB3Kd-zrRRhgfR5hUvdwcVPKUTNO6O7sZfUwAA/641"},{label:"智能",name:"send",content:["云厂长团队版提供了全面的功能模块,包括C"],imgae:"https://inews.gtimg.com/om_bt/Os3eJ8u3SgB3Kd-zrRRhgfR5hUvdwcVPKUTNO6O7sZfUwAA/641"},{label:"数据跟踪",name:"three",content:["云厂长团队版提供了全面的功能模块,包括C","云厂长团队版提供了全面的功能模块"],imgae:"https://inews.gtimg.com/om_bt/Os3eJ8u3SgB3Kd-zrRRhgfR5hUvdwcVPKUTNO6O7sZfUwAA/641"}]}),m=e({banneImageList:[{imgUrl:"https://img1.baidu.com/it/u=1964831979,2551193402&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=357",isBtn:!0},{imgUrl:"https://img1.baidu.com/it/u=3821883389,2247186365&fm=253&fmt=auto&app=138&f=JPEG?w=798&h=500",isBtn:!1}]});return c(()=>{}),(d,u)=>(r(),g(f,null,[t(i,{class:"top",banneImageList:m.banneImageList},null,8,["banneImageList"]),t(l,{tabslist:s.tabslist,title:"三方市场插件让您的企业流程规范化"},null,8,["tabslist"]),t(a,{image:"https://inews.gtimg.com/om_bt/Os3eJ8u3SgB3Kd-zrRRhgfR5hUvdwcVPKUTNO6O7sZfUwAA/641",title:"按需安装增强包,减少企业成本",titleinfo:"'量身定制,满足小型制造行业管理的广泛需求'"}),t(a,{style:{background:"#fff"}}),t(n)],64))}},A=o(p,[["__scopeId","data-v-c409c360"]]);export{A as default};

+ 1 - 0
dist/assets/index-BXIwoPAs.css

@@ -0,0 +1 @@
+.imag[data-v-c409c360]{width:100%;height:29.6875vw;margin-top:1.5625vw;background:#0d0fff80}.content[data-v-c409c360]{width:62.5vw;margin:0 auto}.content .item[data-v-c409c360]:hover{border:1px solid rgba(13,15,255,.5)}.content .item[data-v-c409c360]{width:14.84375vw;height:5.3125vw;border-radius:.52083vw;border:1px solid rgba(151,151,151,.3);padding:1.04167vw 0 0 1.45833vw;box-sizing:border-box}.content .item_title[data-v-c409c360]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:.9375vw;color:#181818;line-height:1.30208vw;text-align:left;font-style:normal}.content .item_font[data-v-c409c360]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.72917vw;color:#4e5969;line-height:1.5625vw;text-align:left;font-style:normal}.content .box_item[data-v-c409c360]{margin-top:2.08333vw;display:flex;justify-content:space-between;align-items:center}.content .title[data-v-c409c360]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.875vw;color:#222;line-height:2.60417vw;text-align:center;font-style:normal;margin-top:4.16667vw}.content .top_font[data-v-c409c360]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.35417vw;text-align:center;font-style:normal;margin-top:.72917vw}.top[data-v-c409c360]{margin-top:3.125vw}

+ 1 - 0
dist/assets/index-B_yfJhWm.js

@@ -0,0 +1 @@
+import{d as m,b as a,o as e,c as t,f as g,i as r,F as n,s as c,z as k,e as f,A as x,t as y,q as h,_ as B}from"./index-B44dBTj2.js";const b={class:"block text-center"},v=["src"],C={key:0},L=m({__name:"index",props:{banneImageList:{type:Array,default:()=>[]}},setup(l){const _=l;return(N,V)=>{const i=a("el-carousel-item"),u=a("el-carousel");return e(),t("div",b,[g(u,{height:"500px",arrow:"never"},{default:r(()=>[(e(!0),t(n,null,c(_.banneImageList,(o,d)=>(e(),k(i,{key:d},{default:r(()=>[f("img",{class:"version-img",src:o.imgUrl,alt:""},null,8,v),o.isBtn?(e(),t("div",C,[(e(!0),t(n,null,c(o.btnList,(s,p)=>(e(),t("button",{class:"detail",key:p,style:x({backgroundColor:s.backgroundColor,color:s.color})},y(s.text),5))),128))])):h("",!0)]),_:2},1024))),128))]),_:1})])}}}),z=B(L,[["__scopeId","data-v-4a744026"]]);export{z as B};

+ 1 - 0
dist/assets/index-CZVGqIOi.css

@@ -0,0 +1 @@
+.personal-center[data-v-95570129]{padding-top:1.25vw;margin-top:3.125vw;background-color:#f5f5f7;display:flex;justify-content:center;padding-bottom:5.20833vw}.personal-center .personal-list .personal[data-v-95570129]{width:10.41667vw;height:12.60417vw;background-color:#fff;border-radius:.52083vw;display:flex;flex-direction:column;padding-top:1.66667vw;align-items:center;margin-bottom:.83333vw}.personal-center .personal-list .personal .profile[data-v-95570129]{width:4.6875vw;height:4.6875vw;border-radius:50%;margin-bottom:1.25vw}.personal-center .personal-list .personal .name[data-v-95570129]{font-size:.83333vw;color:#212121;margin-bottom:.83333vw}.personal-center .personal-list .personal .id[data-v-95570129]{opacity:.6;color:#212121;font-size:.67708vw;padding-bottom:.83333vw;border-bottom:1px solid rgba(151,151,151,.1)}.personal-center .personal-list .personal .points[data-v-95570129]{font-size:.72917vw;color:#212121;margin-top:.88542vw}.personal-center .personal-list .btn-list[data-v-95570129]{width:10.41667vw;height:10.9375vw;background-color:#fff;border-radius:.52083vw}.personal-center .personal-list .btn-list p[data-v-95570129]{font-size:.9375vw;color:#212121;height:3.38542vw;line-height:3.38542vw;text-align:center;user-select:none;cursor:pointer}

+ 1 - 0
dist/assets/index-CsfR4yEi.css

@@ -0,0 +1 @@
+.foot[data-v-b449904e]{height:25vw}.videobox[data-v-b449904e]{height:33.33333vw;padding:3.125vw 0 3.64583vw;box-sizing:border-box;background:#f5f5f7}.box[data-v-b449904e]{width:62.5vw;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;column-gap:1.04167vw}.box .item[data-v-b449904e]{width:14.84375vw;background:#fff;position:relative;margin-bottom:.9375vw;box-sizing:border-box;cursor:pointer}.box .item .bottom[data-v-b449904e]{height:4.47917vw;padding:.83333vw .72917vw 0;box-sizing:border-box}.box .item .bottom .small[data-v-b449904e]{font-family:SFPro,SFPro;font-weight:400;font-size:.625vw;color:#22222280;line-height:.72917vw;text-align:left;font-style:normal;display:flex;justify-content:space-between}.box .item .bottom .title[data-v-b449904e]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:.83333vw;color:#222;line-height:1.14583vw;text-align:left;font-style:normal;margin-bottom:.67708vw}.box .item .minbox[data-v-b449904e]{width:3.28125vw;height:1.14583vw;background:#000000b3;border-radius:.10417vw;position:absolute;font-family:SFPro,SFPro;font-weight:400;font-size:.625vw;color:#fff;line-height:1.14583vw;text-align:center;font-style:normal;top:6.66667vw;right:.52083vw}.box .item .image[data-v-b449904e]{width:14.84375vw;height:8.33333vw}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-CxjVhlLo.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-DP5kJxYz.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-DWPGdCUA.css


+ 1 - 0
dist/assets/index-DY2TBNpm.js

@@ -0,0 +1 @@
+import{b as a}from"./bottom-Vb-0DLDr.js";import{d as t,o as s,c as d,f as e,F as p,g as i,_ as n}from"./index-B44dBTj2.js";import"./code-BL6zcpLW.js";import"./request-DlYpkY1d.js";const o=i('<div class="personal-center" data-v-95570129><div class="personal-list" data-v-95570129><div class="personal" data-v-95570129><img class="profile" src="https://tse3-mm.cn.bing.net/th/id/OIP-C.qidgOqAsPEdzAg5inmSK3AAAAA?rs=1&amp;pid=ImgDetMain" alt="" data-v-95570129><p class="name" data-v-95570129>圣埃蒂安</p><p class="id" data-v-95570129>ID:28875432</p><p class="points" data-v-95570129><span data-v-95570129>积分:</span><span data-v-95570129>0</span></p></div><div class="btn-list" data-v-95570129><p data-v-95570129>个人资料</p><p data-v-95570129>我的收藏</p><p data-v-95570129>我的试用</p></div></div><div data-v-95570129></div></div>',1),c=t({__name:"index",setup(v){return(r,l)=>(s(),d(p,null,[o,e(a)],64))}}),A=n(c,[["__scopeId","data-v-95570129"]]);export{A as default};

+ 1 - 0
dist/assets/index-D_NAWIQ-.css

@@ -0,0 +1 @@
+.top-banne[data-v-ea019971]{height:17.8125vw;padding-top:13.4375vw;background-image:url(./bannebg-QEyV7bUG.png);background-size:100% 100%;background-repeat:no-repeat}.top-banne .title[data-v-ea019971]{font-size:2.8125vw;font-weight:600;color:#222;text-align:center}.top-banne .btn-list[data-v-ea019971]{display:flex;justify-content:center;margin-top:3.85417vw}.top-banne .btn-list .free[data-v-ea019971]{width:8.22917vw;height:2.91667vw;border:none;background-color:#0d0fff;color:#fff;font-size:.83333vw;margin-right:1.25vw}.top-banne .btn-list .consult[data-v-ea019971]{width:8.22917vw;height:2.91667vw;background-color:#0000;border:1px solid #0d0fff;color:#0d0fff}.about[data-v-ea019971]{display:flex;width:60%;margin:4.16667vw auto;justify-content:space-between}.about .about-left[data-v-ea019971]{width:48%}.about .about-left .heng[data-v-ea019971]{width:2.29167vw;height:.20833vw;background-color:#0d0fff;margin-bottom:1.04167vw}.about .about-left .about-name[data-v-ea019971]{font-size:1.66667vw;font-weight:600;color:#222;margin-bottom:.72917vw}.about .about-left .about-content[data-v-ea019971]{font-size:.83333vw;color:#444;line-height:1.9}.about .about-video[data-v-ea019971]{width:28.125vw;height:23.4375vw;background-color:#d8d8d8}.publicize[data-v-ea019971]{padding:4.27083vw 0 4.6875vw;background-color:#f5f9ff}.publicize .publicize-title[data-v-ea019971]{font-size:1.875vw;margin-bottom:3.22917vw;font-weight:600;color:#222;text-align:center}.publicize .pane-content[data-v-ea019971]{width:62.5vw;height:35.15625vw;margin:3.28125vw auto 0;display:block}[data-v-ea019971] .el-tabs__item{font-size:.9375vw;width:15.625vw;text-align:center}[data-v-ea019971] .is-active{color:#0d0fff}[data-v-ea019971] .el-tabs__active-bar{background-color:#0d0fff}[data-v-ea019971] .el-tabs__nav{width:60%;justify-content:space-around;float:none;margin:0 auto}[data-v-ea019971] .el-tabs__item:hover{color:#0d0fff;cursor:pointer}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-DwZqtVu6.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-Ppcq3ChK.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/index-boQd3b-t.css


+ 1 - 0
dist/assets/index-vT7ZDBzP.css

@@ -0,0 +1 @@
+.bgbox[data-v-eb902af6]{padding-bottom:2.29167vw}.contenta[data-v-eb902af6]{width:62.5vw;margin:0 auto}.left[data-v-eb902af6]{display:flex;flex-direction:column;justify-content:center;flex:1;height:26.04167vw}.left .title[data-v-eb902af6]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.35417vw;color:#1a1a1a;line-height:1.92708vw;text-align:left;font-style:normal}.left .content[data-v-eb902af6]{font-family:SFPro,SFPro;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.35417vw;text-align:left;font-style:normal;margin-top:1.14583vw}.left .content .active[data-v-eb902af6]{width:.83333vw;height:.83333vw;margin-right:.52083vw}.left .trybtn[data-v-eb902af6]{width:6.35417vw;height:2.29167vw;background:#0d0fff;border-radius:.15625vw;font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#fff;line-height:2.29167vw;text-align:center;font-style:normal;margin-top:4.16667vw;cursor:pointer}.right[data-v-eb902af6]{width:40.10417vw;height:26.04167vw}.line[data-v-eb902af6]{background:#e4e7ed;height:.10417vw;width:100%;position:absolute;top:1.97917vw}[data-v-eb902af6] .el-tabs__nav.is-stretch{width:62.5vw}.flex[data-v-eb902af6]{display:flex;justify-content:center;margin-top:3.125vw}.title[data-v-eb902af6]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.875vw;color:#222;line-height:2.60417vw;text-align:center;font-style:normal;margin-top:4.16667vw}.top_font[data-v-eb902af6]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.5625vw;text-align:center;font-style:normal;margin-top:.625vw}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/info-BYUWO4kx.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/info-K8vo_dmu.js


+ 1 - 0
dist/assets/kecheng-Bt4lzOTi.js

@@ -0,0 +1 @@
+import{r as e}from"./request-DlYpkY1d.js";const s=t=>e({url:"course/list",method:"get",params:t}),o=t=>e({url:"course/details",method:"get",params:t});export{o as d,s as l};

BIN
dist/assets/lanse3@2x-D3q2Z7hm.png


+ 1 - 0
dist/assets/login-D1Bziq4K.js

@@ -0,0 +1 @@
+import{r as e}from"./request-DlYpkY1d.js";const o=t=>e({url:"/login",method:"post",data:t}),n=t=>e({url:"/overview",method:"get",params:t}),s=t=>e({url:"/advantage",method:"get",params:t}),u=t=>e({url:"customer-case",method:"get",params:t}),a=t=>e({url:"plugin",method:"get",params:t});export{s as a,u as c,o as l,n as o,a as p};

BIN
dist/assets/mianfeibg-CFAg8adE.png


BIN
dist/assets/peixun-Iwbc4AKt.png


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/price-BKVGgnf9.css


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/price-CzTY5lLA.js


+ 1 - 0
dist/assets/price_bg-BEEhHTL3.js

@@ -0,0 +1 @@
+const r=""+new URL("price_bg-CsOr6EjM.png",import.meta.url).href;export{r as _};

BIN
dist/assets/price_bg-CsOr6EjM.png


BIN
dist/assets/price_bg2-D7xuq_md.png


+ 1 - 0
dist/assets/product-BXp2apM_.css

@@ -0,0 +1 @@
+.imag[data-v-a3e83ed6]{width:100%;height:29.6875vw;margin-top:1.5625vw}.content[data-v-a3e83ed6]{width:62.5vw;margin:0 auto}.content .item[data-v-a3e83ed6]:hover{border:1px solid rgba(13,15,255,.5)}.content .item[data-v-a3e83ed6]{width:14.84375vw;height:5.3125vw;border-radius:.52083vw;border:1px solid rgba(151,151,151,.3);padding:1.04167vw 0 0 1.45833vw;box-sizing:border-box}.content .item_title[data-v-a3e83ed6]{font-family:PingFangSC,PingFang SC;font-weight:500;font-size:.9375vw;color:#181818;line-height:1.30208vw;text-align:left;font-style:normal}.content .item_font[data-v-a3e83ed6]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.72917vw;color:#4e5969;line-height:1.5625vw;text-align:left;font-style:normal}.content .box_item[data-v-a3e83ed6]{margin-top:2.08333vw;display:flex;align-items:center;column-gap:1.04167vw}.content .title[data-v-a3e83ed6]{font-family:PingFangSC,PingFang SC;font-weight:600;font-size:1.875vw;color:#222;line-height:2.60417vw;text-align:center;font-style:normal;margin-top:4.16667vw}.content .top_font[data-v-a3e83ed6]{font-family:PingFangSC,PingFang SC;font-weight:400;font-size:.83333vw;color:#525967;line-height:1.35417vw;text-align:center;font-style:normal;margin-top:.72917vw}.top[data-v-a3e83ed6]{margin-top:3.125vw}

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/product-DsBQqAVs.js


تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 0 - 0
dist/assets/request-DlYpkY1d.js


BIN
dist/assets/shichang-C-nBLvfb.png


BIN
dist/assets/shuzitubiao1-BPJ4Ic-a.png


BIN
dist/assets/shuzitubiao2-DoMMSz9N.png


BIN
dist/assets/shuzitubiao3-DuAQpQ80.png


BIN
dist/assets/shuzitubiao4-D5T-mI3O.png


BIN
dist/assets/shuzizhuanxing-Du2Ayl7M.png


BIN
dist/assets/tubiao1-Dcr0D1W4.png


BIN
dist/assets/tubiao2-BGwe2X1K.png


BIN
dist/assets/tubiao3-CQBCI3SA.png


BIN
dist/assets/weixuanzhongbg-DL-eqMH7.png


BIN
dist/assets/xiaoshou-PMRrsOud.png


BIN
dist/assets/xuanzetubiao1-jV0MxkIq.png


BIN
dist/assets/xuanzetubiao2-BWO_fdJZ.png


BIN
dist/assets/xuanzetubiao3-CntE0QYM.png


BIN
dist/assets/xuanzetubiao4-BTFsTugO.png


BIN
dist/assets/xuanzhongbg-Dnjdx730.png


BIN
dist/assets/zengzhangtubiao1-DAK0Un3I.png


BIN
dist/assets/zengzhangtubiao2-DvQ7j1VE.png


BIN
dist/assets/zengzhangtubiao3-BMA1mz49.png


BIN
dist/assets/zengzhangtubiao4-BHyR9lWJ.png


+ 34 - 0
dist/index.html

@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <link
+      rel="icon"
+      type="image/svg+xml"
+      href="./src/assets/image/a8e890b2-ad35-490e-b0cc-1548d7dd1401.png"
+    />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>云厂长</title>
+    <script type="module" crossorigin src="./assets/index-B44dBTj2.js"></script>
+    <link rel="stylesheet" crossorigin href="./assets/index-Ppcq3ChK.css">
+  </head>
+  <body>
+    <div id="app"></div>

+  </body>
+</html>
+<style lang="scss">* {
+  margin: 0;
+  padding: 0;
+}
+body,
+html {
+  margin: 0;
+  padding: 0;
+  border-radius: 0;
+  overflow-x: hidden;
+}
+#app {
+  width: 100%;
+  overflow-x: hidden;
+}
+</style>

+ 1 - 0
dist/vite.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>

+ 33 - 1
src/api/kecheng.ts

@@ -28,7 +28,39 @@ export const course_video = (params: any) => {
 export const collect = (data: any) => {
   return request({
     url: "collect/add",
-    method: "get",
+    method: "post",
+    data,
+  });
+};
+//评论
+export const comment = (data: any) => {
+  return request({
+    url: "comment/add",
+    method: "post",
+    data,
+  });
+};
+//评论列表
+export const comment_list = (data: any) => {
+  return request({
+    url: "comment/list",
+    method: "post",
+    data,
+  });
+};
+//添加学习记录
+export const study_record = (data: any) => {
+  return request({
+    url: "study_record/add",
+    method: "post",
+    data,
+  });
+};
+//添加学习记录
+export const join = (data: any) => {
+  return request({
+    url: "/join_course/join",
+    method: "post",
     data,
   });
 };

+ 13 - 14
src/components/row/row.vue

@@ -62,6 +62,10 @@ const Props = defineProps({
     type: Number,
     default: "1",
   },
+  time: {
+    type: Number,
+    default: "",
+  },
 });
 
 // 是否有回复
@@ -143,14 +147,14 @@ const delect = () => {};
           <span class="crcuname">{{ name }}</span>
           <template v-if="existReply">
             <span>回复</span>
-            <a class="crconame">{{ reply }}</a>
+            <a class="crconame">@{{ reply }}</a>
           </template>
         </div>
-        <div class="timebox">· {{ Props.crateTime }}</div>
+        <!-- <div class="timebox"> {{ Props.crateTime }}</div> -->
       </div>
       <p class="comment-row-main__descs">{{ descs }}</p>
       <ul class="comment-row-main__footer flex-row">
-        <li @click="like(Props.id)">
+        <!-- <li @click="like(Props.id)">
           <SvgIcon
             name="like"
             :size="22"
@@ -164,22 +168,17 @@ const delect = () => {};
             :style="{ color: Props.is_like == 1 ? '#00b0b0' : '#999999' }"
             >{{ Props.like_count }}</span
           >
+        </li> -->
+        <li>
+          <SvgIcon name="message" :size="22" :rgap="2" color="#888888" />
+          <span>发布于{{ time }}</span>
         </li>
         <li @click="replace">
           <SvgIcon name="message" :size="22" :rgap="2" color="#888888" />
           <span>回复</span>
-          <span>{{ Props.comment_count }}</span>
         </li>
-        <li
-          @click="delectshow = true"
-          v-if="Props.author_id == userid.id || Props.user_id == userid.id"
-        >
-          <!-- <SvgIcon name="message" :size="22" :rgap="2" color="#888888" /> -->
-          <!-- <img
-            src="../../assets/delect.png"
-            style="width: 16px; height: 16px"
-            alt=""
-          /> -->
+        <li @click="delectshow = true">
+          <!-- v-if="Props.author_id == userid.id || Props.user_id == userid.id" -->
           <span>删除</span>
         </li>
       </ul>

+ 108 - 35
src/view/video/course.vue

@@ -3,10 +3,18 @@
     <div class="box">
       <div class="top">
         <div class="content">
-          <div class="title">产品生命周期-PLM</div>
+          <div class="title">{{ videodetail.detail.title }}</div>
           <div class="info">
-            <div class="time">课程总量:24课时,共5小时45分钟7秒</div>
-            <div class="time left">课程成员:245人</div>
+            <div class="time" v-if="videodetail.detail.duration_num">
+              课程总量:{{ videodetail.detail.video_num }}课时,共{{
+                videodetail.detail.duration_num.slice(0, 2)
+              }}小时{{ videodetail.detail.duration_num.slice(3, 5) }}分钟{{
+                videodetail.detail.duration_num.slice(6, 8)
+              }}秒
+            </div>
+            <div class="time left">
+              课程成员:{{ videodetail.detail.study_num }}人
+            </div>
           </div>
         </div>
       </div>
@@ -26,31 +34,33 @@
     <!-- 内容 -->
     <div class="content">
       <div class="course" v-if="active == 0">
-        <div v-for="(item, idx) in 3" :key="idx">
+        <div v-for="(item, idx) in videodetail.detail.below_course" :key="idx">
           <div class="bigtitle">
-            <div>库存基础知识</div>
-            <div class="time">共4课时,50分钟12秒</div>
-          </div>
-          <div class="info actinfo" @click="videoinfo">
-            <div style="display: flex; align-items: center">
-              <div>第1课 报价单模版及使用</div>
-              <div class="tim">12:35</div>
+            <div>{{ item.title }}</div>
+            <div class="time">
+              共{{ item.video.length }}课时,共{{
+                item.duration_num.slice(0, 2)
+              }}小时{{ item.duration_num.slice(3, 5) }}分钟{{
+                item.duration_num.slice(6, 8)
+              }}秒
             </div>
-            <div class="jifen">可获得3积分</div>
           </div>
-          <div class="info actinfo">
+          <div
+            class="info actinfo"
+            v-for="(child, index) in item.video"
+            :key="index"
+            @click="videoinfo(child.id)"
+          >
             <div style="display: flex; align-items: center">
-              <div>第1课 报价单模版及使用</div>
-              <div class="tim">12:35</div>
+              <div>第{{ index + 1 }}课 {{ child.title }}</div>
+              <div class="tim">{{ child.duration }}</div>
             </div>
-            <div class="jifen">可获得3积分</div>
-          </div>
-          <div class="info actinfo">
-            <div style="display: flex; align-items: center">
-              <div>第1课 报价单模版及使用</div>
-              <div class="tim">12:35</div>
+            <div
+              v-if="child.study_record && child.study_record.is_complete == 0"
+            >
+              <div class="jifen">{{ child.points }}积分</div>
             </div>
-            <div class="jifen">可获得3积分</div>
+            <div class="jifen" v-else>可获得{{ child.points }}积分</div>
           </div>
         </div>
       </div>
@@ -60,23 +70,25 @@
     <!-- 定位 -->
     <div class="fix">
       <div class="img">
-        <img class="img" src="../../assets/images/price_bg.png" alt="" />
+        <img class="img" :src="videodetail.detail.image" alt="" />
       </div>
       <div style="display: flex; flex-direction: column; align-items: center">
-        <!-- <div class="button">加入课程</div> -->
-        <div class="join">
+        <div class="join" v-if="islogin">
           <div>您已加入</div>
           <div class="success">完成进度{{ percentage }}%</div>
         </div>
-        <div class="progress">
+        <div class="progress" v-if="islogin">
           <el-progress
             :percentage="percentage"
             :color="customColor"
             :show-text="false"
           />
         </div>
-        <div class="button">继续学习</div>
-        <div class="updata">最后更新时间:2024年2月14日</div>
+        <div class="button" v-if="is_join == 0" @click="videoinfo">继续学习</div>
+        <div class="button" v-else @click="join">加入课程</div>
+        <div class="updata" v-if="videodetail.detail.updated_at">
+          最后更新时间:{{ videodetail.detail.updated_at.slice(0, 10) }}
+        </div>
         <div class="linea"></div>
         <div class="share">
           <img class="image" src="../../assets/images/share.png" alt="" />
@@ -88,21 +100,81 @@
 </template>
 
 <script setup>
-import { useRouter } from "vue-router";
-import { onMounted, ref } from "vue";
+import { useRouter, useRoute } from "vue-router";
+import { onMounted, ref, reactive } from "vue";
+import * as videoAPi from "../../api/kecheng";
 const router = useRouter();
-onMounted(() => {});
+const route = useRoute();
+//判断是否加入
+const is_join = ref(1);
+//判断是否登录
+const islogin = ref(false);
+if (localStorage.getItem("access_token")) {
+  islogin.value = true;
+} else {
+  islogin.value = false;
+}
+const videodetail = reactive({
+  detail: {},
+});
+//进度条
+const percentage = ref(0);
+const read = ref(0);
+const all = ref(0);
+//加入课程
+const join = async () => {
+  try {
+    const { data } = await videoAPi.details({
+      course_id: route.query.id,
+    });
+    is_join.value = 0
+  } catch (error) {}
+};
+//继续学习
+
+//课程详情
+const details = async () => {
+  try {
+    const { data } = await videoAPi.details({
+      id: route.query.id,
+    });
+    all.value = data.video_num;
+    is_join.value = data.is_join;
+    videodetail.detail = data;
+    videodetail.detail.below_course.forEach((item) => {
+      if (item.video.length > 0) {
+        item.video.forEach((child) => {
+          if (child.study_record && child.study_record.is_complete == 0) {
+            read.value = read.value + 1;
+            console.log(read.value);
+          } else {
+          }
+        });
+      }
+      // for (let i = 0; i <= item.video.length; i++) {
+      //   if (item.video[i].study_record.is_comple == 0) {
+
+      //   }
+      // }
+    });
+    read.value = read.value + Number(route.query.read);
+    percentage.value = ((read.value / all.value) * 100).toFixed(2);
+  } catch (error) {}
+};
+onMounted(details);
+
 //更换tabs
 const active = ref(0);
 const tabs = (idx) => {
   active.value = idx;
 };
-//进度条
-const percentage = ref(90);
 const customColor = ref("#409eff");
-const videoinfo = () => {
+const videoinfo = (id) => {
   router.push({
     name: "info",
+    query: {
+      id: id,
+    },
   });
 };
 </script>
@@ -211,6 +283,7 @@ const videoinfo = () => {
     text-align: center;
     font-style: normal;
     margin-top: 30px;
+    cursor: pointer;
   }
   .updata {
     font-family: PingFangSC, PingFang SC;
@@ -228,7 +301,7 @@ const videoinfo = () => {
   //   height: 796px;
   background: #ffffff;
   margin-top: 30px;
-  padding: 34px 30px 0;
+  padding: 34px 30px;
   box-sizing: border-box;
   .tim {
     font-family: SFPro, SFPro;

+ 6 - 2
src/view/video/index.vue

@@ -3,7 +3,7 @@
   <div class="videobox">
     <div class="box">
       <div
-        @click="toinfo"
+        @click="toinfo(item.id)"
         class="item"
         v-for="(item, idx) in imgList.list"
         :key="idx"
@@ -57,9 +57,13 @@ const imgList = reactive({
   ],
   list: [],
 });
-const toinfo = () => {
+const toinfo = (id) => {
   router.push({
     name: "course",
+    query: {
+      id: id,
+      read: 0,
+    },
   });
 };
 </script>

+ 151 - 23
src/view/video/info.vue

@@ -4,7 +4,7 @@
       <div class="content flex">
         <div class="return" @click="returna">返回课程</div>
         <div class="line"></div>
-        <div class="title">产品生命周期-PLM</div>
+        <div class="title">{{ videoinfo.info.title }}</div>
       </div>
     </div>
     <div class="videobox">
@@ -14,18 +14,18 @@
           controls
           class="video"
           @ended="onVideoEnded"
-          src="https://www.yixiangvr.com/storage/files/ea7e26c39e08e4fa11d5e94b7d5a007f.mp4"
+          :src="videoinfo.info.url"
           @timeupdate="timeUpdate"
         ></video>
         <!-- </div> -->
         <div class="like">
           <div class="flex">
             <img class="image" src="../../assets/images/like.png" alt="" />
-            <span class="number">2.4k</span>
+            <span class="number">{{ videoinfo.info.like_num }}</span>
           </div>
           <div class="flex left">
             <img class="image" src="../../assets/images/Collect.png" alt="" />
-            <span class="number">5785</span>
+            <span class="number">{{ videoinfo.info.collect_num }}</span>
           </div>
           <div class="flex left">
             <img class="image" src="../../assets/images/mission.png" alt="" />
@@ -37,7 +37,7 @@
     <div class="bottom">
       <div class="content flex" style="justify-content: space-between">
         <div class="lefta">
-          <div v-if="false">
+          <div v-if="islogin">
             <div class="bigtitle">评论</div>
             <div>
               <el-input
@@ -47,10 +47,30 @@
                 placeholder="请输入评论内容…"
               />
             </div>
-            <div class="bluebtn">发布评论</div>
-            <row></row>
+            <div class="bluebtn" @click="comment">发布评论</div>
+            <div class="comment-list">
+              <dl v-for="(item, idx) in commentList.list" :key="idx">
+                <dt>
+                  <row
+                    :name="item.member.nickname"
+                    :key="idx"
+                    reply=""
+                    :descs="item.content"
+                    :time="item.created_at"
+                  ></row>
+                </dt>
+                <dd v-for="(child, index) in item.reply" :key="index">
+                  <row
+                    :name="child.member.nickname"
+                    :reply="child.reply_member.nickname"
+                    :descs="child.content"
+                    :time="child.created_at"
+                  ></row>
+                </dd>
+              </dl>
+            </div>
           </div>
-          <div>
+          <div v-else>
             <div class="bigtitle">评论</div>
             <div
               style="display: flex; flex-direction: column; align-items: center"
@@ -87,43 +107,148 @@
 </template>
 
 <script setup>
-import { useRouter } from "vue-router";
-import { onMounted, ref } from "vue";
+import { useRouter, useRoute } from "vue-router";
+import { onMounted, reactive, ref } from "vue";
 import bottom from "../../components/Layout/bottom.vue";
 import row from "../../components/row/row.vue";
-import * as videoAPi from '../../api/kecheng'
-const router = useRouter()
-onMounted(() => {});
+import * as videoAPi from "../../api/kecheng";
+const router = useRouter();
+const route = useRoute();
+const videoinfo = reactive({
+  info: {},
+});
+//判断是否登录
+const islogin = ref(false);
+if (localStorage.getItem("access_token")) {
+  islogin.value = true;
+} else {
+  islogin.value = false;
+}
 //输入框内容
 const textarea = ref("");
+//评论
+const comment = async () => {
+  try {
+    const { data } = await videoAPi.comment({
+      comment_type: 0,
+      reply_id: "",
+      content: textarea.value,
+      video_id: route.query.id,
+      course_id: videoinfo.info.course.id,
+    });
+    comment_list();
+  } catch (error) {}
+};
+//视频详情
+const course_video = async () => {
+  try {
+    const { data } = await videoAPi.course_video({
+      id: route.query.id,
+    });
+    videoinfo.info = data;
+  } catch (error) {}
+};
+onMounted(course_video);
+const commentList = reactive({
+  list: [],
+});
+//评论列表
+const comment_list = async () => {
+  try {
+    const { data } = await videoAPi.comment_list({
+      course_id: route.query.id,
+    });
+    commentList.list = data.data;
+  } catch (error) {}
+};
+onMounted(comment_list);
+
+onMounted(() => {});
+
+const read = ref(0);
+let intervalId = ref();
 //播放结束
 const onVideoEnded = () => {
+  read.value = 1;
+  if (intervalId.value) {
+    clearInterval(intervalId.value);
+    intervalId.value = null;
+  }
   console.log("播放结束");
   //可在这里做视频播放结束后的处理,比如跳转新页面、显示弹框等
 };
 // 当前播放时间
-const timeStamp = ref('')
-const allTime = ref('')
-const currentTime = ref('')
+const timeStamp = ref("");
+const allTime = ref("");
+const currentTime = ref("");
 //timeUpdate
 const timeUpdate = (e) => {
-  console.log(e);
-  //获取当前播放时间 duration
-  if (timeStamp.value != parseInt(e.target.currentTime)) {
+  intervalId.value = setInterval(() => {
+    //获取当前播放时间 duration
+    // if (timeStamp.value != parseInt(e.target.currentTime)) {
     allTime.value = parseInt(e.target.duration); //视频总时长(秒)
     //对播放的时间进行整
     timeStamp.value = parseInt(e.target.currentTime); //播放进度 (秒)
     // this.biNum = Math.floor((this.timeStamp / this.allTime) * 10000) / 100; //暂时没用到
     currentTime.value = e.target.currentTime;
-  }
+    // }
+    study_record();
+  }, 4000);
+};
+const study_record = async () => {
+  try {
+    const { data } = await videoAPi.study_record({
+      video_id: route.query.id,
+      total_duration: allTime.value,
+      duration: timeStamp.value,
+    });
+  } catch (error) {}
 };
 //返回课程
-const returna = ()=>{
-  router.go(-1)
-}
+const returna = () => {
+  router.replace({
+    name: "course",
+    query: {
+      read: read.value,
+      id: videoinfo.info.course.id,
+    },
+  });
+};
 </script>
 
 <style lang="scss" scoped>
+.comment {
+  &-list {
+    dl {
+      margin-bottom: 16px;
+    }
+
+    dt {
+      margin-bottom: 25px;
+    }
+
+    dd {
+      margin-bottom: 20px;
+      margin-inline-start: 56px;
+    }
+
+    &-more {
+      display: inline-block;
+      line-height: 30px;
+      font-size: 15px;
+      font-weight: 400;
+      padding: 0 10px;
+      color: #444444;
+      background: #f4f4f4;
+      user-select: none;
+      cursor: pointer;
+
+      .el-icon {
+        vertical-align: middle;
+      }
+    }
+  }
+}
 .log {
   width: 156px;
   height: 44px;
@@ -188,6 +313,7 @@ const returna = ()=>{
     line-height: 40px;
     text-align: center;
     font-style: normal;
+    cursor: pointer;
   }
 }
 .right {
@@ -213,9 +339,11 @@ const returna = ()=>{
     line-height: 44px;
     text-align: center;
     font-style: normal;
+    cursor: pointer;
   }
   .item {
     margin-top: 20px;
+    cursor: pointer;
     .font {
       flex: 1;
       margin-left: 12px;

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است