ChatGPT实现旅游推荐微信小程序

随着旅游行业的快速发展,个性化推荐已成为提升用户体验的重要手段。通过AI技术,提供一个智能旅游推荐小程序,使用户能够轻松获取定制化的旅行建议。

项目概述

项目目标

开发一个AI旅游推荐小程序,基于用户输入的旅行偏好,提供个性化的旅游推荐和详细信息展示。

主要功能

  1. 个性化推荐:根据用户输入的信息提供旅行目的地推荐。
  2. 详细信息展示:展示每个推荐目的地的详细信息和相关活动。
  3. 用户管理:用户可管理个人信息和旅行计划。
  4. 用户反馈:用户对推荐进行评分和评论,以提高未来的推荐质量。
  5. 行程管理:用户可以查看和管理自己的旅行计划,添加或删除目的地。

1. 页面设计

1.1 欢迎页面

页面元素
  • 标题:欢迎使用 AI 旅游推荐
  • 描述:智能推荐,探索你的下一个旅行目的地!
  • 按钮:开始探索
代码示例
<view class="container"> 
    <text class="title">欢迎使用 AI 旅游推荐</text> 
    <text class="description">智能推荐,探索你的下一个旅行目的地!</text> 
    <button bindtap="startExploration">开始探索</button> 
</view>
// 欢迎页面逻辑 
Page({ 
    startExploration: function() { 
      wx.navigateTo({ url: '/pages/input/input' }); 
    } 
});

1.2 用户输入页面

页面元素
  • 标题:输入旅行偏好
  • 输入框
    • 目的地:文本框
    • 旅行类型:下拉菜单(休闲、探险、文化、美食)
    • 预算:数字输入框
    • 出发日期:日期选择器
  • 按钮:获取推荐
 

代码示例
<view class="container"> 
    <text class="title">输入旅行偏好</text> 
    <input placeholder="请输入目的地" bindinput="updateDestination" /> 
    <picker mode="selector" range="{{travelTypes}}" bindchange="updateTravelType"> 
        <view class="picker">选择旅行类型:{{selectedType}}</view> 
    </picker> 
    <input placeholder="请输入预算" bindinput="updateBudget" type="number" /> 
    <picker mode="date" bindchange="updateDepartureDate"> 
        <view class="picker">选择出发日期:{{departureDate}}</view> 
    </picker> 
    <button bindtap="getRecommendations">获取推荐</button> 
</view>
// 用户输入页面逻辑 
Page({
  data: {
    destination: '',
    travelTypes: ['休闲', '探险', '文化', '美食'],
    selectedType: '休闲', budget: '', departureDate: ''
  },
  updateDestination: function (e) {
    this.setData({ destination: e.detail.value });
  },
  updateTravelType: function (e) {
    this.setData({ selectedType: this.data.travelTypes[e.detail.value] });
  },
  updateBudget: function (e) {
    this.setData({ budget: e.detail.value });
  },
  updateDepartureDate: function (e) {
    this.setData({ departureDate: e.detail.value });
  },
  getRecommendations: function () {
    wx.request({
      url: 'https://your_backend_url/get_recommendations',
      method: 'POST',
      data: {
        destination: this.data.destination,
        travelType: this.data.selectedType,
        budget: this.data.budget,
        departureDate: this.data.departureDate
      }, success: (res) => {
        wx.navigateTo({ url: '/pages/recommendations/recommendations?data=' + JSON.stringify(res.data) });
      }, fail: () => {
        wx.showToast({ title: '获取推荐失败,请重试', icon: 'none' });
      }
    });
  }
});

1.3 AI 推荐页面

页面元素
  • 标题:AI 推荐的旅行目的地
  • 目的地列表
    • 每个目的地名称
    • 简短描述
    • 相关图像
  • 按钮:获取更多推荐

代码示例
<view class="container"> <text class="title">AI 推荐的旅行目的地</text>
  <block wx:for="{{recommendations}}" wx:key="index">
    <view class="destination-item"> <text class="destination-name">{{item.name}}</text> 
      <text class="destination-description">{{item.description}}</text>
      <image src="{{item.image}}" mode="aspectFit"></image>
    </view>
  </block> <button bindtap="getMoreRecommendations">获取更多推荐</button>
</view>
// AI 推荐页面逻辑 
Page({
  data: {
    recommendations: []
  },
  onLoad: function (options) {
    const data = JSON.parse(options.data);
    this.setData({ recommendations: data.recommendations });
  },
  getMoreRecommendations: function () {
    wx.request({
      url: 'https://your_backend_url/get_more_recommendations',
      method: 'GET',
      success: (res) => {
        this.setData({ recommendations: res.data.recommendations });
      }, fail: () => {
        wx.showToast({ title: '获取更多推荐失败,请重试', icon: 'none' });
      }
    });
  }
});

1.4 详细信息页面

页面元素
  • 标题:详细信息
  • 内容
    • 目的地名称
    • 完整描述
    • 旅游活动推荐
  • 按钮:添加到行程
<view class="container">
  <text class="title">{{destinationDetails.name}}</text>
  <text class="description">{{destinationDetails.description}}</text>
  <text class="activities">推荐活动:{{destinationDetails.activities.join(', ')}}</text>
  <button bindtap="addToItinerary">添加到行程</button>
</view>
// 详细信息页面逻辑 
Page({
  data: {
    destinationDetails: {}
  },
  onLoad: function (options) {
    const details = JSON.parse(options.data);
    this.setData({ destinationDetails: details });
  },
  addToItinerary: function () {
    wx.request({
      url: 'https://your_backend_url/add_to_itinerary',
      method: 'POST',
      data: {
        destination: this.data.destinationDetails.name
      }, success: () => {
        wx.showToast({ title: '添加成功', icon: 'success' });
      }, fail: () => {
        wx.showToast({ title: '添加失败,请重试', icon: 'none' });
      }
    });
  }
});

1.5 用户个人中心页面

页面元素
  • 标题:用户个人中心
  • 用户头像:展示用户头像的圆形图像
  • 用户信息:用户名 邮箱 会员等级
  • 功能按钮
    • 修改个人信息
    • 查看行程
    • 反馈建议
代码示例
<view class="container">
  <view class="header">
    <image class="avatar" src="{{userInfo.avatar}}" mode="aspectFill"></image>
    <text class="username">{{userInfo.username}}</text>
    <text class="email">{{userInfo.email}}</text>
    <text class="membership-level">会员等级:{{userInfo.membershipLevel}}</text>
  </view>
  
  <view class="button-group">
    <button class="button" bindtap="updateInfo">修改个人信息</button>
    <button class="button" bindtap="viewItinerary">查看行程</button>
    <button class="button" bindtap="giveFeedback">反馈建议</button>
    <button class="button logout" bindtap="logout">登出</button>
  </view>
</view>
// 用户个人中心页面逻辑
Page({
  data: {
    userInfo: {
      avatar: 'https://via.placeholder.com/100', // 默认头像
      username: '张三',
      email: 'zhangsan@example.com',
      membershipLevel: '普通会员'
    }
  },
  onLoad: function() {
    // 从后端获取用户信息
    wx.request({
      url: 'https://your_backend_url/get_user_info',
      method: 'GET',
      success: (res) => {
        this.setData({ userInfo: res.data });
      },
      fail: () => {
        wx.showToast({ title: '获取用户信息失败,请重试', icon: 'none' });
      }
    });
  },
  updateInfo: function() {
    // 跳转到修改个人信息页面
    wx.navigateTo({ url: '/pages/update/update' });
  },
  viewItinerary: function() {
    wx.navigateTo({ url: '/pages/itinerary/itinerary' });
  },
  giveFeedback: function() {
    wx.navigateTo({ url: '/pages/feedback/feedback' });
  },
  logout: function() {
    // 处理登出逻辑
    wx.showToast({ title: '成功登出', icon: 'success' });
    // 跳转回欢迎页面
    wx.redirectTo({ url: '/pages/welcome/welcome' });
  }
});

1.6 额外功能页面

页面元素
  • 标题:额外功能
  • 内容
    • 用户反馈
    • 行程管理
代码示例
<view class="container">
  <text class="title">额外功能</text>
  <textarea placeholder="请留下您的反馈" bindinput="updateFeedback"></textarea>
  <button bindtap="submitFeedback">提交反馈</button>
  <button bindtap="manageItinerary">管理行程</button>
</view>

// 额外功能页面逻辑
Page({
  data: {
    feedback: ''
  },
  updateFeedback: function(e) {
    this.setData({ feedback: e.detail.value });
  },
  submitFeedback: function() {
    wx.request({
      url: 'https://your_backend_url/submit_feedback',
      method: 'POST',
      data: { feedback: this.data.feedback },
      success: () => {
        wx.showToast({ title: '反馈提交成功', icon: 'success' });
      },
      fail: () => {
        wx.showToast({ title: '反馈提交失败,请重试', icon: 'none' });
      }
    });
  },
  manageItinerary: function() {
    wx.navigateTo({ url: '/pages/manage/manage' });
  }
});

2. 后端实现

2.1 后端架构

后端采用Python Flask框架构建,主要负责接收用户请求、处理数据和返回推荐结果。

2.2 API 接口设计

2.2.1 获取推荐接口

请求路径/get_recommendations

请求方法:POST

请求参数

  • destination: 用户输入的目的地
  • travelType: 用户选择的旅行类型
  • budget: 用户输入的预算
  • departureDate: 用户选择的出发日期

返回示例

{
  "recommendations": [
    {
      "name": "巴黎",
      "description": "浪漫之都,适合休闲旅行。",
      "image": "paris.jpg"
    },
    {
      "name": "东京",
      "description": "现代与传统的完美结合。",
      "image": "tokyo.jpg"
    }
  ]
}

实现代码:

from flask import Flask, jsonify, request
import openai
import random

app = Flask(__name__)

# 设置 OpenAI API 密钥
openai.api_key = 'YOUR_OPENAI_API_KEY'  # 替换为你的 OpenAI API 密钥

# 示例数据(实际应用中,你应该从数据库中获取数据)
DESTINATIONS = [
    {"id": 1, "name": "巴厘岛", "description": "美丽的海滩和丰富的文化", "image": "https://example.com/bali.jpg"},
    {"id": 2, "name": "巴黎", "description": "浪漫之都,艾菲尔铁塔", "image": "https://example.com/paris.jpg"},
    {"id": 3, "name": "东京", "description": "现代与传统的完美结合", "image": "https://example.com/tokyo.jpg"},
    {"id": 4, "name": "纽约", "description": "繁华的都市生活", "image": "https://example.com/newyork.jpg"},
    {"id": 5, "name": "悉尼", "description": "壮观的海港和歌剧院", "image": "https://example.com/sydney.jpg"},
]

def get_ai_recommendations(user_preferences):
    # 使用 OpenAI API 根据用户偏好获取推荐
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "system", "content": "你是一个旅游推荐助手。"},
            {"role": "user", "content": f"根据以下偏好,推荐一些旅行目的地:{user_preferences}"}
        ],
        max_tokens=150
    )
    
    recommendations = response['choices'][0]['message']['content']
    return recommendations.splitlines()  # 假设每个推荐以换行符分隔

@app.route('/api/recommendations', methods=['GET'])
def get_recommendations():
    # 获取请求中的参数
    num_recommendations = request.args.get('num', default=3, type=int)
    user_preferences = request.args.get('preferences', default='', type=str)

    # 如果用户提供偏好,则通过AI获取推荐
    if user_preferences:
        ai_recommendations = get_ai_recommendations(user_preferences)
        recommendations = [{'name': rec, 'description': 'AI推荐的目的地', 'image': 'https://example.com/placeholder.jpg'} for rec in ai_recommendations][:num_recommendations]
    else:
        # 随机选择推荐的目的地
        recommendations = random.sample(DESTINATIONS, min(num_recommendations, len(DESTINATIONS)))

    return jsonify(recommendations)

if __name__ == '__main__':
    app.run(debug=True)
2.2.2 获取更多推荐接口

请求路径/get_more_recommendations

请求方法:GET

返回示例:与获取推荐接口相同。

实现代码:

from flask import Flask, jsonify, request
import openai
import random

app = Flask(__name__)

# 设置 OpenAI API 密钥
openai.api_key = 'YOUR_OPENAI_API_KEY'  # 替换为你的 OpenAI API 密钥

# 示例数据(实际应用中,你应该从数据库中获取数据)
DESTINATIONS = [
    {"id": 1, "name": "巴厘岛", "description": "美丽的海滩和丰富的文化", "image": "https://example.com/bali.jpg"},
    {"id": 2, "name": "巴黎", "description": "浪漫之都,艾菲尔铁塔", "image": "https://example.com/paris.jpg"},
    {"id": 3, "name": "东京", "description": "现代与传统的完美结合", "image": "https://example.com/tokyo.jpg"},
    {"id": 4, "name": "纽约", "description": "繁华的都市生活", "image": "https://example.com/newyork.jpg"},
    {"id": 5, "name": "悉尼", "description": "壮观的海港和歌剧院", "image": "https://example.com/sydney.jpg"},
]

def get_ai_recommendations(user_preferences):
    # 使用 OpenAI API 根据用户偏好获取推荐
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "system", "content": "你是一个旅游推荐助手。"},
            {"role": "user", "content": f"根据以下偏好,推荐一些旅行目的地:{user_preferences}"}
        ],
        max_tokens=150
    )
    
    recommendations = response['choices'][0]['message']['content']
    return recommendations.splitlines()  # 假设每个推荐以换行符分隔

@app.route('/api/recommendations', methods=['GET'])
def get_recommendations():
    # 获取请求中的参数
    num_recommendations = request.args.get('num', default=3, type=int)
    user_preferences = request.args.get('preferences', default='', type=str)

    # 如果用户提供偏好,则通过AI获取推荐
    if user_preferences:
        ai_recommendations = get_ai_recommendations(user_preferences)
        recommendations = [{'name': rec, 'description': 'AI推荐的目的地', 'image': 'https://example.com/placeholder.jpg'} for rec in ai_recommendations][:num_recommendations]
    else:
        # 随机选择推荐的目的地
        recommendations = random.sample(DESTINATIONS, min(num_recommendations, len(DESTINATIONS)))

    return jsonify(recommendations)

if __name__ == '__main__':
    app.run(debug=True)
2.2.3 添加到行程接口

请求路径/add_to_itinerary

请求方法:POST

请求参数

  • destination: 要添加的目的地名称

返回示例

{ "message": "添加成功" }

实现代码:

from flask import Flask, jsonify, request

app = Flask(__name__)

# 示例数据(实际应用中,应该使用数据库)
USER_ITINERARIES = {}  # 存储用户行程,格式为 {user_id: [destination_ids]}

# 示例目的地数据
DESTINATIONS = [
    {"id": 1, "name": "巴厘岛", "description": "美丽的海滩和丰富的文化"},
    {"id": 2, "name": "巴黎", "description": "浪漫之都,艾菲尔铁塔"},
    {"id": 3, "name": "东京", "description": "现代与传统的完美结合"},
]

@app.route('/api/add_to_itinerary', methods=['POST'])
def add_to_itinerary():
    data = request.json
    user_id = data.get('user_id')
    destination_id = data.get('destination_id')

    # 检查用户行程是否存在
    if user_id not in USER_ITINERARIES:
        USER_ITINERARIES[user_id] = []

    # 添加目的地到用户行程
    if destination_id not in USER_ITINERARIES[user_id]:
        USER_ITINERARIES[user_id].append(destination_id)
        return jsonify({"message": "目的地已成功添加到行程!", "itinerary": USER_ITINERARIES[user_id]}), 200
    else:
        return jsonify({"message": "目的地已在行程中!"}), 400

@app.route('/api/get_itinerary/<user_id>', methods=['GET'])
def get_itinerary(user_id):
    itinerary = USER_ITINERARIES.get(user_id, [])
    destinations = [dest for dest in DESTINATIONS if dest['id'] in itinerary]
    return jsonify(destinations)

if __name__ == '__main__':
    app.run(debug=True)
2.2.4 获取用户信息接口

请求路径/get_user_info

请求方法:GET

返回示例

{
  "username": "张三",
  "email": "zhangsan@example.com"
}
2.2.5 提交反馈接口

请求路径/submit_feedback

请求方法:POST

请求参数

  • feedback: 用户提交的反馈内容

返回示例

{
  "message": "反馈提交成功"
}

2.3 后端代码示例

以下是Flask后端的基本实现代码:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/get_recommendations', methods=['POST'])
def get_recommendations():
    data = request.json
    # 根据数据处理逻辑生成推荐
    recommendations = [
        {"name": "巴黎", "description": "浪漫之都,适合休闲旅行。", "image": "paris.jpg"},
        {"name": "东京", "description": "现代与传统的完美结合。", "image": "tokyo.jpg"}
    ]
    return jsonify({"recommendations": recommendations})

@app.route('/add_to_itinerary', methods=['POST'])
def add_to_itinerary():
    destination = request.json['destination']
    # 添加逻辑
    return jsonify({"message": "添加成功"})

@app.route('/get_user_info', methods=['GET'])
def get_user_info():
    user_info = {"username": "张三", "email": "zhangsan@example.com"}
    return jsonify(user_info)

@app.route('/submit_feedback', methods=['POST'])
def submit_feedback():
    feedback = request.json['feedback']
    # 处理反馈
    return jsonify({"message": "反馈提交成功"})

if __name__ == '__main__':
    app.run(debug=True)

随便写写,代码不全

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/899353.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio安装图文详解教程

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 教程说明 本教程旨在详细介绍 Visual Studio 社区版的安装过程及其注意事项。 Visual Studio简介 Visual Studio 社区版功能完备且可扩展的免费 IDE&#xff0c;可用于创…

【WPF】中Dispatcher的DispatcherPriority参数使用

在 WPF 中&#xff0c;DispatcherPriority 参数用于指定通过 Dispatcher 调度的操作的执行优先级。加入 DispatcherPriority 参数的情况通常取决于你希望操作何时以及如何被执行。 1.Dispatcher的DispatcherPriority参数使用 以下是几种情况和示例说明&#xff1a; 1.1 需要…

【STM32 Blue Pill编程实例】-控制步进电机(ULN2003+28BYJ-48)

控制步进电机(ULN2003+28BYJ-48) 文章目录 控制步进电机(ULN2003+28BYJ-48)1、步进电机介绍2、ULN2003步进电机驱动模块3、硬件准备及接线4、模块配置3.1 定时器配置3.2 ULN2003输入引脚配置4、代码实现在本文中,我们将介使用 STM32Cube IDE 使用 ULN2003 电机驱动器来控制28B…

自由学习记录(14)

unity操作问题 位置&#xff1a;子物体的位置是相对于父物体的。如果你移动父物体&#xff0c;子物体会保持相对于父物体的相对位置&#xff0c;跟着一起移动。 旋转&#xff1a;子物体的旋转也是相对于父物体的。旋转父物体会导致子物体围绕父物体的原点旋转。 缩放&#xf…

【HarmonyOS NEXT】鸿蒙开发环境准备

0. 引言 看了发布会以后&#xff0c;热血澎湃啊&#xff0c;是时候学学把自己做的一些小工具搞成鸿蒙版了&#xff01;&#xff01;&#xff01; 1. 开发工具下载 下载地址&#xff1a;https://pan.quark.cn/s/08ddebdb7a20 工具版本会不定时更新&#xff0c;下载最新版即可…

【网络原理】——HTTP协议、fiddler抓包

阿华代码&#xff0c;不是逆风&#xff0c;就是我疯 你们的点赞收藏是我前进最大的动力&#xff01;&#xff01; 希望本文内容能够帮助到你&#xff01;&#xff01; 目录 一&#xff1a;认识HTTP 1&#xff1a;超文本传输 2&#xff1a;发展历史 3&#xff1a;HTML 4&am…

Axure树形菜单展开与折叠

亲爱的小伙伴&#xff0c;在您浏览之前&#xff0c;烦请关注一下&#xff0c;在此深表感谢&#xff01; 课程主题&#xff1a;Axure树形菜单展开与折叠 主要内容&#xff1a;树形菜单制作——层级关系——隐藏与显示——值的变化——多层交互 应用场景&#xff1a;关系树、菜…

R语言机器学习算法实战系列(十)自适应提升分类算法 (Adaptive Boosting)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍原理步骤教程下载数据加载R包导入数据数据预处理数据描述数据切割调节参数构建模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve特征的重要性保存模型总…

断点续传技术是什么?大型文件传输的新模式!

随着科技的不断进步&#xff0c;文件传输已成为我们日常生活和工作中不可或缺的一部分。然而&#xff0c;传输大型文件时常常会遇到网络不稳定、传输中断等问题&#xff0c;导致传输失败或者重新传输。为解决这一问题&#xff0c;断点续传技术应运而生。 一、断点续传技术是什么…

3GPP协议解读_NTN系列(一)_38.811_非地面网络(NTN)的背景、应用场景和信道建模

非地面网络 1. Scope4. 非地面网络背景介绍4.1 5G中的非地面网络4.2 非地面网络在5G中的用例4.3 卫星和空中接入网的架构4.4 卫星和空中接入网终端的特点4.5 空气/星载飞行器特性4.6 NTN的覆盖模式4.7 NTN网络架构选项4.8 频谱 5. 非地面网络应用场景5.1 应用场景概览5.2 属性介…

STM32通信协议-I2C

目录 一&#xff0c;IC2的协议规则 I2C总线是PHILIPS公司开发的两线式串行总线&#xff0c;I2C总线主要解决了单片机一对多通信的问题 两根通信线&#xff1a;SCL,SDA&#xff0c;同步&#xff0c;半双工通信&#xff0c;支持数据应答机制&#xff0c;支持总线挂载多设备。 …

2024ideaUI切换和svn与git的切换,svn的安装和配置,idea集成svn ,2024-10-18日

2024-10-18日 2024的UI实在很不舒服&#xff0c;隐藏了很多按键&#xff1b; 第一步&#xff1a; 视图 -》 外观 -》 工具栏选出来&#xff1b; 结果出来&#xff1a; 运行的按键和设置的按钮 第二步 点击设置的按钮&#xff0c;选择最后一个&#xff0c;重启就行 结果 舒服&…

网站漏扫:守护网络安全的关键防线

网站漏洞扫描&#xff0c;简称漏扫&#xff0c;是一种针对网站进行漏洞检测的安全服务。网站漏洞扫描在网络安全中占据着至关重要的地位。 网站漏扫在及时发现和修复漏洞方面发挥着关键作用 通过对网站和系统的全面扫描&#xff0c;能够快速识别出各种潜在的漏洞&#xff0c;…

网络安全领域推荐证书介绍及备考指南

在网络安全领域&#xff0c;拥有专业认证不仅可以证明个人的专业能力&#xff0c;还能帮助在实际工作中应用先进的技术和知识。以下是几种热门的网络安全证书介绍及备考指南。 1. OSCP (Offensive Security Certified Professional) 证书简介 OSCP是针对渗透测试领域的入门级…

<项目代码>YOLOv8路面垃圾识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…

实现简道云与企业微信的自动化数据集成

简道云入职新增企微成员西乡公司 在企业信息化管理中&#xff0c;数据的高效集成和实时同步是提升业务效率的重要环节。本文将分享一个具体的系统对接集成案例&#xff1a;如何通过轻易云数据集成平台&#xff0c;将简道云的数据无缝集成到企业微信&#xff0c;实现西乡公司新…

汽车免拆诊断案例 | 2023款零跑C01纯电车后备厢盖无法电动打开和关闭

故障现象  一辆2023款零跑C01纯电车&#xff0c;累计行驶里程约为2万km&#xff0c;车主进厂反映&#xff0c;后备厢盖无法电动打开和关闭。 故障诊断  接车后试车&#xff0c;操作后备厢盖外侧、驾驶人侧及遥控钥匙上的后备厢盖开启按钮&#xff0c;可以听到后备厢盖解锁的…

Golang | Leetcode Golang题解之第500题键盘行

题目&#xff1a; 题解&#xff1a; func findWords(words []string) (ans []string) {const rowIdx "12210111011122000010020202" next:for _, word : range words {idx : rowIdx[unicode.ToLower(rune(word[0]))-a]for _, ch : range word[1:] {if rowIdx[unico…

精益思维在新能源汽车研发中的应用体现

近年来&#xff0c;新能源汽车作为绿色出行的重要载体&#xff0c;其研发与生产模式正经历着深刻的变革。精益思维&#xff0c;这一源自制造业的管理理念&#xff0c;正逐步渗透并深刻影响着新能源汽车的研发过程&#xff0c;不仅提升了产品质量与生产效率&#xff0c;还促进了…

C++ -stack、queue

博客主页&#xff1a;【夜泉_ly】 本文专栏&#xff1a;【C】 欢迎点赞&#x1f44d;收藏⭐关注❤️ 文章目录 &#x1f4a1; 简介1. 栈2. 队列3. 容器适配器的特点4. 适配器的本质5. 小结 &#x1f4a1; 简单实现1. 栈的实现2. 队列的实现 &#x1f4a1; 简单使用1. 用队列实现…