小程序直播项目搭建

项目功能:
登录+实时聊天+点赞功能+刷礼物+取消关注+用户卡片+直播带货+优惠券+直播功能

项目启动:
1 小程序项目创建与配置:
第一步 需要登录小程序公众平台的设置页面进行配置: 首先需要是企业注册的才可以个人不能开通直播功能。服务类目 选择在线教育 有直播功能的。

第二步:进入开发管理 接口设置打开开始创建项目: 选择不使用云服务 选择javascript版本

 2 使用serverless创建于配置:
    首先需要注册腾讯云账号以及实名认证:
    第一步 使用云函数: 函数服务选择:北京 命令空间 旁边的齿轮可以添加命名空间 默认default
    创建云函数: 首先选择控制板左侧菜单栏函数服务: 点击从头开始->事件函数:

  创建云函数成功之后代码执行的界面

 想要在项目中或者浏览器中访问的话 需要点击触发管理 然后访问生成的地址

这时候我们在项目中测试使用下这个接口: 首先需要勾选不检验域名校验的功能。
 如果我们在项目中要是有axios这个发送请求的包的时候我们应该如何安装呢?
我们首先需要在云函数中导入axios :然后创建package.json文件将vscode下面的自动安装依赖打开:

创建web函数 和创建node.js环境一样: 这里创建一个返回猫眼数据的方法“”
如果想要在本地使用node环境的话,需要将云函数的代码拷贝一份,因为package.json有很多依赖的文件这是我们所需要的,在此之上进行功能的开发。

3 使用云数据库:


腾讯云控制台 搜索云数据库mysql: 这里需要购买一步步的安装默认的去配置就可以了,选择安全组就去创建安全组 新建然后默认配置就可以了,最后付费,付费成功之后会有mysql实例表,点击列表进入查看详情:内网地址后期链接需要。
点击tab栏的数据库管理:创建数据库 进入界面选择 新建数据库 点击左侧栏右上角的+号新建表;
点击tab栏***编辑表可视化操作数据库。
基本的数据库操作的语句:插入语句: INSERT INTO `user` (`id`,`name`,`age`,`tel`) VALUES (null,'zhangsan', 12, '13509267938')
更新语句:update `user` set `age`=10 where `id`=2  // 将第二条更新age为10 ;
查询语句 SELECT * FROM `user` LIMIT 50 查询50条;
删除语句 DELETE FROM `user` WHERE   `id` = 2 ;
接下来打通从小程序发送请求到云函数中执行sql语句 最终将数据插入到表中;
小程序中的代码演示:

sendUserInfo(){wx.request({url:'******',data:{name:'zhansan',age:21,tel:'1360907998'}})
}

云函数中的代码 需要执行sql语句:

const mysql =require('mysql')
exports.main_handler = async (event,context)=>{consloe.log(event)const {name,age,tel} = event.qureyString// 如果是post请求的话就需要 JSON.parse(event.body)const config = getDBConfig()var promisePool = await mysql.createPool(config)var users = await promisePool.query('INSERT INTO `user` (`id`,`username`,`password`,`age`,`tel`) VALUES(?,?,?,?)',[null,name,age,tel])return {message:'插入成功'}
}

 在web函数中开发:

const express = require('express')
const app = express()
const mysql =require('mysql')
const port = 9000app.get('/',async (req,res)=>{const {name,age,tel} = req.qureyconst config = getDBConfig()var promisePool = await mysql.createPool(config)var users = await promisePool.query('INSERT INTO `user` (`id`,`username`,`password`,`age`,`tel`) VALUES(?,?,?,?)',[null,name,age,tel])res.send ({message:'插入成功'})
}app.lient(port,()=>{console.log('3000')})// 如果是基于post请求的还需要在app.js中进行配置
const bodyParser = require(‘body-parser’)
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended:false}))function getDBConfig (){return {host:'',port:'',user:'',password:'',database:'',connectionLimit:1}
}

4 云直播的使用:
腾讯云搜索云直播:域名管理: 推流域名 播放域名 可以点击添加域名:创建自己的域名同时需要配置域名的CNAME;点击生成链接。这时候使用组件推流 播放地址就可以使用了。

5 即使通信IM
腾讯云 搜索即使通信IM 创建应用 重要的id和秘钥。
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java-Objec

Objec Class Object是类Object结构的根。 每个班都有Object作为超类。 所有对象(包括数组)都实现了这个类的方法。 一.构造 二.常用方法 Modifier and TypeMethod and Descriptionprotected Objectclone() 创建并返回此对象的副本。 booleanequals(Obj…

应用实践|基于Python手把手教你实现雪花算法

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师 🏆 近期荣誉:华为云云享专家、阿里云专家博主、 🔥 三连支持:欢迎 ❤️关注、👍点赞、&…

【机器学习300问】17、什么是欠拟合和过拟合?怎么解决欠拟合与过拟合?

一个问题出现了,我们首先要描述这个问题,然后分析问题出现的原因,找到原因后提出解决方案。废话不多说,直接上定义,然后通过回归和分类任务的例子来做解释。 一、什么是欠拟合和过拟合? (1&am…

文件上传技术总结

语言可解析的后缀 (前提:在Apache httpd.conf 配置文件中有特殊语言的配置 AddHandler application/x-httpd-php .php 搭配大小写、双重、空格来进行 其中: phtml、pht、php3、php4和php5都是Apache和php认可的php程序的文件后缀 常见的…

解决vld内存泄露检测工具只支持到vs2015的问题,visual studio2015以上版本安装vld内存泄漏检测工具[实测vs2022生效]

目录 一.vld工具下载二.vld应用安装三.visual studio2022环境配置四.visual studio2022 vld内存检测测试 一.vld工具下载 Visual Leak Detector github链接: https://kinddragon.github.io/vld/ 下载直达链接: https://github.com/KindDragon/vld/releases/tag/v2.5.1 下拉至…

Spring Boot 学习之——@SpringBootApplication注解(自动注解原理)

SpringBootApplication注解 springboot是基于spring的新型的轻量级框架,最厉害的地方当属**自动配置。**那我们就可以根据启动流程和相关原理来看看,如何实现传奇的自动配置 SpringBootApplication//标注在某个类上,表示这个类是SpringBoot…

初识汇编指令

1. ARM汇编指令 目的 认识汇编, 从而更好的进行C语言编程 RAM指令格式: 了解 4字节宽度 地址4字节对齐 方便寻址 1.1 指令码组成部分 : condition: 高4bit[31:28] 条件码 0-15 (16个值 ) 条件码: 用于指令的 条件执行 , ARM指定绝大部分 都可…

MySql索引事务讲解和(经典面试题)

🎥 个人主页:Dikz12🔥个人专栏:MySql📕格言:那些在暗处执拗生长的花,终有一日会馥郁传香欢迎大家👍点赞✍评论⭐收藏 目录 索引 概念 索引的相关操作 索引内部数据结构 事务 为…

Linux启动级别和密码问题文件

1、linux启动级别 如果安装的linux默认带的图形化界面,默认的运行级别为5 graphical.target 因为图形化太耗费资源了,想每次启动的时候,更改它的默认允许级别为命令行(文本) cat /etc/inittab 修改为命令行 多用户…

洛谷刷题-【入门2】分支结构

目录 1.苹果和虫子 题目描述 输入格式 输出格式 输入输出样例 2.数的性质 题目描述 输入格式 输出格式 输入输出样例 3.闰年判断 题目描述 输入格式 输出格式 输入输出样例 4.apples 题目描述 输入格式 输出格式 输入输出样例 5.洛谷团队系统 题目描述 …

大数据开发之SparkSQL

第 1 章:spark sql概述 1.1 什么是spark sql 1、spark sql是spark用于结构化数据处理的spark模块 1)半结构化数据(日志数据) 2)结构化数据(数据库数据) 1.2 为什么要有sparksql hive on s…

【教学类-综合练习-08】20240105 大3班 综合材料(美术类:骰子、面具、AB手环)

背景需求 年终了,清理库存,各种打印的题型纸都拿出来,当个别化学习材料 教学过程: 时间:2024年1月2日上午 班级:大3班(2周才去一次) 人数:17人

后端开发_单元测试

后端开发_单元测试 1. 简介2. JUnit 4使用方法2.1 jar包引入2.2 测试用例1. 简介 2. JUnit 4使用方法 2.1 jar包引入 1. 本地依赖引入方式 Junit4.jar包 2. maven方式引入jar <dep

SpringSecurity认证登录成功后获取角色菜单

目录 前言 一、RBAC模型 二、实战应用 1. 建立用户、角色、资源实体类 2. 数据层查询角色资源 3. 业务层实现&#xff0c;调用数据层查询接口 4. SystemController控制器菜单获取方法 5. menu.jsp菜单页面实现 前言 本篇文章接SSM项目集成Spring Security 4.X版本&…

【Java程序员面试专栏 专业技能篇】计算机网络核心面试指引

关于计算机网络部分的核心知识进行一网打尽,包括计算机的网络模型,各个层的一些重点概念,通过一篇文章串联面试重点,并且帮助加强日常基础知识的理解,全局思维导图如下所示 分层基本概念 计算机网络模型的分层及具体作用 计算机网络有哪些分层模型 可以按照应用层到物…

2023春秋杯冬季赛 --- Crypto wp

文章目录 前言Cryptonot_wiener 前言 比赛没打&#xff0c;赛后随便做一下题目 Crypto not_wiener task.py: from Crypto.Util.number import * from gmpy2 import * import random, os from hashlib import sha1 from random import randrange flagb x bytes_to_long(f…

量化交易学习1

一、股票数据基本分类 可分为&#xff08;1&#xff09;技术面数据和&#xff08;2&#xff09;基本面数据 &#xff08;1&#xff09;技术面数据 技术面数据是通过股票的历史价格和交易量等市场数据进行计算和分析得出的指标。常用的技术指标包括移动平均线、相对强弱指标、…

在上海做程序员这么多年,退休后我的工资是多少?

大家好&#xff0c;我是拭心。 最近看到一个很可惜的事&#xff1a;有个阿姨在深圳缴纳了 12 年社保&#xff0c;第 13 年家里突然有事不得不回老家&#xff0c;回去后没再缴纳社保&#xff0c;结果退休后无法领退休工资&#xff0c;还得出来打工赚钱。 之所以这样&#xff0…

重温经典struts1之自定义Filter(拦截器)解决中文乱码问题

重温经典struts1之自定义Filter解决中文乱码问题 前言Filter&#xff08;拦截器&#xff09;需求具体实现步骤1. 自定义CharsetEncodingFilter拦截类2 将自定义CharsetEncodingFilter注册到web.xml3 编写测试用的login页面和处理逻辑 总结 前言 页面输入的中文&#xff0c;Act…

UF_UI_select_with_single_dialog()通过单选对话框选择单个对象。对象可以通过光标或输入名称进行选择。对象被突显出来。

int response0;//返回用户操作类型&#xff0c;点了哪一种返回取消或者确定tag_t objtagNULL_TAG;//输出选择对象tag;double cursor[ 3 ];//输出光标位置tag_t view_tagNULL_TAG;//输出视图tag;UF_UI_select_with_single_dialog("请选择一个对象","获取对象类型…