原生小程序 获取手机号并进行存储到mysql数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 原生小程序 获取手机号并进行存储到mysql数据库

前端小程序代码(原生小程序)

index.wxml(前端页面)
<!-- index.wxml -->
 
<view class="container">
  <button bindtap="getPhoneNumber">获取手机号</button>
</view>

index.js(前端逻辑)

// index.js
 
Page({
  data: {
    phoneNumber: ''
  },
 
  getPhoneNumber() {
    wx.login({
      success: (res) => {
        if (res.code) {
          wx.request({
            url: 'https://your-backend-url.com/getPhoneNumber',
            method: 'POST',
            data: {
              code: res.code
            },
            success: (response) => {
              console.log('获取手机号成功:', response.data.phoneNumber);
              this.setData({
                phoneNumber: response.data.phoneNumber
              });
              // 这里可以将手机号上传到后端保存到数据库
              wx.showToast({
                title: '获取手机号成功',
                icon: 'success'
              });
            },
            fail: (error) => {
              console.error('获取手机号失败:', error);
              wx.showToast({
                title: '获取手机号失败',
                icon: 'none'
              });
            }
          });
        } else {
          console.error('登录失败!' + res.errMsg);
        }
      }
    });
  }
});

后端Java Spring Boot代码

Controller
import org.springframework.web.bind.annotation.*;
 
@RestController
@RequestMapping("/api")
public class PhoneNumberController {
 
    @PostMapping("/getPhoneNumber")
    public ResponseEntity<?> getPhoneNumber(@RequestBody String code) {
        // 根据 code 获取用户手机号的逻辑,这里假设已经实现了获取手机号的方法
        String phoneNumber = someService.retrievePhoneNumber(code);
        
        // 假设 phoneNumber 是从小程序获取到的手机号
        
        // 将手机号保存到数据库
        boolean saved = someService.savePhoneNumber(phoneNumber);
        
        if (saved) {
            return ResponseEntity.ok().body("{\"phoneNumber\": \"" + phoneNumber + "\"}");
        } else {
            return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
        }
    }
}

Service

import org.springframework.stereotype.Service;
 
@Service
public class SomeService {
 
    public String retrievePhoneNumber(String code) {
        // 实现根据 code 获取用户手机号的逻辑,这里可以调用微信小程序登录接口获取手机号
        // 该部分代码需根据具体的微信登录接口来实现
        // 示例中直接返回一个固定的手机号
        return "1234567890";
    }
    
    public boolean savePhoneNumber(String phoneNumber) {
        // 实现保存手机号到数据库的逻辑,这里假设使用JPA或者MyBatis操作数据库
        // 示例中直接打印保存成功信息,实际应用中需实现具体的数据库操作
        System.out.println("Saving phone number to database: " + phoneNumber);
        // 假设保存成功
        return true;
    }
}

配置文件 application.properties

# application.properties
 
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name
spring.datasource.username=your_username
spring.datasource.password=your_password
 
# 其他Spring Boot配置

注意事项

安全性考虑:在实际应用中,应确保通信安全,例如使用HTTPS,同时在小程序和后端实现身份验证和授权机制。


数据库连接:请根据实际情况配置正确的数据库连接信息,并确保后端可以正常连接到MySQL数据库。


小程序设置:在微信公众平台设置小程序的请求域名,确保可以访问后端接口。


这些代码片段可以帮助你实现从原生小程序获取手机号并将其存储到MySQL数据库的功能。请根据实际情况调整和完善代码。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
4月前
|
关系型数据库 MySQL Java
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
【YashanDB知识库】原生mysql驱动配置连接崖山数据库
|
1月前
|
存储 关系型数据库 数据库
高性能云盘:一文解析RDS数据库存储架构升级
性能、成本、弹性,是客户实际使用数据库过程中关注的三个重要方面。RDS业界率先推出的高性能云盘(原通用云盘),是PaaS层和IaaS层的深度融合的技术最佳实践,通过使用不同的存储介质,为客户提供同时满足低成本、低延迟、高持久性的体验。
|
3月前
|
SQL 存储 分布式数据库
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
129 12
|
4月前
|
存储 SQL NoSQL
【赵渝强老师】达梦数据库的逻辑存储结构
本文介绍了达梦数据库的存储结构,包括逻辑和物理存储两部分。逻辑存储结构由数据库(Database)、表空间(Tablespaces)、段(Segments)、簇(Cluster)和页(Page)组成。数据库是最大逻辑单元,包含所有表、索引等;表空间由数据文件组成,用于存储对象;段由簇构成,簇包含连续的数据页;页是最小存储单元。文中还提供了查询表空间、段和页大小的SQL语句,并附有视频讲解和示意图。
133 7
|
4月前
|
存储 SQL 安全
【赵渝强老师】达梦数据库的物理存储结构
本文介绍了达梦数据库的存储结构及各类物理文件的作用。达梦数据库通过逻辑和物理存储结构管理数据,包含配置文件(如dm.ini、sqllog.ini)、控制文件(dm.ctl)、数据文件(*.dbf)、重做日志文件(*.log)、归档日志文件、备份文件(*.bak)等。配置文件用于功能设置,控制文件记录数据库初始信息,数据文件存储实际数据,重做日志用于故障恢复,归档日志增强数据安全性,备份文件保障数据完整性,跟踪与事件日志辅助问题分析。这些文件共同确保数据库高效、稳定运行。
112 0
|
5月前
|
存储 关系型数据库 分布式数据库
PolarDB开源数据库进阶课3 共享存储在线扩容
本文继续探讨穷鬼玩PolarDB RAC一写多读集群系列,介绍如何在线扩容共享存储。实验环境依赖《在Docker容器中用loop设备模拟共享存储》搭建。主要步骤包括:1) 扩容虚拟磁盘;2) 刷新loop设备容量;3) 使用PFS工具进行文件系统扩容;4) 更新数据库实例以识别新空间。通过这些步骤,成功将共享存储从20GB扩容至30GB,并确保所有节点都能使用新的存储空间。
90 1
|
5月前
|
存储 人工智能 监控
时序数据库 TDengine 化工新签约:存储降本一半,查询提速十倍
化工行业在数字化转型过程中面临数据接入复杂、实时性要求高、系统集成难度大等诸多挑战。福州力川数码科技有限公司科技依托深厚的行业积累,精准聚焦行业痛点,并携手 TDengine 提供高效解决方案。
117 0
|
6月前
|
JSON 小程序 JavaScript
原生微信小程序笔记完整总结
原生微信小程序笔记完整总结
187 1
|
7月前
|
存储 druid 分布式数据库
列式存储数据库与超市的关系?
列式存储数据库是一种高效的数据管理方式,类似于超市将相似商品集中摆放。它将相同类型的数据(如年龄、价格)归类存储,便于快速查询和压缩,广泛应用于市场分析、财务报告和健康数据分析等领域。知名产品包括HBase、ClickHouse、Druid和Apache Cassandra等,适合处理大规模数据和实时分析任务。
95 4
|
8月前
|
存储 数据库
快速搭建南大通用GBase 8s数据库SSC共享存储集群
本文介绍如何GBase8s 数据库 在单机环境中快速部署SSC共享存储集群,涵盖准备工作、安装数据库、创建环境变量文件、准备数据存储目录、修改sqlhost、设置onconfig、搭建sds集群及集群检查等步骤,助你轻松完成集群功能验证。

热门文章

最新文章

推荐镜像

更多