仿阿里云界面首页立方体怎么做的

&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
ARKit 从零到一:教你编写 AR 立方体
摘要:本文将会使用ARKit创建一个相当简单的helloworldARapp,结束时就可以在增强世界里放置3D立方体,并且可以用iOS设备绕着它移动。要渲染ARKit中的3D内容,我会使用SceneKit:https://developer.apple.com/scenekit/这是在iOS设备上渲染3D图形的框架。如果了解基础的3D概念,这玩意儿就相当简单了。如果等不及看到文章最后,这是app的录屏。可以看到用ARKit可以在真实世界中放置虚拟物体,并且在移动摄像头时,这个物体会
本文将会使用 ARKit 创建一个相当简单的 hello world AR app,结束时就可以在增强世界里放置 3D 立方体,并且可以用 iOS 设备绕着它移动。
要渲染 ARKit 中的 3D 内容,我会使用 SceneKit:https://developer.apple.com/scenekit/这是在 iOS 设备上渲染 3D 图形的框架。如果了解基础的 3D 概念,这玩意儿就相当简单了。
如果等不及看到文章最后,这是 app 的录屏。可以看到用 ARKit 可以在真实世界中放置虚拟物体,并且在移动摄像头时,这个物体会固定在空间中。
虽然这是一个非常简单的 app,我们在后面的文章中继续为其编写更多功能,包括几何检测、3D 物理和很多好玩的东西。
ARKit 目前仅支持 A9/A10 处理器的 iOS 设备。表示你需要一台 iPhone 6s 或以上的设备,当然也可以是 iPad 2017 款或以上的设备。
软件则需要安装:iOS 11 Beta:https://developer.apple.com/download/
Xcode 9 Beta:https://developer.apple.com/download/
这样就准备就绪了。
首先打开 Xcode,选择 ARKit 项目模板:
Xcode 9 Beta - 新建项目模板选择器
填上项目信息,确保 Content Technology 选项选择了 “SceneKit”。默认可能是 “SpriteKit”,这是用来做 2D 渲染的,我们需要的是 “SceneKit”,这才是用于 3D 渲染的。
在你的设备上运行项目,如果没有异常的话应该能看见实时摄像头视频,还有一架飞机的 3D 模型,这个模型被放置在了物理空间中。
来回移动,看看飞机是如何固定在真实世界中的:
这个初始项目中的例子其实比马上要创建的项目更高级,但重点是学习如何从头编写 ARKit 项目,所以打开项目,移除 viewDidLoad 方法中所有的代码(除了 super 调用的那句)。
ARKit 核心类
ARSCNView——这是一个助手类,帮我们用 SceneKit 渲染的 3D 内容来增强实时摄像头视图。这个类做了下面几件事:在视图中渲染设备摄像头的实时视频流,并就其设置为 3D 场景的背景
ARKit 的 3D 坐标系会匹配 SceneKit 的 3D 坐标系,所以此视图渲染的对象会自动匹配增强后的 ARKit 世界视图
自动移动虚拟 SceneKit 3D 摄像头来匹配 ARKit 追踪到的 3D 位置,所以不需要再写代码连接 ARKit 移动事件与 SceneKit 3D 渲染。
ARSession——每个增强现实会话都都需要有一个 ARSession 实例。它负责控制摄像头、聚合所有来自设备的传感器数据等等以构建无缝体验。ARSCNView 实例已经有 ARSession 实例,只需要在开始的时候配置一下。
ARWorldTrackingSessionConfiguration——这个类会告诉 ARSession,在真实世界中追踪用户时需要使用六个自由度,roll、pitch、yaw 以及 X轴、Y轴、Z轴上的变换。如果不用这个类,就只能创建在同一个点旋转查看增强内容的 AR 体验。有了这个类,就可以在 3D 空间里绕着物体移动了。如果你不需要在 X轴、Y轴、Z轴上的变换,用户就会在投影增强内容时保持在固定位置,这时可以用 ARSessionConfiguration 类替代此类来初始化 ARSession 实例。
本文仅需使用这三个类,当然 ARKit 还有很多类,但我们才刚起步,这些就足够了。回到项目,可以看到在 viewWillAppear 方法中初始化了 ARSession 实例,self.sceneView 指向一个 ARSCNView 实例。
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Create a session configuration
let configuration = ARWorldTrackingSessionConfiguration()
// Run the view's session
sceneView.session.run(configuration)
绘制立方体
下面我要用 SceneKit 来绘制 3D 立方体。SceneKit 有一些基础类,SCNScene 是所有 3D 内容的容器,可以向其添加多个 3D 几何体,分别是不同的位置、旋转、缩放等等。
要向 scene 中添加内容,首先要创建 Geometry,geometry 可以是负责的形状,也可以是简单的形状如球、立方体、平面等等。然后将 geometry 包装为 scene node 并将其添加到 scene 中。然后 SceneKit 会遍历 scene graph 并渲染内容。
为了添加 scene 并绘制立方体(cube), 需要在 viewDidLoad 方法里添加如下代码:
override func viewDidLoad() {
super.viewDidLoad()
// 存放所有 3D 几何体的容器
let scene = SCNScene()
// 想要绘制的 3D 立方体
let boxGeometry = SCNBox(width: 0.1, height: 0.1, length: 0.1, chamferRadius: 0.0)
// 将几何体包装为 node 以便添加到 scene
let boxNode = SCNNode(geometry: boxGeometry)
// 把 box 放在摄像头正前方
boxNode.position = SCNVector3Make(0, 0, -0.5)
// rootNode 是一个特殊的 node,它是所有 node 的起始点
scene.rootNode.addChildNode(boxNode)
// 将 scene 赋给 view
sceneView.scene = scene
ARKit 中的坐标单位为米,所以我们就创建了一个 10x10x10 厘米的盒子。
ARKit 和 SceneKit 的坐标系看起来就像这样:
因为摄像头面对负 Z 轴方向,所有上面的代码就是把 box 置于摄像头前 -0.5 单位。
ARSession 开始时,摄像头 position 被初始化为 X=0, Y=0, Z=0。
如果现在运行此例,应该可以看见浮在空中的小小 3D 立方体,尝试绕着它走动,它还会保留原处。它应该是全方位无死角的,哪怕从下面、从上面看过去。
如果想在 3D 场景中添加一些默认光照以便看清立方体的边缘,可以设置 SCNScene 实例的 autoenablesDefaultLighting 属性:
sceneView.autoenablesDefaultLighting = true
后面的文章里会为它添加更高级的光照。
所有的示例代码都在这里:https://github.com/josephchang10/ARCube
下篇文章会让这个 app 更好玩,添加几个更复杂的对象、检测场景中的平面还有与场景中的几何体交互,保持联系! &&2亿用户起步的苹果ARKit,光是Demo已经让我高潮 | VR陀螺
AR各种使用:https://www.sohu.com/a/4728
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
邮箱低至5折
推荐购买再奖现金,最高25%
&200元/3月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
ARKit 从零到一:教你编写 AR 立方体相关信息,包括
的信息,所有ARKit 从零到一:教你编写 AR 立方体相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
International千图网提供精美好看的网页界面设计效果图免费下载,本次网页界面设计效果图是有关网页设计素材效果图,主题是仿阿里云滑动下拉导航菜单效果代码,编号是,格式是html+js,建议使用对应的软件打开,该网页设计素材效果图大小是42.793 KB。
仿阿里云滑动下拉导航菜单效果代码是由网页界面效果图设计师ZartDESIGN上传.
浏览本次作品的您可能还对 仿阿里 云滑动& 菜单&&&& html+js 白色感兴趣。html+js文件格式:html+js编号:模式:RGB体积:42.793 KB
肖像权/物权:未获得模特肖像权或所有物权授权版权所有:此作品系用户共享,仅供学习交流。禁止商业使用。关注关注TA的相关作品您可能在找这些:绿色网页导播放器进度条下拉菜单开关按钮红色的网页按钮下拉框搜索框分页导航素材网页下拉菜单按钮素材橙色网页按钮下拉菜单勾选框今天搜索框素材黑色网页下拉菜单滚动条素材粉色的网页按钮进度条下拉框素材设计蓝色的网页按钮搜索框下拉框设计灰色的下拉框按钮搜索框素材设计举报成功! 3秒后自动关闭请说明举报理由源文件为合层文件素材重复/网站已存在同样内容格式不符/错误压缩包出错/解压失败文件损坏/文件空白/打不开预览图与源文件不符倒计时结束时无下载/网页丢失/404报错盗版/侵权收藏成功!
亲爱的用户,系统检测到您的帐号存在被盗风险为了您的帐号安全请绑定手机号码中国+86温馨提示:绑定手机号后可使用手机号验证码进行登录
登录千图网
或中国+86该帐号还未注册,该帐号还未注册,勾选代表你同意&
添加到收藏夹
正在加载中...&
您还未创建收藏夹,点击创建增加新收藏夹吧!
您创建的收藏会显示在此处
创建到收藏夹
QQ客服: 工作日:9:00 - 22:00节假日:9:00 - 18:00电话客服: 400-9987011工作日:9:30 - 18:30反馈时告知客服这串数字哦微信扫码领取大礼包&nbsp>&nbsp
&nbsp>&nbsp
&nbsp>&nbsp
接受前端挑战:用CSS实现3D立方体
摘要:你喜欢挑战么?你愿意承担一项以前从没遇到过的任务并且按时完成么?如果在进行任务中,你碰到来一个似乎无法解决的问题呢?我想分享我使用CSS3D效果的经历,那是第一次用于实际项目中,以此来激励你接受挑战。那是平常的一天,当Eugene(CreativePeople的经理)写信给我的时候。他寄给我一个视频,说他正在为一个新项目开发一个概念,而且想知道我是否可能开发一个像视频里那样的东西。这是一个绕着一个轴旋转的3D物体(准确地说是个立方体)。对于用CSS3D工作我已经有一些经验了,
你喜欢挑战么?你愿意承担一项以前从没遇到过的任务并且按时完成么?如果在进行任务中,你碰到来一个似乎无法解决的问题呢?我想 分享我使用CSS 3D效果的经历 ,那是第一次用于实际项目中,以此来激励你接受挑战。
那是平常的一天,当Eugene( CreativePeople 的经理)写信给我的时候。他寄给我一个视频,说他正在为一个新项目开发一个概念,而且想知道我是否可能开发一个像视频里那样的东西。
这是一个绕着一个轴旋转的3D物体(准确地说是个立方体)。对于用CSS 3D工作我已经有一些经验了,于是我的脑海里开始形成一个解决方案。我Google搜索了像“CSS 3D cube”这样的关键词来确认我的想法,随后我回复Eugene说我可以。
Eugene下一个问题是问我是否愿意承担这个项目?我喜欢复杂的任务,所以我不能拒绝。在这一刻,我还没有意识到我正陷入其中,但我无法确定是否可以完成。 理解轴(字面翻译是磨斧)
提醒下这个axes不是战斧,而是 数轴 的意思,正如我们在学校学到的三维直角坐标系一样的轴线。 维基百科定义 :
直角坐标系是一个两两垂直有序的三元线行成的三维空间,三条轴都有一个单独的单位长度并且每一条轴线有一个方向。
下面的图片展示了在Web浏览器中怎样确定轴线方向。
一个以z轴朝向观察者的右手三维直角坐标系。 (图片来自: 维基共享资源 )。
x 轴平行, y 轴垂直, z 轴指向正对你的屏幕。z轴的零点就是屏幕所在的平面。记住这一点。
理解透视值
要创建一个3D物体,我需要一个具有透视效果的元素(我们称之为“scene”)。透视大小就是这个场景的深度,并且它取决于它包含的物体大小。 .scene { perspective: 800}
如果透视距离太小,物体可能会被扭曲。如果太大,3D效果将减少到没有。
由Anna Selezniova ( @askd 在 CodePen )上编写.
此外,在这个场景中对于所有物体而言只有一个视野角度。3D效果取决于观察点的位置。
由Anna Selezniova ( @askd 在 CodePen )上编写。
那么,怎么计算透视值呢?我发现它取决于轴的旋转。对于 x 轴,高度值乘以 4 应该合适。对于 y 轴,应该是宽度值乘以 4 。这是我的魔法公式:
const perspective = dimension * 4; 考虑所有侧面
决定透视值后,我开始创建3D对象。我选择了一个立方体,因为它简单可预测。立方体元素由普通的 div 创建,相对定位,宽度和高度都定义( 200px )。通过具有 preserve-3d 值的 transform-style 属性使它转变成一个3D对象。它告诉浏览器通过3D世界的规则来渲染所有内嵌元素。
在我的例子中,这个立方体有 6 个绝对定位的 div (或者说是侧面)。类名相当于几个侧面(后面,左边,右边,上面,下面,前面)的初始位置。标记如下:
&div class=&scene&& &div class=&cube&& &div class=&side back&&&/div& &div class=&side left&&&/div& &div class=&side right&&&/div& &div class=&side top&&&/div& &div class=&side bottom&&&/div& &div class=&side front&&&/div& &/div&&/div&
默认情况下,所有侧面都在一个平面上。所以,我需要将它们重新排列。演示如下:
由Anna Selezniova ( @askd 在 CodePen )上编写。
由此产生CSS如下: .cube { position: width: 200 height: 200 transform-style: preserve-3d;}.side { position: width: 200 height: 200}.back { transform: translateZ(-100px);}.left { transform: translateX(-100px) rotateY(90deg);}.right { transform: translateX(100px) rotateY(90deg);}.top { transform: translateY(-100px) rotateX(90deg);}.bottom { transform: translateY(100px) rotateX(90deg);}.front { transform: translateZ(100px);}
要旋转这个立方体,我在这个元素上设置 transform 属性值是X轴旋转任意角度:
.cube { transform: rotateX(42deg);} 克服缺点
根据任务要求,我打算只沿着 x 轴旋转这个立方体,所以我不需要左侧或者右侧。我添加了标注来将剩下侧面的初始位置对齐。
我开始旋转立方体时发现底部和背面的标注说明都显示颠倒了:
由Anna Selezniova ( @askd 在 CodePen )上编写。
为了解决这个问题,我把每个侧面都围绕 x 轴旋转了 180 度:
.back { transform: translateZ(-100px) rotateX(180deg);}.bottom { transform: translateY(100px) rotateX(270deg);} 超越屏幕
我开始用真实内容填充侧面了,随即就遇到了另一个问题。我需要展示 1 个像素的虚线,但看起来很糟糕模糊。
由Anna Selezniova ( @askd 在 CodePen )上编写。
我立马认识到问题出在哪了。你记得图片延伸到屏幕之外的3D TV广告么?这跟我这个立方体是同一回事。
如果你可以从左侧或者右侧看下这个立方体,就会看到它的中心在屏幕所在的平面上( z 轴的零点)并且正面超出了屏幕。因此,在视觉上增大了也模糊了。
由Anna Selezniova ( @askd 在 CodePen )上编写。
为了解决这个问题,我沿着z轴移动这个立方体使得正面对齐到屏幕所在的平面: .cube { transform:translateZ(-100px);}
现在,这个立方体准备的差不多了:
由Anna Selezniova ( @askd 在 CodePen )上编写。
使用神奇数字
我猜你已经注意到我使用了这个神奇的数字 100 来沿着轴移动这些侧面。而 100 这个值正好是我测试的立方体高度的一半。为什么是一半?因为那个值是立方体侧面(显然是一个正方形)一个内切圆的半径。
const offset = dimension / 2;
如果我需要旋转一个三棱柱,这个圆就是三角形的内切圆。这种情况下,偏移公式就会如下: const offset = dimension / (2 * Math.sqrt(3)); 消除立方体
要想把任务完成,我必须在不同的浏览器中进行测试。 在IE中看到的画面让我陷入沮丧。为了让你知道我在说什么,在你最爱的浏览器中打开这个样例。我改变了一个属性导致在IE中这个立方体显示完全不正确。无论如何,不要偷看源码直到你读了在这个样例下面的那段文字。
由Anna Selezniova ( @askd 在 CodePen )上编写。
现实就是IE不支持值是 preserve-3d 的 transform-style 属性。通过查看可靠资源 Can I Use (notes中第一点)我了解到这一点。在上面的样例中,我将 preserve-3d 换成了 flat 。你是不是已经知道了?哼!让你不要偷看了!
我很烦躁,但我并不打算放弃。遇到一个问题就是获得一次学习新东西的机会。再说,我已经接收了这次挑战。 寻找支点
我在找寻一种可以不通过使用 transform-style: preserve-3d 来创建一个3D对象的方法,最终我发现一个有用的属性: transform-origin 。它决定了一个元素变换的中心点。我建了一个可以交互的样例,可以帮助你理解这个属性是如何工作的:
由Anna Selezniova ( @askd 在 CodePen )上编写。
在这个例子中,元素的3D旋转是不是和立方体正面很像?这正是我要用的。
(顺便问一下,你尝试过在三维旋转过程中选择多选框 backface-visibility:hidden 么?这个属性用来在3D变换中隐藏元素的背面)。
我开始重做这个立方体。我不必让整个场景进行交互,所以我去掉了 scene 元素的 perspective 属性然后将该属性添加到每个3D变换,这样每个元素的变换就是独立的了。同时,我给每个侧面设置了新属性: transform-origin ,其值是立方体中心的位置,以及 backface-visibility: hidden 。样式改变如下:
.scene {}.cube { position: width: 200 height: 200 transform: perspective(800px) translateZ(-100px);}.side { position: transform-origin: 50% 50% -100 backface-visibility:}
我必须将这些侧面放在正确的位置。由于 transform-origin 属性,我不用再改变它们的位置,只需要围绕轴旋转它们。这就像魔术一样!我们来目睹一下它的神奇:
由Anna Selezniova ( @askd 在 CodePen )上编写。
这些侧面位置的CSS如下: .back { transform: perspective(800px) rotateY(180deg);}.top { transform: perspective(800px) rotateX(90deg);}.bottom { transform: perspective(800px) rotateX(-90deg);}.front { transform: perspective(800px);}
这里你能看到在运行中的全新立方体:
由Anna Selezniova ( @askd 在 CodePen )上编写。
桥是桥路是路,做好自己的事
第二个立方体看起来旋转和第一个一样。但在这个例子中,你需要单独变换每一个侧面。这可能不太容易,尤其是你想控制旋转的中间角度。
此外,如果你在Chrome浏览器打开这个例子,会看到这些侧面在旋转的时候会闪烁,这让我感觉很沮丧。
最后,我将 transform-style: preserve-3d 属性的 简单测试 应用在这两个实现立方体的方式中。第一个立方体是默认的,第二个是针对IE浏览器以及不支持 preserve-3d 的浏览器。
运用数学的力量
最终,我必须实现一个视差效果。通常,这种效果根据用户行为响应,无论是鼠标光标还是滚动条的位置。在这个例子中,这个效果取决于旋转的角度。
由Anna Selezniova ( @askd 在 CodePen )上编写。
我有什么数据呢?首先,我有标注文字位置的起点和终点,或者简单说来就是从侧面中心位置到上边和下边的 偏移量 。其次,我有它旋转的 角度 。
我花了几个小时试图定义一个公式。随后,我恍然大悟。这就是我的灵感:
正弦余弦函数图 (图片: 维基共享资源 )。
在正弦余弦函数的帮助下,通过角度我轻松地计算出了每个标注的偏移。这是我提出的公式: const front_offset = offset * sin(angle) * -1;const bottom_offset = offset * cos(angle);const back_offset = offset * sin(angle);const top_offset = offset * cos(angle) * -1; 总结
现在任务完成了,我很享受这个结果并且将它分享给你。 看一下 它展示的如何。使用鼠标滚动或者箭头键旋转广告块。同样,你也可以尝试拉出左边的黑三角上下拖动来手动控制旋转的角度(遗憾的是,这个特征在IE浏览器中无法工作)。看起来确实不错吧?而且性能也相当高(大概每秒60帧)。
我很高兴参与了这个网站的开发。在CSS 3D实践中我收获了宝贵的经验,并且发现了许多有意思的属性。更重要的是,我懂得了一个人不应该轻言放弃,很可能你会找到一个方法来完成。
我希望你喜欢我的故事,也希望你现在做好准备迎接新的挑战! 扩展阅读 CSS3 3D Transform Intro to CSS 3D transforms 20 stunning examples of CSS 3D transforms CSS: 3D Transforms and Animations Creating 3D worlds with HTML and CSS BUILD 3D TRANSFORMS VISUALLY Understanding CSS 3D Transforms (CSS 3D – 1) Understanding CSS 3D Transforms (CSS 3D – 2) Understanding 3D Transforms Tutorial: Rubik's cube with HTML5 (CSS3 + JavaScript) Scrolling the Z-axis with CSS 3D Transforms
以上是的内容,更多
的内容,请您使用右上方搜索功能获取相关信息。
若你要投稿、删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内给你回复。
云服务器 ECS
可弹性伸缩、安全稳定、简单易用
&40.8元/月起
预测未发生的攻击
&24元/月起
邮箱低至5折
推荐购买再奖现金,最高25%
&200元/3月起
你可能还喜欢
你可能感兴趣
阿里云教程中心为您免费提供
接受前端挑战:用CSS实现3D立方体相关信息,包括
的信息,所有接受前端挑战:用CSS实现3D立方体相关内容均不代表阿里云的意见!投稿删除文章请联系邮箱:zixun-group@service.aliyun.com,工作人员会在五个工作日内答复
售前咨询热线
支持与服务
资源和社区
关注阿里云
Internationalvue写的一个仿阿里云后台管理
时间: 15:45:52
&&&& 阅读:56
&&&& 评论:
&&&& 收藏:0
标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&先看下页面截图,在线演示地址
下面有开源的代码
页面分成三大部分头部,头部菜单栏,侧边菜单栏,右侧内容栏。
&现在我们担心的是怎么使用侧边栏。
我们先克隆我们的项目到本地
然后进入我们的项目,安装项目依赖
运行我们的项目,然后浏览器打开http://localhost:8080/#/
我们打开编译器,只需要修改下面数据即可以为你们项目所用了
我们打开CloudSideBar.vue的一个文件,修改data()里面的数据
结合页面效果,你们仔细观察一下就知道怎么写了,这里我就不做太多描述。
现在修改menuArr的内容就可以达到你们自己的列表了,注意一下几点,给菜鸟的警告。
menuList里面的元素必须包含main_menu_id,而且必须从0开始,每一个元素递增。
然后submenuList里面的元素必须包含submenuID,而且必须1开始,每一个元素递增。
以上几点必须注意,否则不发达到效果。
附上码云托管的开源项目代码:https://gitee.com/zengjielin/aliyun_admin
关于项目用的图标,我是用了阿里巴巴图标库的图标
下面可以教一下你们使用,
进入阿里巴巴图标库网站http://www.iconfont.cn/
然后搜索你想要的图标
然后选一个你需要的图标加入个购物车
然后我们去到右上角找到购物车的图标将我们的图标放到项目上
然后我们会跳到我们图标所在的项目中,注意红色框框的部分,一个是fontclass,我们要选中它,然后图标的下方会出现一些ico-开头的一些类名,我们要用到。
然后是另外一个叫我们更新代码,我们点击它。
&会生成新的连接,我们复制连接到我们本地项目的index.html下,就可以了。
然后我们把对应的图标写在下面红色框框的地方即可。
项目是开源的,可以随便玩,转发请标注原著,尊重作者。标签:&&&&&&&&&&&&&&&&&&&&&&&&&&&原文地址:https://www.cnblogs.com/zengjielin/p/9155071.html
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!仿阿里云悬浮客服 清新版 - Discuz! 应用中心 · 插件
如果您未绑定QQ帐号,那么请您从论坛的 Discuz! 管理中心中登录应用中心才能在线安装本应用
图片加载中...
仿阿里云悬浮客服 清新版
(5.00分) 已有 1,731 个站点评分
统  计:共 2,250 次下载,当前版本 2,215 次更新日期:
兼容版本:X2.5&
适配编码:GBK&
分  类:&
新插件架构
该产品作者较长时间未在线,购买前请联系作者,以免造成不必要的损失
感谢以下网站的支持
Copyright &
& 平台客服 无客服码

我要回帖

更多关于 仿阿里云网站源码 的文章

 

随机推荐