<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>dsttl3</title><link>https://dsttl3.cn/</link><description>dsttl3的博客</description><item><title>微博Links URL</title><link>https://dsttl3.cn/?id=495</link><description>&lt;h1 id=&quot;h1-mobile-app-&quot;&gt;&lt;a name=&quot;Mobile APP接入&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;Mobile APP接入&lt;/h1&gt;&lt;blockquote&gt;
&lt;p&gt;在你的 Mobile APP 中，可以直接通过 Links URL 与微博进行连接。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;h3--&quot;&gt;&lt;a name=&quot;连接到指定用户的微博个人主页，连接后可进行加关注等互动&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;连接到指定用户的微博个人主页，连接后可进行加关注等互动&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://userinfo?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;uid=微博用户UID&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://userinfo?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;uid=1404376560&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3--&quot;&gt;&lt;a name=&quot;连接到指定的单条微博详情页，连接后可对这条微博进行转、评、赞等互动&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;连接到指定的单条微博详情页，连接后可对这条微博进行转、评、赞等互动&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://detail?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;mblogid=单条微博MID&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://detail?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;mblogid=4011688199554080&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3-u8FDEu63A5u5230u6307u5B9Au7684u5FAEu535Au5934u6761u6587u7AE0u9875&quot;&gt;&lt;a name=&quot;连接到指定的微博头条文章页&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;连接到指定的微博头条文章页&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://article?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;object_id=1022:文章对象ID&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://article?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;object_id=1022:2309404011688201458259&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3-u5206u4EABu5230u5FAEu535A&quot;&gt;&lt;a name=&quot;分享到微博&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;分享到微博&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://sendweibo?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;content=微博内容&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://sendweibo?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;content=我是一条要分享的微博&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3-u8BC4u8BBAu6307u5B9Au7684u5FAEu535A&quot;&gt;&lt;a name=&quot;评论指定的微博&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;评论指定的微博&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://comment?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;srcid=评论的微博ID&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://comment?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;srcid=4011688199554080&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://comment?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;srcid=4011688199554080&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3-u8FDEu63A5u5230u5FAEu535Au641Cu7D22u5185u5BB9u6D41&quot;&gt;&lt;a name=&quot;连接到微博搜索内容流&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;连接到微博搜索内容流&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://searchall?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;q=搜索关键词&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://searchall?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;q=搜索关键词&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://searchall?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;q=微博开放平台&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3-u8FDEu63A5u5230u6211u7684u5FAEu535Au6D88u606Fu6D41&quot;&gt;&lt;a name=&quot;连接到我的微博消息流&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;连接到我的微博消息流&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://gotohome?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://gotohome?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://gotohome?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;h3-u8FDEu63A5u5230u6211u7684u5FAEu535Au4E2Au4EBAu4E3Bu9875&quot;&gt;&lt;a name=&quot;连接到我的微博个人主页&quot; class=&quot;reference-link&quot; href=&quot;#&quot;&gt;&lt;/a&gt;&lt;span class=&quot;header-link octicon octicon-link&quot;&gt;&lt;/span&gt;连接到我的微博个人主页&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;sinaweibo://myprofile?luicode=10000360&amp;amp;lfid=OP_你的APPKEY&amp;amp;launchid=10000360-OP_你的APPKEY&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;示例&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;sinaweibo://myprofile?luicode=10000360&amp;amp;lfid=OP_1116166085&amp;amp;launchid=10000360-OP_1116166085&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Sun, 29 Jun 2025 03:48:06 +0800</pubDate></item><item><title>鸿蒙next自定义弹窗</title><link>https://dsttl3.cn/?id=494</link><description>&lt;p&gt;自定义弹窗组件&lt;code&gt;MyDialog&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;@CustomDialog
export struct MyDialog {
  title?: string
  cancelBtnText?: string
  confirmBtnText?: string
  message?: string
  cancel: () =&amp;gt; void = () =&amp;gt; {}
  confirm: () =&amp;gt; void = () =&amp;gt; {}
  controller: CustomDialogController

  build() {
    Column({space: 16 }) {
      Text(this.title).fontSize(20).fontWeight(FontWeight.Bold)
      Text(this.message){
      }.fontSize(16)
      Flex({ justifyContent: FlexAlign.SpaceAround }) {
        Button(this.cancelBtnText)
          .onClick(() =&amp;gt; {
            this.cancel()
            this.controller.close()
          }).backgroundColor(0xffffff).fontColor(Color.Black)
        Button(this.confirmBtnText)
          .onClick(() =&amp;gt; {
            this.confirm()
            this.controller.close()
          }).backgroundColor(0xffffff).fontColor(Color.Red)
      }.margin({ bottom: 10 })
    }
    .padding(16)
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;调用&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;import { MyDialog } from &amp;#039;./component/MyDialog&amp;#039;;

@Entry
@Component
struct Page {

  @State message: string = &amp;#039;Hello World&amp;#039;;

  build() {
    Column() {
      Text(this.message)
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .onClick(() =&amp;gt; {
          this.dialogController.open();
        })
    }
    .height(&amp;#039;100%&amp;#039;)
    .width(&amp;#039;100%&amp;#039;)
  }

  // 自定义弹窗
  dialogController: CustomDialogController = new CustomDialogController({
    builder: MyDialog({
      title: &amp;#039;标题&amp;#039;,
      cancelBtnText: &amp;#039;取消&amp;#039;,
      confirmBtnText: &amp;#039;确定&amp;#039;,
      message: &amp;#039;这是弹窗内容&amp;#039;,
      cancel: ()=&amp;gt; { this.onCancel() },
      confirm: ()=&amp;gt; { this.onAccept() }
    })
  })

  onCancel() {
    console.log(&amp;#039;取消&amp;#039;);
  }

  onAccept() {
    console.log(&amp;#039;确定&amp;#039;);
  }
}&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Sat, 01 Jun 2024 11:21:54 +0800</pubDate></item><item><title>鸿蒙next长按事件</title><link>https://dsttl3.cn/?id=490</link><description>&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;import { promptAction } from &amp;#039;@kit.ArkUI&amp;#039;;

@Entry
@Component
struct ButtonExample  {
  @State message: string = &amp;#039;Button&amp;#039;;

  build() {
    Column() {
      Button(this.message)
        .fontSize(22)
        .fontWeight(FontWeight.Bold)
        .gesture(
          LongPressGesture({ repeat: true })
            .onAction((event?: GestureEvent) =&amp;gt; {
              if (event) {
                promptAction.showToast({
                  message: &amp;#039;长按了Button&amp;#039;,
                  duration: 2000
                })
              }
            })
        )
        .onClick(() =&amp;gt; {
          promptAction.showToast({
            message: &amp;#039;点击了Button&amp;#039;,
            duration: 2000
          })
        })
    }
    .height(&amp;#039;100%&amp;#039;)
    .width(&amp;#039;100%&amp;#039;)
    .justifyContent(FlexAlign.Center)
  }
}&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Sat, 25 May 2024 10:19:03 +0800</pubDate></item><item><title>鸿蒙next申请权限</title><link>https://dsttl3.cn/?id=488</link><description>&lt;p&gt;写在入口&lt;code&gt;UIAbility&lt;/code&gt;里面&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;PERMISSIONS: Array&amp;lt;Permissions&amp;gt; = [&amp;#039;ohos.permission.READ_MEDIA&amp;#039;,&amp;#039;ohos.permission.WRITE_MEDIA&amp;#039;];

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    hilog.info(0x0000, &amp;#039;testTag&amp;#039;, &amp;#039;%{public}s&amp;#039;, &amp;#039;Ability onCreate&amp;#039;);
    let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
    try {
      atManager.requestPermissionsFromUser(this.context, this.PERMISSIONS, (err, data) =&amp;gt; {
        if (err) {
          console.info(&amp;#039;testTag&amp;#039;, `requestPermissionsFromUser data: ${JSON.stringify(err)}`);
        } else {
          console.info(&amp;#039;testTag&amp;#039;, `requestPermissionsFromUser data: ${JSON.stringify(data)}`);
        }
      });
    } catch (err) {
      console.info(&amp;#039;testTag&amp;#039;, `catch err-&amp;gt;${JSON.stringify(err)}`);
    }

  }&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Fri, 24 May 2024 23:28:48 +0800</pubDate></item><item><title>鸿蒙next应用全屏设置</title><link>https://dsttl3.cn/?id=486</link><description>&lt;p&gt;首先，需要判断设备类型，避免PC上无法窗口化运行
这个判断需要在&lt;code&gt;UIAbility&lt;/code&gt;中的&lt;code&gt;onWindowStageCreate()&lt;/code&gt;方法内&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;/**
     * 判断是否是手机设备，如果是手机设备，则设置全屏 （注：2in1设备设置全屏后无法窗口化运行）
     */
    if (deviceInfo.deviceType == &amp;#039;phone&amp;#039;) {
      // 1. 设置全屏
      let windowClass: window.Window = windowStage.getMainWindowSync();
      windowClass.setWindowLayoutFullScreen(true)
        .then(() =&amp;gt; {
          console.info(&amp;#039;设置全屏成功。&amp;#039;);
        })
        .catch((err: BusinessError) =&amp;gt; {
          console.error(&amp;#039;设置全屏失败。 Cause:&amp;#039; + JSON.stringify(err));
        });
      // 2. 获取导航条区域的高度
      let type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR;
      let avoidArea = windowClass.getWindowAvoidArea(type);
      let bottomRectHeight = avoidArea.bottomRect.height;
      AppStorage.setOrCreate(&amp;#039;bottomRectHeight&amp;#039;, bottomRectHeight);
      console.info(&amp;#039; bottomRectHeight:&amp;#039; + bottomRectHeight);

      // 3. 获取状态栏区域的高度
      let type1 = window.AvoidAreaType.TYPE_SYSTEM;
      let avoidArea1 = windowClass.getWindowAvoidArea(type1);
      let topRectHeight = avoidArea1.topRect.height;
      console.info(&amp;#039; topRectHeight:&amp;#039; + topRectHeight);
      AppStorage.setOrCreate(&amp;#039;topRectHeight&amp;#039;, topRectHeight);
    }
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;为避免界面占到导航条和状态栏，需动态获取导航条和状态栏高度，该方法在Page里面获取&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;  // 底部导航栏高度
  bottomRectHeight: string = AppStorage.get&amp;lt;number&amp;gt;(&amp;#039;bottomRectHeight&amp;#039;) + &amp;#039;px&amp;#039;;
  // 顶部状态栏高度
  topRectHeight: string = AppStorage.get&amp;lt;number&amp;gt;(&amp;#039;topRectHeight&amp;#039;) + &amp;#039;px&amp;#039;;&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Wed, 22 May 2024 22:09:52 +0800</pubDate></item><item><title>鸿蒙next保存图片、视频组件</title><link>https://dsttl3.cn/?id=483</link><description>&lt;h3&gt;page&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;import photoAccessHelper from &amp;#039;@ohos.file.photoAccessHelper&amp;#039;;
import fs from &amp;#039;@ohos.file.fs&amp;#039;;
import common from &amp;#039;@ohos.app.ability.common&amp;#039;;
import promptAction from &amp;#039;@ohos.promptAction&amp;#039;;
import { BusinessError } from &amp;#039;@ohos.base&amp;#039;;

@Entry
@Component
struct Page {

  build() {
    Row() {
      Column({ space: 10 }) {
        Image($r(&amp;#039;app.media.icon&amp;#039;))
          .height(400)
          .width(&amp;#039;100%&amp;#039;)
        SaveButton().onClick(async (event: ClickEvent, result: SaveButtonOnClickResult) =&amp;gt; {
          if (result === SaveButtonOnClickResult.SUCCESS) {
            const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
            // 免去权限申请和权限请求等环节，获得临时授权，保存对应图片
            savePhotoToGallery(context);
          } else {
            promptAction.showToast({ message: &amp;#039;设置权限失败！&amp;#039; })
          }
        })
      }
      .width(&amp;#039;100%&amp;#039;)
    }
    .height(&amp;#039;100%&amp;#039;)
    .backgroundColor(0xF1F3F5)
  }
}

async function savePhotoToGallery(context: common.UIAbilityContext) {
  let helper = photoAccessHelper.getPhotoAccessHelper(context);
  try {
    // onClick触发后5秒内通过createAsset接口创建图片文件，5秒后createAsset权限收回。
    let uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, &amp;#039;jpg&amp;#039;);
    // 使用uri打开文件，可以持续写入内容，写入过程不受时间限制
    let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
    context.resourceManager.getMediaContent($r(&amp;#039;app.media.icon&amp;#039;).id, 0)
      .then(async value =&amp;gt; {
        let media = value.buffer;
        // 写到媒体库文件中
        await fs.write(file.fd, media);
        await fs.close(file.fd);
        promptAction.showToast({ message: &amp;#039;已保存至相册！&amp;#039; });
      });
  }
  catch (error) {
    const err: BusinessError = error as BusinessError;
    console.error(`Failed to save photo. Code is ${err.code}, message is ${err.message}`);
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;权限&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-json&quot;&gt;      {
        &amp;quot;name&amp;quot;: &amp;quot;ohos.permission.WRITE_IMAGEVIDEO&amp;quot;,
        &amp;quot;reason&amp;quot;: &amp;quot;$string:READ_WRITE_DOWNLOAD&amp;quot;,
        &amp;quot;usedScene&amp;quot;:  {
          &amp;quot;abilities&amp;quot;: [&amp;quot;EntryAbility&amp;quot;],
          &amp;quot;when&amp;quot;: &amp;quot;inuse&amp;quot;
        }
      },&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Tue, 21 May 2024 21:05:19 +0800</pubDate></item><item><title>鸿蒙next获取软件版本号</title><link>https://dsttl3.cn/?id=481</link><description>&lt;h3&gt;获取软件版本号工具类&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;import { bundleManager } from &amp;#039;@kit.AbilityKit&amp;#039;;

export function getVersionName(): string {

  let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;
  try {
    bundleManager.getBundleInfoForSelf(bundleFlags).then((data) =&amp;gt; {
      return data.versionName;
    })
  } catch (err) {
  }
  return &amp;#039;1.0.0&amp;#039;;
}

export function getVersionCode(): string {

  let bundleFlags = bundleManager.BundleFlag.GET_BUNDLE_INFO_DEFAULT;
  try {
    bundleManager.getBundleInfoForSelf(bundleFlags).then((data) =&amp;gt; {
      return data.versionCode;
    })
  } catch (err) {
  }
  return &amp;#039;1000000&amp;#039;;
}&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;获取版本号&lt;/h3&gt;
&lt;pre&gt;&lt;code class=&quot;language-ts&quot;&gt;this.versionName = getVersionName();&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;获取版本名&lt;/h3&gt;
&lt;pre&gt;&lt;code&gt;this.versionName =  getVersionCode();&lt;/code&gt;&lt;/pre&gt;</description><pubDate>Mon, 20 May 2024 12:44:08 +0800</pubDate></item><item><title>使用okhttp时怎么设置不让它自动重定向</title><link>https://dsttl3.cn/?id=468</link><description>&lt;p&gt;在使用 OkHttp 进行请求时，默认情况下会自动重定向。如果需要设置不自动重定向，可以使用 &lt;code&gt;followRedirects(false)&lt;/code&gt; 方法来实现。示例如下：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;OkHttpClient client = new OkHttpClient().newBuilder().followRedirects(false)
                    .build();
Request request = new Request.Builder()
    .url(&amp;quot;http://example.com&amp;quot;)
    .build();
Response response = client.newCall(request).execute();&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以上代码中，&lt;code&gt;followRedirects(false)&lt;/code&gt; 方法的调用表示不允许 OkHttp 自动重定向，如果遇到重定向，则会返回重定向响应，而不是自动跳转到重定向的 URL。&lt;/p&gt;</description><pubDate>Thu, 13 Apr 2023 16:09:56 +0800</pubDate></item><item><title>超话一键签到</title><link>https://dsttl3.cn/?id=460</link><description>&lt;h3&gt;软件官网&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://wb.dsttl3.cn&quot;&gt;https://wb.dsttl3.cn&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;软件介绍&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;这款软件就可以轻松实现微博超话一键签到了，彻底解放双手，不需要前一天访问，不需要7级，没有数量限制，真正的一键签到。快来下载体验吧。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;软件版本&lt;/h3&gt;
&lt;blockquote&gt;
&lt;h4&gt;1、 iOS 快捷指令版&lt;/h4&gt;
&lt;p&gt;版本：1.0&lt;br /&gt;
发布时间：2022年9月&lt;br /&gt;
下载地址：&lt;a href=&quot;https://bt.dsttl3.cn/download/ios.html&quot;&gt;捷径盒 @dsttl3 的主页&lt;/a&gt;&lt;br /&gt;
独立版本下载地址：（无需安装捷径盒）&lt;br /&gt;
a、&lt;a href=&quot;https://www.icloud.com/shortcuts/dc631203ff42422cbfb772e2c00b618d&quot;&gt;超话一键签到自动化版&lt;/a&gt;&lt;br /&gt;
b、&lt;a href=&quot;https://www.icloud.com/shortcuts/f950c15638a84a7797146eb7d1ee074d&quot;&gt;超话一键签到&lt;/a&gt;&lt;br /&gt;
c、&lt;a href=&quot;https://www.icloud.com/shortcuts/1a3074d731e04d39926c0bd08060062f&quot;&gt;获取授权信息&lt;/a&gt;&lt;br /&gt;
视频教程：（自动忽略捷径盒的部分吧）&lt;br /&gt;
&lt;a href=&quot;https://www.bilibili.com/video/BV1134y157na&quot;&gt;https://www.bilibili.com/video/BV1134y157na&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;版本：2.0 (该版本依赖‘捷径盒APP‘运行，该APP目前已下架)
发布时间：2022年9月
下载地址：&lt;a href=&quot;https://bt.dsttl3.cn/download/ios.html&quot;&gt;捷径盒 @dsttl3 的主页&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;2、 Android 版&lt;/h4&gt;
&lt;p&gt;版本：1.1.1
发布时间：2022年12月
下载地址：&lt;a href=&quot;https://wb.dsttl3.cn&quot;&gt;超话一键签到｜APP下载&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3&gt;主页预览&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://www.dsttl3.cn/wp-content/uploads/2023/01/img_index.png&quot; alt=&quot;超话一键签到 官网首页&quot; /&gt;&lt;/p&gt;</description><pubDate>Tue, 17 Jan 2023 22:36:34 +0800</pubDate></item><item><title>谷歌自定义搜索</title><link>https://dsttl3.cn/?id=445</link><description>&lt;h2&gt;代码下载&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/dsttl3/GoogleCSE&quot;&gt;https://github.com/dsttl3/GoogleCSE&lt;/a&gt;  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;阿里函数计算FC&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;登录到阿里云函数计算fc控制台 &lt;a href=&quot;https://fcnext.console.aliyun.com/overview&quot;&gt;https://fcnext.console.aliyun.com/overview&lt;/a&gt;&lt;br /&gt;
创建服务一个服务&lt;br /&gt;
&lt;img src=&quot;./img/alifc1.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;&lt;br /&gt;
日志功能是需要付费的，这里需要关闭掉&lt;br /&gt;
&lt;img src=&quot;./img/alifc2.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;&lt;br /&gt;
创建服务一个函数&lt;br /&gt;
&lt;img src=&quot;./img/alifc3.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;&lt;br /&gt;
上传代码&lt;br /&gt;
&lt;img src=&quot;./img/alifc4.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;&lt;br /&gt;
配置函数&lt;br /&gt;
&lt;img src=&quot;./img/alifc5.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;&lt;br /&gt;
请求处理程序（函数入口） &lt;code&gt;GetHtml::handleRequest&lt;/code&gt;&lt;br /&gt;
&lt;img src=&quot;./img/alifc6.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;配置自定义域名&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://fcnext.console.aliyun.com/cn-hongkong/domains&quot;&gt;https://fcnext.console.aliyun.com/cn-hongkong/domains&lt;/a&gt;  &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./img/alifc7.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;  &lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;./img/alifc7.png&quot; alt=&quot;获取自己的搜索引擎 ID&quot; /&gt;  &lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;示例&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://google.dsttl3.cn/?sou=搜索内容&quot;&gt;https://google.dsttl3.cn/?sou=搜索内容&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><pubDate>Sun, 17 Apr 2022 17:15:42 +0800</pubDate></item></channel></rss>