最新公告
  • 欢迎您光临源码资源下载站,一个优质的网站源码和小程序源码分享基地。
  • 2022年苹果cms仿战教程及笔记

    正文概述 建站知识   2023-12-15 21:23:57  
    2022年苹果cms仿站教程
    因为苹果cms涉及到影视版权问题,所以无法上传到BILIBILI,没办法了。
    没讲过什么课,有什么不好的地方希望大家多多海涵。
    链接: https://pan.baidu.com/s/1-Ith3uQA8VjSIVXh-sUHsg 提取码: aitq
    链接:https://pan.baidu.com/s/1nNPyA4MWYZC7WbfEqd3rLA?pwd=15o4  提取码:15o4
    第二节课 目标站点所需页面下载
    仿站小工具下载
    链接: https://pan.baidu.com/s/1qelbnFdWgl0tZ4H61sK7yw 提取码: b7ty
    https://wwi.lanzoup.com/iHqCOs7m06d
    目标站点
    https://zhenbuka.net/
    文件资源存放目录
    /template/skin/static/
    第三节课 模板首页的引入
    在检查模板所需页面正常后
    1.在模板文件下(template)创建一个自定义名字的文件夹
    2.在后台启用我们的模板
    3.将资源文件放到(template)里面
    4.导入模板文件
    编程工具
    notepad++
    替换快捷键:Ctrl+H
    保存快捷键:Ctrl+S
    第四节课 公共TDK的分离
    苹果cms不同系统页面来设置不同的TDK
    title
    description
    keywords
    代码文章标题:苹果cms视频调用标签{maccms:vod}
    建立一个public文件夹
    引入文件标签:{include file=”public/XXXX”}
    第五节课 分离模板导航栏
    分离导航栏,不是分离head部分,分离的是body下面的部分
    第六节课 模板导航的调用
    导航调用参考代码
    苹果cms调用导航栏目标签以及导航亮尚
    标题:苹果cms生成搜索某个字段值的方法
    苹果cms{:maccms:type}调用标签详解
    标题:苹果cms视频详情页字段参考
    没有下拉的导航调用:
    {maccms:type ids=”1,2,3,4,5″ order=”asc” by=”sort” id=”vo1″ key=”key1″}
    栏目名字:{$vo1.type_name}
    栏目链接:{:mac_url_type($vo1)}
    {/maccms:type}
    有下拉的导航调用:
    {maccms:type ids=”1,2,3,4,5″ order=”asc” by=”sort” id=”vo1″ key=”key1″}
    父栏目名字:{$vo1.type_name}
    父栏目链接:{:mac_url_type($vo1)}
    {maccms:type parent=”‘.$vo1[‘type_id’].'” order=”asc” by=”sort” id=”vo2″ key=”key2″}
    子栏目名字:{$vo2.type_name}
    子栏目链接:{:mac_url_type($vo2)}
    {/maccms:type}
    {/maccms:type}
    判断是否为当前栏目:
    {if $vo1.type_id==$obj.type_id||$vo1.type_id==$obj.type_1.type_id||$vo1.type_id==$obj.parent.type_id}
    active
    {/if}
    总结:
    1.导航判断 {if condition=”判断条件”} {/if}
    2.我们可以把变量输出打印出来
    第七节课 调用首页的本周热门视频
    代码
    调用的代码已经整理好了,在下面这个页面
    标题:苹果cms随机调用视频
    第八节课 利用常用函数给字段加上链接
    主要代码
    mac_url_create=""
    {$vo.actor|mac_url_create=’actor’,’vod’,’search’}
    第九节课 苹果cms指定栏目id调用视频
    苹果cms指定分类调用最新视频
    标题:第一节课 苹果cms仿站前的准备
    第十节课 视频顺序讲解
    由于打错字,导致视频顺序有些乱
    第十一节课 分离公共小列表调用
    重复使用和修改代码很费时间,所以建立一个新公共文件来专门存放代码
    调用标签:
    {include file=""}
    第十二节课 苹果cms指定分类调用底下子分类
    调用代码:
    {maccms:type ids="2" order="asc" by="sort" id="vo1"}
        {$key}  序号
        {$vo1.type_id}  编号
        {$vo1.type_name}  名称
        {$vo1.type_en}  拼音
        {$vo1.type_pid}  父分类编号
        {$vo1.type_sort}  排序
        {$vo1.type_title}  SEO标题
        {$vo1.type_key}  SEO关键字
        {$vo1.type_des}  SEO描述
        {:mac_url_type($vo1)}  网址
    {maccms:type parent="'.$vo1['type_id'].'" order="asc" by="sort" id="vo2"}
        {$vo2.type_id}  编号
        {$vo2.type_name}  名称
        {$vo2.type_en}  拼音
        {$vo2.type_pid}  父分类编号
        {$vo2.type_sort}  排序
        {$vo2.type_title}  SEO标题
        {$vo2.type_key}  SEO关键字
        {$vo2.type_des}  SEO描述
        {:mac_url_type($vo2)}  网址
    {/maccms:type}      
    {/maccms:type}
    第十三节课 苹果cms调用最新电视剧,综艺,动漫
    代码参考第十二节课的笔记
    第十四节课 苹果cms调用友情链接
    调用代码:
    {maccms:link num="10" type="font"}
        {$key}  序号
        {$vo.link_id}  编号
        {$vo.link_name}  名称
        {$vo.link_type}  类型
        {$vo.link_logo}  logo
        {$vo.link_url}  网址
    {/maccms:link}
    第十五节课 分离首页底部作为公共调用板块
    1.在模板文件下(template)创建一个自定义名字的文件夹
    2.在后台启用我们的模板
    3.将资源文件放到(template)里面
    4.导入模板文件
    调用代码
    {include file=”public/footer”}
    第十六节课 视频列表页的引入
    模板文件不存在:vodtype.html
    第十七节课 视频列表公共模板的引入
    TDK:{include file=”public/seotdk”}
    头部:{include file=”public/header”}
    底部:{include file=”public/footer”}
    第十八节课 苹果cms调用所有分类
    调用代码:
    {maccms:type ids="parent" order="asc" by="sort" flag="vod" id="vo1" key="key1"}
    <span{if $vo1.type_id==$obj.type_id} class="active"{/if}><a href="{:mac_url_type($vo1)}" title="{$vo1.type_name}">{$vo1.type_name}</a></span>
    {maccms:type parent="'.$vo1['type_id'].'" order="asc" by="sort" id="vo2" key="key2"}
    <span{if $vo2.type_id==$obj.type_id} class="active"{/if}><a href="{:mac_url_type($vo2)}" title="{$vo2.type_name}">{$vo2.type_name}</a></span>
    {/maccms:type}
    {/maccms:type}
    第十九节课 苹果cms视频列表调用
    代码:
    {maccms:vod num="调用数量" paging="yes" pageurl="vod/type" order="desc" by="time"}    
        {$key}  序号
        {$vo.vod_id}  编号
        {$vo.vod_name}  名称
        {$vo.vod_en}  拼音
        {$vo.vod_sub}  副标
        {$vo.vod_content}  详情
        {$vo.vod_remarks}  备注
        {$vo.vod_blurb}  简介
        {$vo.vod_letter}  首字母
        {$vo.vod_total}  总集数
        {$vo.vod_serial}  连载数
        {$vo.vod_tv}  电视频道
        {$vo.vod_weekday}  节目周期
        {$vo.vod_version}  资源版本
        {$vo.vod_isend}  完结
        {$vo.vod_author}  作者
        {$vo.vod_jumpurl}  跳转URL
        {$vo.vod_color}  颜色
        {$vo.vod_hits}  人气
        {$vo.vod_hits_day}  日人气
        {$vo.vod_hits_week}  周人气
        {$vo.vod_hits_month}  月人气
        {$vo.vod_up}  顶
        {$vo.vod_down}  踩
        {$vo.vod_time_add}  添加时间
        {$vo.vod_time}  更新时间
        {$vo.vod_level}  推荐
        {$vo.vod_state}  资源类别
        {$vo.vod_pic}  图片
        {$vo.vod_pic_thumb}  缩略图
        {$vo.vod_pic_slide}  幻灯片
        {$vo.vod_tag}  tag
        {$vo.vod_actor}  演员
        {$vo.vod_director}  导演
        {$vo.vod_area}  地区
        {$vo.vod_year}  年份
        {$vo.vod_stint_play}  点播每集所需积分
        {$vo.vod_stint_down}  下载每集所需积分
        {$vo.vod_score}  平均分
        {$vo.vod_score_all}  总评分
        {$vo.vod_score_num}  总评次
        {$vo.vod_duration}  视频时长
        {$vo.vod_play_from}  播放器类型
        {$vo.vod_down_from}  下载器类型
        {:mac_url_vod_detail($vo)}  网址
        {:mac_url_vod_play($vo,1,1)}  播放网址
        {:mac_url_vod_down($vo,1,1)}  下载网址
        {$vo.type.type_id}  分类ID
        {$vo.type.type_id_1}  父分类编号
        {$vo.type.type_name}  分类名称
        {$vo.type.type_en}  分类拼音
        {$vo.type.type_key}  分类SEO关键字
        {$vo.type.type_des}  分类SEO描述
        {$vo.type.type_title}  分类SEO标题
        {:mac_url_type($vo.type)}  分类网址
    {/maccms:vod}
    第二十节课 苹果cms视频列表分页的调用
    代码
    {if condition="$__PAGING__.record_total gt 0"}    
    {maccms:foreach name="$__PAGING__.page_num" id="num"}
            {if condition="$__PAGING__['page_current'] eq $num"}
            <a class="page_link page_current" href="javascript:;" title="第{$num}页">{$num}</a>
            {else}
            <a class="page_link" href="{$__PAGING__.page_url|mac_url_page=$num}" title="第{$num}页" >{$num}</a>
            {/if}
            {/maccms:foreach}
            
            {$__PAGING__.page_url|mac_url_page=1} 首页 
            {$__PAGING__.page_url|mac_url_page=$__PAGING__.page_prev} 上一页 
            {$__PAGING__.page_url|mac_url_page=$__PAGING__.page_next} 下一页
            {$__PAGING__.page_url|mac_url_page=$__PAGING__.page_total} 尾页 
    {else/}
    {/if}
    视频代码:
     {if condition="$__PAGING__.record_total gt 0"} 
                <ul class="pager">
    <li><a href="{$__PAGING__.page_url|mac_url_page=1}">首页</a></li>
    <li class="previous"><a href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_prev}">?</a></li>
    {maccms:foreach name="$__PAGING__.page_num" id="num"}
            {if condition="$__PAGING__['page_current'] eq $num"}
            <li class="active"><a href="javascript:;" title="第{$num}页">{$num}</a></li>
            {else}
            <li><a href="{$__PAGING__.page_url|mac_url_page=$num}" title="第{$num}页">{$num}</a></li>
            {/if}
    {/maccms:foreach}
    <li class="next"><a href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_next}">?</a></li>
    <li><a href="{$__PAGING__.page_url|mac_url_page=$__PAGING__.page_total}">尾页</a></li>
                </ul>
    {/if}
    第二十一节课 苹果cms视频列表面包屑导航
    父栏目面包屑: 首页 电影
    子栏目面包屑: 首页 电影 动作片
    参考代码
    {if condition="$obj.parent.type_id neq ''"}
    {:mac_url_type($obj.parent)}  {$obj.parent.type_name}
    {/if}
    {:mac_url_type($obj)} {$obj.type_name}
    视频代码
    <section class="container">
        <div class="alert alert-danger" id="topInfo" data-info=""> </div>
        <ul class="breadcrumb">
            <li><a href="/"><i class="icon icon-home"></i> 首页</a></li>
            {if condition="$obj.parent.type_id neq ''"}
            <li><a href="{:mac_url_type($obj.parent)} " title="{$obj.parent.type_name}">{$obj.parent.type_name}</a></li>
            {/if}
            <li><a href="{:mac_url_type($obj)} " title="{$obj.type_name}">{$obj.type_name}</a></li>
        </ul>
    </section>
    第二十二节课 苹果cms视频列表页排序方式的调用
    代码整理
    最新:{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'time' ],'show')}
    判断是否为最新排序:{if condition="$param.by eq '' || $param.by eq 'time'"} active{/if}
    人气:{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'hits' ],'show')}
    判断是否为人气排序:{if condition="$param.by eq 'hits'"} active{/if}
    推荐:{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'level' ],'show')}
    判断是否为推荐排序:{if condition="$param.by eq 'level'"} active{/if}
    视频代码
      <a href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'time' ],'show')}" class="btn btn-danger {if condition="$param.by eq '' || $param.by eq 'time'"} active{/if}">最新</a>
                    <a href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'hits' ],'show')}" class="btn btn-danger {if condition="$param.by eq 'hits'"} active{/if}">人气</a>
                    <a href="{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'level' ],'show')}" class="btn btn-danger {if condition="$param.by eq 'level'"} active{/if}">推荐</a>
    第二十三节课 年代筛选功能调用
    ————–按年代:————–
    全部:
    {:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>'','level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}
    全部判断:{if condition="$param['year'] eq ''"} class="active"{/if}
    {empty name="$obj.type_extend.year"}
    {maccms:foreach name=":explode(',',$obj.parent.type_extend.year)" id="vo2" key="key2"}
    HTML样式
    {/maccms:foreach}
    {else /}
    {maccms:foreach name=":explode(',',$obj.type_extend.year)" id="vo2" key="key2"}
    HTML样式
    {/maccms:foreach}
    {/empty}
    值:
    判断是否为当前:{if condition="$param['year'] eq $vo2"} class="active"{/if}
    链接:{:mac_url_type($obj,['area'=>$param['area'],'lang'=>$param['lang'],'year'=>$vo2,'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}
    名字:{$vo2}
    第二十四节课 地区筛选功能调用
    ————–按地区:————–
    全部:
    {:mac_url_type($obj,['area'=>'','lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}
    全部判断:{if condition="$param['area'] eq ''"} class="active"{/if}
    {empty name="$obj.type_extend.area"}
    {maccms:foreach name=":explode(',',$obj.parent.type_extend.area)" id="vo2" key="key2"}
    HTML样式
    {/maccms:foreach}
    {else /}
    {maccms:foreach name=":explode(',',$obj.type_extend.area)" id="vo2" key="key2"}
    HTML样式
    {/maccms:foreach}
    {/empty}
    值:
    判断是否为当前:{if condition="$param['area'] eq $vo2"}class="active"{/if}
    链接:{:mac_url_type($obj,['area'=>$vo2,'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>$param['by'] ],'show')}
    名字:{$vo2}
    第二十五节课 苹果cms筛选页面的制作
    筛选页面制作前,需要做一个跳转页面,也可以不做,但是需要去后台开启苹果cms的筛选功能
    public/jump.html 跳转提示页模板
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
        <title>系统提示......</title>
        <link rel="stylesheet" href="__STATIC__/css/home.css">
        <style>
            body{background:#F9FAFD;color:#818181;}
        </style>
    </head>
    <body>
    <div class="mac_msg_jump">
        <div class="msg_jump_tit">系统提示...</div>
        <div class="title">亲爱的:</div>
        <div class="text">{$msg}</div>
        <div class="jump">
            页面自动 <a id="href" href="<?php echo($url);?>">跳转</a> 等待时间: <b id="wait"><?php echo($wait);?></b>
        </div>
    </div>
    <script type="text/javascript">
        (function(){
            var wait = document.getElementById('wait'),
                    href = document.getElementById('href').href;
            var interval = setInterval(function(){
                var time = --wait.innerHTML;
                if(time <= 0) {
                    location.href = href;
                    clearInterval(interval);
                };
            }, 1000);
        })();
    </script>
    </body>
    </html>
    筛选页面和视频列表页差不多
    唯一需要修改的就是列表页的调用方式
    第二十六节课 视频详情列表页的制作
    模板文件不存在:voddetail.html
    第二十七节课 苹果cms视频详情列表页面包屑导航制作
    视频代码
    <section class="container">
        <ul class="breadcrumb">
            <li><a href="{$maccms.path}"><i class="icon icon-home"></i> 首页</a></li>
            <!--判断是否有父分类存在-->
            {if condition="$obj.type_1.type_id neq '' "}
            <li><a href="{:mac_url_type($obj.type_1)}" title="{$obj.type_1.type_name|mac_filter_html}">{$obj.type_1.type_name|mac_filter_html}</a></li>
            {/if}
            <!--当前分类-->
            <li><a href="{:mac_url_type($obj.type)}" title="{$obj.type.type_name|mac_filter_html}">{$obj.type.type_name|mac_filter_html}</a></li>
            <!--当前视频名字和当前url-->
            <li><a href="{:mac_url_vod_detail($obj)}" title="{$obj.vod_name|mac_filter_html}">{$obj.vod_name|mac_filter_html}</a></li>
        </ul>
    </section>
    第二十八节课 苹果cms视频详情列表制作
    参考代码:
    图片:{$obj.vod_pic}
    标题:{$obj.type_name}
    本页地址:{:mac_url_vod_detail($obj)}
    类型url:{:mac_url_type($obj.type)}
    类型:{$obj.type.type_name|mac_filter_html}
    导演:{$obj.vod_director|mac_url_create='director'}
    主演:{$obj.vod_actor|mac_url_create='actor'}
    年代:{$obj.vod_year|mac_url_create='yaer'}
    地区:{$obj.vod_area|mac_url_create='area'}
    语言:{$obj.vod_lang|mac_url_create='lang'}
    简介:{$obj.vod_content}
    上次更新:{$obj.vod_time|date='Y-m-d',###}时间
    {$vo.actor|mac_url_create=’actor’,’vod’,’search’}把,号相连的一串字符生成N个搜索链接,后2个参数可以不填写默认是生成vod模块搜索链接。 例子是创建演员搜索链接。支持演员、导演、tag、扩展分类等字段
    第二十九节课 苹果cms的播放源以及播放集数调用
    1.先导入我们的播放器
    链接: https://pan.baidu.com/s/1NzAGUGj-fohSx0E-d2MTFw 提取码: k29g
    https://wwi.lanzoup.com/imkIsynl4kh
    2.继续仿
    代码参考
    {maccms:foreach name="obj.vod_play_list" id="vo" key="key"}
    序号:{$key}
    播放器名字:{$vo.player_info.show}
    {maccms:foreach name="vo.urls" id="vo2" key="key"}
    播放地址:{:mac_url_vod_play($obj,['sid'=>$vo.sid,'nid'=>$vo2.nid])}
    播放名字:{$vo2.name}
    {/maccms:foreach}                   
    {/maccms:foreach}
    第三十节课 苹果cms猜你喜欢调用视频
    标签参考
    {maccms:vod num="调用数量" type="current" order="desc" by="rnd"}
    公共代码
    {/maccms:vod}
    第三十一节课 苹果cms播放页引入
    模板文件不存在:vodplay.html
    引入播放页,然后将播放页公共部分替换进去
    第三十二节课 苹果cms播放页面包屑导航的调用
    判断是否有父栏目
    {if condition="$obj.type_1.type_id neq '' "}
    父栏目的网址
    父栏目的名称:{$obj.type_1.type_name}
    {/if}
    当前页面分类的网址:{:mac_url_type($obj.type)}
    当前页面的分类:{$obj.type.type_name}
    当前页面的链接:{:mac_url_vod_detail($obj)}
    当前页面标题:{$obj.vod_name}
    第三十三节课 调用视频播放窗口
    用到的代码
    {$player_data} 播放数据
    {$player_js} 加载播放器
    第三十四节课 播放页面上一集与下一集的调用
    代码
    {$obj.player_info.link_next} 下一页地址,最后一页时此链接将当前页链接
    {$obj.player_info.link_pre} 上一页地址,第一页时此链接将当前页链接
    第三十五节课 苹果cms播放页完善
    苹果cms播放页完善
    第三十五节课 苹果cms搜索页面的制作
    苹果cms搜索页面的制作
    pageurl=”vod/search”
    排序方式wd
    关键词:
    {$param.wd}{$param.actor}{$param.director}{$param.area}{$param.lang}{$param.year}{$param.class}
    数量:{$__PAGING__.record_total}
    第三十六节课 苹果cms搜索页面排序的修改
    最新地址:{:mac_url_search(['wd'=>$param['wd'],'area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'time' ],'vod')}
    判断是否为最新排序:{if condition="$param.by eq '' || $param.by eq 'time'"} active{/if}
    人气地址:{:mac_url_search(['wd'=>$param['wd'],'area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'hits' ],'vod')}
    判断是否为人气排序:{if condition="$param.by eq 'hits'"} active{/if}        
    推荐地址:{:mac_url_search(['wd'=>$param['wd'],'area'=>$param['area'],'lang'=>$param['lang'],'year'=>$param['year'],'level'=>$param['level'],'letter'=>$param['letter'],'state'=>$param['state'],'tag'=>$param['tag'],'class'=>$param['class'],'order'=>$param['order'],'by'=>'level' ],'vod')}
    判断是否为推荐排序:{if condition="$param.by eq 'level'"} active{/if}
    第三十七节课 搜索表单的制作
    搜索表单的参数参考
    action=”{:mac_url(‘vod/search’)}“
    name=”wd“
    第三十八节课 苹果cms仿站结束
    苹果cms仿站结束
    ThinkPHP V5.0——为API开发而设计的高性能框架:https://www.kancloud.cn/manual/thinkphp5/118003 2022年苹果cms仿战教程及笔记
    皓玉源码网,一个优质的源码资源平台!
    皓玉源码网 » 2022年苹果cms仿战教程及笔记