• 注册
  • 发动态
  • 发帖子
  • 发视频
  • 发红包
  • 暂没有数据

  • 推荐
  • 视频
  • 关注
  • 瓷器
  • 字画
  • 玉石
  • 钱币
  • 铜器
  • 木器
  • 紫砂
  • 杂项
  • [ls_fbk]
  • 查看全文
  • 查看作者
  • 宫论项目开发记录

    记录2023年项目进度周期。

  • 3
  • 341
  • 0
  • 5.49w
  • 心乐学藏官方小可鸭鸭

    请登录之后再进行评论

    登录
  • 0
    心乐lv.2实名用户
    2024年3月18日
    1、新增前端钩子:xc_hook_app_plus,当宫论APP启动成功后,会通过webviews方式对HTML5+plus进行初始化,当完全初始化成功后,就意味着webviews可以通过plus来发起原生SDK调用,此时将会主动触发这个钩子。通过这个钩子告知页面已完成通讯的一环。现在可以监听AP,可以执行一系列的动作反馈。
    2、新增超全局变量【webviews】,APP端-webviews对象窗口。当PLUS事件加载完成后,会通过【xc_hook_app_plus】钩子来获取当前Webview窗口对象,并复制到这webviews变量(页面初始化的时候,这个值默认为false)。webviews对象在APP交互方面将会非常重要,后面很多行为动作都会通过这个钩子来完成。[注意仅APP支持,执行相应方法一定要检测是否为APP,或是否完成对象封装]
    3、APP开屏webviews视图窗口新增第四个变量【onboarding_time:开屏持续时间,超过x秒自动关闭】,这个变量在webviews视图中会产生两个动作交互。1、通过js原生方法修改leftcircle、rightcircle类名的动画持续时间,这样右上角的跳过倒计时动画可以准确的计算onboarding_time。2、在UniAppJSBridgeReady初始化后,会通过setTimeout设定一个倒计时,在onboarding_time秒后执行plus.webview.currentWebview().close(),将当前开屏页面关闭处理。
    4、移除APP.vue的setTimeout监听,不在通过APP代码来控制关闭开屏的处理。移除webviews_onboarding对象,不在通过这个对象来控制开屏webviews。通过plus.webview.open创建的开屏视图ID属性设置为【开屏启动】,当网页端plus完全加载完毕后,会通过【xc_hook_app_plus】钩子来执行(plus.webview.close('开屏启动'))。通过上述业务逻辑的处理,只要宫论加载完毕了,会自己主动关闭开屏。
    5、宫论APP已支持storage本地数据存储管理机制,对于一些临时数据(cookie、开屏数据、APP网页交互数据)完全可以通过storage存储到本地数据存储区,这个数据网页端是可以通过plus来读取和写入的,旨在解决APP端cookie无法读写的问题。网页和APP涉及到的通讯数据行为,将严格采用storage来做中转处理。注:卸载APP,该数据将会被重置清零。
    6、storage本地数据操作方法已完成封装:plus_storage()1、type 操作类型,可以是'add'(添加)、'delete'(删除)、'get'(获取)。2、key 键名。3、value 键值(仅在type为'add'时有效)。根据操作类型返回不同结果,添加或删除操作成功返回true,获取操作成功返回键值,否则返回false或null。注:如果设置的键在数据存储中已经存在,则更新存储的键值。
    7、APP开屏支持点击事件处理,如果用户点击开屏页面会触发open_page事件。该事件会首先检查【link、type】两个传递参数是否存在,如果存在则通过Date.now();获取点击的时间戳。然后创建对象来保存这三个键值,最后通过JSON.stringify将对象转为json字符串。然后通过plus.storage.setItemAsync异步处理方法,将它们保存到launch_screen_click本地数据中。注:采用异步可以监听是否保存成功,创建Date.now()是为了记录用户时间戳,确保操作是有效期内。
    8、考虑到维护性,开发文档新增【APP-本地缓存键名区域】,这里将记录storage本地数据,避免随着开发深入,涉及到本地数据过多,无法维护的问题。文档有四个字段设计:1、本地缓存键名(本地数据的key,通过这个key来索引数据)2、数据示例(提供一个数据字符串,方便理解)。3、使用场景(标记说明它的调用场景)。4、有效期(有效期的处理,什么情况删除)。
    9、APP以下新增的plus事件添加到APP文档中:1、plus_upload_single_image:plus进行单图上传,返回blob。2、plus_permission_check(permissions):检查安卓设备权限的函数。3、plus_os_info():获取操作系统信息。4、plus_is_permission(permissions):检查应用权限。5、plus_storage(type, key, value):APP本地数据操作(读/写/删/改)。注:移除旧方法:get_app_data、delete_app_data、update_app_data。
    10、新增plus事件:plus_open_url,需要传递两个变量:1、type - 链接类型,可选值为 'webviews:通过内置webviews窗口打开页面', 'web:通过系统浏览器打开链接', 'page:通过xc_mobile_urlAPP内跳转页面。'2、url - 要打开的链接地址。这个事件负责APP的页面跳转,包括不限于(开屏、消息通知、扫码、站外链接)等等处理。
    11、APP开屏点击事件已完成封装处理,当PLUS初始化完成后,会依次执行以下动作。1、获取本地存储的点击记录:通过plus_storage('get', 'launch_screen_click')方法尝试从本地存储中获取名为launch_screen_click的数据。这个数据可能包含了用户点击开屏广告的信息。2、检查点击记录是否存在:通过一个if语句检查变量launch_screen_click是否有值。如果有值,说明本地存储中存在点击记录,然后进入if语句块执行后续操作。3、解析点击记录:使用JSON.parse(launch_screen_click)将存储的字符串格式的点击记录解析成JavaScript对象,以便于后续处理。4、获取当前时间的时间戳:通过new Date().getTime()获取当前时间的时间戳(毫秒为单位)。判断时间戳是否在10秒内:通过比较点击记录中的时间戳launch_screen_click.time和当前时间的时间戳,判断用户的点击是否在最近10秒内发生。如果是,执行页面跳转。执行页面跳转:如果点击记录的时间戳在10秒内,通过plus_open_url(launch_screen_click.type, launch_screen_click.link)方法根据点击记录中的类型和链接执行页面跳转。5、删除本地存储的点击记录:无论点击记录是否在10秒内,最后都通过plus_storage('delete', 'launch_screen_click')方法删除本地存储中的点击记录,以便于下次点击时重新记录。
    12、APP配置新增【开屏管理】预设三个字段:1、xc_app_launch_screen_photo:开屏启动图片,尽量采用.9设计,字体图标保持中间防止错位。2、xc_app_launch_screen_type:跳转方式,仅支持|page:内页跳转|web:浏览器打开|webviews:视图窗口打开。3、xc_app_launch_screen_link:跳转地址:站内页面地址或外部链接。注:跳转方式和跳转地址有一个为空,则用户点击启动图后不会有跳转行为。
    13、APP初始化启动事件,新增两个对象。1、app_FaceDetectModule:支付宝人脸识别接口(实名认证)设备信息数据包。在进行人脸识别的时,需要这个数据包。2、getSystemInfo:通过原生接口获取系统信息,包括不限于(device、os、rom、host、uni、app)等参数。这些参数要远比之前封装的os信息更全面。
    14、新增redis缓存:键名【uuid:APP设备匿名码】当APP应用启动后,会将设备的相关信息发送给后端接口。服务器在收到请求后会通过xc_app_onLaunch_hook钩子将这些信息缓存到redis内存数据库,有效期86400 * 3(三天)如果前端页面需要设备参数,直接通过UUID来查询对应缓存即可,从而减少对APP项目的请求依赖度。

  • 0
    心乐lv.2实名用户
    2024年3月17日
    1、plus_upload_single_image单图上传处理函数,现在会在相册选择前通过plus_is_permission检查【photoLibrary】是否已进行过授权,如果未授权,并且设备是android。那么将通过xc_hook_weui_notification触发,相册存储权限调用说明的通知。当拒绝或允许时,会自动通过监听接口来关闭通知。同时一旦被拒绝授权,二次点击都会弹出layer弹窗,提醒用户权限被禁用,引导前往设置页开启。
    2、APP业务逻辑重新梳理,尽量减少APP原生项目请求(即:网页与APP通讯请求、APP与网页通讯请求)。非必要情况,涉及到底层SDK或原生即可请求,都只通过【html5plus、webviews】两种方式来调用集成。APP项目包做到轻装上阵,扩展更新不需要通过更新APP版本就能完成。最关键的一点,项目设计要考虑到以后的可维护性(华为鸿蒙),如果过度依赖HBX,后面做鸿蒙调试会遇到极大的阻力。
    3、指纹事件xc_fingerprint(),不在通过xinle_app_js发送以下通讯消息:【object_user:宫论用户对象信息、object_xc:宫论初始化对象信息、Permission_push:推送权限检测】注:以后不会在通过APP项目内处理网页交互数据,所有的数据都在webviews层面来完成,因此这几个对象信息不需要留存处理。
    4、APP初始化启动时会通过 uni.request发起一个请求到服务器后端【APP.php】作为初始化通讯对接,这个请求的优先级高于一切,只要用户有网络,打开APP就会触发,并不需要等待页面加载。目前初始化通讯请求会携带【uuid:设备匿名标识】,这个作为身份验证用。初始化钩子有很多用途,比如通讯检测(如果请求出现异常,可以检测网络状态。提醒用户)安全检测:(配合页面加载钩子对UUID请求做安全效验,这个后面集成)
    5、后端新增钩子:xc_app_onLaunch_hook($data),当APP首次启动时会触发这个钩子,可以根据需要返回应得数组。data是数组,已传入参数$data['uuid']:设备标识码信息,可以通过这个参数关联绑定用户。钩子内可以返回需要处理的数组信息,APP项目可以通过解析数组信息,来完成项目的业务逻辑。
    6、为了更好的管理和维护APP初始化启动需求,除了UUID,现在还额外传递两个数组对象。1、os:包含系统的一些信息【vendor; //设备的生产厂商、model; //获取设备的型号、language; //系统语言信息、name; //Android-iOS、version; //系统的版本/安卓11之类】。2、APP:软件应用的版本信息【version; //客户端的版本名称、versionCode; //客户端的版本号】。
    7、增加redis宫论计数器:app_onLaunch,当宫论APP启动后,会通过xc_app_onLaunch_hook钩子自动进行计数处理。该计数器已加入每日凌晨清理计划,会自动重置(每日每周每月)的有效计数。注:可以通过get_redis_count($key)获取计数器统计详情,支持查询【总数、今日、昨日、本周、上周、本月、上月、今年、去年】多维度的计数器查询统计。注:这个计数器可以监听每日APP启动次数,配合页面访问次数来监听活跃度。
    8、APP接口请求头更换:不在通过【application/x-www-form-urlencoded】来指定消息体内容类型,改为更灵活多变的【application/json】。前者未URL编码过的字符只能用于发送简单的数据和键值,但是APP接口往往需要传递较为复杂多变的数据类型,这个无法满足需求。改为JSON更为合适,这个能根据情况来拼接复杂的数据对象。
    9、APP新增两个后端监听事件:onShow:当页面显示时触发、onHide:当页面隐藏时触发。相当于APP切后台、APP回到前台。本质上与visibilityState监听是一致的,不过这里的监听是APP原生监听,保留一个事件处理比较稳妥一些。如果业务不是特别需求,完全可以通过原有的visibilityState方法来处理用户前后台状态。
    10、app.vue启动机制优化:页面引入的五个变量【url_home、secret_key、os、uuid、app】全部通过let 作用域来处理,避免反复通过plus接口来查询参数,造成性能浪费。同时移除原有的本地数据缓存【顶部颜色、启动图】,不在通过原有接口来处理启动图和APP顶部样式。
    11、APP开启启动机制重构:APP启动后0.8秒时间加载原生启动画面,然后使用plus.webview.open方法打开一个新的Webview窗口,该窗口具有以下属性:【top: 0, bottom: 0, zindex: 999】窗口充满整个屏幕的垂直空间,并且始终保持在最上级。除非主动关闭,APP启动后会一直展示着窗口页面,页面可以填充图片,展示广告、APP介绍。作为启动加载层。注:这个页面加载时会通过fade-in来设置500毫秒的淡入效果动画,避免太过唐突。
    12、开屏启动页可以手动传递三个变量:1、【onboarding_photo:开屏图片地址,可以是本地也可以是远程。原则上讲最好是本地。】2、【onboarding_link:开屏点击跳转地址。】3、【onboarding_type:开屏点击跳转方式】。这三个变量默认为空,可以通过本地数据来读取,实现远程控制数值。这三个变量会传递到webviews页面,并生效。用户可以点击开屏图片,实现跳转逻辑。【type:控制跳转方式,比如webviews、比如浏览器打开、比如内页跳转、比如其他应用跳转】
    13、宫论脚本执行优先级调整:1、app_plus(宫论APP事件)现在优先级调整到TOP前三,以便APP业务逻辑可以初始化更快。未来用户场景主要是APP,APP内置事件执行效率越快越好。2、jquery_cookie脚本现在执行顺序在xc_wss前面,确保websocket回调事件的cookie操作可以得到有效响应。目前监听发现即个别情况$.cookie会出现异常。
    14、检测环境是否支持plus和在plus完全初始化后执行特定代码的逻辑进行整合和简化,1、合并plusReady和xc_waitForPageLoad逻辑:由于这两个函数都是用来确保plus可用后执行某些操作,可以将它们合并为一个更简洁的函数。2、使用let或const代替var,以及使用箭头函数简化函数定义,确保符合现代JavaScript特性。3、plusReady初始化动作经过优化,大概在APP启动后2秒内完成。
  • 0
    心乐lv.2实名用户
    2024年3月15日
    1、检查安卓设备权限的PLUS新增返回状态码【0】、如果没有授权记录即首次授权都未产生过,将返回该数值。处理方法为plus.navigator.checkPermission,当该值返回undetermined代表未进行过授权。注:截止当下plus_permission_check钩子已支持六种状态返回。如果没有授权记录 是 0(没有授权记录)、成功的结果是 1(权限被接受)、2(权限被永久拒绝)或者 3(权限被临时拒绝),失败的结果是 4(请求权限时出现错误),5 环境错误(不是安卓APP)
    2、plus_is_permission(检查应用授权记录是否存在)方法增加两个拦截处理,1、xc.is_android(如果用户不是安卓设备则直接返回false,不进行接口验证。)2、xc_isplus(如果当前访问设备不支持PLUS环境,则也直接拒绝并返回false)。该验证方法只针对安卓APP,所以需要进行过滤处理。
    3、宫论APP基座更新:版本号从10升级为11、targetSdkVersion:API等级调整为30。push推送接口新增【小米离线、oppo离线、vivo离线、小米离线】SDK。以下SDK更新同步到官方最新版本:系统定位接口、高德地图、微信SDK(支付、分享、登录)、支付宝SDK(支付)、阿里云金融级实人认证、支付宝片原生扫码SDK。
    4、前端新增钩子:xc_hook_weui_notification(自定义顶部通知栏,通过WeUI实现并封装),提供五个变量,其中四个是可选的,三个是可选的。1、title:通知标题、text:通知正文内容、media:媒体图标,默认为扩音器图标。link:点击后的跳转链接事件,默认为空。time:窗口停留时间,默认为10秒。
    5、weui顶部弹出通知窗新增onclick点击事件和onclose监听,当用户点击通知栏会通过onclick监听,执行窗口关闭事件。并且现在一次只能显示一个通知,如果在前一个通知未消失的情况下显示下一个通知。则下一个通知会直接替换掉前一个通知。避免同时顶部出现多个通知,造成非重叠和点击异常的问题。
    6、xc_hook_weui_notification:新增第六个变量(sound)默认为空,允许传递后台提示音标识(不是声音地址),如果指定了音源,在触发通知消息时,会通过xc_sound_play播放提示音效。有些场景需要提示音,有些不需要。因此提供一个变量来控制音效的播放。并且变量顺序做出调整:【title, text, link = '', media = '📢', time = 10, sound = ''】默认情况下仅需要提供title和text。
    7、APP端样式兼容修复处理:.weui-notification.weui-notification--in(通过weui创建的顶部通知栏)样式: padding-top: 14vw;(顶部填充(padding-top)为视窗宽度的 14%)。如果不对此进行调整,会因为沉浸式布局,导致顶部通知内容显示到状态栏区域。同样做出调整的还有以下样式:xc_popup:内置页面窗口、notifications:聊天消息顶部窗口。
    8、修复APP本地项目打包异常的情况,无论是是基座生成还是项目打包都会在编译过程中返回【Build failed with errors】无其它关联错误。经过长时间的摸索排查,最终发现问题源于:onedrive文件同步造成的,出于安全考虑会自动将APP项目同步到云端进行备份。但是不知何原因,同步的过程会将部分文件损坏(损坏的文件仍然在本地,但是无法打开或复制压缩)。这些文件的读取异常,导致了编译错误。目前已恢复损坏文件的处理,并更新了备份方式(云盘同步)。
    9、APP通过plus_gallery发起相册选择事件时,会检测用户是否处为安卓设备,如果是的话则通过xc.permission.find来获取(photoLibrary:后台相册权限配置信息)然后通过plus_is_permission来检测设备是否首次授权过,如果没有则触发顶部弹出窗口,显示权限获取说明(这个参数从xc.permission解析获得,后台可根据实际需要填写授权说明)
    10、当用户打开手机相册时,如果因为未授权触发xc_hook_weui_notification顶部通知拦,那么通知图标将会变更为⚠黄色警告框,同时弹出层的有效期为60秒。当用户授权通过后,进入手机相册选择图片会主动通过【$.closeNotification();】将顶部通知拦进行关闭处理。如果进入相册但是未选择图片,也会通过监听关闭监听来选择执行关闭。
    11、APP项目网页通讯新增接口请求【app_settings】,前端如果需要打开APP设置页面也可以通过xinle_app_js('app_settings')来处理。该方法并非PLUS事件,而是通过项目通讯完成的。触发后会通过(plus.os.name)检测设备系统,如果是Android通过permision.gotoAppPermissionSetting跳转设置页面,如果是iOS则通过plus.runtime.openURL('app-settings://');跳转设置页。
    12、xc_closeall关闭所有弹窗和动画事件,新增关闭动作【closeNotification()】,如果页面存在weui顶部通知消息,那么允许通过xc_closeall进行关闭。APP端打开系统相册事件plus_gallery,如果已禁用了相册读取权限,那么将会触发layer对话框(应用禁止访问权限,是否前往设置页,开启相册/存储权限?)用户点击确认将会执行【xinle_app_js('app_settings');】跳转到设置页。避免权限被禁用,用户点击无页面反馈。
    13、plus_camera调用系统摄像头(拍照/录制视频)会通过plus_is_permission检测用户是否已进行首次授权(camera),如果没有授权,并且用户是安卓环境。那么将通过xc_hook_weui_notification触发授权提示通知信息【未开启(APP摄像头权限)无法使用拍摄功能,受影响功能【发送拍摄图片、发送拍摄视频、二维码扫一扫】】。当用户同意授权或拒绝授权,都会主动通过关闭。
    14、用户应用授权检测机制已完成封装,以下处理只针对安卓APP(苹果手机目前不支持,且苹果有自带的授权检测机制。)1、用户打开APP相册或者打开手机摄像头拍摄时,会自动检测是否进行过首次授权,如果没有记录则同步弹出通知栏,展示该权限的用途以及场景(APP应用市场强制要求这个功能)。2、当用户同意或拒绝授权,内部接口都会主动关闭顶部通知栏,避免消息长时间逗留。3、如果用户拒绝了应用权限,用户请求时会弹出layer对话框,提示用户权限已被禁用,点击前往设置页进行授权。
  • 查看全文
  • 查看作者
  • 文章测试

    江西·萍乡
  • 4
  • 53
  • 0
  • 4.49w
  • 咸鱼梦想小可鸭鸭心乐学藏官方

    请登录之后再进行评论

    登录
  • 0
    咸鱼梦想lv.2实名用户
    测试看看最低多少钱?
  • 0
    咸鱼梦想lv.2实名用户
    内容测试出
  • 0
    咸鱼梦想lv.2实名用户
    很美美品相如何?
  • 查看全文
  • 查看作者
  • 鉴定师入驻协议

    欢迎使用宫论APP鉴定师入驻申请功能,本协议主要阐述您申请成为相关领域鉴定师的相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的关于鉴定师入驻。所有规则为本协议不可分割的一部分,与协议正文具有同...
  • 学藏官方 学藏官方
  • 3
  • 50
  • 426
  • 官网公告
  • 2023-03-20 09:21 电脑端
  • 查看全文
  • 查看作者
  • 宫论藏品寄售协议

    欢迎使用宫论APP藏品寄售申请功能,本协议主要阐述您作为藏品持宝人相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的关于藏品回收的规则。所有规则为本协议不可分割的一部分,与协议正文具有同等法律效...
  • 学藏官方 学藏官方
  • 1
  • 1
  • 664
  • 官网公告
  • 2023-03-17 08:58 电脑端
  • 查看全文
  • 查看作者
  • 藏品回收申请协议

    欢迎使用宫论APP藏品回收功能,本协议主要阐述您作为藏品持宝人相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的关于藏品回收的规则。所有规则为本协议不可分割的一部分,与协议正文具有同等法律效力。...
  • 学藏官方 学藏官方
  • 1
  • 1
  • 559
  • 官网公告
  • 2023-03-13 09:29 电脑端
  • 查看全文
  • 查看作者
  • 宫论藏品鉴定协议

    欢迎使用宫论APP鉴赏功能,本协议主要阐述您作为藏品持宝人相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的各类规则。所有规则为本协议不可分割的一部分,与协议正文具有同等法律效力。 2...
  • 学藏官方 学藏官方
  • 1
  • 0
  • 539
  • 官网公告
  • 2023-03-11 15:17 电脑端
  • 查看全文
  • 查看作者
  • 淘货发布协议

    淘货发布协议在宫论APP为了能够约束好每个卖家发布商品,也制定了统一的商品发布规范,如果各位也想要开淘宝店铺,那就需要好好去了解一下宫论APP商品的发布规范。第一章 概述第一条【适用范围】适用于在宫论APP发布商品的卖家。第二条【效力级别】本规范已有规定的,适...
  • 学藏官方 学藏官方
  • 2
  • 0
  • 552
  • 官网公告
  • 2023-03-09 15:33 电脑端
  • 查看全文
  • 查看作者
  • 宫论提现协议

    宫论提现协议 《宫论钱包提现协议》(以下简称“本协议”)适用于所有在宫论平台进行提现的用户(以下或称“您”)。本协议被视为《宫论用户服务条款》的补充协议,是其不可分割的组成部分,与其构成统一整体。本协议与《宫论用户服务条款》内容存在冲突的,以本协议为...
  • 学藏官方 学藏官方
  • 2
  • 0
  • 581
  • 官网公告
  • 2023-03-09 11:44 电脑端
  • 查看全文
  • 查看作者
  • 消费者保障服务协议

    本协议由您与济南谋佐科技有限公司共同缔结,本协议具有合同效力。本协议中协议双方合称协议方,济南谋佐科技公司在本协议中亦称为“宫论”。一、协议内容及生效1、本协议内容包括协议正文及所有宫论已经发布或后续发布的相关的规则与协议。前述规则与协议为本协议不可分割的组成...
  • 学藏官方 学藏官方
  • 2
  • 0
  • 498
  • 官网公告
  • 2023-02-25 20:27 电脑端
  • 查看全文
  • 查看作者
  • 店铺保证金协议

    一、什么是店铺保证金?店铺保证金是如果涉及理赔、违规处罚等情况时,可利用店铺保证金进行支付;如没有前述情况,店铺保证金可全额退回的一种机制。二、为什么要缴纳店铺保证金?(1)重点强调-店铺无违规情况认证有效期内且缴纳店铺保证金后下个整点,可搜索到店铺,若未缴纳...
  • 学藏官方 学藏官方
  • 1
  • 0
  • 511
  • 官网公告
  • 2023-02-25 20:20 电脑端
  • 查看全文
  • 查看作者
  • 宫论特殊类目经营资质

    尊敬的宫论商家:为了保障宫论类目健康、提升交易体验、维护商家及买家利益,现对于以下类目入驻认证需提供对应资质:类目店铺类型需要资质陨石骨牙-骨石企业/个人①与平台店铺认证主体信息一致的水野生保护动物经营利用许可证及副本(如许可证上未列举所有可经营物种明细的需额...
  • 学藏官方 学藏官方
  • 1
  • 0
  • 385
  • 官网公告
  • 2023-02-25 20:16 电脑端
  • 单栏布局 列表样式:矩状 侧栏位置: