博客 (146)

  1. 微信的 H5 页面前端引导到:

    https://api.magcloud.cc/magshare/{siteId}?jump_url={jump_url}&content_url={content_url}

    各参数含义见官方文档:http://doc.magcloud.net/325339

    content_url 地址(一般仍为活动页面)接收参数 magshareredirect,值为 1 则跳转到自定义的引导页。

  2. 自定义引导页按 iOS 和安卓显示图文和箭头,引导用户点击右上角菜单,在浏览器中打开。

  3. 在浏览器 H5 中引导打开:

    {siteId}://pagejump?jump_url={jump_url}

    各参数含义见第 1 步中的文档。

    这里涉及一个“若未安装则引导安装”的过程,可以选择下方合适的一种方式实现:

    • A 标签的 href 填入下载地址,onclick 事件 location 到 App

    • onclick 事件 location 到 App,再用 setTimeOut location 到下载地址

    • 若仍无法实现预期效果,可以在弹出层中放置“未安装,前往下载”和“已安装,立即打开”两个按钮,让用户自己选择

  4. 若下载地址为应用宝,那么在 iOS 中可能会出现“打开 App 后继而自动打开 App Store”的情况,可以自建中转的 App 介绍页引导到 App Store 或应用宝。

  5. 分别实现微信和 MAGAPP 客户端的分享

xoyozo 6 年前
7,136
型号传输速率带宽类型
相对于上一类的优势
一类线(CAT1)--非屏蔽/屏蔽传输语音
二类线(CAT2)4Mbps1MHz非屏蔽/屏蔽可传输数据
三类线(CAT3)10Mbps16MHz非屏蔽/屏蔽速度提升
四类线(CAT4)16Mbps20MHz非屏蔽/屏蔽速度提升
五类线(CAT5)100Mbps100MHz非屏蔽/屏蔽增加密度、绝缘材料
超五类(CAT5e)1Gbps100MHz非屏蔽为主衰减小、串扰少
六类线(CAT6)1Gbps / 10Gbps(55米内)250MHz非屏蔽/屏蔽内部通常有十字骨架,全双工,改善串扰及回波损耗
超六类(CAT6A)10Gbps500MHz屏蔽为主通常带屏蔽层,改善串扰、衰减、信噪比等
七类线(CAT7)10Gbps600MHz屏蔽每对线对单独屏蔽+总屏蔽,适应万兆位以太网技术
八类线(CAT8)25Gbps / 40Gbps(30米内)2000MHz屏蔽专为短距离高速连接设计

普通家庭装修布线建议上到千兆网络(2019年),至少选择六类网线。

计划构建万兆内网的,至少选择超六类。

xoyozo 6 年前
9,548

image.png


进入 Discuz! 控制面板,打开 UCenter,左侧菜单选择“短消息”,根据用户名查找短消息并处理,或者清空该用户的所有短消息。

xoyozo 6 年前
11,185

在编程或生成时,我们可能会遇到如下错误:

推断出元组元素名称“category”。请使用语言版本 7.1 或更高版本按推断名称访问元素。


那么打开项目属性,切换到“生成”选项卡,“配置”选择“所有配置”。

页面往下拉,打开“高级”窗口,默认是“C# 最新主要版本(默认)”,我们选择“C# 最新次要版本(最新)”,确定。

xoyozo 6 年前
5,172

本文介绍 ASP.NET 的 Swagger 部署,若您使用 ASP.NET Core 应用程序,请移步 ASP.NET Core Web API Swagger 官方文档:

https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio

https://github.com/domaindrivendev/Swashbuckle.AspNetCore


安装

NuGet 中搜索安装 Swashbuckle,作者 Richard Morris


访问

http://您的域名/swagger


配置


显示描述

以将描述文件(xml)存放到项目的 bin 目录为例:

  1. 打开项目属性,切换到“生成”选项卡

  2. 在“配置”下拉框选择“所有配置”

  3. 更改“输出路径”为:bin\

  4. 勾选“XML 文档文件”:bin\******.xml,(默认以程序集名称命名)

  5. 打开文件:App_Start/SwaggerConfig.cs

  6. 取消注释:c.IncludeXmlComments(GetXmlCommentsPath());

  7. 添加方法:

    public static string GetXmlCommentsPath()
    {
        return System.IO.Path.Combine(
            System.AppDomain.CurrentDomain.BaseDirectory,
            "bin",
            string.Format("{0}.xml", typeof(SwaggerConfig).Assembly.GetName().Name));
    }

    其中 Combine 方法的第 2 个参数是项目中存放 xml 描述文件的位置,第 3 个参数即以程序集名称作为文件名,与项目属性中配置一致。

如遇到以下错误,请检查第 2、3、4 步骤中的配置(Debug / Release)

500 : {"Message":"An error has occurred."} /swagger/docs/v1


使枚举类型按实际文本作为参数值(而非转成索引数字)

  1. 打开文件:App_Start/SwaggerConfig.cs

  2. 取消注释:c.DescribeAllEnumsAsStrings();

xoyozo 6 年前
4,212

打开 Adobe Acrobat Pro,依次点击菜单的 文件 - 创建 - 将文件合并为单个 PDF

image.png

添加文件并合并文件

image.png

在打印页面选择“多页”、“1×2”、“纵向”,在右侧观察预览

image.png

打印。

xoyozo 6 年前
25,129

设置 CarPlay 车载

请按照以下步骤开始操作:

  1. 确保您所在的地区支持 CarPlay 车载,且您的汽车支持 CarPlay 车载

  2. 启动您的汽车,然后确保 Siri 已打开

  3. 将 iPhone 与汽车相连:

    • 如果您的汽车支持通过 USB 连接线连接 CarPlay 车载,请将您的 iPhone 插接到车内的 USB 端口。这类 USB 端口可能标有 CarPlay 车载图标或智能手机图标。

    • 如果您的汽车支持无线 CarPlay 车载,请按住方向盘上的语音命令按钮。确保您的立体声系统处于无线或蓝牙模式。然后,在您的 iPhone 上前往“设置”>“通用”>“CarPlay 车载”,轻点“可用的汽车”,然后选择您的汽车。请查看您的汽车使用手册,以了解更多信息。


A
转自 Apple 6 年前
10,960

传统的 LIKE 模糊查询(前置百分号)无法利用索引,特别是多个关键词 OR,或在多个字段中 LIKE,更是效率低下。本文研究对文章进行分词以提高检索的准确度和查询效率。


根据自己的编程语言选择一款合适的中文分词组件,我在 ASP.NET 平台下选择了 jieba.NET。


设想的步骤:

  1. 分别对文章标题、标签、正文进行分词,保存到一张分词表上。该表把“文章 ID”和“词语”设为联合主键,用 3 个字段记录该词语分别在标题、标签、正文中出现的次数,另外还可以按需要添加文章分类 ID、文章创建时间等字段。

  2. 当用户输入关键词进行检索时,先将关键词分词,在分词表中用 in 语法查询到所有相关的记录;

  3. 使用 group by 语法对查询结果按文章 ID 分组;

  4. 关键在排序上,理想的排序是:

    a. 先按搜索关键词中不同词语的出现量排序,即:若搜索关键词分词后是 3 个词语,那么全部包含这 3 个词的文章优先,只匹配其中 2 个词语的其次;

    b. 再按搜索关键词在文中累计出现的次数排序(考虑权重),即:我们先假定标题和标签的分词权重为 5(意思是一个分词在标题中出现 1 次相当于在正文中出现 5 次),那么累加每个分词在标题、标签、正文的权重次数,得分高的优先;

    c. 再进一步考虑文章的发布时间,即将文章的发布时间距离最早一篇文章的发布时间(或一个较早的固定日期)相隔的天数,乘以一个系数加入到权重中,这个系数按不同文章分类(场景)不同,比如新闻类的大一点,情感类的小一点)。乘以系数时一篇文章只加权一次,不要加权到每个分词。

    d. 根据需求还可以加入文章热度(阅读数)的权重。


根据上述逻辑对一个有 18 万篇文章的内容管理系统进行改造,循环所有文章进行分词统计,得到一张包含 5 千万条记录的分词表(系统中部分文章只有标题、标签和外链,没有正文,否则更多)。

由于查询中包含 in、group by、count、sum、运算等,再若分类是无级限的,即文章分类 ID 也是 in 查询,然后分页,即使创建索引,效率也只能呵呵了。


简化:

不对正文进行分词;

不按权重进行排序;


那么分词表的记录数降到 250 万条,同样用 in 查询分词,先按搜索关键词中不同词语的出现量排序,再按发布时间排序,分页后获得一页的文章 ID 集合,再去文章表中 in 获取详细信息(注意保持一页中的排序)。

添加相关索引后,查询一个包含 3 个分词的关键词仅需十几毫秒。因为 in 的内容比较离散,所以索引的利用率比较高。



xoyozo 6 年前
5,639

微信支付商户可以直接注册,也可以由公众号、小程序、开放平台等开通。

直接注册时可勾选使用的公众号、小程序、APP、PC 网站等,并填写相应的 APPID。

填写资料提交审核,等待 1~2 工作日。

审核通过后签约,选择“手动提现”或“自动提现”,建议“手动提现”,原因如下:


用户付款、退款、企业付款等流程

以乐趣到家为例,

用户 A 提交搬家需要,并支付 100 元搬家费(其中的 10 元是平台抽成,90 元是服务者 B 的收入)。

那么 A 付款成功后,100 元打入商户的“未结算”中,在结算周期后扣除手续费变成“已结算”(若手续费 0.6% 则变成 99.4 元),如果商户开通了自动提现,则直接打入对公账户。

当 A 申请退款时,如果“未结算”资金充足,那么从“未结算”资金中退款给 A,如果不足,则从“可用余额”中退款(从商户角度来说应该是“企业付款”)。

若服务正常完成,则从可用余额中付款 90 元给 B。


可用余额(简称余额)是专用于支付的资金,其资金来源可以是充值或从“已结算”资金转入(前提是未开通自动提现)。

如果开通了“企业付款”,那么相关资金也是从余额中扣除的。


所以,退款(用户角度的“退款”)直接从“未结算”中扣是最划算的,只当“未结算”中资金不足时采用余额退款(用户角度的“退款”,商户角度的“企业付款”)。

由于退款(商户角度的“退款”)的前提是有相应的订单,所以上例中的 90 元支付给 B 时不能使用商户的退款功能,只能从余额支付(企业付款),而从“已结算”转到“余额”是最划算的,如从“已结算”到“对公账户”再充值到“余额”就会涉及开票缴税。


下面是如何关闭和再次开通“自动提现”。(注意:并非所有的商户都有此功能!据我所知,结算周期为 T+1 的有关闭功能,T+7 的不能关闭)

image.pngimage.png


以上系本人经验总结,仅供交流,不承担任何责任,如有错误敬请指正。QQ 940534113


xoyozo 7 年前
7,257

IIS - 相应网站 - 日志 - 拉到底,勾选“使用本地时间进行文件命名和滚动更新”

如果要设置所有网站,左侧选中服务器名,选择右侧的“日志”进行全局设置。

xoyozo 7 年前
4,113