作者: eganvi

  • 为了让你放下手机,谷歌“发布”了六款黑科技应用

    为了让你放下手机,谷歌“发布”了六款黑科技应用

    近几年,关于「如何更健康地使用手机」一直是个热门话题,很多手机厂商也越来越关注这一方面的问题,而 Google 也是其中之一。

    为了拯救被手机操控的人类,谷歌脑洞实验室开启了一个名叫 Digital Wellbeing Experiments(数字健康实验)的黑科技项目。

    该项目主要研究开发一些稀奇古怪的APP,这些古怪的发明最终目的,就是让我们放下自己的手机。

    带着这个大胆的设想,6款带有“魔法”的 APP 就此诞生了:

    Unlock Clock

    一款提醒你解锁次数的APP,这是你第几次解锁手机了?

    没有什么比手机桌面更加引人注意的了!因为大部分人都喜欢将自己喜欢或酷炫的图片设置为桌面壁纸,而不是枯燥的系统图案。

    Unlock Clock 正是利用了这一点,这款APP就像一个动态壁纸。每当你解锁手机时,它就会自动记录你解锁手机的次数,并通过滚动的方式将数字显示在手机桌面上。

    Unlock Clock 这套动态壁纸非常简洁,灰色背景外加一个大大的白色数字。每当你打开手机,最先注意到的必定是壁纸上滚动增加的数字。仿佛就像在提醒你:能不能不要这么频繁来解锁,做点其他的事情不好吗?

    We Flip

    手机叠叠乐,一款可以不被手机消息打扰的纯面对面社交法宝

    和朋友们聚会时,手机往往是冷场的最大元凶!因为总有人会不停的看,所以聚会时大家可以一起约定放下手机,这样是不是会比较有约束力呢?毕竟群体的意志对个人的影响力还是很大的~

    于是 Google 将“手机叠叠乐”的概念运用在We Flip这款APP上,大家要在拿出手机的同时启动应用,然后一起滑动按钮打开开关。打开后就可以放下手机,一起享受这段美妙的社交时光了。

    如果中途有人解锁的话,这场“游戏”便告一段落。所有参加这次 We Flip 的玩家都会接收到这场游戏的排名结果,

    例如:持续时长、解锁者以及中途偷看手机的次数(点亮屏幕但未解锁)排名最后的人将会受到来自伙伴的惩罚。

    Paper Phone

    一款可以不用带手机出门的纸手机,纸做的手机也能用?

    Paper Phone 是6款APP中最有趣,也是脑洞最大的一款!

    在日常生活中我们为什么无法弃用手机,主要是因为它的功能太重要了:付款、工作记录、地图都需要用到它。或许大家可以暂时离开手机,但它的功能却无法放弃。于是 Google 给我们“变”出了一台纸做的手机,获得这台“纸手机”的前提是你需要准备一台打印机。

    大家千万不要小瞧这台“纸手机”,一般手机的基础功能它都可以满足。例如:收藏联系人、地图、会议、天气预报和日程等。

    甚至还有小游戏可以玩,例如迷宫地图、数字游戏……完全刷新了你对一张纸片的认知。

    当你想用手机付款的话,这张纸片也能做到哦!它在纸片的夹层里藏了一张带芯片的小卡片,能直接连接到你的手机账户。

    不得不被这款脑洞大开的APP咋舌!终于有一天我们可以不被手机奴役了

    Post Box

    信息收纳盒 ,一款可以帮你整理不重要信息的APP,不错过信息还不影响注意力

    微信、短信、邮件等通知消息的频繁打扰,是导致我们在日常工作或学习中分心的一大因素,

    忽然亮起的屏幕、一条条弹出的信息,充满着未知的诱惑。本以为只要克服了刷抖音的冲动,就能进入工作状态,结果隔三差五的“叮”、“叮”、“叮” 声,依旧让我无法安心的全身心投入。

    Post Box 就是一个将这些烦人的通知信息全部收纳起来的工具,方便我们在某一个固定的时间去查看那些不是很紧急的信息。

    它的设计非常简洁,每个应用都以色块的方式整齐排列着,色块越大说明这个应用的消息越多。这些消息不会主动跳出来在手机屏幕上闪烁,我们只要设定好时间,以及通知次数,就能够一次性在这个 App 里统一查看所有通知。

    如果你担心错过重要信息,也可以在应用内选择「立刻查看通知」。

    Morph

    如何正确使用手机? 一款可以随场景切换手机模式的APP

    Morph 的功能在于,可以让你在正确的场景使用正确的应用。你可以自由设置很多种不同的场景模式,比如工作、旅游、假期、在家等。当触发该场景模式的时候,你就只可以使用你提前设置的那些应用。

    那些“不正确”的应用就不能使用。比如上班的时候就不能打游戏摸鱼,开车的时候就不要回微信了吧。


    那些“不正确”的应用就不能使用。比如上班的时候就不能打游戏摸鱼,开车的时候就不要回社交信息。

    Desert Island

    最多只能使用7个APP? 一款可以让你迅速掌控“断、舍、离”的APP

    Desert Island 是一个和 Morph 类似的应用,只不过更激进一些。你最多只能选择7个应用,而且在主屏上也只会显示这7个应用。并不是说完全限制你使用其他应用,只需要点击右上角的图标进入次级页面就能找到其他应用了。

    这款应用有一个非常人性化的地方:每天都会为你生成一个使用报告,让你能看到每个软件的使用次数,等到下一天你就可以根据使用频次来调整放在主屏上的7个应用。

    这款应用的逻辑有点类似“断 舍 离”的概念,其目的是为了让你认清楚自己的日常使用习惯,只留下最常用的,去掉那些非必要的,但是会分散你注意力的东西。

    以上应用均可以在 Google Play 商店免费下载到,我承认Google的良苦用心让我心动了,做一个不被生活打扰的俗人吧!想一想,手机也并不是我们生活的全部。

    网站地址:

    https://experiments.withgoogle.com/collection/digitalwellbeing

    “ 手机真好玩!”

  • Google Play订阅功能怎么使用?

    Google Play订阅功能怎么使用?

    谷歌最近几年订阅功能的使用量大大增加,并且在营收方面也屡创新高,那么订阅功能具体是什么,如何使用呢?下面会为大家做一些基础的介绍,还有后台的操作使用说明。

    什么是订阅?

    订阅是应用内购买结算中提供的一种商品类型,利用订阅,您可以通过自己的应用出售内容、服务或功能,并以您指定的间隔定期自动向用户收费。

    配置和发布订阅

    一、您可以使用 Developer Console 配置和发布订阅,然后从 Android 设备上安装的应用出售这些订阅,就像出售其他应用内商品一样。 在 Developer Console 中,您可以创建订阅商品并将其添加到商品列表,然后为每个订阅设置价格和可选试用期,选择结算间隔,最后发布。

    后台创建订阅的位置

    配置订阅商品,要创建和管理订阅,您可以使用 Developer Console 为应用设置商品列表,然后为每个订阅商品配置以下属性:

    • 购买类型:始终设置为订阅
    • 订阅 ID:订阅的标识符
    • 发布状态:已取消发布/已发布
    • 语言:用于显示订阅的默认语言
    • 标题:订阅商品的标题
    • 说明:向用户提供的订阅详情
    • 价格:每个重复周期的默认订阅价格
    • 重复周期:结算周期的间隔(按周/按月/按年)
    • 宽限期:对于付款遭拒的情形,您可以选择为用户提供宽限期。用户必须在宽限期结束之前解决其付款问题。否则,系统会撤消其订阅。

    其他币种的价格(可以自动填充)

    后台操作界面的一部分

    当配置好以上信息后,在后台就已经成功创建了相应的订阅商品,后面要做的就是将订阅ID使用到游戏或应用内实现相应的功能即可。

    二、在 Developer Console 中创建订阅时,您可以使用任何可用币种设置订阅的价格。每个订阅都必须有一个不等于零的价格。 您可以为相同内容的多个订阅设置不同的价格。例如,您可以为按年订阅提供一个相对于按月订阅的折扣。

    三、如果要更改订阅的价格,您可以用新价格发布一个新订阅商品 ID,然后在应用中提供此订阅。已经购买的用户将继续支付原始价格,但是新用户将以新价格支付。

    四、您可以设置一个免费试用期,让用户可以在购买前试用您的订阅内容。试用期将持续到您设置的时间,随后将自动转换为按照订阅的结算间隔和价格管理的完整订阅。Google Play 支持所有订阅类型的免费试用,包括季节性订阅。

    五、在 Developer Console 中或者通过 API 完成订阅商品详情的配置后,您可以在应用商品列表中发布订阅。在商品列表中,您可以添加订阅、应用内商品,或者两者。您可以添加可访问不同内容或服务的多个订阅,也可以添加可访问相同内容但间隔或价格不同的多个订阅,例如促销。

    六、将订阅或应用内商品添加到商品列表后,您必须先发布商品,之后 Google Play 才能将其设置为可以购买。请注意,您还必须发布应用,以便 Google Play 将商品设置为可以在应用内购买。您可以从应用的商品列表中移除订阅商品,不让用户查看或购买。

    用户取消订阅

    一、用户可以从 Play 商店应用的 My Apps 屏幕查看其所有订阅的状态并根据需要取消订阅。目前不支持从发起购买的应用内取消订阅。

    二、在用户取消订阅时,Google Play 不会为当前结算周期提供退款。相反,Google Play 允许用户继续访问已取消的订阅,直至当前结算周期结束,随后它将终止订阅。例如,如果用户购买了一个按月订阅并在当前周期的第 15 天将其取消,Google Play 会将订阅的截止时间视为当前周期的第 30 天(或者其他日期,具体取决于月份)结束。

    三、当用户卸载包含已购买订阅的应用时,Play 商店应用将通知用户存在有效订阅。如果用户选择继续卸载,应用将被移除,订阅仍保持有效,重复结算也将持续。用户可以随时返回 Play 商店应用的 My Apps 屏幕取消关联的订阅。

    文章来源:知乎

  • wordpress 制作api

    wordpress 制作api

    WordPress是一个非常流行的内容管理系统(CMS),被广泛用于博客、新闻网站、电子商务网站等。在Web开发中,API(应用程序接口)是一个非常重要的概念,它可以让不同的应用程序之间进行数据交互。在本文中,我们将讨论如何在WordPress中创建API。

    API的基本原理

    API是应用程序接口的缩写。它是一组定义了不同应用程序之间通信的规则和协议,使得这些应用程序可以相互交互和共享数据。API通常使用标准的Web技术,如HTTP协议和RESTful架构。

    HTTP协议是Web开发中最常用的协议之一。它定义了Web服务器和Web客户端之间的通信方式。RESTful架构则是一种设计Web API的方式,它定义了一组规则和最佳实践,使得Web API可以更加灵活、可扩展和易于维护。

    在RESTful架构中,每个API都是一个资源。资源可以是任何东西,如文章、评论、用户等。每个资源都有一个唯一的标识符(URI),可以通过HTTP请求访问它。HTTP请求可以是GET、POST、PUT、DELETE等。每个请求都对应着一个特定的操作,如获取资源、创建资源、更新资源和删除资源等。

    WordPress API的实现方式

    WordPress是一个基于PHP的CMS,它使用MySQL作为数据库存储数据。在WordPress中,API的实现方式有很多种,如使用插件、使用自定义代码等。下面我们将介绍两种常用的实现方式。

    1. 使用插件

    WordPress社区中有很多插件可以帮助你创建API。其中最流行的插件是WP REST API。这个插件提供了一个RESTful API,可以让你访问WordPress中的所有资源,如文章、页面、分类、标签、评论等。

    WP REST API的安装非常简单。你只需要在WordPress后台中搜索“WP REST API”,然后安装并激活它即可。安装完成后,你可以使用浏览器或者命令行工具来访问API。

    例如,要获取所有文章的列表,你可以使用以下命令:

    curl http://your-site.com/wp-json/wp/v2/posts

    这个命令将返回一个包含所有文章的JSON格式的数据。你可以根据需要自定义API的URL和参数。

    2. 使用自定义代码

    如果你想更加灵活地控制API的行为和数据格式,你可以使用自定义代码来创建API。在WordPress中,你可以使用PHP编写自定义插件或者主题来实现API。

    要创建API,你需要做以下几步:

    – 创建一个自定义路由器来处理API请求

    – 定义API的路由和参数

    – 编写处理API请求的代码

    – 输出API数据

    下面是一个简单的示例,演示如何使用自定义代码创建API:

    // 定义API的路由和参数

    add_action( ‘rest_api_init’, function () {

    register_rest_route( ‘myplugin/v1’, ‘/posts/(?P\d+)’, array(

    ‘methods’ => ‘GET’,

    ‘callback’ => ‘myplugin_get_post’,

    ) );

    } );

    // 处理API请求的代码

    function myplugin_get_post( $request ) {

    $post_id = $request->get_param( ‘id’ );

    $post = get_post( $post_id );

    if ( empty( $post ) ) {

    return new WP_Error( ‘error’, ‘Post not found’, array( ‘status’ => 404 ) );

    }

    $data = array(

    ‘id’ => $post->ID,

    ‘title’ => $post->post_title,

    ‘content’ => $post->post_content,

    );

    return $data;

    }

    // 输出API数据

    function myplugin_rest_output( $data ) {

    if ( is_array( $data ) ) {

    $data = json_encode( $data );

    }

    header( ‘Content-Type: application/json’ );

    echo $data;

    exit;

    }

    在这个示例中,我们创建了一个名为“myplugin”的插件,用于处理API请求。我们定义了一个名为“/posts/(?P\d+)”的路由,用于获取指定ID的文章。我们编写了一个名为“myplugin_get_post”的函数来处理API请求,并返回相应的数据。最后,我们使用“myplugin_rest_output”函数来输出API数据。

    总结

    在本文中,我们介绍了API的基本原理和在WordPress中创建API的两种常用方式。使用插件可以快速地创建API,并提供很多现成的功能和选项。使用自定义代码可以更加灵活地控制API的行为和数据格式。无论你选择哪种方式,都需要遵循RESTful架构的设计原则,并确保API的安全性和可靠性。

  • 10个国外免费图片网站!

    10个国外免费图片网站!

    以图片为生的跨境电商,特别是独立站就更加不用说,图片的质量起到关键的作用,每个人都希望用高质量的图片来给自己的站点加分。但是图片版权也是个十分头疼的问题,如果随便从网上拿图片做宣传,很容易被人版权追溯,随时收到律师信,那就得不偿失了。
    其实国外有很多免费的图片网站,这些网站提供图片质量都十分优质,图片的作者都是外国人,制作的视角、风格都符合外国人的审美观,对跨境电商来说是不可多得的资源。
    下面给大家介绍10个国外人气比较高的免费图片网站
    1. Unsplash



    Unsplash

    你可以随意的在超过50,000名贡献者的超过300,000张精美高分辨率图像挑选需要的图片。 Unsplash并不像一些付费网站那样提供绝对的选择,但照片质量一流,每天都会增加数千张照片。 您可以在这个免费的库存网站上找到合适的作品。
    2. Burst (by Shopify)



    Burst

    Burst是大家熟悉的独立站平台Shopify为商家提供的免费图片平台。 这些图像都是免费的,免版税的。 (Burst有一个很酷的商业创意部分,提供了提示和高分辨率图像,可以帮助您开展业务。)
    2. Gratisography



    Gratisography

    他们以“世界上最奇怪的高分辨率免费图片集合”而自豪。虽然在数量方面与Unsplash相提并论(这不是他们的目标), 但是他们擅长提供独特而且有趣的免费照片。只有最“有趣”的作品提交才能在本网站上进行展示,如果你需要一些独特而有趣的图片,不妨在Gratisography上试试。
    3. Morguefile



    Gratisography

    这个网站不像Unsplash或Gratisography那样专业制作,照片不是精选照片,但是你会在这里找到随机人和日常物品的照片,有点像你的朋友分享她的朋友圈图片一样。 Morguefile不是寻找大头像的地方,但如果你需要一个类似孩子刷牙那样的简单免费照片,这个网站是个很好的选择。
    4. Pixabay



    Pixabay

    对于很多博客来说,这个免费图片网站非常熟悉,很多独立站都在使用他们的图片,他们拥有一个非常庞大的高质量图像数据库,它较Unsplash更倾向于商业和营销。Pixabay的另一大优势是它们还提供免费的矢量和插图。
    5. Stockvault



    Stockvault

    Stockvault是免费照片网站,在这里你还可以找到壁纸甚至纹理。 虽然他们的图片规模只有Unsplash的一半大小,但它是精心策划的,每天都有新增功能。 该网站还有一个很好的搜索引擎,图片的组织良好,可按类别浏览。
    6. Pexels




    Pexels是许多博客的首选免费图片来源,很多博客都是使用他们的图片来制作他们的文章。 这个网站庞大而且组织良好的免费照片集是互联网上最好的策划之一。 此外,他们还提供免费视频供大家使用 。
    7. PicJumbo



    picjumbo


    由一位24岁的摄影师经营,他厌倦了被主流的图片网站拒绝他的照片,所以决定创建自己的照片网站,整个网站完全按照自己的喜好来运营,得到了很多粉丝的支持,PicJumbo现在是一个蓬勃发展的免费照片社区,提供大量精美的免费照片。

    8. Pikwazard



    Pikwazard

    除了拥有大量的独特的图片库以外,Pikwazard还提供设计指导,让你可以在选择的图片上做编辑,比如添加文字和其他一些基本的编辑操作,编辑好了后再下载。网站只是提供免费的基本编辑功能,如果需要功能齐全的在线编辑功能是要另外付费。
    9. Rawpixel



    Rawpixel


    他们声称拥有业内最多样化的照片集 – 这可能是真的。除了图片以外,他们还有矢量图,PSD模板和公共领域内容,比如像有名的日本木板印刷品。 该网站提供每天免费下载5张图片,此外他们有付费的项目,收益会捐助给希望儿童(Hope for Children)慈善机构。

    10. Reshot




    Reshot不仅仅是一个简单的照片集,是一个有使命的社区。 他们的目标是为新兴摄影师提供一个平台,与需要的人分享他们的创造力。 他们的策划收藏品广泛,令人惊叹,完全免费。

    总结:

    大家使用国外的免费图片网站时,一定要先了解一下网站的相关协议,原则上他们提供的图片基本都是可以免费的给个人或者商业用途使用,使用时只要遵循网站相关协议就行,所以这些国外免费的图片网站资源对跨境电商来说是十分好的资源。

    文章转载:知乎

  • 织梦dedecms转WordPress方法(脚本一键转换)

    织梦dedecms转WordPress方法(脚本一键转换)

    简介:

    DEDECMS宣布开始对运营类网站收费了,一年5800元,如果不想付费,那就需要转到其他网站程序了,wordpress就是一个不错的选择。最近,大神wordpress果酱牛逼闪闪的Denis和几个程序员制作了一个dedecms转wordpress的插件,有需要的可以去下载使用

    dedecms转wordpress操作

    1、安装好空白全新的 WordPress

    首先要安装好空白全新的 WordPress,不要尝试在现有的 WordPress 中进行导入,虽然我们的程序做了判断,但是不可预知的问题总是可能会发生,所以首先要确保在空白全新的 WordPress 中进行导入操作。

    2、下载 DEDECMS 导入 WordPress 脚本

    下载地址在页尾

    打开下载的 dedecms_to_wordpress.php 文件,修改其中的 DEDECMS 的数据库配置参数:

    // DEDECMS 数据库配置,修改为你自己的
    $cfg_dbhost = ‘localhost’;
    $cfg_dbname = ‘dd’; $cfg_
    dbuser = ‘root’;$cfg_dbpwd = ‘root’;
    $cfg_dbprefix = ‘dd_’;
    $cfg_db_language = ‘gbk’;
    $cfg_db_port = 3306;

    DEDECMS的数据配置参数,可以从DEDECMS的 data/common.inc.php 中获取。

    如果 DEMDECMS 的数据库和 WordPress 的数据库不在同一台服务,并且无法远程连接,则需要把在原来的 DEDECMS 服务器中导出数据库,然后导入到 WordPress 的 MySQL 所在的服务器中。

    3、执行 DEDECMS 导入 WordPress 脚本

    将刚刚修改好的 dedecms_to_wordpress.php 文件上传到刚才全新安装的 WordPress 目录,然后在 SSH 命令行执行下面的命令:

    php dedecms_to_wordpress.php

    执行后后静候迁移完成即可,经过我们实际的测试,4万多篇的文章的 DEDECMS 数据库,迁移花费的时间在1分半内,另外一个测试,近14万多篇文章,也在7分多钟内完成。

    4、固定链接、伪静态

    转换完后,需要在 WordPress 设置固定链接和伪静态,这样转换过来的文章就能正常打开了。

    最后要感谢 wpjam插件开发者 Denis 和众多开发者们的连续熬夜努力,dedecms站长才能免费用上一键转换脚本。

    注意事项:

    首先说明一下,一键迁移脚本是 PHP 命令行脚本,意味着你需要有服务器的 SSH 权限,以便可以ssh登录服务器进行命令行操作。

    为什么这么做呢,因为一般来说使用后台导入会比较久,而使用命令行则飞快,4万多篇文章,使用一键迁移脚本大概仅需1分半就能完成,当然了命令行模式开发比较快一点。

    这个迁移也只是一次性工作,能够顺利快速完成导入工作才是最好的,如果你的服务器没有 SSH 权限,可能要换一下服务器。

    网盘下载地址:?

    这里,我们需要使用下载脚本。

    下载地址:https://pan.baidu.com/s/1a9bPJPCFQvotU8QwsKXq9Q
    提取码:45ah

    同类文章参阅:https://www.banzhuti.com/dedecms-to-wordpress-guide.html

  • 自用前端程序员在线工具箱导航网源码

    自用前端程序员在线工具箱导航网源码

    今天给大家分享一个“前端程序员在线工具箱导航网源码”,既是前端程序员的工具导航,还可以自定义修改为其他类型的导航网。需要API的地方比较少,也不吃配置,随便弄个虚拟主机就可以跑起来自用了。

    1.演示地址

    演示地址:http://www.66zan.cn/

    2.修改说明

    • 后台改为账号密码登录,上传即用,不需要再改源码配置。
    • 删除无用的文件,减少源码包体积
    • 修复了部分失效的工具,比如ICP查询等

    3.导航源码下载

    源码下载:https://wwi.lanzoub.com/iLnnt1aefbcj

    (原文转载自hostloc,作者地址:https://hostloc.com/thread-1212280-1-1.html)

    导航网站源码专辑:https://www.xcbtmw.com/29413.html

    4.安装说明

    • PHP版本需>=7.0,<=7.4,伪静态规则使用ThinkPHP
    • 运行目录(绑定目录)改成public
    • 上传后直接可以使用
    • 后台地址/admin,默认后台账号密码:admin/123456
  • 古诗词·一言API免费接口

    古诗词·一言API免费接口

    今日诗词API 上线

    今日诗词 API 是本 API 的升级版,可以根据不同地点、时间、节日、季节、天气、景观、城市进行智能推荐古诗词。

    官网: https://www.jinrishici.com/

    本接口继续保留运营维护。

    简介

    古诗词·一言API是一个可以随机返回一句古诗词名句的接口。具有以下特点:

    • 快:使用 Vert.x Java 全异步框架开发,毫秒级稳定响应
    • 全:支持 svg / txt / json / png 调用,满足你在任何地方的调用需求
    • 多:收录将近10000条古诗词名句
    • 准:可以根据你的喜好,在指定的分类中进行随机返回

    使用

    API举例

    API地址格式(仅支持https)

    https://v1.jinrishici.com/{一级分类}/{二级分类(可选)}.{返回格式(可选)}

    查看所有目前支持的分类:https://v1.jinrishici.com/

    目前支持的后缀:.svg .txt .png .json 不加后缀默认返回 json

    SVG 调用

    &lt;img src=”https://v1.jinrishici.com/all.svg”&gt;

    SVG后缀是我们推荐的最优调用方案,可以在部分论坛、任何博客、小程序内无损直接调用,并且可以一定程度上控制样式。缺点是部分老旧浏览器不支持。

    你可以直接修改svg样式:&lt;img src=”https://v1.jinrishici.com/all.svg” style=”max-width:100%; “&gt;

    或者使用我们的svg专用的自定义参数 个性化参数

    说明参数名默认值合法范围
    字体大小(px)font-size20[8,50]
    字体间隔(px)spacing1.5[0,30]

    调用示例&lt;img src=”https://v1.jinrishici.com/all.svg?font-size=18&amp;spacing=4″&gt;

    JSON 调用

    &lt;script&gt; var xhr = new XMLHttpRequest(); xhr.open(‘get’, ‘https://v1.jinrishici.com/all.json’); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); var gushici = document.getElementById(‘gushici’); gushici.innerText = data.content; } }; xhr.send(); &lt;/script&gt;

    JSON调用可以获取来源、作者、分类等信息,可以供你自定义拼接显示效果。

    PNG 调用

    &lt;img src=”https://v1.jinrishici.com/all.png”&gt;

    我们会提供透明的PNG文件。PNG方法兼容性最好,可以在几乎任何地方插入。并且支持所有浏览器。缺点是不能控制样式,另外,由于流量限制,我们只会给您传送较小的图片源文件。

    TXT 调用

    &lt;script&gt; var xhr = new XMLHttpRequest(); xhr.open(‘get’, ‘https://v1.jinrishici.com/all.txt’); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var gushici = document.getElementById(‘gushici’); gushici.innerText = xhr.responseText; } }; xhr.send(); &lt;/script&gt;

    TXT调用和JSON调用基本一致,可以节省一些流量。或者,你甚至可以使用 iframe 来调用我们的接口

    关于

    这是我的个人项目,目的是为了弘扬中国传统文化。

    本项目开源并且托管在 Github 上: https://github.com/xenv/gushici

    本人不接受捐助,但恳请不要使用 DDOS 等方法攻击本站。

    名句数据由古诗文网收录整理,特此感谢。

    若您对本人的其他作品或者文章感兴趣,请访问我的博客:https://luan.ma

  • uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    1 说明

          此文章介绍uni-app跨平台开发时关于安卓的打包到上架的完成流程,同时也会列举在整个过程中的注意事项,阅读文章的前提是是建立在你已经有共可打包的代码和已付费的google play的账号,

    2 uni-app 安卓打包流程

       1  打开项目中manifest.json, 此文件为整个app的配置文件,位于项目的根目录。如下图

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

     2  对打开左边的选项菜单做简单的介绍,并提供一些注意事项。

         a  基础配置  填写选项信息,appid 是app的唯一标识符至始至终不要去随意改变,应用版本名称和应用版本号在每次正式打包之前的值要比上一个高,否则在上传的时候会出现冲突。

        b  填写即可 , 注意在安卓应用中不要出现有圆角的图标,不然在上架后在手机上会出现黑色填充圆角的情况,如果同一个账号要上传多个app 时图标不能一样,不然审核无法通过。

       c 源码视图  此选项其实就是上选所有选项的代码集合,详细参考https://uniapp.dcloud.io/collocation/manifest

       说明  其他一些选项配置实际上是在开发过程中已经根据需求配置好的,此处省咯,由于google上架时的审核不想ios那么严格,所以一般情况下在完成上面配置和实际开发中的配置都不会存在特别严重的问题,但是涉及到支付时还会涉及到一些其他配置。

    3 点击发行—— 云打包 会出现如下对话框

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    关于打包证书的说明, 打包证书可以当前hbuilderx自带的也可以选择自制的,这个不影响上架,区别在于自带的不需要填写任何选项直接编译打包即可,而自制的需要填写当前选项,如果在某些场景下需要app的签名建议使用自制的证书,因为可以直接通过java jdk提供的工具可以从中读取到一个36位的加密字符串的签名.完成上述操作后就可以点击打包了,在打包之前会经过编译的过程,若果代码中出现如document等则会编译失败,因为app不能出现h5的语法,在实际开发注意。

     3  上传

        1  打开https://support.google.com

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    2 向下滑动 点击

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    3 点击

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    4 进入

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    5  点击

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    说明  最好阅读一下本章内容

    6 点击申请创建

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程6

    7 填写信息 ,注意选择的语言和实际填写的语言,边填写边保存

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    8  填写完成后跳转应用发布,箭头所标都是要填写的选项

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    说明 如果出现如下报错

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    需要修改打包配置文件的

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程

    9  完成上面的配置后 ,直接发布生产版本

    uni-app跨平台开发app,用Hbuilderx打包安卓应用程序到上架google play 完成l流程d

    说明 到此基本上已经完成发布,在发布之前如果出现警告可以忽略,直接发布即可。

    https://www.likecs.com/show-203550407.html

  • uni-app云打包上架谷歌市场

    uni-app云打包上架谷歌市场

    谷歌市场(Google Play)上架的app安装包需要64位,且证书年限需要至少50年以上。要求HBuilderX2.1.5+

    1、修改配置文件

    依次点击“mainifest.json->App常用其他设置->支持CPU类型”,选择上armeabi-v7a、arm64-v8a两个类型。

    对三种类型做一下简单介绍:

    • armeabi-v7a:第7代及以上的ARM处理器(ARM32位),市面上大多数手机使用此CPU类型
    • arm64-v8a:第8代、64位ARM处理器(ARM64位),最近两年新发的设备使用此CPU类型
    • x86:少部分平板使用x86,as模拟器中选了intel x86时也是这种情况。(雷电夜神等三方模拟器模拟的是arm架构,不是x86)

    参考文档:

    Android平台配置支持的CPU类型(64位):https://ask.dcloud.net.cn/article/36195

    2、云打包

    依次点击“发行->原生App-云打包”,在渠道包中选择GooglePlay,生成谷歌可用的64位包,若不勾选或者选择其他渠道包则不能生成符合谷歌的安装包。

    3、等待打包成功生成apk的包即可。

    Google Play 上架

    务必确保将HBulider X升级到3.2.15+版本。离线打包需要将离线打包SDK升级到3.2.15+版本

    App提交云端打包时请务必勾选“GooglePlay(AAB)”渠道

    Google Play上架审核要求比较严格,应用中不能存在以下行为:

    • 不能直接下载apk方式安装应用,需引导用户到Google Play安装
    • 不能存在动态加载代码行为

    uni-app中部分功能模块不符合Google Play审核要求,请仔细阅读下面章节。

    必须适配Android11

    “App常用其它设置”中需要将targetSdkVersion设置值大于等于30

    注意:务必在Android11设备上进行测试,确保应用所有功能可以正常运行

    不能包含安装应用权限

    在App权限配置中不要勾选 android.permission.INSTALL_PACKAGES、android.permission.REQUEST_INSTALL_PACKAGES 权限

    离线打包:

    1. 更新SDK3.2.15+版本
    2. 请查看原生项目中的AndroidManifest.xml。如果包含以下权限请手动删除:
    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    注意:如果使用了uni原生插件,可能会添加安装应用权限,请联系uni原生插件作者确认

    不要使用QQ登录、QQ分享模块

    使用QQ登录、分享功能时,如果当前设备上没有安装QQ应用时,会引导用户下载安装,不符合Google Play的审核要求,因此提交到Google Play时不要勾选QQ登录及QQ分享模块

    离线打包:

    请不要集成qq_mta-sdk-xxx.jar,qq_sdk_vxxx.jar等SDK。如果有请删除

    不要使用国内增强广告SDK

    uni-AD国内增强广告(如穿山甲、广点通、快手等SDK)显示的广告落地页可能会引导用户下载安装apk,不符合Google Play的审核要求,因此提交到Google Play时不要勾选增强广告SDK

    注意:uni-AD 广告基础功能不受影响

    离线打包:

    请不要集成国内增强广告相关依赖库 ks_adsdk-ad.aar、windAd.aar、GDTSDK.unionNormal.aar,open_ad_sdk.aar,torch-adcore-xx.aar。如有请删除

    不要使用X5内核

    腾讯TBS(X5)内核在Android平台解决了很多适配问题(详情可参考:https://ask.dcloud.net.cn/article/36806),但它使用了动态热更新技术,不符合Google Play的审核要求,因此提交Google Play时不要勾选使用“Android X5 Webview(腾讯TBS)”模块

    离线打包:

    请不要集成X5相依赖库webview-x5-release.aar,如有请删除

    其它相关问题

    uni-app 提交 aab 版本到 Google Play 提示 API 级别过低的解决办法

    发现问题
    近日准备发布新版本上架到 Google Play 上时,突然出现了 Change your app’s target API level to at least 31 的提示。

    在查阅相关资料后,得知 新应用必须以 Android 12(API 级别 31)或更高版本为目标平台;Wear OS 应用除外,此类应用必须以 Android 11(API 级别 30)或更高版本为目标平台。自 2023 年 1 月起,应用更新必须以 Android 12 或更高版本为目标平台,并针对 Android 12 中的行为变更进行调整;Wear OS 应用除外,此类应用必须以 Android 11 或更高版本为目标平台。

    详情请看: 符合 Google Play 的目标 API 级别要求 。

    解决问题
    此时只需要将应用配置文件 manifest.json 中的 App常用其他设置 的 targetSdkVersion 设置成 31 ,然后重新提交到云打包,将打包好的 aab 再次去提交到 Google Play 就不会再报错了。

    填好 App 必要信息,提交去审核,大概两个工作日左右就可以上架到 Google Play 了(前提是你的App不违规喔~)。

  • 人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    又一次尝试,终于成功了,花了1美元,尝试了一下,之前的免费的云验证码,都是各种限制,绑定过多,不过细节还是需要很多注意的地方,这里跟大家分享一下,最后我在推荐几个免费的国外短信验证平台,PS:只能有国外的,目前ChatGPT 不支持国内。

    一、ChatGPT是什么?

    ChatGPT,是人工智能研究公司OpenAI研发的人工智能聊天机器人程序,一个自然语言生成式模型,使用基于GPT-3.5架构的大型语言模型并通过基于人类反馈的强化学习进行训练。ChatGPT使用自然语言处理(NLP)技术来模拟人类聊天。它可以帮助用户快速解决问题,提供及时和准确的信息,提供自动客服服务,支持多种语言,并且可以根据用户的历史聊天记录进行自我学习。

    另外,OpenAI公司还开发了其他多款AI模型,比如专为编程训练的OpenAI Codex,AI绘画工具DALL-E,语音识别模型Whisper,用于机器人双足控制的AI程序OpenAI RoboSumo等等。

    ChatGPT,英文全称为:Chat Generative Pre-trained Transformer。

    Chat:聊天;
    Generative:生成,有生产能力的;
    Pre-trained:预训练,经过预先训练;
    Transformer:转换器,变形金刚。

    Chat Generative Pre-trained Transformer,缩写ChatGPT,意思是有生成能力的预训练智能聊天机器人。

    二、ChatGPT官网入口

    ChatGPT官网:https://chat.openai.com

    OpenAI公司官网:https://openai.com

    三、在国内怎么注册ChatGPT账号?

    ChatGPT帐号,其实就是OpenAI帐号。注册帐号需要两个条件:

    1.能够上外网,因为ChatGPT不支持中国内陆和香港地区的IP注册账号。

    2.有一个可以接收短信注册验证码的国外手机号。

    以下是白云居丨baiyunju.cc的详细注册过程,建议直接在“全局代理”上网模式下,使用Edge或Google Chrome等国外浏览器并在InPrivate隐身模式下访问ChatGPT官网,可以节省很多不必要的麻烦。

    打开ChatGPT官网:https://chat.openai.com ,如果显示这样的页面:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨提示ChatGPT 现在满负荷运转

    ChatGPT is at capacity right now
    ChatGPT现在满负荷运转

    暂时不能进入注册页面,暂时注册不了。此时只能耐心等待,或者点击“Get notified when we’re back”,提交你的电子邮箱,以接收ChatGPT恢复可用时的通知。

    右侧的英文:

    写一首关于 ChatGPT 状态的诗。
    ChatGPT,哦 ChatGPT AI 如此智能 但可惜,它已经满负荷运转 让我们等待 有机会用它的智慧和机智聊天 我们渴望成为它对话的一部分 但现在,我们坐在场边 耐心等待这一天当 ChatGPT 准备好再次播放时。

    其实,多刷新几次网页,就可以进入ChatGPT官网了:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨ChatGPT登录/注册页面

    Welcome to ChatGPT
    Log in with your OpenAI account to continue
    欢迎来到ChatGPT
    使用您的OpenAI帐户登录以继续

    点击“Sign up”按钮注册,进入创建帐户页面,输入电子邮箱地址:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨输入电子邮箱地址

    然后点击“Continue”继续,输入密码:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨填写OpenAI ChatGPT帐号密码

    继续后,需要验证电子邮箱。ChatGPT向邮箱发送了邮件,点击邮件中的链接进行验证。如下图所示:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨验证邮箱地址

    进入邮箱,点击邮件内容中的“Verify email address”按钮,提示如图:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨提示“Not available”

    Not available
    OpenAI’s services are not available in your country.
    无法使用
    OpenAI 的服务在您所在的国家/地区不可用。(需要油管)

    虽然在科学上网软件中切换到了香港以外的国家,但是使用的是绕过大陆的白名单代理模式。看来这样的上网模式,会被OpenAI检测到真实的上网地区。

    那么在上网软件中,将代理模式改为“全局代理”,同时将代理服务器地址改为香港以外的国家(尽量选择与外国手机号的国家一致的节点服务器),再次打开邮件中的验证按钮,提示信息:

    Oops!
    We ran into an issue while authenticating you. If this issue persists, please contact us through our help center at help.openai.com.
    Return to homepage
    哎呀!
    我们在验证您的身份时遇到问题。如果此问题仍然存在,请通过我们的帮助中心help.openai.com与我们联系。
    返回主页

    原因应该是邮件中的验证地址是一次性的,刚才已经点击过一次,所以需要从头开始注册。

    保险起见,换成了Edge浏览器,并且“新建InPrivate 窗口”,在隐私保护模式下注册ChatGPT帐号。

    在新浏览器窗口,进入ChatGPT官网重新注册,输入刚才的邮箱点击继续后,提示“The user already exists(用户已存在)”:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨提示OpenAI用户已经存在

    说明刚才已经成功注册了OpenAI ChatGPT帐号,只是需要激活。

    接下来直接点击“Log in”登录,输入刚才注册时的邮箱和密码,然后需要填写姓名,如下图所示:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨注册OpenAI ChatGPT填写姓名

    继续后,到了验证手机号码(Verify your phone number)这一关键步骤,如下图所示:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨填写外国的手机号

    从国际在线接收短信验证码网站上(《国外临时手机号短信验证码免费接收平台汇总》https://baiyunju.cc/10827 ),找到一个美国号码“+17079687682”(因为选择的是美国的外网代理服务器),粘贴进去,点击“Send code”发送验证码,提示:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨手机号码无效

    It looks like this is a virtual phone number (also known as VoIP). Please provide a valid, non-virtual phone number to continue.
    看起来这是一个虚拟电话号码(也称为VoIP)。请提供一个有效的,非虚拟的电话号码继续。

    换一个国家试试,在上外网软件内,切换到马来西亚的服务器,同时选择一个马来西亚的电话号码。

    将马来西亚电话号码粘贴进入,点击“Send code via SMS”,提示:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨提示这个电话号码注册的帐户数已达上限了(马来西亚的国旗和美国的很像啊)

    This phone number is already linked to themaximum number of accounts.
    该电话号码已经链接到最大帐户数量。

    这说明免费的国际手机号短信验证码接收平台的手机号,是可以注册ChatGPT帐号的,问题是使用这个号码的人太多了。

    又更换了几个国家的号码,都是上面提示,这些网站的免费号码几乎都注册ChatGPT帐号了。最后,出现了这样的提示:

    You’ve made too many phone verificationrequests. Please try again later or contact usthrough our help center at help.openai.com.
    你已经提交了太多的电话验证请求。请稍后再试,或通过我们的帮助中心(Hel.openai.com)与我们联系。

    看来使用免费的国外手机注册ChatGPT号难度有点大,需要付出很大的时间和精力成本去找。

    四、使用收费国外手机号短信服务注册OpenAI ChatGPT帐号

    最后,我花了1美元,购买了国外手机号短信验证码接收平台的收费服务,成功注册ChatGPT帐号。

    推荐选择马来西亚代理服务器节点(如果所用上网软件没有该国节点,也可以尝试其他国家),输入收费的马来西亚手机号码,点击“Send code via SMS”按钮后,页面正常跳转:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    图片丨手机号有效,发送ChatGPT帐号短信验证码成功

    以下是收藏的国外手机号验证码短信接收平台网站:

    大部分平台同时提供免费+收费手机短信接收、电话接听服务。

    ? SMS-Activate(推荐,支持支付宝,教程见上面链接):https://sms-activate.org/cn

    ? Receive SMS online:https://sms24.me/en

    ? SMSReceiveFree:https://smsreceivefree.com

    ? OnlineSIM:https://onlinesim.ru/en

    ? Free-SMS-Receive:https://www.free-sms-receive.com

    ? 接短信:https://jieduanxin.com

    ? 接码号:https://jiemahao.com

    ? 云接码平台:https://www.yunjiema.top/zh

    还可以通过Github 上去下载(全平台支持):

    https://github.com/lencx/ChatGPT

    我登录之后,也问了几个低俗问题:

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程
    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程

    当然了,搜索的内容还是比较准确的,最起码不像百度 先来广告哈哈,但是这写都是最基本的,貌似没有什么更吸引人的东西,只不过我目前使用的是免费版本,高级版本是需要花美元的,每个月20美元,按目前的汇率来算,核算人民币,也就是146元人民币左右吧。不过我打算过一段时间试试如何,目前感觉这个东西,就是一个高级的聚合搜索,就是比较准确,不需要人工的排除。

    人工智能 OpenAI ChatGPT 账号国内注册攻略丨图文教程
  • WP-ChatGPT web前端

    WP-ChatGPT web前端

    介绍

    支持双模型,提供了两种非官方 ChatGPT API 方法

    方式免费?可靠性质量
    ChatGPTAPI(gpt-3.5-turbo-0301)否可靠相对较笨
    ChatGPTUnofficialProxyAPI(网页 accessToken)是相对不可靠聪明

    对比:

    1. ChatGPTAPI 使用 gpt-3.5-turbo-0301 通过官方OpenAI补全API模拟ChatGPT(最稳健的方法,但它不是免费的,并且没有使用针对聊天进行微调的模型)
    2. ChatGPTUnofficialProxyAPI 使用非官方代理服务器访问 ChatGPT 的后端API,绕过Cloudflare(使用真实的的ChatGPT,非常轻量级,但依赖于第三方服务器,并且有速率限制)

    查看详情

    切换方式:

    1. 进入 service/.env.example 文件,复制内容到 service/.env 文件
    2. 使用 OpenAI API Key 请填写 OPENAI_API_KEY 字段 (获取 apiKey)
    3. 使用 Web API 请填写 OPENAI_ACCESS_TOKEN 字段 (获取 accessToken)
    4. 同时存在时以 OpenAI API Key 优先

    反向代理:

    ChatGPTUnofficialProxyAPI时可用,详情

    # service/.env
    API_REVERSE_PROXY=

    环境变量:

    全部参数变量请查看或这里

    /service/.env

    前置要求

    Node

    node 需要 ^16 || ^18 版本(node >= 14 需要安装 fetch polyfill),使用 nvm 可管理本地多个 node 版本

    node -v

    PNPM

    如果你没有安装过 pnpm

    npm install pnpm -g

    填写密钥

    获取 Openai Api Key 或 accessToken 并填写本地环境变量 跳转

    # service/.env 文件
    
    # OpenAI API Key - https://platform.openai.com/overview
    OPENAI_API_KEY=
    
    # change this to an `accessToken` extracted from the ChatGPT site's `https://chat.openai.com/api/auth/session` response
    OPENAI_ACCESS_TOKEN=
    

    安装依赖

    为了简便 后端开发人员 的了解负担,所以并没有采用前端 workspace 模式,而是分文件夹存放。如果只需要前端页面做二次开发,删除 service 文件夹即可。

    后端

    进入文件夹 /service 运行以下命令

    pnpm install

    前端

    根目录下运行以下命令

    pnpm bootstrap

    测试环境运行

    后端服务

    进入文件夹 /service 运行以下命令

    pnpm start

    前端网页

    根目录下运行以下命令

    pnpm dev

    打包

    使用 Docker

    Docker 参数示例

    • OPENAI_API_KEY 二选一
    • OPENAI_ACCESS_TOKEN 二选一,同时存在时,OPENAI_API_KEY 优先
    • OPENAI_API_BASE_URL 可选,设置 OPENAI_API_KEY 时可用
    • OPENAI_API_MODEL 可选,设置 OPENAI_API_KEY 时可用
    • API_REVERSE_PROXY 可选,设置 OPENAI_ACCESS_TOKEN 时可用 参考
    • AUTH_SECRET_KEY 访问权限密钥,可选
    • TIMEOUT_MS 超时,单位毫秒,可选
    • SOCKS_PROXY_HOST 可选,和 SOCKS_PROXY_PORT 一起时生效
    • SOCKS_PROXY_PORT 可选,和 SOCKS_PROXY_HOST 一起时生效
    docker

    Docker build & Run

    docker build -t chatgpt-web .
    
    # 前台运行
    docker run --name chatgpt-web --rm -it -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
    
    # 后台运行
    docker run --name chatgpt-web -d -p 3002:3002 --env OPENAI_API_KEY=your_api_key chatgpt-web
    
    # 运行地址
    http://localhost:3002/

    Docker compose

    Hub 地址

    version: '3'
    
    services:
      app:
        image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
        ports:
          - 3002:3002
        environment:
          # 二选一
          OPENAI_API_KEY: xxxxxx
          # 二选一
          OPENAI_ACCESS_TOKEN: xxxxxx
          # API接口地址,可选,设置 OPENAI_API_KEY 时可用
          OPENAI_API_BASE_URL: xxxx
          # API模型,可选,设置 OPENAI_API_KEY 时可用
          OPENAI_API_MODEL: xxxx
          # 反向代理,可选
          API_REVERSE_PROXY: xxx
          # 访问权限密钥,可选
          AUTH_SECRET_KEY: xxx
          # 超时,单位毫秒,可选
          TIMEOUT_MS: 60000
          # Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
          SOCKS_PROXY_HOST: xxxx
          # Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
          SOCKS_PROXY_PORT: xxxx
    • OPENAI_API_BASE_URL 可选,设置 OPENAI_API_KEY 时可用
    • OPENAI_API_MODEL 可选,设置 OPENAI_API_KEY 时可用

    使用 Railway 部署

    Deploy on Railway

    Railway 环境变量

    环境变量名称必填备注
    PORT必填默认 3002
    AUTH_SECRET_KEY可选访问权限密钥
    TIMEOUT_MS可选超时时间,单位毫秒
    OPENAI_API_KEYOpenAI API 二选一使用 OpenAI API 所需的 apiKey (获取 apiKey)
    OPENAI_ACCESS_TOKENWeb API 二选一使用 Web API 所需的 accessToken (获取 accessToken)
    OPENAI_API_BASE_URL可选,OpenAI API 时可用API接口地址
    OPENAI_API_MODEL可选,OpenAI API 时可用API模型
    API_REVERSE_PROXY可选,Web API 时可用Web API 反向代理地址 详情
    SOCKS_PROXY_HOST可选,和 SOCKS_PROXY_PORT 一起时生效Socks代理
    SOCKS_PROXY_PORT可选,和 SOCKS_PROXY_HOST 一起时生效Socks代理端口

    注意: Railway 修改环境变量会重新 Deploy

    手动打包

    后端服务

    如果你不需要本项目的 node 接口,可以省略如下操作

    复制 service 文件夹到你有 node 服务环境的服务器上。

    # 安装
    pnpm install
    
    # 打包
    pnpm build
    
    # 运行
    pnpm prod

    PS: 不进行打包,直接在服务器上运行 pnpm start 也可

    前端网页

    1、修改根目录下 .env 文件中的 VITE_APP_API_BASE_URL 为你的实际后端接口地址

    2、根目录下运行以下命令,然后将 dist 文件夹内的文件复制到你网站服务的根目录下

    参考信息

    pnpm build
  • WordPress更换域名MySQL数据库批量替换SQL语句

    WordPress更换域名MySQL数据库批量替换SQL语句

    WordPress网站更换域名通过SQL语句操作MySQL数据库可以批量替换域名,新手站长网分享MySQL批量替换域名的SQL

    MySQL数据库批量替换域名SQL语句

    修改WordPress配置表wp_optionsSQL语句:

    UPDATE wp_options SET option_value = replace( option_value, '原域名地址', '新域名地址') WHERE option_name = 'home' OR option_name ='siteurl';

    修改文章数据表wp_posts中绝对地址的语句:

    UPDATE wp_posts SET post_content = replace( post_content, '原域名地址','新域名地址') ;
    UPDATE wp_posts SET guid = replace( guid, '原域名地址','新域名地址')

    修改评论表wp_comments中的语句:

    UPDATE wp_comments SET comment_content = replace(comment_content, '原域名地址', '新域名地址') ;
    UPDATE wp_comments SET comment_author_url = replace(comment_author_url, '原域名地址', '新域名地址');

    SQL语句执行方法

    登录到MySQL管理平台phpMyAdmin,选择数据库,选择右侧的“SQL”,输入SQL语句,点“执行”即可,如下图:
    WordPress更换域名MySQL数据库批量替换SQL语句

    1. WordPress数据库前缀,默认是wp,请修改成自己的MySQL数据库前缀;
    2. 原域名和新域名记得修改成想要操作的域名。