作者: pmself

  • 安卓集成Google Play支付(谷歌支付)最新版本

    安卓集成Google Play支付(谷歌支付)最新版本

    Google Play 支付文档:https://developer.android.com/google/play/billing/integrate

    Google Play 支付库已经升级到5.0了,相对之前的版本有不少的变化,现在记录下!

    接入Google Play 流程还是和之前一样:

    1.去Google console 申请开发者账号  https://play.google.com/console/  

    2.创建项目,上传APK

    3.去Google console项目后台开始设置商品:点击左侧Products—->In-app products(内购商品)或者Subscription(订阅商品)

     4.等Google Pay Console 后台创建好商品后,客户端和后端就可以开始集成了:

      4.1:将 Google Play 结算库依赖项添加到应用的

    dependencies {val billing_version = "5.0.0"implementation("com.android.billingclient:billing:$billing_version")
    }

    4.2:初始化支付SDK(也就是初始化BillingClient):支付过程中BillingClient用的比较多,一般项目中只创建一个BillingClient

    private BillingClient billingClient = BillingClient.newBuilder(context).setListener(purchasesUpdatedListener).enablePendingPurchases().build();

    初始化的时候需要一个:PurchasesUpdatedListener,PurchasesUpdatedListener是监听应用中所有购买交易的更新,这个listener非常重要,当用户购买或者订阅后都会走这个回调

    private PurchasesUpdatedListener purchasesUpdatedListener = new PurchasesUpdatedListener() {@Overridepublic void onPurchasesUpdated(BillingResult billingResult, List<Purchase> purchases) {// To be implemented in a later section.}
    };

    4.3初始化SDK后,需要与 Google Play 建立连接,使用startConnection()方法,startConnection是异步进行,这个时候需要一个BillingClientStateListener进行回调连接的结果,当连接完成会走onBillingSetupFinished()回调,通过返回的billingResult.getResponseCode()去判断是否真正的链接成功,这个code 有下面几个值,这个BillingClientStateListener还有一个Google Play 失去连接的回调,这个时候我们需要实现重试逻辑,就是再次调用startConnection()函数。

        @Retention(RetentionPolicy.SOURCE)public @interface BillingResponseCode {int SERVICE_TIMEOUT = -3;int FEATURE_NOT_SUPPORTED = -2;int SERVICE_DISCONNECTED = -1;int OK = 0;int USER_CANCELED = 1;int SERVICE_UNAVAILABLE = 2;int BILLING_UNAVAILABLE = 3;int ITEM_UNAVAILABLE = 4;int DEVELOPER_ERROR = 5;int ERROR = 6;int ITEM_ALREADY_OWNED = 7;int ITEM_NOT_OWNED = 8;}
      public void startConnection() {mBillingClient.startConnection(new BillingClientStateListener() {@Overridepublic void onBillingSetupFinished(BillingResult billingResult) {if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {// The BillingClient is ready. You can query purchases here.queryProductDetailsParams();queryOldOrder();}}@Overridepublic void onBillingServiceDisconnected() {// Try to restart the connection on the next request to// Google Play by calling the startConnection() method.}});}

     4.4 获取商品

          当startConnection()回调成功时,这个时候我们就可以根据ProductId去Google Play获取具体的商品了,这个时候一般会通过API去自己的Server 获取一个ProductIdList,然后根据后台返回的productId去Google Play 获取商品详情。

    查询内购的商品:

      List<String> skuList = new ArrayList<>();skuList.add("ProductId01");skuList.add("ProductId02");skuList.add("ProductId03");skuList.add("ProductId04");SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);mBillingClient.querySkuDetailsAsync(params.build(), new SkuDetailsResponseListener() {@Overridepublic void onSkuDetailsResponse(BillingResult billingResult, List<SkuDetails> skuDetailsList) {// Process the result.Log.i(TAG, "querySkuDetailsAsync 1 onSkuDetailsResponse billingResult.getResponseCode : " + billingResult.getResponseCode() + " skuDetailsList :" + skuDetailsList);mInAppSkuDetailsHashMap.clear();if (skuDetailsList != null && skuDetailsList.size() > 0) {for (SkuDetails skuDetails : skuDetailsList) {mInAppSkuDetailsHashMap.put(skuDetails.getSku(), skuDetails);}}}});

    查询订阅的商品:

     // The BillingClient is ready. You can query purchases here.List<String> subscribeSkuList = new ArrayList<>();subscribeSkuList.add("Subscribe01");subscribeSkuList.add("Subscribe01");subscribeSkuList.add("Subscribe01");SkuDetailsParams.Builder subscribeParams = SkuDetailsParams.newBuilder();subscribeParams.setSkusList(subscribeSkuList).setType(BillingClient.SkuType.SUBS);mBillingClient.querySkuDetailsAsync(subscribeParams.build(), new SkuDetailsResponseListener() {@Overridepublic void onSkuDetailsResponse(BillingResult billingResult, List<SkuDetails> skuDetailsList) {// Process the result.Log.i(TAG, "querySkuDetailsAsync 2 onSkuDetailsResponse billingResult.getResponseCode : " + billingResult.getResponseCode() + " skuDetailsList :" + skuDetailsList);mSubscribeSkuDetailsHashMap.clear();if (skuDetailsList != null && skuDetailsList.size() > 0) {for (SkuDetails skuDetails : skuDetailsList) {mSubscribeSkuDetailsHashMap.put(skuDetails.getSku(), skuDetails);}}}});

    当商品查询成功后就可以结合Server返回的商品信息给用户展示商品列表了

    注意:有些 Android 设备安装的可能是旧版 Google Play 商店应用,不支持订阅等某些商品类型。在您的应用进入结算流程之前,您可以调用 isFeatureSupported() 以确定设备是否支持您要销售的商品。如需查看可支持的商品类型的列表,请参阅 BillingClient.FeatureType。

    4.5.启动购买流程(开始购买)

       当用户点击某个商品时,从应用发起购买请求,请从应用的主线程调用 launchBillingFlow() 方法。此方法接受对 BillingFlowParams 对象的引用,该对象包含通过调用 queryProductDetailsAsync() 获取的相关 ProductDetails 对象。如需创建 BillingFlowParams 对象,请使用 BillingFlowParams.Builder 类。

    购买内购的商品:

        public void buyInAppProduct(SkuDetails skuDetails) {if (skuDetails == null) {return;}BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder().setSkuDetails(skuDetails).build();mBillingClient.launchBillingFlow(ActivityUtils.getTopActivity(), billingFlowParams).getResponseCode();}

    购买订阅的商品:

      public void buySubscribeProduct(SkuDetails skuDetails) {if (skuDetails == null) {return;}BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder().setSkuDetails(skuDetails).build();mBillingClient.launchBillingFlow(ActivityUtils.getTopActivity(), billingFlowParams).getResponseCode();}
    // An activity reference from which the billing flow will be launched.
    Activity activity = ...;ImmutableList productDetailsParamsList =ImmutableList.of(ProductDetailsParams.newBuilder()// retrieve a value for "productDetails" by calling queryProductDetailsAsync().setProductDetails(productDetails)// to get an offer token, call ProductDetails.getSubscriptionOfferDetails()// for a list of offers that are available to the user.setOfferToken(selectedOfferToken).build());BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder().setProductDetailsParamsList(productDetailsParamsList).build();// Launch the billing flow
    BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);

    4.6购买成功的回调

     在咱们4.2初始化SDK的时候添加了一个PurchasesUpdatedListener,当用户购买成功后Google Play 会调用 onPurchasesUpdated(),我们根据responseCode去区分用户购买成功与否.

    如果成功购买商品,系统还会生成一个token,它是一个唯一标识符,表示用户及其所购应用内商品的商品 ID。可以在本地存储token,可以将令牌传递到安全的后端服务器(推荐用该方法)

        private PurchasesUpdatedListener purchasesUpdatedListener = new PurchasesUpdatedListener() {@Overridepublic void onPurchasesUpdated(BillingResult billingResult, List<Purchase> purchases) {if (billingResult == null) {return;}int responseCode = billingResult.getResponseCode();switch (responseCode) {case BillingClient.BillingResponseCode.OK:for (Purchase purchase : purchases) {SkuDetails skuDetails = null;String json = purchase.getOriginalJson();if (!TextUtils.isEmpty(json)) {PurchaseData purchaseData = GsonConverter.fromJson(json, PurchaseData.class);if (purchaseData != null) {skuDetails = getSkuDetailsDependProductId(purchaseData.getProductId());}}handlePurchase(purchase, (skuDetails != null && (BillingClient.SkuType.SUBS.equals(skuDetails.getType()))), "onPurchasesUpdated");}break;case BillingClient.BillingResponseCode.USER_CANCELED:Log.i(TAG, "purchasesUpdatedListener 3 user cancel ");break;default:Log.i(TAG, "purchasesUpdatedListener 4 error  " + responseCode);break;}}};
    @Override
    void onPurchasesUpdated(BillingResult billingResult, List<Purchase> purchases) {if (billingResult.getResponseCode() == BillingResponseCode.OK&& purchases != null) {for (Purchase purchase : purchases) {handlePurchase(purchase);}} else if (billingResult.getResponseCode() == BillingResponseCode.USER_CANCELED) {// Handle an error caused by a user cancelling the purchase flow.} else {// Handle any other error codes.}
    }

    4.7.处理购买交易(消费订单)

    当用户购买成功后,订单必须消费,如果不消费,三天后Google会自动退款,撤销购买交易。
    消费内购的商品:

    void handlePurchase(Purchase purchase) {// Purchase retrieved from BillingClient#queryPurchasesAsync or your PurchasesUpdatedListener.Purchase purchase = ...;// Verify the purchase.// Ensure entitlement was not already granted for this purchaseToken.// Grant entitlement to the user.ConsumeParams consumeParams =ConsumeParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();ConsumeResponseListener listener = new ConsumeResponseListener() {@Overridepublic void onConsumeResponse(BillingResult billingResult, String purchaseToken) {if (billingResult.getResponseCode() == BillingResponseCode.OK) {// Handle the success of the consume operation.}}};billingClient.consumeAsync(consumeParams, listener);
    }

      消费订阅商品:订阅的处理方式与非消耗型商品类似。您可以使用 Google Play 结算库中的 BillingClient.acknowledgePurchase() 或 Google Play Developer API 中的 Purchases.Subscriptions.Acknowledge 确认订阅。所有初始订阅购买交易都需要确认。订阅续订不需要确认

    BillingClient client = ...
    AcknowledgePurchaseResponseListener acknowledgePurchaseResponseListener = ...void handlePurchase(Purchase purchase) {if (purchase.getPurchaseState() == PurchaseState.PURCHASED) {if (!purchase.isAcknowledged()) {AcknowledgePurchaseParams acknowledgePurchaseParams =AcknowledgePurchaseParams.newBuilder().setPurchaseToken(purchase.getPurchaseToken()).build();client.acknowledgePurchase(acknowledgePurchaseParams, acknowledgePurchaseResponseListener);}}
    }

    4.8 查询历史订单,消费待处理的交易

        public void queryOldOrder() {mBillingClient.queryPurchasesAsync(BillingClient.SkuType.INAPP, new PurchasesResponseListener() {@Overridepublic void onQueryPurchasesResponse(@NonNull BillingResult billingResult, @NonNull List<Purchase> list) {if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {onHandlerQueryPurchases(list, false);}}});mBillingClient.queryPurchasesAsync(BillingClient.SkuType.SUBS, new PurchasesResponseListener() {@Overridepublic void onQueryPurchasesResponse(@NonNull BillingResult billingResult, @NonNull List<Purchase> list) {if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {onHandlerQueryPurchases(list, true);}}});

    4.9 处理多件购买交易:

    Google Play 允许客户在一笔交易中购买多件相同的应用内商品,只需在购物车中指定商品数量即可(4.0 及更高版本的 Google Play 结算库支持该功能)。应用应根据指定购买数量来处理多件购买并授予权利。注意:多件购买适用于消耗型应用内商品,即可以购买、消耗及再次购买的产品。请勿为不支持重复购买的商品启用该功能。

    为了实现多件购买,应用的配置逻辑需要检查商品数量。可以从以下 API 访问 quantity 字段:

    • Google Play 结算库中的 getQuantity()。
    • Google Play Developer API 中的 Purchases.products.quantity。

    添加用于处理多件购买的逻辑后,需要在 Google Play 管理中心的应用内商品管理页面上为相应的商品启用多件购买功能。

    注意:请确保应用接受多件购买,然后再在 Play 管理中心启用该功能。您能需要强制更新到提供支持的应用版本,然后才能对商品启用该功能。

  • 马斯克的9家公司,每家都是改变世界的大生意

    马斯克的9家公司,每家都是改变世界的大生意

    马斯克的9家公司,每家都是改变世界的大生意。假如选一个人,代表地球科技文明。你会选马斯克吗?

    第一家:特斯拉(tesla)。纯电动汽车公司,颠覆传统汽车行业。

    第二家是Space X,它是全球唯一一家私人控股运营的火箭发射公司,?火箭可以重复使用。

    第三家是Star Link,即星链卫星。让手机接收陆地基站信号变成接收卫星信号。

    第四家是Neuralink,脑机接口公司。让人的意识得到永生。人类将不用再花费大量的时间学习,连大学都不用考了。

    第五家是Solar City,是一家专门发展家用光伏发电项目的公司。

    第六家是Model Π手机,是一家制造手机的公司。手机通过接收光充电,接收卫星网络。手机不用话费,随时与世界连接。

    第七家是hyperloop,胶囊高铁?。北京到纽约2小时可达。已经快进入试用期阶段。

    第八家是Boring Company,是一家研发地下交通轨道的公司,解决地面交通拥堵,市中心到机场只需要5分钟。

    第九家是Open AI,是一家以安全的方式实现通用人工智能的公司,并且它还是一家非盈利的开放性的研究公司。

  • APP电子软著申请 ,软件的主要功能、用途和技术特点

    APP电子软著申请 ,软件的主要功能、用途和技术特点

    对软件进行介绍性描述,简短明确闻述软件的主要功能、用途和技术特点。1、应明确介绍软件的主要功能,介绍中语法通顺、标点符号正确介绍的主要功能应和软件名称有关联性,应和提交文档中的主要功能一致:2、技术特点应和代码有关联性:3、不能含有危害国家安全、低俗、情色等非法内容: 4、若其中包含了软件全、简称和版本号,应与软件基本信息、文档和代码中的内容保持一致。

    软件的主要功能、用途和技术特点如下:
    一、主要功能:知识分享和起名
    1、首页(分类知识,搜索,动态和专题知识,能对信息进行评论,收藏,分享操作);
    2、信息(分类信息);
    3、商城;
    4、指南(用户帮助信息);
    5、我的:登录注册,个人信息编辑,VIP会员,动态,关注和粉丝,邀请码,签到等。
    二、主要用途:生活知识方面学习和应用工具
    三、技术特点:功能强大,操作简便,安全性高,权限管理机制完善
    1、高效的前端技术框架:采用VUE.js前端框架;2、合理的分权管理机制;3、高效的信息管理机制;4、良好的用户体验;5、多重数据安全保护

  • 易版权APP电子软著申请使用文档和源码要求

    易版权APP电子软著申请使用文档和源码要求

    源码文档 *


    请上传小于30M的源码文档(pdf格式)
    * 应用软件源程序提交注意事项及相关规范
    源码文档需提交PDF格式的文件,软件源程序代码由前、后各连续30页组成。软件源程序多于60页的需要提交连续的前30及后30页,前30页和后30页应是各自连续的。
    1、源程序的第1页应当是程序或一个功能模块的开头,源程序的第60页应当是程序或一个功能模块的结尾,不满60页的需全部提供;
    2、源程序每页应该≥50行,并标明页码;
    3、编写源程序的语言应和申请表填写的语言保持一致;
    4、源程序应和文档中介绍的主要功能存在关联性;
    5、源程序编写内容中出现的署名或版权声明以及任何与权利归属有关的内容,著作权人名称应与申请的著作权人保持一致;
    6、源程序中出现著作权人成立之前的创建或修改时间的,申请人应该确认是否存在前期开发行为,如有,需提交《前期开发说明》;
    7、源程序中尽量不要出现软件开发完成之后的日期;(出现软件完成日期之后的创建或修改时间的,如果只是纠错性的修改、适应性的调整,不造成软件的功能或性能发生重大变化而发生软件版本升级的,是正常合理的。)
    8、源程序中出现他人的自由软件/开源软件的版权声明或相关许可证(License)信息的,且申请人认可源代码中含有他人的自由软件/开源软件源代码的情况,申请人需要提供相关的书面说明;
    9、源程序如果有页眉,页面的软件名称、版本号与申请信息及其他申请材料中的软件名称、版本号应当一致;
    10、源程序中的软件名称应与申请信息中的软件全称或简称一致,版本号也应该保持一致;
    11、源程序如果有文件名,应和申请的软件名称或权利人保持一致,文件名可不填。
    12、源程序中不能含有危害国家安全、低俗、情色等非法内容。

    软件文档 *

    请上传小于30M的软件文档(pdf格式)
    * 应用软件文档提交注意事项及相关规范
    文档指软件的使用说明书或者设计说明书(选择其一提交),需提交PDF格式。一般应提交10-60页,整个文档不到60页的应提交全部,超过60页时,提交前、后各连续的30页,文档应图文并茂,语句通顺,每页应≥30行(有图除外)。
    1、软件使用说明书主要内容要求:从打开软件起开始截取软件的主要功能界面图,截图应带有主界面,不可截部分图,依次为主界面展示、界面的跳转,主要功能模块依次介绍,主要功能都应介绍。截图应截取完整的软件界面,且图片清晰可辨,需有详细的文字介绍,介绍其主要功能如何使用,上一个界面是通过什么操作跳转至下一个界面的;
    2、软件设计说明书主要内容要求:应包含软件的基本处理流程、程序系统的组织结构、功能模块划分、接口和数据结构设计等主要设计内容;
    3、文档应和源程序存在一定的关联性;
    4、文档中截图不能含有他人的商标,如使用他人商标,应提交《商标使用授权书》;
    5、截图界面需和申请表中填写的硬件环境、软件环境相匹配;
    6、文档中不能出现重复截图;
    7、文档页眉(如果有)的软件名称、版本号与申请表单及其他申请材料中的软件名称、版本号应当一致;
    8、文档内容(包括文字、截图等)中的软件名称应与申请表单中的软件全称或简称一致,版本号也应该保持一致;
    9、文档中出现的署名或版权声明以及任何与权利归属有关的内容,著作权人名称应与申请表单中一致;
    10、文档应标明页码;
    11、文档的文件名应和申请的软件名称或权利人保持一致,文件名可不填;
    12、文档中不能含有危害国家安全、低俗、情色等非法内容。

  • 阿里云磁盘在线扩容后宝塔面板无法正确显示容量

    阿里云磁盘在线扩容后宝塔面板无法正确显示容量

    阿里云磁盘在线扩容后宝塔面板无法正确显示容量【主要看最下方的阿里云ECS连接,查看官方文档】

    阿里云的服务器 硬盘升配后。宝塔面板 硬盘数值 如何改成新的?

    阿里云服务器扩容后,登陆宝塔面板发现磁盘容量没有变化,解决办法。

    在服务器进行操作前首先做好快照或者重要数据备份以防在硬盘扩容时出现意外导致数据丢失

    首先在阿里云那边在线拓容磁盘之后,【注意不是新购一个磁盘,新购磁盘的话看这篇文章 阿里云磁盘挂载】需要先检查磁盘容量是否正确

    (在线扩容后的容量,扩容部分只是增加了物理容量,分区和文件系统还不能使用)

    查看磁盘实际大小

    运行 fdisk -l 命令查看磁盘实际大小。

    [root@admin]# fdisk -l
    Disk /dev/vda: 107.4 GB, 107374182400 bytes, 209715200 sectorsUnits = sectors of 1 * 512512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x0008de3eDevice Boot      Start         End      Blocks   Id  System/dev/vda1   *        2048   209715166   104856559+  83  Linux 

    结果说明:磁盘(/dev/vda)实际大小为:100 多G,说明磁盘是真的给你装上了,如果这里跟你购买容量不对的话先重启服务器吧

    查看磁盘分配大小

    运行 df -h 命令查看磁盘分配大小。

    [root@admin]# df -hFilesystem      Size  Used Avail Use% Mounted ondevtmpfs        2.0G     0  2.0G   0% /devtmpfs           2.0G     0  2.0G   0% /dev/shmtmpfs           2.0G  8.5M  2.0G   1% /runtmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup/dev/vda1        25G   17G   78G  68% /tmpfs           395M     0  395M   0% /run/user/0磁盘(/dev/vda1)容量是25G

    第一列Filesystem,磁盘分区

    第二列Size,磁盘分区的大小

    第三列Used,已使用的空间

    第四列Avail,可用的空间

    第五列Use%,已使用的百分比

    第六列Mounted on,挂载点

    安装growpart工具和resize2fs工具

    growpart 是磁盘分区扩容工具

    resize2fs 是扩容文件系统工具

    [root@admin]# yum install -y cloud-utils-growpart

    自适应分区扩容

    运行 growpart 命令,调用 growpart 为需要扩容分区扩容。

    growpart /dev/vda 1 ,表示为系统盘的第一个分区(/dev/vda1)扩容。

    [root@admin]# growpart /dev/vda 1CHANGED: partition=1 start=2048 old: size=52424704 end=52426752 new: size=209713119 end=209715167

    若运行命令后报以下错误,您可以运行LANG=en_US.UTF-8切换ECS实例的字符编码类型,后运行 growpart 命令。

    [root@admin]# growpart /dev/vda 1unexpected output in sfdisk –version [sfdisk,来自 util-linux 2.23.2][root@admin]# LANG=en_US.UTF-8

    扩容重设分区文件系统

    运行 resize2fs 命令调用 resize2fs 扩容文件系统。

    [root@admin]# resize2fs /dev/vda1resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/vda1 is mounted on /; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 7The filesystem on /dev/vda1 is now 26214139 blocks long.

    备注:
    ***如果您使用的是xfs文件系统,运行xfs_growfs /dev/vda1命令扩容文件系统。
    文件系统检查命令:

    [root@A ~]# blkid /dev/vda1/dev/vda1: UUID="deaab0e3-129e-4c09-86a4-e62d873ae4c0" TYPE="ext4" 

    再次查看磁盘分区大小

    可以看到分区(/dev/vda1)容量已经是100G,表示已经成功扩容。

    [root@admin]# df -h Filesystem      Size  Used Avail Use% Mounted on devtmpfs        2.0G     0  2.0G   0% /dev tmpfs           2.0G     0  2.0G   0% /dev/shm tmpfs           2.0G  8.5M  2.0G   1% /run tmpfs           2.0G     0  2.0G   0% /sys/fs/cgroup /dev/vda1        99G   17G   78G  18% / tmpfs           395M     0  395M   0% /run/user/0

    重启宝塔面板,或者在浏览器面板执行重启面板

    bt 1

    宝塔面板不显示新挂的磁盘或数据盘,如何解决?

    刚开始购买的云服务器选择的是40G的硬盘,后买由于数据量偏大,在服务器上新挂了一块100G的磁盘,但是宝塔面板还是无法显示,新购买的磁盘还是不能用,怎么解决?

    下面给您分享一下方法。

    用putty连接服务器,或者使用其他工具连接也行,只要是 ssh链接服务器就行,连接成功后执行下面命令: yum install wget -y && wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.sh

    系统开始执行自动挂载分区操作,如下图:

    we1.png

    当出线停顿以后输入:y,回车,宝塔服务将自动停止,然后开始安装服务和搬迁数据。

    当出现move disk会停顿很长时间,不要慌,数据不会丢失,继续等待就行。 安装成功后会自动启用宝塔,登录宝塔面板后会自动显示新挂的磁盘。

    点击“文件”后发现“www”文件夹会放在新的磁盘中。如下图所示:

    阿里云ECS扩容分区和文件系统(Linux)

    https://help.aliyun.com/document_detail/25451.html?spm=5176.ecs-console-self-service_ActiveDiagnosisReport.adr.1.7d124df50G9XAh

  • UNIapp 切片,便民查询代码参考备份1

    UNIapp 切片,便民查询代码参考备份1

    便民查询页面VUE.js代码参考:

    完整的vue.js代码如下:

    [content_hide]

    <template>
        <view class="flex-col homepage">
            <view class="flex-col wrapper">
                <text class="text">
                    今日新发现
                </text>
                <view class="flex-row wraper-row">
                    <navigator url="/pages/web-view/web-view?url=https://top.baidu.com/board"><image class="img" src="http://cha.pmself.com/images/chaxun/baidu.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://s.weibo.com/top/summary?cate=realtimehot&uc_biz_str=OPT%3ABACK_BTN_STYLE%400%7COPT%3ATOOLBAR_STYLE%401"><image class="img-two" src="http://cha.pmself.com/images/chaxun/weibo2.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.toutiao.com/?W2atIF=1"><image class="img-three" src="http://cha.pmself.com/images/chaxun/toutiao.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://tophub.today/n/DpQvNABoNE"><image class="img-four" src="http://cha.pmself.com/images/chaxun/douyin.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-two">
                    <text class="text-two">
                <navigator url="/pages/web-view/web-view?url=https://top.baidu.com/board">百度热搜</navigator>
                    </text> <text class="text-three">
                <navigator url="/pages/web-view/web-view?url=https://s.weibo.com/top/summary?cate=realtimehot&uc_biz_str=OPT%3ABACK_BTN_STYLE%400%7COPT%3ATOOLBAR_STYLE%401">微博热搜</navigator>
                    </text> <text class="text-four">
                <navigator url="/pages/web-view/web-view?url=https://m.toutiao.com/?W2atIF=1">头条新闻</navigator>
                    </text> <text class="text-five">
                <navigator url="/pages/web-view/web-view?url=https://tophub.today/n/DpQvNABoNE">抖音热榜</navigator>
                    </text>
                </view>
            </view>
            <view class="flex-col wrapper-two">
                <text class="text-six">
                    常用便民查询
                </text>
                <view class="flex-row wraper-row-three">
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/third/transit"><image class="img-five" src="http://cha.pmself.com/images/chaxun/gongjiao.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E6%9F%A5%E5%BF%AB%E9%80%92"><image class="img-six" src="http://cha.pmself.com/images/chaxun/kuaidi.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/third/peccancy"><image class="img-seven" src="http://cha.pmself.com/images/chaxun/weizhang.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://touch.train.qunar.com/train_touch/index.html#/"><image class="img-eight" src="http://cha.pmself.com/images/chaxun/huoche.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-four">
                    <text class="text-seven">
                 <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/third/transit">查公交</navigator>
                    </text> <text class="text-eight">
                <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E6%9F%A5%E5%BF%AB%E9%80%92">查快递</navigator>
                    </text> <text class="text-nine">
                 <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/third/peccancy">查违章</navigator>
                    </text> <text class="text-ten">
                 <navigator url="/pages/web-view/web-view?url=https://touch.train.qunar.com/train_touch/index.html#/">火车票</navigator>
                    </text>
                </view>
                <view class="flex-row wraper-row-five">
                    <navigator url="/pages/web-view/web-view?url=https://touch.qunar.com/h5/flight/?bd_source=hao12302&__rewrite=true"><image class="img-nine" src="http://cha.pmself.com/images/chaxun/feiji.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%A4%A9%E6%B0%94"><image class="img-ten" src="http://cha.pmself.com/images/chaxun/tianqi.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%8F%8C%E8%89%B2%E7%90%83"><image class="img-eleven" src="http://cha.pmself.com/images/chaxun/ssq.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E6%88%BF%E8%B4%B7%E8%AE%A1%E7%AE%97%E5%99%A8"><image class="img-twelve" src="http://cha.pmself.com/images/chaxun/fangdai.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-six">
                    <text class="text-eleven">
                <navigator url="/pages/web-view/web-view?url=https://touch.qunar.com/h5/flight/?bd_source=hao12302&__rewrite=true">查航班</navigator>
                    </text> <text class="text-twelve">
                <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%A4%A9%E6%B0%94">查天气</navigator>
                    </text> <text class="text-thirteen">
                 <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%8F%8C%E8%89%B2%E7%90%83">双色球</navigator>
                    </text> <text class="text-fourteen">
                 <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E6%88%BF%E8%B4%B7%E8%AE%A1%E7%AE%97%E5%99%A8">房贷计算</navigator>
                    </text>
                </view>
            </view>
            <view class="flex-col wrapper-three">
                <text class="text-fifteen">
                    新鲜有趣一览
                </text>
                <view class="flex-row wraper-row-seven">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E6%89%8B%E6%9C%BA%E5%A3%81%E7%BA%B8"><image class="img-thirteen" src="http://cha.pmself.com/images/chaxun/bizhi.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.hao123.com/sitecards/?pt=1"><image class="img-fourteen" src="http://cha.pmself.com/images/chaxun/doutu.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.youlai.cn/jijiu"><image class="img-fifteen" src="http://cha.pmself.com/images/chaxun/jijiu.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://web.shanbay.com/words/op/honor-words"><image class="img-sixteen" src="http://cha.pmself.com/images/chaxun/shanbei.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-eight">
                    <text class="text-sixteen">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E6%89%8B%E6%9C%BA%E5%A3%81%E7%BA%B8">手机壁纸</navigator>
                    </text> <text class="text-seventeen">
                    <navigator url="/pages/web-view/web-view?url=https://m.hao123.com/sitecards/?pt=1">斗图装X</navigator>
                    </text> <text class="text-eighteen">
                    <navigator url="/pages/web-view/web-view?url=https://m.youlai.cn/jijiu">有来急救</navigator>
                    </text> <text class="text-nineteen">
                    <navigator url="/pages/web-view/web-view?url=https://web.shanbay.com/words/op/honor-words">扇贝记单词</navigator>
                    </text>
                </view>
                <view class="flex-row wraper-row-nine">
                    <navigator url="/pages/web-view/web-view?url=https://h5.codefuture.top/widgetbox-h5/quickcard/poetry"><image class="img-seventeen" src="http://cha.pmself.com/images/chaxun/shici2.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://ask.dxy.com/index#/activity/honor?dxa_adplatform=honorcardh5&position=1"><image class="img-eighteen" src="http://cha.pmself.com/images/chaxun/dingxiang.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.smzdm.com/top/?scene=deeplink/"><image class="img-nineteen" src="http://cha.pmself.com/images/chaxun/zdm.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/sf/vsearch?pd=image_content&atn=page&fr=tab&tn=vsearch&ss=100&sa=tb&rsv_sug4=1512&oq=%E7%BE%8E%E5%A5%B3&word=%E7%BE%8E%E5%A5%B3"><image class="img-twenty" src="http://cha.pmself.com/images/chaxun/meinv.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-ten">
                    <text class="text-twenty">
                    <navigator url="/pages/web-view/web-view?url=https://h5.codefuture.top/widgetbox-h5/quickcard/poetry">诗词卡片</navigator>
                    </text> <text class="text-20">
                   <navigator url="/pages/web-view/web-view?url=https://ask.dxy.com/index#/activity/honor?dxa_adplatform=honorcardh5&position=1">丁香大实话</navigator>
                    </text> <text class="text-21">
                    <navigator url="/pages/web-view/web-view?url=https://m.smzdm.com/top/?scene=deeplink/">好物值得买</navigator>
                    </text> <text class="text-22">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/sf/vsearch?pd=image_content&atn=page&fr=tab&tn=vsearch&ss=100&sa=tb&rsv_sug4=1512&oq=%E7%BE%8E%E5%A5%B3&word=%E7%BE%8E%E5%A5%B3">美女图片</navigator>
                    </text>
                </view>
            </view>
    				
            <view class="flex-col wrapper-four">
                <text class="text-23">
                    快递服务查询
                </text>
                <view class="flex-row wraper-row-eleven">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E9%A1%BA%E9%A3%8E%E5%BF%AB%E9%80%92"><image class="img-20" src="http://cha.pmself.com/images/chaxun/shunfeng.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%9C%86%E9%80%9A%E5%BF%AB%E9%80%92"><image class="img-21" src="http://cha.pmself.com/images/chaxun/yuantong.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E7%94%B3%E9%80%9A%E5%BF%AB%E9%80%92"><image class="img-22" src="http://cha.pmself.com/images/chaxun/shentong.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E9%9F%B5%E8%BE%BE%E5%BF%AB%E9%80%92"><image class="img-23" src="http://cha.pmself.com/images/chaxun/yunda.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-twelve">
                    <text class="text-24">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E9%A1%BA%E9%A3%8E%E5%BF%AB%E9%80%92">顺风快递</navigator>
                    </text> <text class="text-25">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%9C%86%E9%80%9A%E5%BF%AB%E9%80%92">圆通快递</navigator>
                    </text> <text class="text-26">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E7%94%B3%E9%80%9A%E5%BF%AB%E9%80%92">申通快递</navigator>
                    </text> <text class="text-27">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E9%9F%B5%E8%BE%BE%E5%BF%AB%E9%80%92">韵达快递</navigator>
                    </text>
                </view>
                <view class="flex-row wraper-row-thirteen">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E4%BA%AC%E4%B8%9C%E5%BF%AB%E9%80%92"><image class="img-24" src="http://cha.pmself.com/images/chaxun/jdkd.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%BE%B7%E9%82%A6%E5%BF%AB%E9%80%92"><image class="img-25" src="http://cha.pmself.com/images/chaxun/debang.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E9%82%AE%E6%94%BF%E5%BF%AB%E9%80%92"><image class="img-26" src="http://cha.pmself.com/images/chaxun/youzheng.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://www.ip138.com/tel.htm"><image class="img-27" src="http://cha.pmself.com/images/chaxun/dianhua.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-fourteen">
                    <text class="text-28">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E4%BA%AC%E4%B8%9C%E5%BF%AB%E9%80%92">京东快递</navigator>
                    </text> <text class="text-29">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%BE%B7%E9%82%A6%E5%BF%AB%E9%80%92">德邦快递</navigator>
                    </text> <text class="text-30">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E9%82%AE%E6%94%BF%E5%BF%AB%E9%80%92">邮政快递</navigator>
                    </text> <text class="text-31">
                     <navigator url="/pages/web-view/web-view?url=https://www.ip138.com/tel.htm">便民电话</navigator>
                    </text>
                </view>
            </view>
            <view class="flex-col wrapper-five">
                <text class="text-32">
                    我的附近区域
                </text>
                <view class="flex-row wraper-row-fifteen">
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/more/?fromhash=1"><image class="img-28" src="http://cha.pmself.com/images/chaxun/fujin.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index"><image class="img-29" src="http://cha.pmself.com/images/chaxun/meishi.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index"><image class="img-30" src="http://cha.pmself.com/images/chaxun/jiudian.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index"><image class="img-31" src="http://cha.pmself.com/images/chaxun/dianying.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-sixteen">
                    <text class="text-33">
                 <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/more/?fromhash=1">查附近</navigator>
                    </text> <text class="text-34">
                 <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index">美食</navigator>
                    </text> <text class="text-35">
                 <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index">酒店</navigator>
                    </text> <text class="text-36">
                 <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index">电影</navigator>
                    </text>
                </view>
                <view class="flex-row wraper-row-seventeen">
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/moretravel"><image class="img-32" src="http://cha.pmself.com/images/chaxun/fujin.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index"><image class="img-33" src="http://cha.pmself.com/images/chaxun/yinhang.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index"><image class="img-34" src="http://cha.pmself.com/images/chaxun/yiyuan.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index"><image class="img-35" src="http://cha.pmself.com/images/chaxun/jigndian.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-eighteen">
                    <text class="text-37">
                  <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/moretravel">查出行</navigator>
                    </text> <text class="text-38">
                  <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index">银行</navigator>
                    </text> <text class="text-39">
                   <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index">医院</navigator>
                    </text> <text class="text-40">
                   <navigator url="/pages/web-view/web-view?url=https://map.baidu.com/mobile/webapp/index/index">景点</navigator>
                    </text>
                </view>
            </view>
            <view class="flex-col wrapper-six">
                <text class="text-41">
                    其他类别
                </text>
                <image class="img-36" src="http://cha.pmself.com/images/chaxun/it.png"></image></navigator>
                <image class="img-37" src="http://cha.pmself.com/images/chaxun/sina.png"></image></navigator>
                <image class="img-38" src="http://cha.pmself.com/images/chaxun/huanqiu.png"></image></navigator>
                <image class="img-39" src="http://cha.pmself.com/images/chaxun/zhibo8.png"></image></navigator>
                <view class="flex-row wraper-row-nineteen">
                    <text class="text-42">
                <navigator url="/pages/web-view/web-view?url=https://img.ithome.com/app/calendar/event_list.html">IT事件日历</navigator>
                    </text> <text class="text-43">
                  <navigator url="/pages/web-view/web-view?url=https://finance.sina.cn/honor/set.shtml#/hq/">新浪行情</navigator>
                    </text> <text class="text-44">
                <navigator url="/pages/web-view/web-view?url=https://m.zhibo8.cc/news/web/zuqiu/2022-12-05/match878160date2022v.htm">直播8</navigator>
                    </text> <text class="text-45">
                <navigator url="/pages/web-view/web-view?url=https://3w.huanqiu.com/">环球国际</navigator>
                    </text>
                </view>
            </view>
    
    		<view class="flex-col wrapper-four">
    		    <text class="text-23">
    		        民俗星座查询
    		    </text>
    		    <view class="flex-row wraper-row-eleven">
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E7%94%9F%E8%82%96"><image class="img-20" src="http://cha.pmself.com/images/chaxun/shengxiao.png"></image></navigator>
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E8%A7%A3%E6%A2%A6"><image class="img-21" src="http://cha.pmself.com/images/chaxun/meng.png"></image></navigator>
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E6%98%9F%E5%BA%A7"><image class="img-22" src="http://cha.pmself.com/images/chaxun/xingzuo2.png"></image></navigator>
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=24%E8%8A%82%E6%B0%94"><image class="img-23" src="http://cha.pmself.com/images/chaxun/24jieqi.png"></image></navigator>
    		    </view>
    		    <view class="flex-row wraper-row-twelve">
    		        <text class="text-24">
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E7%94%9F%E8%82%96">十二生肖</navigator>
    		        </text> <text class="text-25">
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E8%A7%A3%E6%A2%A6">周公解梦</navigator>
    		        </text> <text class="text-26">
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E6%98%9F%E5%BA%A7">星座图谱</navigator>
    		        </text> <text class="text-27">
    		        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=24%E8%8A%82%E6%B0%94">节气查询</navigator>
    		        </text>
    		    </view>
    		    <view class="flex-row wraper-row-thirteen">
    		        <navigator url="/pages/web-view/web-view?url=http://sm.fatelist.com/?ac=xydd"><image class="img-24" src="http://cha.pmself.com/images/chaxun/qfdd.png"></image></navigator>
    		        <navigator url="/pages/web-view/web-view?url=http://dsqm.fatelist.com/?ac=dashi"><image class="img-25" src="http://cha.pmself.com/images/chaxun/qiming.png"></image></navigator>
    		        <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam"><image class="img-26" src="http://cha.pmself.com/images/chaxun/xlcs.png"></image></navigator>
    		        <navigator url="/pages/web-view/web-view?url=https://m.youlai.cn/jijiu"><image class="img-27" src="http://cha.pmself.com/images/chaxun/jijiu.png"></image></navigator>
    		    </view>
    		    <view class="flex-row wraper-row-fourteen">
    		        <text class="text-28">
    		        <navigator url="/pages/web-view/web-view?url=http://sm.fatelist.com/?ac=xydd">祈福点灯</navigator>
    		        </text> <text class="text-29">
    		        <navigator url="/pages/web-view/web-view?url=http://dsqm.fatelist.com/?ac=dashi">从龙起名</navigator>
    		        </text> <text class="text-30">
    		        <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam">心理评测</navigator>
    		        </text> <text class="text-31">
    		        <navigator url="/pages/web-view/web-view?url=https://m.youlai.cn/jijiu">有来急救</navigator>
    		        </text>
    		    </view>
    			
    			
    		</view>
    		
        </view>
    </template>
    <script>
        export default {
            data() {
                return {}
            },
            methods: {
    
            }
        }
    </script>
    <style lang="scss" scoped>
        /** 全局样式-开始,建议放在公共css样式文件中,比如common.css 或app.vue文件 */
    
        html,
        body {
            margin: 0;
            width: 100%;
            height: 100%;
            font-size: 16px
        }
    
        view,
        text,
        image {
            position: relative;
            box-sizing: border-box;
            flex-shrink: 0;
        }
    
        .flex-col {
            display: flex;
            align-items: flex-start;
            flex-direction: column;
        }
    
        .flex-row {
            display: flex;
            align-items: flex-start;
        }
    
        .flex-col .flex-row {
            width: 100%
        }
    
        /** 全局样式-结束*/
    
        .homepage {
            padding: 41rpx 24rpx 0rpx 24rpx;
    
            .wrapper {
                width: 100%;
                margin-bottom: 24rpx;
                padding: 30rpx 0rpx 40rpx 40.2rpx;
                border-width: 2rpx;
                border-style: solid;
                border-color: #f8f7f7;
                border-radius: 20rpx;
                background: #F6F6F4;
    
                .text {
                    width: 140rpx;
                    margin-bottom: 24rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                }
    
                .wraper-row {
                    width: 578rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 14rpx 20rpx;
                    padding-right: 2rpx;
    
                    .img {
                        width: 100rpx;
                        height: 100rpx;
                        margin-top: 4rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-two {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-three {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-four {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-two {
                    width: 577rpx;
                    justify-content: space-between;
                    margin-left: 20rpx;
                    padding-right: 3rpx;
    
                    .text-two {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-three {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-four {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-five {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-two {
                width: 100%;
                height: 450rpx;
                margin-bottom: 24rpx;
                padding: 30rpx 0rpx 0rpx 41rpx;
                border-radius: 20rpx;
                background: #ffffff;
    
                .text-six {
                    width: 168rpx;
                    margin-bottom: 24rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                }
    
                .wraper-row-three {
                    width: 580.2rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 10rpx 18rpx;
                    padding-right: 4.2rpx;
    
                    .img-five {
                        width: 100rpx;
                        height: 100rpx;
                        margin-top: 6rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-six {
                        width: 100rpx;
                        height: 100rpx;
                        margin-top: 6rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-seven {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-eight {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-four {
                    width: 552.2rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 30rpx 32rpx;
                    padding-right: 4.2rpx;
    
                    .text-seven {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-eight {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-nine {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-ten {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
    
                .wraper-row-five {
                    width: 580.2rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 16rpx 18rpx;
                    padding-right: 4.2rpx;
    
                    .img-nine {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-ten {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-eleven {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-twelve {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-six {
                    width: 567.2rpx;
                    justify-content: space-between;
                    margin: 1rpx 0rpx 0rpx 32rpx;
                    padding-right: 3.2rpx;
    
                    .text-eleven {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-twelve {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-thirteen {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-fourteen {
                        width: 100rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-three {
                width: 100%;
                margin-bottom: 24rpx;
                padding: 30rpx 0rpx 31rpx 41rpx;
                border-radius: 20rpx;
                background: #ffffff;
    
                .text-fifteen {
                    width: 168rpx;
                    margin-bottom: 30rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                }
    
                .wraper-row-seven {
                    width: 585rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 24rpx 20rpx;
                    padding-right: 1rpx;
    
                    .img-thirteen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-fourteen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-fifteen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-sixteen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-eight {
                    width: 595rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 36rpx 20rpx;
                    padding-right: 1rpx;
    
                    .text-sixteen {
                        width: 100rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-seventeen {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-eighteen {
                        width: 100rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-nineteen {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
    
                .wraper-row-nine {
                    width: 580rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 14rpx 20rpx;
                    padding-right: 1rpx;
    
                    .img-seventeen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-eighteen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-nineteen {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-twenty {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-ten {
                    width: 581rpx;
                    justify-content: space-between;
                    margin-left: 20rpx;
                    padding-right: 2rpx;
    
                    .text-twenty {
                        width: 100rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-20 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-21 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-22 {
                        width: 100rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-four {
                width: 100%;
                margin-bottom: 24rpx;
                padding: 30rpx 0rpx 39rpx 41rpx;
                border-radius: 20rpx;
                background: #ffffff;
    
                .text-23 {
                    width: 168rpx;
                    margin-bottom: 30rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                }
    
                .wraper-row-eleven {
                    width: 581rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 12rpx 18rpx;
                    padding-right: 1rpx;
    
                    .img-20 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-21 {
                        width: 96rpx;
                        height: 100rpx;
                        margin-top: 2rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-22 {
                        width: 96rpx;
                        height: 100rpx;
                        margin-top: 2rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-23 {
                        width: 96rpx;
                        height: 100rpx;
                        margin-top: 2rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-twelve {
                    width: 581rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 40rpx 20rpx;
                    padding-right: 1rpx;
    
                    .text-24 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-25 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-26 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-27 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
    
                .wraper-row-thirteen {
                    width: 581rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 12rpx 20rpx;
    
                    .img-24 {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-25 {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-26 {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-27 {
                        width: 96rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-fourteen {
                    width: 580rpx;
                    justify-content: space-between;
                    margin-left: 20rpx;
    
                    .text-28 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-29 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-30 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-31 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-five {
                width: 100%;
                margin-bottom: 24rpx;
                padding: 30rpx 0rpx 41rpx 40rpx;
                border-radius: 20rpx;
                background: #ffffff;
    
                .text-32 {
                    width: 168rpx;
                    margin-bottom: 30rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                }
    
                .wraper-row-fifteen {
                    width: 582rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 16rpx 20rpx;
    
                    .img-28 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-29 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-30 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-31 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-sixteen {
                    width: 544rpx;
                    margin: 0rpx 0rpx 32rpx 32rpx;
    
                    .text-33 {
                        margin-right: 96rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-34 {
                        margin-right: 120rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-35 {
                        margin-right: 112rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-36 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
    
                .wraper-row-seventeen {
                    width: 582rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 16rpx 20rpx;
    
                    .img-32 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-33 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-34 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
    
                    .img-35 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 60rpx;
                    }
                }
    
                .wraper-row-eighteen {
                    width: 544rpx;
                    margin-left: 32rpx;
    
                    .text-37 {
                        margin-right: 94rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-38 {
                        margin-right: 120rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-39 {
                        margin-right: 112rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-40 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-six {
                width: 100%;
                height: 294rpx;
                padding: 30rpx 0rpx 0rpx 40rpx;
                border-radius: 20rpx;
                background: #ffffff;
    
                .text-41 {
                    width: 112rpx;
                    margin-bottom: 30rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                }
    
                .img-36 {
                    width: 100rpx;
                    height: 100rpx;
                    margin: 0rpx 0rpx -100rpx 20rpx;
                    border-radius: 60rpx;
                }
    
                .img-37 {
                    width: 100rpx;
                    height: 100rpx;
                    margin: 0rpx 0rpx -100rpx 176rpx;
                    border-radius: 60rpx;
                }
    
                .img-38 {
                    width: 100rpx;
                    height: 100rpx;
                    margin: 0rpx 0rpx -100rpx 502rpx;
                    border-radius: 60rpx;
                }
    
                .img-39 {
                    width: 100rpx;
                    height: 100rpx;
                    margin: 0rpx 0rpx 16rpx 338rpx;
                    border-radius: 60rpx;
                }
    
                .wraper-row-nineteen {
                    width: 587rpx;
                    margin-left: 10rpx;
    
                    .text-42 {
                        margin-right: 46rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-43 {
                        width: 100rpx;
                        margin-right: 84rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-44 {
                        margin-right: 80rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
    
                    .text-45 {
                        width: 100rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
        }
    </style>
    <script>
    	export default{
    		data(){
    			return{
    				term:[],
    				posts:[],
    				pages:0,
    				paged:1,
    				loadingStatus:true,
    				loadmore:'waiting',
    				loadLocked:false
    			}
    		},
    		onReady() {
    			uni.setNavigationBarColor({
    				frontColor: "#000000",	//文字颜色
    				backgroundColor: "#ffffff"	//底部背景色
    			})
    			uni.setNavigationBarTitle({
    				title:this.opt.mNames.circle_name
    			})
    		},
    		computed:{
    			opt(){
    				return this.$store.state.opt
    			}
    		},
    		onShareAppMessage(res){
    			return {
    			  title: this.opt.mNames.circle_name,
    			  path: '/pages/circle/index'
    			}
    		},
    
    
    	}
    </script>

    [/content_hide]

  • UNIapp 切片,轻应用页面代码参考备份1

    UNIapp 切片,轻应用页面代码参考备份1

    卡片服务快应用VUE.js代码参考:

    完整的vue.js代码如下:

    [content_hide]

    
    <template>
        <view class="flex-col homepage">
            <view class="flex-col wrapper">
                <text class="txt01">
                    快捷服务
                </text>
                <view class="flex-row wraper-row">
                    <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/wnl/"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/wnl.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://weatherat.com/#/"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/tianqi.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/xlcs.png"></image>
    </navigator>
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%B0%8F%E8%AF%B4"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/xiaoshuo.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/faxian/chisha/"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/chisha.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-two">
                    <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/wnl/">日历黄历</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=https://weatherat.com/#/">新天气象</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam">心理评测</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E5%B0%8F%E8%AF%B4">免费小说</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/faxian/chisha/">今天吃啥</navigator>
                    </text>
                </view>
                <view class="flex-row wraper-row-three">
                    <navigator url="/pages/web-view/web-view?url=https://h5.codefuture.top/widgetbox-h5/quickcard/poetry"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/yulu.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://m.hao123.com/next/website"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/wzdq.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://www.hipdf.cn/all-tools"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/pdf.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://finance.sina.cn/honor/set.shtml#/hq/"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/sina.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=https://piaofang.maoyan.com/box-office"><image class="icon10" src="http://cha.pmself.com/images/kyinyon/maoyan.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-four">
                    <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=https://h5.codefuture.top/widgetbox-h5/quickcard/poetry">每日诗词</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=http://m.hao123.com/next/website">网址大全</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=https://www.hipdf.cn/all-tools">文档转换</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=https://finance.sina.cn/honor/set.shtml#/hq/">财经行情</navigator>
                    </text> <text class="txt010">
                    <navigator url="/pages/web-view/web-view?url=https://piaofang.maoyan.com/box-office">猫眼票房</navigator>
                    </text>
                </view>
            </view><text class="txt02">
                卡片服务
            </text>
            <view class="flex-row wrapper-two">
                <view class="flex-col ka1">
                    <image class="pic001" src="http://cha.pmself.com/images/kyinyon/xlcs.png"></image><text class="text013">
                        不好的心情随时有
                    </text> <text class="text014">
                        娱乐却常在
                    </text>
                    <view class="box">
                        <text class="text015">
                            <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam">去评测</navigator>
                        </text>
                    </view><text class="text011">
                        <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam">心理评测</navigator>
                    </text>
                </view>
                <view class="flex-col ka2">
                    <view class="flex-row box-two">
                        <text class="text012">
                        <navigator url="/pages/web-view/web-view?url=https://img.ithome.com/app/calendar/event_list.html">IT事件日历</navigator>
                        </text>
                        <image class="pic002" src="http://cha.pmself.com/images/kyinyon/it.png"></image>
                    </view><text class="text016">
                        <navigator url="/pages/web-view/web-view?url=https://img.ithome.com/app/calendar/event_list.html">互联网耀新品发布大会...</navigator>
                    </text> <text class="text02">
                        12:09 19:25 线上
                    </text> <text class="text017">
                        <navigator url="/pages/web-view/web-view?url=https://img.ithome.com/app/calendar/event_list.html">寒冬之日投资该如何做...</navigator>
                    </text> <text class="text04">
                        12:09 19:25 线上
                    </text>
                </view>
            </view>
            <view class="flex-row wrapper-three">
                <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E6%98%9F%E5%BA%A7"><view class="ka3"></view></navigator>
                <view class="wraper-col">
                    <navigator url="/pages/web-view/web-view?url=https://m.cctv.com/"><view class="ka4"></view></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://sm.fatelist.com/?ac=bazijp"><view class="ka5"></view></navigator>
                </view>
            </view>
            <view class="flex-row wrapper-four">
                <navigator url="/pages/web-view/web-view?url=http://scm.artupu.com"><view class="ka6"></view></navigator>
                <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E7%BE%8E%E5%A5%B3%E5%A3%81%E7%BA%B8"><view class="ka7"></view></navigator>
            </view>
            <view class="flex-col ka8">
                <text class="text021">
                    <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi">岁月如水,心事如何述说...</navigator>
                </text> <text class="text">
                    人生一场,输了什么,不能输了心情
                </text> <text class="text021">
                    <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi">倾听心声,世界与你同在...</navigator>
                </text> <text class="text-two">
                    倾听师一对一只为与你交流
                </text>
                <image class="pic003" src="http://cha.pmself.com/images/kyinyon/xlcs.png"></image><text class="text019">
                <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi">倾听烦恼有谁说 - 倾愈</navigator>
                </text>
                <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi"><image class="pic002-two" src="http://cha.pmself.com/images/kyinyon/hxq.png"></image></navigator>
            </view><text class="text035">
                生活服务
            </text>
            <view class="flex-row wrapper-five">
                <view class="flex-row ka9">
    				<navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E8%87%B4%E6%95%AC%E6%88%91%E4%BB%AC%E7%9A%84%E5%A9%9A%E5%A7%BB%E5%92%8C%E6%9B%BE%E7%BB%8F%E5%B9%B4%E8%BD%BB%E5%8B%87%E6%95%A2%E7%9A%84%E6%88%91%E4%BB%AC&ts=0&t_kt=0&ie=utf-8&rsv_iqid=2711515598&rsv_t=9a0agJrBqUdPDLgj3AR5yg1qZPj9XwUWqfqA8VqClS2HMQKQADMg&sa=ib&rsv_pq=2711515598&rsv_sug4=1670490223683&tj=1&ss=110&inputT=1670490224075&sugid=5832823035201"><image class="pic0006" src="http://cha.pmself.com/images/kyinyon/pic/hunyin.jpg"></image></navigator>
                    <text class="text022">
                        <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E8%87%B4%E6%95%AC%E6%88%91%E4%BB%AC%E7%9A%84%E5%A9%9A%E5%A7%BB%E5%92%8C%E6%9B%BE%E7%BB%8F%E5%B9%B4%E8%BD%BB%E5%8B%87%E6%95%A2%E7%9A%84%E6%88%91%E4%BB%AC&ts=0&t_kt=0&ie=utf-8&rsv_iqid=2711515598&rsv_t=9a0agJrBqUdPDLgj3AR5yg1qZPj9XwUWqfqA8VqClS2HMQKQADMg&sa=ib&rsv_pq=2711515598&rsv_sug4=1670490223683&tj=1&ss=110&inputT=1670490224075&sugid=5832823035201">致敬我们的婚姻和曾经年轻勇敢的我们</navigator>
                    </text>
                </view>
                <navigator url="/pages/web-view/web-view?url=http://dsqm.fatelist.com/?ac=dashi"><view class="ka10">
                </view></navigator>
            </view>
            <view class="flex-col ka11">
                <view class="flex-row wraper-row-five">
                    <view class="flex-col flex-row box-three">
                        <view class="flex-row box-row">
                            <image class="pic009" src="http://cha.pmself.com/images/kyinyon/jijiu.png"></image><text class="text025">
                                <navigator url="/pages/web-view/web-view?url=https://m.youlai.cn/jijiu">急救百科</navigator>
                            </text>
                        </view><text class="text026">
                            人生必学急救术
                        </text>
                    </view>
                    <navigator url="/pages/web-view/web-view?url=http://m.douyu.com/"><image class="icon20" src="http://cha.pmself.com/images/kyinyon/douyu.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://sm.fatelist.com/?ac=xydd"><image class="icon21" src="http://cha.pmself.com/images/kyinyon/qfdd.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-six">
                    <text class="text027">
                        心肺复苏 海姆立克
                    </text>
                    <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/wnl/"><image class="icon22" src="http://cha.pmself.com/images/kyinyon/wnl.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://dsqm.fatelist.com/?ac=dashi"><image class="icon23" src="http://cha.pmself.com/images/kyinyon/qiming.png"></image></navigator>
                </view>
                <view class="wraper-row-seven">
                    <text class="text028">
                        <navigator url="/pages/web-view/web-view?url=https://m.youlai.cn/jijiu">GET急救技能</navigator>
                    </text>
                </view>
            </view>
            <view class="flex-col ka12">
                <view class="flex-row wraper-row-eight">
                    <image class="pic009" src="http://cha.pmself.com/images/kyinyon/yunshi.png"></image><text class="text030">
                        禅定心神
                    </text>
                </view>
                <view class="flex-row wraper-row-nine">
                    <navigator url="/pages/web-view/web-view?url=http://xinli.biuhealth.com/mx/chanding.html"><image class="icon13" src="http://cha.pmself.com/images/kyinyon/chanyin.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam"><image class="icon13" src="http://cha.pmself.com/images/kyinyon/xlcs.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi"><image class="icon13" src="http://cha.pmself.com/images/kyinyon/qingyu.png"></image></navigator>
                    <navigator url="/pages/web-view/web-view?url=http://xinli.biuhealth.com/mx/muyu.html"><image class="icon14" src="http://cha.pmself.com/images/kyinyon/muyu.png"></image></navigator>
                </view>
                <view class="flex-row wraper-row-ten">
                    <text class="text039">
                        <navigator url="/pages/web-view/web-view?url=http://xinli.biuhealth.com/mx/chanding.html">禅音缭绕</navigator>
                    </text> <text class="text039">
                        <navigator url="/pages/web-view/web-view?url=http://xlcs.biuhealth.com/Exam">心理评测</navigator>
                    </text> <text class="text039">
                        <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi">倾听语聊</navigator>
                    </text> <text class="text039">
                        <navigator url="/pages/web-view/web-view?url=http://xinli.biuhealth.com/mx/muyu.html">电子木鱼</navigator>
                    </text>
                </view>
            </view><text class="text035">
                更多应用
            </text>
            <view class="flex-row wrapper-six">
                <navigator url="/pages/web-view/web-view?url=http://game.qvkanwen.com/allegoricalIndex"><view class="ka14"></view></navigator>
                <view class="flex-col ka13">
                    <view class="flex-row box-four">
                        <navigator url="/pages/web-view/web-view?url=http://sm.fatelist.com/"><image class="icon18" src="http://cha.pmself.com/images/kyinyon/cesuan-logo.png"></image></navigator>
                        <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/wnl/"><image class="icon18" src="http://cha.pmself.com/images/kyinyon/wnl.png"></image></navigator>
                    </view>
                    <view class="flex-row box-five">
                        <text class="text039">
                            <navigator url="/pages/web-view/web-view?url=http://sm.fatelist.com/">永乐测算</navigator>
                        </text> <text class="text039">
                            <navigator url="/pages/web-view/web-view?url=http://wnl.fatelist.com/wnl/">万年历</navigator>
                        </text>
                    </view>
                </view>
            </view>
            <view class="flex-row wrapper-seven">
                <view class="flex-col ka15">
                    <view class="flex-row box-six">
                        <navigator url="/pages/web-view/web-view?url=http://dsqm.fatelist.com/?ac=dashi"><image class="icon18" src="http://cha.pmself.com/images/kyinyon/qiming.png"></image></navigator><text class="text040">
                        <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi">倾愈倾诉</navigator>
                        </text>
                    </view>
                    <view class="flex-row box-seven">
                        <text class="text039">
                        <navigator url="/pages/web-view/web-view?url=http://dsqm.fatelist.com/?ac=dashi">从龙起名</navigator>
                        </text>
                        <navigator url="/pages/web-view/web-view?url=http://dsxinli.fatelist.com/?ac=dashi"><image class="icon18" src="http://cha.pmself.com/images/kyinyon/qingyu.png"></image></navigator>
                    </view>
                </view>
                <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/from=1020854c/s?word=%E4%B8%AD%E5%8C%BB"><view class="ka16"></view></navigator>
            </view>
            <view class="flex-row wrapper-eight">
                <navigator url="/pages/web-view/web-view?url=https://m.kanabc.com/mf/list?aid=3a4g78zb"><view class="ka17"></view></navigator>
                <navigator url="/pages/web-view/web-view?url=https://m.baidu.com/ssid=204c637261776c70773408/s?word=%E6%9D%A8%E5%B9%82"><view class="ka18"></view></navigator>
            </view>
    		<text class="text035">
    	
    		</text>
        </view>
    </template>
    <script>
        export default {
            data() {
                return {}
            },
            methods: {
    
            }
        }
    </script>
    <style lang="scss" scoped>
        /** 全局样式-开始,建议放在公共css样式文件中,比如common.css 或app.vue文件 */
    
        html,
        body {
            margin: 0;
            width: 100%;
            height: 100%;
            font-size: 16px
        }
    
        view,
        text,
        image {
            position: relative;
            box-sizing: border-box;
            flex-shrink: 0;
        }
    
        .flex-col {
            display: flex;
            align-items: flex-start;
            flex-direction: column;
        }
    
        .flex-row {
            display: flex;
            align-items: flex-start;
        }
    
        .flex-col .flex-row {
            width: 100%
        }
    
        /** 全局样式-结束*/
    
        .homepage {
            padding: 24rpx 24rpx 0rpx 24rpx;
    
            .wrapper {
                width: 100%;
                height: 412rpx;
                margin-bottom: 112rpx;
                padding: 20rpx 0rpx 0rpx 31rpx;
                border-radius: 20rpx;
                background: #ffffff;
    
                .txt01 {
                    width: 128rpx;
                    margin-bottom: 26rpx;
                    font-size: 32rpx;
                    font-weight: 700;
                }
    
                .wraper-row {
                    width: 601.6rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 10rpx 18rpx;
                    padding-right: 1.6rpx;
    
                    .icon10 {
                        width: 80rpx;
                        height: 80rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
                }
    
                .wraper-row-two {
                    width: 618.6rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 40rpx 10rpx;
                    padding-right: 2.6rpx;
    
                    .txt010 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
    
                .wraper-row-three {
                    width: 602.6rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 10rpx 18rpx;
                    padding-right: 2.6rpx;
    
                    .icon10 {
                        width: 80rpx;
                        height: 80rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
                }
    
                .wraper-row-four {
                    width: 618.6rpx;
                    justify-content: space-between;
                    margin-left: 10rpx;
                    padding-right: 2.6rpx;
    
                    .txt010 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-two {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
    
                .ka1 {
                    width: 320rpx;
                    height: 320rpx;
                    padding: 24rpx 0rpx 0rpx 25rpx;
                    border-radius: 40rpx;
                    background: #67CFCD;
                    box-shadow: 1px 2px 5px #BCBEBE;
    
                    .pic001 {
                        width: 40rpx;
                        height: 40rpx;
                        margin: 0rpx 0rpx 34rpx 220rpx;
                        border-radius: 40rpx;
                    }
    
                    .text013 {
                        width: 192rpx;
                        margin-bottom: 20rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                        color: #ffffff;
                    }
    
                    .text014 {
                        width: 120rpx;
                        margin-bottom: 34rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                        color: #ffffff;
                    }
    
                    .box {
                        width: 200rpx;
                        margin-left: 30rpx;
                        padding: 11rpx 0rpx;
                        border-radius: 40rpx;
                        background: #ffffff;
                        text-align: center;
    
                        .text015 {
                            font-size: 28rpx;
                            line-height: 28rpx;
                            color: #67CFCD;
                        }
                    }
    
                    .text011 {
                        top: 30rpx;
                        left: 24rpx;
                        font-size: 28rpx;
                        position: absolute;
                        line-height: 28rpx;
                        font-weight: 600;
                        color: #ffffff;
                    }
                }
    
                .ka2 {
                    width: 320rpx;
                    height: 320rpx;
                    padding: 24rpx 0rpx 0rpx 25rpx;
                    border-width: 2rpx;
                    border-color: #f0e0e0;
                    border-radius: 40rpx;
                    background: #ffffff url(http://cha.pmself.com/images/kyinyon/pic/it.png);
                    box-shadow: 1px 1px 5px #BCBEBE;
    
                    .box-two {
                        width: 261rpx;
                        justify-content: space-between;
                        margin-bottom: 36rpx;
                        padding-right: 1rpx;
    
                        .text012 {
                            margin-top: 6rpx;
                            font-size: 28rpx;
                            line-height: 28rpx;
                            font-weight: 600;
                            color: #000000;
                        }
    
                        .pic002 {
                            width: 40rpx;
                            height: 40rpx;
                            border-radius: 20rpx;
                        }
                    }
    
                    .text016 {
                        width: 262rpx;
                        margin-bottom: 6rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                        font-weight: 600;
                        color: #000000;
                    }
    
                    .text02 {
                        width: 188rpx;
                        margin-bottom: 24rpx;
                        font-size: 20rpx;
                        line-height: 28rpx;
                        color: #a5a1a1;
                    }
    
                    .text017 {
                        width: 262rpx;
                        margin-bottom: 8rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                        font-weight: 600;
                        color: #000000;
                    }
    
                    .text04 {
                        width: 188rpx;
                        font-size: 20rpx;
                        line-height: 28rpx;
                        color: #a5a1a1;
                    }
                }
            }
    
            .wrapper-three {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
    
                .ka3 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #C1EAEC url(http://cha.pmself.com/images/kyinyon/pic/xingzuo.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 2px 5px #BCBEBE;
                }
    
                .wraper-col {
                    width: 320rpx;
    
                    .ka4 {
                        width: 100%;
                        height: 144rpx;
                        margin-bottom: 30rpx;
                        border-radius: 40rpx;
                        background: #ffffff url(http://cha.pmself.com/images/kyinyon/pic/yangshi.jpg);
                        background-size: 100% 100%;
                        box-shadow: 1px 1px 5px #BCBEBE;
                    }
    
                    .ka5 {
                        width: 100%;
                        height: 146rpx;
                        border-radius: 40rpx;
                        background: #ffffff url(http://cha.pmself.com/images/kyinyon/pic/jinnang2022.jpg);
                        background-size: 100% 100%;
                        box-shadow: 1px 1px 5px #BCBEBE;
                    }
                }
            }
    
            .wrapper-four {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
    
                .ka6 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #BCBEBE url(http://cha.pmself.com/images/kyinyon/pic/shici.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 2px 5px #BCBEBE;
                }
    
                .ka7 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #C1EAEC url(http://cha.pmself.com/images/kyinyon/pic/hmz_b.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 1px 5px #BCBEBE;
                }
            }
    
            .ka8 {
                width: 670rpx;
                margin-right: auto;
                margin-bottom: 40rpx;
                margin-left: auto;
                padding: 98rpx 0rpx 48rpx 25rpx;
                border-radius: 40rpx;
                background: #ffffff url(http://cha.pmself.com/images/kyinyon/pic/xinqing.png);
                box-shadow: 1px 2px 5px #BCBEBE;
    
                .text021 {
                    width: 332rpx;
                    margin-bottom: 10rpx;
                    font-size: 28rpx;
                    line-height: 28rpx;
                    font-weight: 600;
                    color: #000000;
                }
    
                .text {
                    width: 384rpx;
                    margin-bottom: 32rpx;
                    font-size: 24rpx;
                    line-height: 28rpx;
                    color: #b2aeae;
                }
    
                .text-two {
                    width: 288rpx;
                    font-size: 24rpx;
                    line-height: 28rpx;
                    color: #a39f9f;
                }
    
                .pic003 {
                    width: 40rpx;
                    height: 40rpx;
                    border-radius: 40rpx;
                    top: 30rpx;
                    left: 24rpx;
                    position: absolute;
                }
    
                .text019 {
                    top: 36rpx;
                    left: 84rpx;
                    font-size: 28rpx;
                    position: absolute;
                    line-height: 28rpx;
                    font-weight: 700;
                    color: #000000;
                }
    
                .pic002-two {
                    width: 160rpx;
                    height: 160rpx;
                    border-radius: 20rpx;
                    bottom: 70rpx;
                    right: 90rpx;
                    box-shadow: 1px 2px 5px #BCBEBE;
                    position: absolute;
                }
            }
    
            .text035 {
                width: 128rpx;
                margin: 0rpx 0rpx 40rpx 26rpx;
                font-size: 32rpx;
                font-weight: 700;
            }
    
            .wrapper-five {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
    
                .ka9 {
                    width: 320rpx;
                    height: 320rpx;
                    padding: 20rpx 0rpx 0rpx 18rpx;
                    border-radius: 40rpx;
                    background: #E5625A;
                    box-shadow: 1px 2px 5px #BCBEBE;
    
                    .pic0006 {
                        width: 282rpx;
                        height: 180rpx;
                        border-radius: 40rpx;
                    }
    
                    .text022 {
                        bottom: 46rpx;
                        left: 20rpx;
                        font-size: 28rpx;
                        position: absolute;
                        line-height: 28rpx;
                        color: #ffffff;
                    }
                }
    
                .ka10 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #C1EAEC url(http://cha.pmself.com/images/kyinyon/pic/qmad.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 1px 5px #BCBEBE;
                }
            }
    
            .ka11 {
                width: 670rpx;
                height: 310rpx;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
                padding: 24rpx 0rpx 0rpx 24rpx;
                border-radius: 40rpx;
                background: #9DA1EB;
                box-shadow: 1px 2px 5px #BCBEBE;
    
                .wraper-row-five {
                    width: 576rpx;
                    margin-bottom: 10rpx;
    
                    .box-three {
                        width: 252rpx;
                        margin-right: 104rpx;
    
                        .box-row {
                            width: 172rpx;
                            justify-content: space-between;
                            margin-bottom: 44rpx;
    
                            .pic009 {
                                width: 40rpx;
                                height: 40rpx;
                                border-radius: 40rpx;
                            }
    
                            .text025 {
                                margin-top: 6rpx;
                                font-size: 28rpx;
                                line-height: 28rpx;
                                font-weight: 700;
                                color: #ffffff;
                            }
                        }
    
                        .text026 {
                            font-size: 36rpx;
                            line-height: 28rpx;
                            color: #ffffff;
                        }
                    }
    
                    .icon20 {
                        width: 100rpx;
                        height: 100rpx;
                        margin: 22rpx 20rpx 0rpx 0rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
    
                    .icon21 {
                        width: 100rpx;
                        height: 100rpx;
                        margin-top: 22rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
                }
    
                .wraper-row-six {
                    width: 576rpx;
    
                    .text027 {
                        margin-right: 156rpx;
                        font-size: 24rpx;
                        line-height: 28rpx;
                        color: #ffffff;
                        outline: 0rpx;
                    }
    
                    .icon22 {
                        width: 100rpx;
                        height: 100rpx;
                        margin: 10rpx 20rpx 0rpx 0rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
    
                    .icon23 {
                        width: 100rpx;
                        height: 100rpx;
                        margin-top: 10rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
                }
    
                .wraper-row-seven {
                    width: 200rpx;
                    padding: 9rpx 0rpx 13rpx 0rpx;
                    border-radius: 40rpx;
                    bottom: 40rpx;
                    left: 40rpx;
                    background: #ffffff;
                    position: absolute;
                    text-align: center;
    
                    .text028 {
                        font-size: 24rpx;
                        line-height: 28rpx;
                        color: #9DA1EB;
                    }
                }
            }
    
            .ka12 {
                width: 670rpx;
                height: 310rpx;
                margin-right: auto;
                margin-bottom: 40rpx;
                margin-left: auto;
                padding: 24rpx 0rpx 0rpx 30rpx;
                border-radius: 40rpx;
                background: #ffffff url(http://cha.pmself.com/images/kyinyon/pic/chan.png);
                box-shadow: 1px 2px 5px #BCBEBE;
    
                .wraper-row-eight {
                    width: 178rpx;
                    justify-content: space-between;
                    margin-bottom: 40rpx;
    
                    .pic009 {
                        width: 40rpx;
                        height: 40rpx;
                        border-radius: 40rpx;
                    }
    
                    .text030 {
                        margin-top: 6rpx;
                        font-size: 28rpx;
                        line-height: 28rpx;
                        font-weight: 700;
                    }
                }
    
                .wraper-row-nine {
                    width: 550rpx;
                    justify-content: space-between;
                    margin: 0rpx 0rpx 16rpx 20rpx;
                    padding-right: 2rpx;
    
                    .icon13 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 20rpx;
                        box-shadow: 1px 2px 5px #BCBEBE;
                    }
    
                    .icon14 {
                        width: 100rpx;
                        height: 100rpx;
                        border-radius: 20rpx;
                        box-shadow: 11px 2px 5px #BCBEBEpx 1px 2px #EFF1F9;
                    }
                }
    
                .wraper-row-ten {
                    width: 562rpx;
                    justify-content: space-between;
                    margin: 1rpx 0rpx 0rpx 14rpx;
                    padding-right: 2rpx;
    
                    .text039 {
                        font-size: 28rpx;
                        line-height: 28rpx;
                    }
                }
            }
    
            .wrapper-six {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
    
                .ka14 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #fff url(http://cha.pmself.com/images/kyinyon/pic/kaixin001.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 2px 5px #BCBEBE;
                }
    
                .ka13 {
                    width: 320rpx;
    				height: 320rpx;
                    padding: 100rpx 0rpx 58rpx 28rpx;
                    border-radius: 40rpx;
                    background: #C1EAEC;
                    box-shadow: 1px 1px 5px #BCBEBE;
    
                    .box-four {
                        width: 250rpx;
                        justify-content: space-between;
                        margin: 0rpx 0rpx 24rpx 2rpx;
    
                        .icon18 {
                            width: 110rpx;
                            height: 110rpx;
                            border-radius: 20rpx;
                            box-shadow: 1px 2px 5px #BCBEBE;
                        }
                    }
    
                    .box-five {
                        width: 239rpx;
                        justify-content: space-between;
                        padding-right: 1rpx;
    
                        .text039 {
                            font-size: 28rpx;
                            line-height: 28rpx;
                        }
                    }
                }
            }
    
            .wrapper-seven {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-bottom: 30rpx;
                margin-left: auto;
    
                .ka15 {
                    width: 320rpx;
    				height: 320rpx;
                    padding: 30rpx 0rpx 40rpx 29rpx;
                    border-radius: 40rpx;
                    background: #9DA1EB;
                    box-shadow: 1px 2px 5px #BCBEBE;
    
                    .box-six {
                        width: 249rpx;
                        justify-content: space-between;
                        margin: 0rpx 0rpx 30rpx 2rpx;
                        padding-right: 1rpx;
    
                        .icon18 {
                            width: 110rpx;
                            height: 110rpx;
                            border-radius: 20rpx;
                            box-shadow: 1px 2px 5px #BCBEBE;
                        }
    
                        .text040 {
                            margin-top: 82rpx;
                            font-size: 28rpx;
                            line-height: 28rpx;
                        }
                    }
    
                    .box-seven {
                        width: 251rpx;
                        justify-content: space-between;
                        padding-right: 1rpx;
    
                        .text039 {
                            font-size: 28rpx;
                            line-height: 28rpx;
                        }
    
                        .icon18 {
                            width: 110rpx;
                            height: 110rpx;
                            border-radius: 20rpx;
                            box-shadow: 1px 2px 5px #BCBEBE;
                        }
                    }
                }
    
                .ka16 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #eef1ef url(http://cha.pmself.com/images/kyinyon/pic/zhongyi.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 1px 5px #BCBEBE;
                }
            }
    
            .wrapper-eight {
                width: 670rpx;
                justify-content: space-between;
                margin-right: auto;
                margin-left: auto;
    
                .ka17 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #BCBEBE url(http://cha.pmself.com/images/kyinyon/pic/kaixin002.jpg);
                    background-size: 100% 100%;
                    box-shadow: 1px 2px 5px #BCBEBE;
                }
    
                .ka18 {
                    width: 320rpx;
                    height: 320rpx;
                    border-radius: 40rpx;
                    background: #FCEEE1 url(http://cha.pmself.com/images/kyinyon/pic/ymi.jpg);
                    background-size: 100% 100%;
                    background-position: 0% 0%;
                    box-shadow: 1px 1px 5px #BCBEBE;
                }
            }
    
            .txt02 {
                top: 466rpx;
                left: 50rpx;
                font-size: 32rpx;
                position: absolute;
                font-weight: 700;
            }
        }
    </style>
    <script>
    	export default{
    		data(){
    			return{
    				term:[],
    				posts:[],
    				pages:0,
    				paged:1,
    				loadingStatus:true,
    				loadmore:'waiting',
    				loadLocked:false
    			}
    		},
    		onReady() {
    			uni.setNavigationBarColor({
    				frontColor: "#000000",	//文字颜色
    				backgroundColor: "#ffffff"	//底部背景色
    			})
    			uni.setNavigationBarTitle({
    				title:this.opt.mNames.shop_name
    			})
    		},
    		computed:{
    			opt(){
    				return this.$store.state.opt
    			}
    		},
    		onShareAppMessage(res){
    			return {
    			  title: this.opt.mNames.shop_name,
    			  path: '/pages/shop/index'
    			}
    		},
    
    
    	}
    </script>

    [/content_hide]

  • Searxng尊重隐私的开源元搜索引擎

    Searxng尊重隐私的开源元搜索引擎

    SearXNG 是一个免费的互联网元搜索引擎,它聚合来自各种搜索服务和数据库的结果。用户既不被跟踪也不被分析。

    演示网站:https://searx.owlook.com.cn/

    源代码:https://github.com/searxng/searxng

    https://github.com/searx/searx

           Searx是一个完全免费开源、尊重隐私的搜索引擎平台,它的强大之处在于支持70多种搜索服务的结果,包括文件、图片、地图、音乐、新闻、学术等内容,而且搜索结果来自许多渠道。

           Searx是一个开源项目,代码已经托管至GitHub平台,大家如果有这方面的经验和需求,可以自行搭建。今天只介绍网友搭建的Searx服务。在Searx.space网站里可以看到所有基于Searx程序搭建的搜索引擎网站,选择速度快的使用即可。

            我们随便点击一个,进入主页,可以看到一个十分简洁干净的页面,只有一个搜索框,同时支持高级搜索,只需要点击即可,根据需要选择搜索的内容。

            我们以“微软”为搜索词举例,上面提到该程序是对所有搜索引擎结果的整合,所以我们搜索微软,会得到各大搜索引擎关于微软的全部内容。页面清爽干净,右边也有搜索建议和订阅功能。

            在搜索框下面,我们可以自行选择搜索的内容类型,比如文件、图片、技术,搜索技术的时候,基本来源是GitHub,对于程序员来说,这一点十分强大。如果切换到文件,搜索的内容含有下载链接,也会直接显示,方便不少。

    来波总结
    由于内容篇幅有限,其他功能就让大家自行探索。总的来说,Searx是目前不错的聚合搜索引擎程序,不仅免费开源,而且功能强大,注重隐私的保护,建议喜欢折腾的朋友自行搭建使用。

    Searx:

    源码:https://github.com/searx/searx

    网址:https://searx.space/

  • 西贝莜面村:一碗面凭什么卖的这么贵?

    西贝莜面村:一碗面凭什么卖的这么贵?

    周末加了下班,忙到饭点,刚好乔和小朋友都到公司附近玩,于是约定不回家做饭,到外面吃了再回家。

    转悠了几下,好几个店都是之前吃过的,没有特别的印象,自然就不想再去第二次了,好巧不巧,小家伙一转眼间就跑个没影,最后发现是跑到店里去了,被安啦君骂了一通后,抬头一看这个店面:西贝莜面村,那就选它了。

    01

    环境和点餐过程

    西贝在商场的店面挺大的,应该有好几百平方去了,灯光很足,暖黄的光影,很合吃饭的胃口,厨房都是通透的,一眼就能看到忙碌的师傅们。

    刚好是饭点,整个店面吃饭的人挺多的,空闲座位不多,我们找了个空位坐下来,茶水上的很快,个人很喜欢西贝的这茶具,泡的应该是苦荞茶,茶水也是暖黄色的,看着很舒服。

    西贝莜面村:一碗面凭什么卖的这么贵?

    点餐期间,我们看了一下菜单,最后咨询了服务员小姐姐,是否有餐可以点,小姐姐给出了上美团线上下单,这也可以有有好几个餐可以选择,最后确定了一个双人餐,考虑到我们三个人吃,最后点了一个招牌的西贝莜面’

    点好菜后,服务员把订单送了过来,顺便在桌子上放置了一个沙漏,上面写着25分钟上齐一桌菜,这个服务挺贴心的。

    西贝莜面村:一碗面凭什么卖的这么贵?

    02

    说说菜品

    在餐里, 我们点了一个葱香烤鱼,一个西贝面筋,烤羊肉串,干锅花菜,加2个米饭,茶位2位,餐总价139.

    在网上有很多人讨论茶位费的问题,安啦君点餐时没留意,有关这个争论,也许是每个地方不一样吧,在广东这边,早就被市场教育成习惯了,吃饭都有茶位费,按人头算,就如米饭也是一样,俗称”人头饭“,就是按人头上米粉,一人一碗。

    如沙漏上写的25分钟上齐一桌菜,确实是这样准时,说说菜品,香葱烤鱼是最后上的,还不错;

    干锅花菜平时吃比较多,挺合胃口,都吃完了;

    羊肉串9元一串,哎,和我们楼下的比好不到哪里去;

    西贝面筋可能是出于好奇,上来后发现是凉皮和面筋,可能是饮食习惯的问题,基本上没动;

    说说安啦君特意点的招牌西贝莜面,第一个上菜,颜值在线,味道还可以,但要说到价值,有些落差。

    西贝莜面村:一碗面凭什么卖的这么贵?

    可能安啦君没有点大鱼大肉,没有点到西贝的精华,但上面的这些菜品,说实话,安啦君不敢恭维,哪怕是颜值最高的招牌莜面,也感觉一般般。

    做生意通常说物廉价美,大家吃个实惠,如果做高端服务,西贝的这些菜品又都是从民间来,和我们常见的西餐比没有可比性,和中餐的高端食材比更没有优势,真没明白西贝的定位是如何做到的。

    03 

    西贝莜面背后的故事

    西贝莜面村可以说是一个餐饮届的网红,安啦君好几年前就听说过这个品牌,但是一直都没有去品尝过,给我的印象就是,一碗面,能好到哪里去,再高端,也还是一碗面。

    说说另外一个话题,在几年前,有幸读到偶成效老师在2004年时,写的有关货币与价值的文章,他称国内币面临巨大的对内贬值压力,大排面迟早要涨到30元一碗,而彼时,北京的大排面才3-4块钱一碗。

    这次去西贝吃饭,离2004年有近18年了,安啦君见识到了欧老师的预言,西贝莜面一碗43元,物价确实在涨。

    一碗面,如果我们在普通的餐馆,大约在15元左右,放到西贝,这碗面价值40多,从口感上来说,2者相差不大,那么西贝莜面的价值,只能说体现在其附加的服务与品牌价值上了。

    西贝背后的故事很励志,西贝莜面村是西贝餐饮集团旗下的主品牌,主营中式休闲正餐,西北菜。

    1988年西贝的老板贾国龙在内蒙古创建了西贝餐饮,历经30年,到2018年,在全国40多个城市拥有200多家门店,员工16000多人。这个是一个非常成功的创业。

    从内蒙古走向全国,西贝也面临了很多困境,比如最让人乐道的就是西贝莜面村这个品牌名字,很多人并不认识“莜”这个字,推广很难,老板贾国龙给西贝取过很多名称,从“西贝西北民间菜”,到“西贝西北菜”,到“西贝烹羊专家”,最后又改回了“西贝莜面村”。

    为了教会公众认识“莜”字,2014年,贾国龙与华与华公司合作,创作出I❤莜(yóu)超级符号,用谐音“I love you”的方式,推广“莜”的读音,大大提升了西贝莜面村的认知度。

    教育用户是一件很费力气的事情,西贝知道难,还是选择了去做,最后还做成了,这不得不说,西贝在品牌打造上面还是挺给力的,当年很多网红餐饮品牌也做得非常不多,如“雕爷牛腩”,但能够挺到如今的屈指可数,西贝笑到了最后。

    近几年,疫情的影响给餐饮企业带来了巨大的影响,西贝莜面村2021年营收53亿,位居中式面馆第三, 纵然安啦君对西贝莜面村的印象一般般,但不得不说,西贝莜面村做得非常成功。

    能够坚持做一件事,做好一件事确实不容易,西贝老板贾国龙,死磕莜面的几十年,令人敬佩。

  • iOS金融类APP常见被拒绝原因分析及解决

    iOS金融类APP常见被拒绝原因分析及解决

    对于监管敏感的行业和应用,苹果应用商店的审核更为苛刻,接下来深圳APP开发公司【红鸟网络】分析了金融类APP被AppStore审核拒绝的常见愿意以及解决方法。

    我们首先要知道,苹果审核团队(App Store Review)依据的审核标准有2个,一个是《App Store 审核指南》,一个是《苹果开发者计划许可协议》。苹果2017年开始,苹果对APP的审核越来越严格,同时审核依据越来越紧跟国内的政策走,比如国家对金融监管越来越严,金融类应用的审核开始收紧;比如今年国家对金融监管和v*n监管收紧,大量v*n类应用被下线。

    对于金融类APP,常见的APP审核被拒原因有一下几类:没有贷款资质被拒、不诚信或欺诈被拒、应用完整性被拒、准确的元数据被拒、最低功能要求被拒、垃圾应用被拒。

    一、没有贷款资质被拒

    被拒理由

    应用的开发商名称和公司名称与应用或应用元数据中的金融机构不匹配,违反了《苹果开发者计划许可协议》你的应用必须在反应“金融机构名称”的开发商名称和公司名称下发布。如果你代表客户开发了这些应用程序,请建议你的客户将你加入他们的苹果开发者账户。

    被拒原因分析

    1.app的公司主体,没有提供金融服务的资质;

    2.金融类app只能在app公司主体的开发者账号上传,不能在个人或委托公司的开发者账号上传;

    3.app名称没有反映公司品牌;

    4.app名称与公司名称不对应,未产生品牌归属及关联性;

    应对方式

    1、证明你的公司,有提供金融服务的资质。

    如果app确实是提供的金融服务,app的公司主体有提供金融服务的资质,可将资金证明(如营业执照)发给苹果审核团队。

    如果app是提供的金融服务,但是没有相关资质,需要将app放在有资质的公司主体的账号下提交。

    如果app不是提供金融服务,但苹果误以为是金融服务,可向苹果解释业务模式,并提供相关证明,比如p2p模式,比如助贷模式。

    2、如果是个人开发者账号提交的应用,将个人开发者账号升级为企业开发者账号后,再提交;

    3、如果是其他开发者账号(比如外包)替你开发,按照苹果要求走,将其他开发账号添加到你的苹果开发者账号下(在“用户和职能-添加iTunes Connect用户”操作);

    4、修改app名称,让app名称和公司品牌有关联。如公司是“马上消费金融股份有限公司”,app名称可以修改为“马上贷”后,重新提交;

    5、提交“软件著作权登记证书”,或者“商标证书”,向苹果证明产品名称与公司的关联性;

    6、向苹果审核团队阐述app功能的运营主体、技术支持网站等,来证明app和公司的的所属关系;

    如,在你的app“关于我们”中,中英文介绍公司,介绍产品归属该公司。

    如,技术支持网站,进一步介绍公司和说明产品归属该公司。

    二、不诚信或欺诈被拒

    被拒理由

    我们已经确定你的苹果开发者计划会员资格或与你的开发者帐户相关联的其他会员资格(同一个开发者,有两个或者多个会员账号)已被用于不诚实或欺诈活动。《苹果开发者计划许可协议》第3.2(f)节是禁止这一行为的:

    “你不得直接或间接地采取任何旨在干扰苹果软件或服务、本协议的意图或苹果的商业惯例的行为,包括但不限于采取可能阻碍App Store、B2B计划或本计划的执行或预期用途的行为。”由于此活动,你将无法再提交/更新应用。继续从事不诚实行为或欺诈行为可能导致从App Store中删除你的应用,并终止你的Apple开发人员计划会员资格和所有相关会员资格。

    被拒原因分析

    1.首先,苹果审核人员已经确定你的苹果开发者计划会员账号已被用于不诚实或欺诈活动;

    2.或者你的会员账号没有违规,但和你账号关联的其他开发者账号有违规,被苹果审核人员发现;

    3.你的行为违反了《苹果开发者计划许可协议》第 3.2(f)节;

    4.由于这些违规行为,苹果给你做出的处罚是“禁止你继续提交/更新该应用”;

    5.如果你执迷不悟,继续从事这些违规行为,苹果可能会将你的应用下架、封停开发者账号,并终止你的 Apple 开发人员计划会员资格等;

    苹果在这里提到了3.2(f)相关的内容:

    “你不得直接或间接地采取任何旨在干扰苹果软件或服务、本协议的意图或苹果的商业惯例的行为,包括但不限于采取可能阻碍App Store、B2B计划或本计划的执行或预期用途的行为。”

    但是没有针对这些内容的详细示例说明。笔者通过进一步查看苹果官方文档上的PLA3.2(f),发现这些都是属于违反3.2(f)的内容:

    为您的应用或任何第三方应用提交虚假评论;

    选择和第三方应用类似的名字以混淆用户的视听;

    占据其他应用的名字来防止合法的第三方使用;

    你可对账你的开发者账号或马甲包账号看看,十有八九违反了其中的某一条或多条;

    应对方式

    PLA3.2(f)是苹果非常严厉的处罚,应用已无法通过更新来修正后再次提交审核,严厉程度仅次于注销账号。针对这种情况,你可以从以下几个方面来努力。

    如果有刷榜、刷评论行为,停止刷;

    如果和本开发者账号有信息关联或转让关系的马甲包在刷榜、刷评论,也立刻停止;

    和本开发者账号有信息关联或转让关系的马甲包最好不要更新,更新也会被拒绝;

    不要创建占位的应用,如果已经创建,改名;

    不要去淘宝或其他交易平台买苹果开发者账号;

    如果要新建马甲包提审,重新申请和已有账号无信息关联的新账号。这里的“无信息关联”包括但不限于:

    邮箱账号的域、账号所有人、IP地址、Mac地址、邓白氏编码联系人/联系方式/办公地址、支付信用卡账号、发票抬头等。

    停止一切有可能的违规行为后,找苹果App 审查委员会申诉;

    三、应用完整性被拒

    被拒理由

    在IPv6网络的Wi-Fi,iOS10.3.3的iPhone和iPad环境下,我们在你app上发现一个或多个bugs。具体来说,我们没法申请贷款。为了解决这个问题,请通过在设备上运行你的app来找到所有问题,修改后再次提交审核。

    被拒原因分析

    因为bug导致审核人员无法进行核心功能(申请借款)的操作,中断审核过程。

    我们后面分析发现,我们其实是没有bug的,但是苹果审核团队很难理解这个逻辑和交互,以为是bug,导致被拒。

    应对方式

    确保提交的产品没有bug,特别是bug不能影响核心功能的操作使用。

    提供给苹果审核团队的账号,需要能体验核心功能。比如借款类APP,需要能提交借款申请。

    产品功能的逻辑和交互,按照普通人能理解、能接受的逻辑走,不要晦涩难理解。

    四、准确的元数据被拒

    被拒理由

    我们注意到,你的应用或应用的元数据包含了不相关的第三方平台信息。除非有特定的交互功能,否则在App Store中引用第三方平台或其元数据是不允许的。为了解决这个问题,请从你的应用和它的元数据中删除所有这些信息,包括应用描述、最新动态、预览和截图。

    被拒原因分析

    原因是我们的应用预览图中,有一页展示的功能是提审的APP没有,苹果审核团队会认为这是第三方平台的东西。

    第三方平台的数据,包括第三方公司名称、公司logo等,不能出现在你的应用(包括关于我们、协议等),三方公司名称、公司logo、app没有的功能点不能出现在的应用描述、最新动态、预览图、截屏中。

    当然,苹果的产品最好也不要出现在你的应用或应用描述、最新动态、预览图、截屏中。

    应对方式

    严格按照苹果规定的方式走。提审前,核查应用、应用综合信息、应用版本信息中是否有第三方的元素。

    五、最低功能要求被拒

    被拒理由

    我们发现,你的应用的实用性被应用过于简单的内容或特性的所限制。我们鼓励你审视你的app概念,提现不同的内容和功能,以符合App Store审核指南

    被拒原因分析

    简单来说,就是你的app功能太过简单,没有达到一个app应用的标准,不具备提交到appstore的资格。

    通过进一步查看苹果官方的Guideline 4.2,其内容如下:

    App 应包含功能、内容和 UI,而不仅仅是一个经过重新包装的网站。如果 app 没有什么实用价值、毫无新意或者不太像是一个 app,那它就不适合出现在 App Store 中。如果 app 不能带来持久的娱乐价值,或只是让人感到毛骨悚然,则无法获得批准。如果 app 只是一首歌曲或一部影片,则应提交到 iTunes Store。如果 app 只是一本书籍或游戏指南,则应提交到 iBooks Store。

    4.2.1 App 应该为实现预期用途而使用 API 和框架,并在 app 描述中说明集成详情。例如,HomeKit 框架应提供家居自动化服务,HealthKit 则应该用于保持健康和健身目的,并集成在“健康”app 中。

    4.2.2 除了目录类 app 之外,app 不应只用于市场营销材料、广告、网络剪报、内容聚合或链接集合。

    4.2.3 App 应能独立工作,无需安装其他 app。

    4.2.4 与表盘类似的 Apple Watch app 可能会令人感到困惑,因为用户会认为这些 app 能与各种设备功能 (如轻扫、通知和第三方功能栏) 配合使用。将创意性的时间表现方式用作 app 界面是个好点子 (例如,供冲浪者使用的潮汐时钟),但是如果您的 app 与表盘过于相像,则可能会被我们拒绝。

    4.2.5 主要用作 iCloud 和 iCloud Drive 文件管理器的 app 需要包含更多的 app 功能,才能获得批准。

    4.2.6 利用商业化模板或 app 生成服务创建的 app 会被拒绝。

    应对方式

    苹果审核指南里说得非常清楚,你要做的就是做良民,遵循苹果标准,提交有价值、符合规范的应用。同时需需要注意:

    避免功能过于简单;

    简单的资讯聚合、链接聚合app,会别拒绝;

    不用提交使用商业化模板创建的应用;

    六、垃圾应用被拒

    被拒理由

    你的应用程序复制了提交给app Store的其他应用程序的内容和功能,这被认为是一种垃圾应用。简单复制内容或功能的应用会造成混乱,降低最终用户的整体体验,并降低开发者推销应用的能力。

    如果你故意无视App Store的审核指南,在后面提交应用中忽略之前的拒绝反馈,或者使用你的应用来误导或欺骗用户,你将会经历一个延迟的审查过程。我们希望为获得应用程序的用户提供安全的体验,同时为所有开发者提供一个成功的机会。

    故意无视App Store的评审准则,并试图欺骗用户或破坏审查过程,这直接违反了苹果开发者计划许可协议的第3.2节(f)。继续违反苹果开发者计划的条款将导致你的账户和你关联的账户终止,同时从App Store中删除你的所有相关的应用。

    被拒原因分析

    1.你的应用的功能和别人的没有差异,或者和你自己过审的马甲包一样,甚至代码都一样,被定义为垃圾应用;

    2.重复性的应用或简单复制的应用,对用户、开发者的伤害很大,有损于appstore生态的健康;

    3.对苹果的警告视而不见、继续违规,你的应用会被延迟审核;

    4.如果进一步试图欺骗用户或破坏审查过程,将会受到更严厉的处罚,禁账号、删应用,很严重;

    应对方式

    1.思想上要重视,你的应用应该有价值、少抄袭或不抄袭,如果是功能雷同也需要有差异点;

    2.请不要为同一个 app,在多个账号下上传;

    3.如果和其他产品有雷同,可通过修改产品分类、产品分发地区等方式,打造与原产品不同的产品侧重属性分类;

    4.如果做马甲包,功能需要多一些差异化,减少相同的代码量。苹果可能针对代码进行机审扫描;

    对于监管敏感的行业和应用,苹果审核更严,建议大家整理app提审检查清单,包括发者账号申请、app设计、app开发、app信息和版本信息描述等部分的各项细查项。提审前,对照检查,逐一确认,提升app审核通过率。

  • 全是干货:APP软著电子证书免费取得方法

    全是干货:APP软著电子证书免费取得方法

    2022年我国软件著作权登记量约为183.5万件,已经连续第5年保持在100万件以上,随着软件产业快速发展和广大著作权人版权保护意识不断增强,我国软件登记量正处于高速增长期,且随着智能手机的普及,各类APP软件的开发量随之水涨船高,近年来在各类软件中APP的登记增长速度是最快的。

    对于APP类的软件来说,软著证书是上架各类应用商店的先决条件,只不过如今国内的一些知名App应用商店会要求使用“APP软著登记电子版权证书”上架,这是很多计划申请APP类软著和只上架普通商店的著作权人所不了解的,认为在版权中心申请的证书就可以直接上架任何商店。下面小编就为您详细介绍一下电子证与纸质证的区别以及获得方法。

    软著的作用

    一、什么是APP软著登记电子版权证书

    APP软著登记电子版权是指兼容软著登记纸质证书的电子版权认证证书,与纸质证书一样,在移动互联网App上架审核中具备同等效力,可作为软件的版权证明材料,10-15个工作日可出证。

    电子证样式

    电子证书与纸质证书的区别:

    APP软著登记电子版权证书用于华为、小米、OPPO、vivo、腾讯、阿里和360等国内主要知名App应用商店上架,上架审核时直接可以电子化查验,展示查验结果。

    纸质证书目前最快20-30个工作日出证,也可以上架应用商店,但不是所有商店都能够上架,例如上述的几个知名商店就必须要电子证才能上架。纸质证可以用来做开票退税、申报项目、招投标、高新企业申报等,而APP电子版权证书仅用于应用商店上架,没有这些功能。

    综上所述,同时具备双证是最好的选择。

    纸质证书样式

    二、怎么免费获得电子证书

    我们熟知纸质证书可自行进入中国版权保护中心官网申请或者通过专业的知识产权机构代为审查软件材料并修正后代为申请提高通过效率。电子证书则需要到唯一的发证机构“易版权”官网进行申请。

    易版权官网

    进入官网后,在顶部的“电子版权服务”一栏中有4款服务:

    第一个“APP软著认证电子版权”是仅仅只获得电子证,而没有纸质证书;

    第二个“APP软著登记电子版权”是同时获得电子证和纸质证书,需要花费1588元;

    第三个“尊享APP软著登记电子版权”说是提供从身份实名认证-填报-出证-证书邮寄到手全程一对一的VIP服务,费用高达1800元,但这套“VIP服务”其他正规知产机构也是有提供的,比如“PMSelf企业服务平台”的申请费用就只需1000-1200元左右。 因为没有性价比,尊享这项服务可以直接略过不看了 ;

    第四个“APP软著登记电子版权核发” 才是需要关注的重点,App已有软著登记纸质证书后,可以直接在此页面中申请核发, 此项服务是免费的,发证周期为15个工作日。如果急要证书可选1个工作日出证,需要300元。

    免费核发电子证页面

    我们对比可以发现,若要同时获得纸质和电子证书,需要较高的费用,并且还不是一对一的VIP服务,那么如果是提前规划好了申请计划,先找费用较低的具备办理资质的专业知产服务机构申请好纸质证书再来免费核发一个电子证是不是可以节省非常多费用呢?特别是对于申请量大的企业来说,假如申请10个软著那么这样操作可以省下约8000元。

    三、电子证核发流程

    1.需要准备的材料及相关信息:

    400K以上5M以下的jpg格式营业执照扫描件;

    原纸质证书40k~5M的jpg格式扫描件;

    要上架的APK文件的实际包名。

    2.注册账号后购买服务:

    在注册好账号并完成相关的认证后,进入“APP软著登记电子版权核发”页面,选中办理期限为“15工作日”,点击“购买该服务”,核对订单金额为“0.00”后提交订单。

    提交订单

    3.填报相关信息:

    提交订单后,进入个人中心页面下的“我的登记”栏目,找到该订单,点击“填报资料”;

    填报资料

    按照系统提示进入填报页面,先输入与纸质证书一致的软件全称,再点击打印,随之跳转到“电子版权认证证书核发申请函”页面,在该页面下载申请函到本地后打印出来填写信息盖公章,扫描盖章申请函上传回信息填写页面,按提示填写完成其余相关信息,点击提交即可。

    打印申请函

    4.下载电子证书:

    15个工作日后,进入“个人中心”,点击“我的登记”,当“登记状态”显示为“已完成”时,点击最右边的“电子证书下载”即可下载电子证书啦。

    下载电子证

    选择正规的机构办理纸质证书:

    前面我们已经提到了,要免费获得电子证,就需要找便宜靠谱的机构先办理出纸质证书。

  • 苹果审核不过出现”您的 App 包含 NSUserTrackingUsageDescription….”解决办法

    苹果审核不过出现”您的 App 包含 NSUserTrackingUsageDescription….”解决办法

    最近在提交苹果APP进行审核,提交审核版本的时候,就提交不了。主要报错:

    您的 App 包含 NSUserTrackingUsageDescription,这表示您将会请求追踪用户。要在 App 产品页上更新此信息,您必须注明哪些数据类型会追踪用户。如果此描述有误,请更新您的 App 二进制文件,并将新的构建版本上传到 App Store Connect。

    具体原因:

    12年9月份iOS6发布,IDFA面世,主要用于给开发者跟踪应用中广告的投放效果,但很多应用(或三方SDK)会获取IDFA作为设备唯一标识使用。

    iOS14.5 发布之后,苹果要求应用获取 IDFA 时,需弹出用户许可收集跟踪数据的授权框,如果没有弹出授权框则可能会被App Store审核拒绝,提示违反5.1.2规则:

    解决办法:取消勾选该服务

    配置开启广告标识(IDFA)

    在 manifest.json 文件的 “App常用其它设置” 中可勾选开启(注意HBuilder X 2.4以上为默认勾选),需提交云端打包才会生效

    在低版本的HBuilder是默认勾选,可以将这个勾选给去掉,重新打包后提交应用到AppStore。

    Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing
    
    
    We noticed you do not use App Tracking Transparency to request the user's permission before tracking their activity across apps and websites. The app privacy information you provided in App Store Connect indicates you collect data in order to track the user, including Device ID and Precise Location.
    
    Starting with iOS 14.5, apps on the App Store need to receive the user’s permission through the AppTrackingTransparency framework before collecting data used to track them. This requirement protects the privacy of App Store users.
    
    Next Steps
    
    Here are two ways to resolve this issue:
    
    - You can remove the tracking functionality from your app and update your app privacy information in App Store Connect.
    - If you decide to continue tracking users, you must implement App Tracking Transparency and request permission before collecting data used to track the user or device.
    
    Resources
    
    - See Frequently Asked Questions about the new requirements for apps that track users.
    - Learn more about designing appropriate permission requests.

    如果上架App Store遇到上述问题,请按本文步骤配置开启IDFA,重新打包后再提交审核

    • 确保更新到HBuilderX3.2.9或以上版本,建议使用最新版本
    • 如果是 cli 命令创建的项目,需要将 cli 升级到最新版本,参考cli命令行

    如何判断是否需要开启广告标识(IDFA)

    官网说明指南:https://uniapp.dcloud.net.cn/tutorial/app-ios-idfa.html#