微信小程序实现选择地区demo,记录最近访问的地区

Gemini 3.5 Flash:重新定义人机协作的行动智能引擎 大语言模型正从‘文本生成’迈向‘行动执行’,其核心演进是具备环境感知、工具调用与错误自愈能力的行动智能(Action Intelligence)。这类模型不再仅输出代码或答案,而是直接调度API、操作SaaS系统、生成可部署模块,并在失败时启动多级自愈。Gemini 3.5 Flash正是该范式的标杆实现——它通过分层推理架构(Orchestrator/Subagent/Execution)将长程任务毫秒级分解与执行,显著提升工程交付效率。技术价值体现在高可靠工具调用、跨轮次状态保持与原生浏览器集成(Web 阅读详情

最终效果图:
在这里插入图片描述
在这里插入图片描述

index.wxml

<view class="container">
    <view class="search_contaniner">
      <view class="search_box">
          <input type="text" placeholder="省/市级/区县级" value="{{search_cont}}" bindinput="handleInput"/>
          <icon type="clear" size="32rpx" class="searhc_clear" wx:if="{{search_cont != ''}}" bindtap="handleClear"></icon>
      </view>
    </view>
</view>
<block wx:if="{{ search_cont == '' }}">
  <view class="now_location container">
        <view class="now_location_l">
          <text>当前:</text>
          <text>{{group_name}}</text>
        </view>
        <view class="now_location_r">
          <!-- <text class="iconfont icon-dingwei"></text>
          <text>重新定位</text> -->
        </view>
  </view>
  <view class="container search_view_content">
    <view class="search_view_item" wx:if="{{history_list.length > 0}}">
      <view class="search_view_title">最近访问</view>
      <view class="search_view_block_list">
        <block wx:for="{{history_list}}" wx:key="index">
          <view class="search_view_block" bindtap="checkGroupid" data-groupid="{{item.group_id}}" data-groupName="{{item.group_name}}">{{item.group_name}}</view>
        </block>
      </view>
    </view>
    <view class="search_view_item">
      <view class="search_view_title">省级</view>
      <view class="search_view_block_list">
        <view class="search_view_block" bindtap="checkGroupid" data-groupid="61" data-groupName="陕西省">陕西省</view>
      </view>
    </view>
    <view class="search_view_item">
      <view class="search_view_title">市级</view>
      <view class="search_view_block_list">
        <block wx:for="{{list}}" wx:key="index">
          <view class="search_view_block" bindtap="checkGroupid" data-groupid="{{item.group_id}}" data-groupName="{{item.group_name}}">{{item.group_name}}</view>
        </block>
      </view>
    </view>
    <block wx:for="{{list}}" wx:key="index">
      <view class="search_view_item" wx:if="{{item.children.length > 0}}">
        <view class="search_view_title">{{item.group_name}}</view>
        <view class="search_view_ul">
          <block wx:for="{{item.children}}" wx:key="index" wx:for-item="group">
            <view class="search_view_li" bindtap="checkGroupid" data-groupid="{{group.group_id}}" data-groupName="{{group.group_name}}">{{group.group_name}}</view>
          </block>
        </view>
      </view>
    </block>
  </view>
</block>
<block wx:else>
  <view class="container search_content">
    <block wx:if="{{search_list.length <= 0}}">
      <view class="search_empty">抱歉,未找到相关位置,可尝试修改后重试</view>
    </block>
    <block wx:else>
      <view class="search_ul">
        <block wx:for="{{search_list}}" wx:key="index">
          <view class="search_li">
            <view class="iconfont icon-dingwei1 search_li_l"></view>
            <view class="search_li_r" bindtap="checkGroupid" data-groupid="{{item.group_id}}" data-groupName="{{item.group_name1 + item.group_name}}">
              <view>
                <text class="setRed">{{item.group_name1}}</text>
                <text>{{item.group_name}}</text>
              </view>
              <text class="iconfont icon-xiangyoujiantou"></text>
            </view>
          </view>
        </block>
      </view>
    </block>
    

    
  </view>
</block>

index.js

const app = new getApp();
Page({
  data: {
    group_name: app.globalData.group_info.group_name, // 当前所选区划名
    search_cont: '', // 搜索关键词
    list: [], // 所有市区及地区列表
    history_list: [], // 最近访问 最多保存3个
    search_list: [], // 搜索后显示的列表
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  	// 获取是否存有历史数据
    const history_data = wx.getStorageSync('history_data');
    if(history_data){
      this.setData({
        history_list: JSON.parse(history_data)
      })
    }
    // 获取所有区划
    app.$http.get('get_list_groupAll', {}).then(res => {
      this.setData({
        list: res.content
      })
    }).catch(err => {
      console.log(err)
    });
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    this.setData({
      group_name: app.globalData.group_info.group_name
    })
  },
  // 点击选择地区
  checkGroupid(e){
    console.log(e)
    const group_id = e.target.dataset.groupid;
    const group_name = e.target.dataset.groupname;
    app.globalData.group_info = {
      group_id: group_id,
      group_name: group_name
    };
    // 点击选择后将值记录至最近访问数组
    // const 
    this.setHistoryData({group_id: group_id, group_name: group_name});
    // 选择完毕后返回首页
    wx.navigateBack({
      delta: 1,
    })
  },
  // 搜索框触发输入事件
  handleInput(e){
    this.searchGroup(e.detail.value);
    this.setData({
      search_cont: e.detail.value
    })
  },
  // 搜索时触发,查询与搜索内容匹配的所有区划
  searchGroup(keys){
    const list = this.data.list;
    const new_list = [];
    list.forEach(item1 => {
      if(keys == item1.group_name.slice(0, keys.length)){
        new_list.push({group_id: item1.group_id, group_name: item1.group_name});
        if(item1.children.length > 0){
          item1.children.forEach(item2 => {
            if(keys == item2.group_name.slice(0, keys.length)){
              new_list.push({group_id: item2.group_id, group_name: item2.group_name});
            }
          })
        }
      }
    })
    this.setData({
      search_list: this.setColorList(keys, new_list)
    })
    console.log(this.data.search_list)
  },
  // 点击清空搜索
  handleClear(){
    this.setData({
      search_cont: '',
      search_list: []
    })
  },
  // 为搜索列表设置和关键词相等的字符设置颜色
  setColorList(keys, list){
    if(keys == '' || list.length < 1){
      return [];
    }
    var new_list = [];
    list.forEach((item, index) => {
      let val = {};
      val.group_id = item.group_id;
      val.group_name1 = item.group_name.slice(0, keys.length);
      val.group_name = item.group_name.replace(val.group_name1, '');
      new_list[index] = val;
    })
    return new_list;
  },
  // 设置历史数据
  setHistoryData(data={}){
    let history_list = this.data.history_list;
    if(JSON.stringify(data) != '{}'){
      history_list.unshift(data);
    }
    // 去重
    let uniqueArr = Array.from(new Set(history_list.map(JSON.stringify))).map(JSON.parse);
    // 检测最近访问数量是否超过3条,如超过则删除最后一条
    if(uniqueArr.length > 3){
      uniqueArr.splice(3, 1)
    }
    // console.log('unique', uniqueArr);
    this.setData({
      history_list: uniqueArr
    })
    wx.setStorageSync('history_data', JSON.stringify(uniqueArr))
  }

})

index.wxss

/* pages/search/index.wxss */
page{
  background-color: #eee;
}
.search_box{
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background-color: #fff;
  padding: 0 30rpx;
  border-radius: 50rpx;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.search_box input{
  font-size: 28rpx;
  /* margin-left: 30rpx; */
}

.now_location{
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  border-radius: 15rpx;
}
.now_location text{
  font-size: 28rpx;
  color: #333;
}
.now_location_r .iconfont{
  margin-right: 10rpx;
}

.search_view_content{
  background-color: #fff;
  margin-top: 20rpx;
}
.search_view_item{
  margin-top: 30rpx;
}
.search_view_item:first-child{
  margin-top: 0;
}
.search_view_title{
  font-size: 28rpx;
  font-weight: bold;
  margin-bottom: 30rpx;
}
.search_view_block_list{
  display: grid;
  grid-template-columns: repeat(4, 23%);
  grid-gap: 20rpx;
}
.search_view_block{
  padding: 20rpx 0;
  text-align: center;
  font-size: 28rpx;
  border: 1px solid #ccc;
  border-radius: 15rpx;
  /* width: 23%; */
}

/* .search_view_ul{} */
.search_view_li{
  padding: 20rpx 0;
  border-bottom: 1px solid #eee;
  font-size: 28rpx;
}
.search_view_li:first-child{
  padding-top: 0;
}

.search_content{
  min-height: 85vh;
  background-color: #fff;
}
.search_empty{
  text-align: center;
  font-size: 28rpx;
  color: #333;
}
.search_li{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.search_li_l{
  margin-right: 16rpx;
}
.search_li_r{
  flex: 2;
  padding: 20rpx 0;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.setRed{
  color: red;
}
计量经济学价格优化:用因果模型解码用户支付意愿 价格优化本质是理解用户支付意愿(WTP)的微观经济行为,其核心原理在于通过因果推断剥离混杂因素,准确估计价格弹性——即价格变动对销量的真实净影响。该技术区别于简单A/B测试或相关性分析,依托回归建模、双重机器学习(DML)与反事实推断,实现从‘调价’到‘懂价’的跃迁。其技术价值在于将模糊定价直觉转化为可测量、可归因、可迭代的利润驱动决策;典型应用场景覆盖零售动态调价、SaaS订阅定价、B2B工业品溢价策略及新品上市定价冷启动。本文聚焦计量经济学在真实业务中的端到端落地,重点解析如何构建多维协变量矩阵、识别异 阅读详情

相关推荐

OpenClaw本地AI工作流部署全解析:从微信协议到可视化安装

AI Agent工作流是当前自动化办公的核心技术范式,其本质是通过协议级接口连接应用与大模型,实现意图识别、决策执行与多端协同。OpenClaw作为典型的本地化AI Agent运行时框架,不依赖云API或官方SDK,而是基于微信网页版协议逆向构建稳定会话,具备端侧处理、隐私可控、可扩展技能编排等关键技术价值。它广泛应用于销售线索归档、群公告定时推送、敏感词实时预警等企业微信自动化场景,尤其适合对数据主权有强要求的中小团队。本文深入剖析其本地运行机制、Docker化部署逻辑及微信扫码登录的真实协议流程。

weixin_34161029的博客 449

【微信小程序】van-area的省市区选择使用

安装 构建npm 点击选中构建npm,出现以下文件 index.js index.wxml index.json utils/areaData.js 最后效果

我的开源项目:https://gitee.com/derekgo/vue-cms_xg 3958

企业级AI编排:用MuleSoft构建可审计、可治理的LLM中间件

大语言模型(LLM)在企业落地的核心瓶颈,从来不是模型能力本身,而是如何与ERP、CRM、主数据等异构系统安全、可靠、合规地协同工作。AI编排(AI Orchestration)作为一种融合API集成、策略治理与上下文组装的技术范式,正成为连接AI能力与业务流程的关键中间层。它强调状态可控、调用可溯、权限可管、输出可验,支撑真实场景中的PII脱敏、多源数据聚合、SLA分级路由与全链路审计。MuleSoft凭借其成熟的连接器生态、DataWeave声明式数据处理、Policy驱动的安全治理及Anypoint

weixin_34384557的博客 324

微信小程序开发 逐级选择地区

微信小程序开发,逐级选择地区(市、区县、街道、社区、网格),选择每一级然后展示下一级数据。微信小程序逐级选择。

qq_36158551的博客 1707

小语言模型(SLM)工程实践:面向边缘与终端的AI落地方法论

小语言模型(SLM)并非大模型的简化版,而是专为资源受限环境设计的可控、可嵌入、可审计的轻量级AI引擎。其核心原理在于以领域对齐度、推理确定性和硬件亲和力替代参数规模,实现低延迟、离线化、高确定性的实际部署。技术价值体现在端侧运行能力(如MacBook Air、树莓派、工业SoC)、抗幻觉稳定性及快速迭代适应性,广泛应用于法律文书筛查、方言语音转写、医疗设备指引、农业知识问答和工业日志解析等真实场景。本文聚焦SLM在边缘计算与终端设备上的工程落地路径,涵盖量化选型、推理优化、硬件适配与微调范式。

weixin_33971977的博客 632

DeepSeek-R1技术解析:MoE架构与私有化部署实战指南

大语言模型(LLM)正从通用能力竞争转向垂直场景交付能力比拼。MoE(Mixture of Experts)作为新一代稀疏激活架构,通过动态路由机制显著降低推理成本并提升领域精度,已成为政务、金融、法律等高合规要求场景的首选技术路径。其核心价值在于平衡性能、可控性与部署成本——既支持长文本理解与专家级推理,又满足数据本地化、可审计、低延迟等工程刚需。DeepSeek-R1正是该范式的典型落地,依托48B参数实现对GPT-4 Turbo的局部超越,并通过‘三明治架构’‘专家级微调’‘动态路由API’等创新设计

375

微信小程序选择市,区县

微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 微信小程序选择市,区县的实现 demo的需求是 做一个两列选择器,选择江西省范围内的所有市以及区县,滑动到每个城市 自动匹配出它的区县并赋值到第二列,用户选择完以后验证选中的区县是否匹配。(因为自动匹配出第二列的区县需要一点时间,用户滑动第一列市快的话会出现市和区县不匹配的解决方法) 滚动选择器 ...

a_靖的博客 1万+

Python调用豆包大模型API实现文本转语音实战指南

大模型API正加速赋能内容生产与语音交互,将自然语言处理与语音合成技术结合,可以构建高效的内容播报系统。本文从大模型API的基础概念出发,深入解析豆包大模型API的调用原理,详细演示了如何通过Python完成文本生成、TTS语音合成以及鉴权配置,并针对常见报错给出了系统的排查思路。同时,文章结合工程实践,分享了缓存设计、并发控制等优化策略,助力开发者快速搭建每日资讯播报、文章转有声书、语音助手等实用应用,为个人助理工具和智能语音场景开发提供参考。

weixin_34174105的博客 397

微信小程序学习_天气查询

天气查询小程序(使用聚合数据API) 一、博客背景 我最近一段时间在学习微信小程序开发,为了记录我的学习过程以及学习成果,我计划会在csdn中发布一些我的成果demo,并且具体分析写程序时遇到的问题以及解决问题的方法,这个文章是我发布的第一篇博客,有错误或是不足之处望大佬斧正。 经过几天的学习,我学习到了API接口这一块,我想着要写一份demo来实践一下,因此选择了这个天气查询小程序,下面我们就来...

LYJ_ainiou的博客 1435

微信小程序Demo:漂亮的地址选择器

微信小程序Demo:漂亮的地址选择器

微信小程序实现城市列表选择

主要为大家详细介绍了微信小程序实现城市列表选择,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

[微信篇]ESP8266-NonOS学习笔记(十一)之微信小程序控制LED灯 Part 1

Hi,大家好,最近有点偷懒,没怎么写文章,也主要是最近一直在瞎鼓捣硬件了,忙里偷闲今天教大家如何用微信小程序控制自己的硬件,相信大家都有用过微信小程序了,小程序相比于普通App开发来说就很简单了,主要是一些前端技术,而且在微信的体系内可以很好的跨平台,这一点是非常不错的,本篇文章就教大家如何构建自己的小程序来控制自己的设备,闲话少说,just do it! 在开始之前你需要注册几个账号,请确保先...

weixin_30881367的博客 774

从DBC到ARXML:用RTA-CAR7实现车载通信协议栈自动化生成全流程

本文详细介绍了如何利用ETAS RTA-CAR7工具链,特别是ISOLAR-A和RTA-BSW ConfGen,实现从车载通信DBC文件到AUTOSAR ARXML系统描述文件,再到基础软件(BSW)协议栈代码的自动化生成全流程。该流程通过深度配置、信号路由、PDU复用及规则定制,大幅提升开发效率与一致性,是应对现代汽车电子复杂网络开发的关键实践。

brandy的博客 220

基于微信小程序的地方非遗展示与传播毕业设计资料:技术选型、架构实现与性能优化指南

通过上面的步骤,你应该能搭建出一个稳定、流畅的非遗展示小程序了。但这只是数字化的第一步。非遗的核心是活态传承,未来我们可以思考如何结合 AIGC(人工智能生成内容)技术,让小程序从“展示台”变成“参与空间”。例如,是否可以开发一个“非遗词条编辑器”模块?用户(或传承人)可以上传一段技艺描述的关键词或老照片,由 AI 辅助生成结构化的词条文案、或为图片生成生动的解说文案,再经人工审核后发布。这不仅能降低内容生产门槛,还能激发公众的参与感。技术是为创意服务的。

2600_94959965的博客 575

(OpenCV)图像目标尺寸检测

  本文翻译自pyimagesearch技术博客上的一篇文章,《Measuring size of objects in an image with OpenCV》,原文作者:Adrian Rosebrock 。 https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv...

明柳梦少的博客 7万+

智能车竞赛飞檐走壁组立体赛道电磁引导线设计与实现

本文深入解析了智能车竞赛飞檐走壁组立体赛道电磁引导线的核心设计与实现。针对垂直面、圆筒、跷跷板等立体元素,详细阐述了电磁线规格参数选择、三维空间铺设技巧及磁场调试方法,旨在帮助参赛队伍打造稳定可靠的导航系统,提升车模在复杂立体赛道上的通过率与稳定性。

bert9linguist的博客 281

天气查询小程序

天气查询小程序

weixin_50947533的博客 200

桂电 数电实验 期末考试 试卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

桂电 数电实验 期末考试 试卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

Molly 的博客 1万+

10分钟打造你的专属AI数据助手:DB-GPT让数据分析像聊天一样简单

你是否曾为复杂的SQL查询而头疼?是否希望有一个智能助手能理解你的业务问题并直接从数据库中找出答案?今天,我要介绍的开源项目DB-GPT,正是这样一个革命性的AI数据助手,它能让你用自然语言与数据库对话,将数据分析的门槛降到最低。 想象一下这样的场景:早晨开会前,你需要快速了解公司上周的销售数据趋势,但你不懂SQL,也不熟悉复杂的报表工具。这时,你只需打开DB-GPT,输入"帮我分析上周的销售情

gitblog_00234的博客 499

别再为通讯发愁了!手把手教你用PCAN-View调试Kinco步科伺服电机的CANopen

本文详细介绍了如何使用PCAN-View工具调试Kinco步科伺服电机的CANopen通讯,从环境搭建到实战演练,涵盖硬件连接、软件配置及故障排除。通过具体案例和代码示例,帮助工程师快速掌握伺服电机通讯控制技术,解决工业设备通讯难题。

weixin_29189377的博客 266

QML 果冻抖动:用 Scale 动画模拟 Q 弹反馈

介绍果冻抖动效果:点击后卡片通过多段 ParallelAnimation 实现 Scale X/Y 反向缩放和逐步衰减,模拟果冻弹性形变;进阶版本加入小幅 Rotation 增加活泼感,适合游戏、儿童应用等趣味反馈场景。

u011186532的专栏 425

前端工程师的AI就绪能力重构:从写代码到定义交互边界

在AI深度融入前端开发的当下,'前端工程师'正经历角色本质的演进——不再仅聚焦于UI实现,而是承担起意图翻译、智能界面编排与上下文感知交付的核心职责。其技术根基已转向TypeScript驱动的智能类型防护、Web Components构建的可组合AI行为单元,以及以用户体验为标尺的AI驱动性能基线。这一转变回应了行业高频搜索需求:如何让前端真正‘用好AI’而非‘被AI替代’?关键不在掌握某个大模型API,而在于建立人机协同的工程范式:用类型系统约束AI幻觉,用声明式契约解耦AI能力,用可验证体验指标校准AI

weixin_30918633的博客 538

增量学习入门:概念、代码示例与应用场景

在当今快速变化的数据环境中,传统的机器学习模型往往需要重新训练以适应新的数据。然而,这种方法不仅耗时耗力,还可能导致模型性能的不稳定。增量学习(Incremental Learning)作为一种新兴的学习范式,能够在新数据到来时动态更新模型,而无需重新训练整个模型。本文将详细介绍增量学习的基本概念、代码示例、应用场景以及需要注意的事项。增量学习作为一种高效的机器学习方法,能够在新数据到来时动态更新模型,具有广泛的应用前景。通过本文的介绍,相信你对增量学习有了初步的了解。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1152

面向基层决策的离线AI可视化系统设计

灾害风险管理系统本质上是将多源异构数据转化为可执行政策建议的技术工具。其核心原理在于构建脆弱性-暴露度-应对力三维评估框架,并通过规则驱动而非黑箱模型实现透明决策。技术价值体现在降低行政使用门槛、适配低算力终端与断网环境,显著提升资源分配效率与公信力。典型应用场景包括发展中国家县级防灾预算分配、学校基础设施安全评级、卫生服务覆盖缺口识别等基层治理任务。本文聚焦马达加斯加‘Visualise’系统实践,深入解析离线SQLite架构、地理围栏式交互、双语热力图等关键设计,展现AI如何真正服务于戴草帽踩泥巴的决策

weixin_30254435的博客 492

【EB_Tresos专题】-01-EB Tresos导入工程

<--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> <--返回「Autosar_BSW高阶配置」总目录--> <--返回「Autosar_BSW高阶配置」专栏主页--> <--返回「个人博客」首页--> 结尾 ...

「汽车电子助手」的博客 6434

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

小程序商城怎么选?有赞、微盟、码云数智三平台深度对比

在搭建小程序商城时,SaaS租用与源码交付是两种截然不同的技术路线。SaaS平台提供标准化模板与营销插件,能快速上线,但数据归属和二次开发受制于人;源码交付则将代码与数据库完全交给企业,支持深度定制和私有化部署,适合业务流程特殊的项目。理解两者的技术原理与成本结构,有助于根据业务阶段选择合理的商城系统。有赞交易体系成熟、微盟擅长连锁门店协同、码云数智主打源码可控,三者分别对应标准化零售、线上线下融合与深度定制等典型场景。选型本质是匹配生意模型,需综合评估年费、抽佣、数据迁出成本与API开放度。

weixin_34184158的博客 249

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

上一篇: javascript实现验证密码中是否同时包含大写字母、小写字母、数字及特定特殊字符
下一篇: 记录一次oracle报错IMP-00058: 遇到 ORACLE 错误 904 ORA-00904: “xxx“: 标识符无效
if时光重来
博客等级 码龄8年 248粉丝 217原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值