首页 > 编程语言 >微信小程序—智能小蜜(基于智能语义解析olami开放平台)

微信小程序—智能小蜜(基于智能语义解析olami开放平台)

时间:2023-06-16 10:32:50浏览次数:93  
标签:微信 self detail olami 智能 main id view


概述


该程序支持功能有查天气、查诗词、查百科、算算术、查日历、看笑话、看故事、聊天等,通过用户输入语句智能解析用户意图输出相应答案。


详细


一、准备工作


1、电脑需要安装有微信web开发者工具,如果没有请点击这里安装:下载地址

2、成为微信小程序开发者,需要用到appID,详细流程见微信公众平台流程介绍


二、程序实现

1、扫码体验

2、项目目录如下:

  • main为首页面,实现天气查询(使用modal组件显示弹出框修改城市),和导航子页面诗词、日历、数学、单位转换、24点游戏。
  • joke为笑话页,实现看笑话、看故事。
  • baike为百科页,实现百科知识查询。
  • other为其他页,实现广告页轮播。
  • detail为从main页导航到的子页面,实现功能有诗词、日历、数学、单位转换、24点游戏、聊天等。

微信小程序—智能小蜜(基于智能语义解析olami开放平台)_ci

3、主要代码说明:

1)、首页:

a、支持天气查询(使用modal组件显示弹出框修改城市);

main.wxml


<modal title="请输入城市名" hidden="{{modalHidden}}" bindconfirm="modalConfirm" bindcancel="modalCancel">
    <view class="setcity">
      <image style="width: 40px; height: 40px; " mode="aspectFit" src="../../image/city.png"></image>
      <input class="input" placeholder="点此手动输入" placeholder-style="color:#6aa84f" maxlength="10" confirm-type="send" bindblur="bindConfirmControl" />
    </view>
  </modal>



main.js



modalConfirm: function (options) {
    var self = this;
    self.setData({
      modalHidden: true
    });
    var city = wx.getStorageSync("city")
    if (typeof city != 'undefined' && city != ''){
      NliProcess("今天" + city + "的天气", self);
    }
  },

  modalCancel: function (options) {
    var self = this;
    self.setData({
      modalHidden: true
    });
    wx.clearStorage();
  },

  bindConfirmControl: function (e) {
    var inputTxt = e.detail.value;
    if (inputTxt != '')
    wx.setStorageSync("city", inputTxt);
  }


b、支持导航到子页面诗词、日历、数学、单位转换、24点游戏。

main.js



appClick: function (options) {
    var id = options.currentTarget.dataset.id;
    wx.navigateTo({
      url: '../detail/detail?id=' + id
    })

  }



main.wxml



<view class="list">
    <block wx:for="{{app_display}}">
      <view class="text-app" data-id="{{item.num}}" bindtap="appClick">
        <image class="img" style="width: 60px; height: 60px; " mode="widthFix" src="{{item.imgurl}}"></image>
        <text class="text-app-info">{{item.display}}</text>
      </view>
    </block>
  </view>



2)、支持搜索诗词、日历、数学、单位转换、24点游戏(使用radio组件实现单项选择器)。

从main页跳转到detail页时,传的参数“id”可在detail.js的onLoad方法中获得。由id(即checkedno)值来设置radio的初始选项。

detail.js



onLoad: function (options) {
    var self = this;
    checkedno = options.id;  
    self.setData({
      checkedno: checkedno,
      failTxt: expList[checkedno]
    })   

  }


detail.wxml



<radio-group class="radio-group" bindchange="radioChange">
  <label class="radio" wx:for="{{radioitems}}">
    <radio value="{{item.name}}" checked="{{index == checkedno}}"/>{{item.value}}
  </label>
</radio-group>



3)、支持查百科。

icon组件type值:success, success_no_circle, info, warn, waiting, cancel, download, search, clear。这里用的search类型。

baike.wxml


<view class="text-search">
    <icon type="search" size="25" color="blue" class="searchIcon" />
    <input class="input" placeholder-style="color:#6aa84f" maxlength="50" placeholder="点此手动输入" value="{{inputTxt}}" confirm-type="send" bindconfirm="bindConfirmControl" bindfocus="bindFocusClear" />
  </view>



4)、使用组件swiper实现图片轮播。

other.wxml



<swiper indicator-dots="true" autoplay="true" interval="4000" duration="2000">
  <swiper-item>
    <image src="../../image/img1.png" class="slide-image"/>
  </swiper-item>
  <swiper-item>
    <image src="../../image/img2.png" class="slide-image"/>
  </swiper-item>
  <swiper-item>
    <image src="../../image/img3.png" class="slide-image"/>
  </swiper-item>
  <swiper-item>
    <image src="../../image/img4.png" class="slide-image"/>
  </swiper-item>
</swiper>



以下是背景图片设置方式:

other.wxss

page{
  background-image:url('https://img-blog.cs.net/20170812173448986?/gravity/Center');
  background-size: cover;
}

三、运行效果

1、运行截图如下:

微信小程序—智能小蜜(基于智能语义解析olami开放平台)_ci_02


微信小程序—智能小蜜(基于智能语义解析olami开放平台)_edn_03

微信小程序—智能小蜜(基于智能语义解析olami开放平台)_edn_04


微信小程序—智能小蜜(基于智能语义解析olami开放平台)_微信小程序智能小蜜_05


微信小程序—智能小蜜(基于智能语义解析olami开放平台)_ci_06

四、其他补充

1、开发过程中常见问题:

1)、从视图层到逻辑层的数据传递。详情可参考微信小程序—事件

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view> 
  
Page({
  tapName: function(event) {
    console.log(event)
  }
})


其中event的信息如下:


{
"type":"tap",
"timeStamp":895,
"target": {
  "id": "tapTest",
  "dataset":  {
    "hi":"WeChat"
  }
},
"currentTarget":  {
  "id": "tapTest",
  "dataset": {
    "hi":"WeChat"
  }
},


2)、currentTarget 与 target的区别。微信小程序—冒泡/非冒泡事件

target:触发事件的源组件。

currentTarget:事件绑定的当前组件

如以下例子中,点击 inner view 会先后触发handleTap3和handleTap2(因为tap事件会冒泡到 middle view,而 middle view 阻止了 tap 事件冒泡,不再向父节点传递),点击 middle view 会触发handleTap2,点击 outter view 会触发handleTap1。



<view id="outter" bindtap="handleTap1">
  outer view
  <view id="middle" catchtap="handleTap2">
    middle view
    <view id="inner" bindtap="handleTap3">
      inner view
    </view>
  </view>
</view>


3)、做微信小程序时,要严格遵守小程序审核标准,注意:特殊行业所需资质材料



标签:微信,self,detail,olami,智能,main,id,view
From: https://blog.51cto.com/u_7583030/6498035

相关文章

  • 智能边缘网关支持视频汇聚集中接入,如何开启云端录像?
    EasyCVR智能边缘网关是TSINGSEE青犀视频旗下软硬一体的一款产品,可提供多协议(RTSP/RTMP/国标GB28181/海康Ehome/大华、海康SDK等)的设备视频接入、采集、视频处理、分发等服务,可分发多种格式的视频流,包括HTTP-FLV/WS-FLV/RTMP/RTSP/WebRTC/HLS。智能边缘网关支持通过国标GB28181协议......
  • 人工智能的安全:黑客攻击和数据隐私
    目录人工智能的安全:黑客攻击和数据隐私随着人工智能技术的快速发展和应用,安全问题也越来越受到人们的关注。黑客攻击和数据隐私已成为影响人工智能技术安全的两个主要问题。本文将介绍人工智能的安全,包括黑客攻击和数据隐私的概念和技术原理,并提供实现步骤和应用场景。一、引言......
  • 人工智能如何影响音乐产业中的音频和视频技术:提高音质和表现力
    目录人工智能如何影响音乐产业中的音频和视频技术:提高音质和表现力摘要本文介绍了人工智能在音乐产业中的音频和视频技术的应用,包括音质提高和表现力增强两个方面。通过解释基本概念、技术原理和相关技术比较,实现了实现步骤与流程,并应用示例和代码实现讲解了如何优化和改进该技......
  • 微信协议/ipad协议/个微协议/ipad8.0.37
    今天给大家介绍ipad登陆方法以及优缺点,希望可以帮到有需要的人ipad协议存在多种版本以及各有各的优缺点,而且利用协议可代写程序。也可以实现多种功能,群发,拉群,群活码,关键词回复等等 这篇文章主要讨论的是个人微信号目前几种接入的办法和路线。 仅供参考:主流的路线有如下几条: ......
  • 浅析视频监控技术及AI发展趋势下的智能化视频技术应用
    视频监控技术是指通过摄像机对指定区域进行实时视频直播、录制、传输、存储、管理和分析的技术系统。它可以用于监控各种场所,如校园、工厂、工地、工作场所、公共区域、交通工具等。视频监控技术主要涉及到以下几个部分:1、摄像机摄像机是视频监控技术的核心设备,它主要用于捕捉画......
  • 17 个有助于增加销售额的智能入站营销理念
    无论您是开启集客式的营销有一段时间还是处于起步阶段,了解像您这样的企业是如何粉碎竞争对手的的集客式策略总是有帮助的。无论您的公司做什么,它所服务的行业,是B2B还是B2C,您都可以在这里找到许多可以使用的示例。在本文中,我们将深入探讨一系列由成功使用入站营销来推动销售的公......
  • 微信菜单中的域名转发
    微信菜单中通常会设置一些URL,如果网站出现了域名迁移,菜单的URL也需要改。但微信菜单有个特性:修改菜单内容后,24小时之内才能更新到所有微信客户端。也就是说,24小时候,还是有用户会访问到老的域名。怎么办?在老的网站入口最顶上,加上如下PHP代码即可:$old_url='http://'.$_SERVER['HTTP......
  • AutodeskUniversity--Revit开发在BIM项目中的演进及与人工智能的结合(梁裕卿)
    课程说明本课程将分享同济大学建筑设计研究院(集团)有限公司(以下简称TJAD)上海建筑数字建造工程技术研究中心(以下简称上海建筑数字中心)打造Revit插件产品的经验,包括完整的需求,软件架构、开发、第三方程序集的使用、测试及打包过程。同时介绍Revit开发在BIM项目中是如何逐步迭......
  • 50基于java的智能停车场管理系统设计与实现
    ​>本章节给大家带来一个基于java的智能停车场管理系统设计与实现,可适用于java车辆管理,java停车场信息管理平台,小区停车管理平台,小区停车,物业停车管理,智慧停车场管理系统,智慧小区停车场平台,车辆AI识别,车辆识别。项目背景近年来,随着我国经济的快速发展,人们生活水平的不断提高,物......
  • 批量生成,本地推理,人工智能声音克隆框架PaddleSpeech本地批量克隆实践(Python3.10)
    云端炼丹固然是极好的,但不能否认的是,成本要比本地高得多,同时考虑到深度学习的训练相对于推理来说成本也更高,这主要是因为它需要大量的数据、计算资源和时间等资源,并且对超参数的调整也要求较高,更适合在云端进行。在推理阶段,模型的权重和参数不再调整。相反,模型根据输入数据的特征......