腾讯云js(腾讯云极光)
本文目录一览:
- 1、腾讯云IM使用总结
- 2、腾讯云linux服务器能搭nodejs应用吗
- 3、腾讯云短信+node.js
- 4、js如何连接和操作腾讯云mysql数据库
- 5、如何使用腾讯云函数搭载一个纯HTML+CSS+JS的静态网页?
- 6、腾讯云短信怎么用NODE.JS来实现
腾讯云IM使用总结
腾讯帝国最重要的产品QQ和微信都是IM为基础,相信腾讯云IM也能有很好的体验,我们在项目上准备使用腾讯云通信。
我们项目的基本需求是App中使用IM,实现基本的聊天功能,有一些我们的值班人员通过IM给App的用户提供实时的业务咨询,同时也提供用户和用户之间的聊天。
由于项目App第一期时间紧,先考虑基于H5或小程序,二期再考虑原生实现Android和iOS版本, AppWorker 会封装这个组件。
基本流程就是App端或小程序有自己的登陆系统,有二种基本角色: 用户 (问题咨询者)和 服务人员 (问题回答者)。用户登陆找到服务人员,然后用do_WebView组件加载聊天网页,实现聊天功能。后期还要逐渐增加其它功能:
这个步骤是所有操作的基础,我们这里选择的是 独立模式 :用户帐号信息由开发者保存,用户身份验证(比如注册与验密)也由开发者负责。
这个登陆指对腾讯云IM的login,因为我们用的是独立模式,则这个动作的前提是这个用户已经成功登陆了业务系统。
这里有二种方式登陆:
这里指客户端发送和接受消息。 WebSDK 是基于H5和小程序的IM的共有js库,它们的差别就是用H5绘制聊天界面还是用小程序绘制,真正的通讯机制完全一样。
不过和Android,iOS的原生比较,WebSDK不支持很多功能,比如不支持短视频,不支持语音发送(支持解析),不支持地理位置(支持解析)。
腾讯云提供了后端云服务REST API来实现很多功能,很多情况需要我们的业务服务端调用这些API来处理IM的一些操作。
这里要注意的一个细节是所有的后端REST API都是以 管理员 身份来获取UserSig和其它操作,在我们的前期准备里管理员是myadmin。
在应用配置里如果配置了我们的业务服务回调URL,在IM聊天中就会自动触发我们的业务服务,通过这个回调和腾讯云后端服务,我们能完成我们的后期几个需求,以下是几个基本流程图:
腾讯云linux服务器能搭nodejs应用吗
由于不做php相关的东西,懒得装apache,干脆利用nodejs搭建一个本地的服务器用于测试。
nodejs这玩意儿吧,对做前端的介入后端简直就是一把利器。而且目前,nodejs也越来越有商用价值。
nodejs其实是非常底层的,从功能上说,它既是apache也是php。像搭建http服务器这种功能,本来是apache已经封装好的,但nodejs需要我们手动来搭建。其实在实际应用中,我们可以使用现成的框架。但这里,我想手动搭建,也加深一下对http服务器的理解。
Node.Js入门[PDF+相关代码]
Node.js入门开发指南中文版
Node.js安装与配置
Ubuntu 编译安装Node.js
我们node执行下面这个文件,我命名为http.js,它将创建一个httpServer并监听3000端口。
var PORT = 3000;
var http = require('http');
var url=require('url');
var fs=require('fs');
var mine=require('./mine').types;
var path=require('path');
var server = http.createServer(function (request, response) {
var pathname = url.parse(request.url).pathname;
var realPath = path.join("assets", pathname);
//console.log(realPath);
var ext = path.extname(realPath);
ext = ext ? ext.slice(1) : 'unknown';
fs.exists(realPath, function (exists) {
if (!exists) {
response.writeHead(404, {
'Content-Type': 'text/plain'
});
response.write("This request URL " + pathname + " was not found on this server.");
response.end();
} else {
fs.readFile(realPath, "binary", function (err, file) {
if (err) {
response.writeHead(500, {
'Content-Type': 'text/plain'
});
response.end(err);
} else {
var contentType = mine[ext] || "text/plain";
response.writeHead(200, {
'Content-Type': contentType
});
response.write(file, "binary");
response.end();
}
});
}
});
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");
上面我们还引入了一个mine.js,这是我自己写的,里面存储的是名值对,用于定义不同后缀的文件所对应的返回方式:
exports.types = {
"css": "text/css",
"gif": "image/gif",
"html": "text/html",
"ico": "image/x-icon",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"js": "text/javascript",
"json": "application/json",
"pdf": "application/pdf",
"png": "image/png",
"svg": "image/svg+xml",
"swf": "application/x-shockwave-flash",
"tiff": "image/tiff",
"txt": "text/plain",
"wav": "audio/x-wav",
"wma": "audio/x-ms-wma",
"wmv": "video/x-ms-wmv",
"xml": "text/xml"
};
fs模块是用于读取文件的,提供读取文件的方法,其实仔细研究文档会发现,它有同步和异步两种读取方式。fs.exists这个方法网上很多文章写作path.exists,,现在推荐写作fs.exists这个方法。否则会报警:
需要注意的是,不仅浏览器访问html文件会形成一次访问,里面链接的js,css等外部文件也会分别形成一次http访问。所以,http.createServer的回调其实是在一次页面访问中执行了多次的。我们console.log(realPath)一下就可以看到:
这里并没有加入默认访问index.html的功能,所以访问地址要写全
腾讯云短信+node.js
参考哔哩哔哩 SimbaJS的视频 做了一个短信获取的后台,还望各路大神多多指教呀~
主要有以下几个思路:
js如何连接和操作腾讯云mysql数据库
首先是登陆腾讯云,登陆之后可以领取新手礼包,如图
进入云产品-数据库-CDB for MYSQL-立即选购,选购最低配的可用礼包抵扣使用一个月,购买完成
主页-右上角产品管理-使用中的数据库,这时我们会看见一个实例,首先我们进入管理页面对实例进行一些基本的设置
实例名可以随意更改,外网地址必须开启,否则我们就不能在自己的项目中和本地访问云数据库。进入账号管理页面修改自己的root密码,然后点击右上角的登录数据库
登陆完成之后如下图
这个和本地客户端操作基本相同,我就不详细阐述了
二、使用一个demo来说明如何操作云mysql数据库
1.在实例上上新建一个为nodejs的数据库,然后新建一个为employee的表,新建四个字段 name sex age email除了年龄为int其它的全部为varchar格式
2.新建一个TimLiu的文件夹,打开cmd,cd TimLiu, 初始化项目npm init ,按照它的提示一步一步的操作即可,安装mysql模块,npm insitall mysql, 这个模块的作用主要是连接mysql数据库。
3.新建一个model.js 文件,
var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host:'',
user:'root',
password:'123abc',
database:' nodejs',
port:6445
})
connection.connect();
这里的host为我们在腾讯云上开通的外地址,端口号也是在外网地址里面,注意要把外网地址写分开,用户为默认的管理员用户,密码为我们在云平台上设置的密码,数据库为我们创建的nodejs数据库。
接下来我们对数据库进行增删改查操作
/**
* 增加员工
*/function addEmployee(){
var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)';
var employeeInsertSql_Params = ['Tim','男',22,'18818216454@163.com']
connection.query(employeeInsertSql,employeeInsertSql_Params,function(err,result){
if(err) console.log('[INSERT ERR]-',err.message);
console.log(result);
}) }addEmployee()
}
/**
* 更新员工
*/
function insertEmployee(){
var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?";
var employeeUpdateSql_Params = ['Peter',22];
connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){
if(err) console.log('[UPDATE ERR]-',err.message);
console.log(result);
})}
insertEmployee();
/**
*查询员工
*/ function getEmployee(){
var employeeGetSql = "SELECT * FROM employee";
connection.query(employeeGetSql,function(err,result){
if(err) console.log('[SELECT ERR]-',err.message);
console.log(result);
})}
getEmployee();
/**
*删除员工
*/ function deleteEmployee(){
var employeeDeleteSql = "DELETE employee WHERE name = ?";
var employeeDeleteSql_Params = 'Peter';
connection.query(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){
if(err) console.log('[DELETE ERR]-',err.message);
console.log(result);
})
}deleteEmployee();
这样我们就可以愉快的操作数据库了
如果大家想把项目更模块化操作,可在model下面新建一个employee_two.js,代码如下
var mysql = require('mysql');var connection = mysql.createConnection({
host:'',
user:'root',
password:'',
database:'nodejs',
port:})connection.connect();/**
* 增加员工
* @param {String} employee
* @param {Function} callback
*/exports.addEmployee=function(employee,callback){
var employeeInsertSql = 'INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)';
var employeeInsertSql_Params = [employee.name,employee.sex,employee.age,employee.email]
connection.query(employeeInsertSql,employeeInsertSql_Params,callback)}/**
* 更新员工
* @param {String} employee
* @param {Function} callback
*/exports.updateEmployee = function(name,age){
var employeeUpdateSql = "UPDATE employee SET name = ? WHERE age =?";
var employeeUpdateSql_Params = ['Peter',22];
connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){
if(err) console.log('[UPDATE ERR]-',err.message);
console.log(result);
})}/**
* 查询员工
*
*/exports.getEmployee = function(){
var employeeGetSql = "SELECT * FROM employee";
connection.query(employeeGetSql,callback)}/**
* 删除员工
* @param {String} name
*/exports.deleteEmployee = function(name){
var employeeDeleteSql = "DELETE employee WHERE name = ?";
var employeeDeleteSql_Params = 'Peter';
connection.query(employeeDeleteSql,employeeDeleteSql_Params,callback)
}再在根目录下新建index.js,代码如下var db = require('./model/employee_two');//增加员工var employee = {
name:'lisa',
age:22,
sex:"女",
email:'99533212@qq.com'}db.addEmployee(employee,function(err,result){
if(err) console.log("[INSERT err]-",err.message)
console.log(result);})//删除员工db.deleteEmployee('Peter',function(err,result){
if(err) console.log("[DELETE err]-",err.message)
console.log(result);})//更新员工db.updateEmployee('Tim',23,function(err,result){
if(err) console.log("[UPDATE err]-",err.message)
console.log(result);})//查询员工db.getEmployee(function(err,result){
if(err) console.log("[GET err]-",err.message)
console.log(result);})
如何使用腾讯云函数搭载一个纯HTML+CSS+JS的静态网页?
用对象存储加CDN就行了,你用函数计算不容易处理这种有额外CSS和js文件的
腾讯云短信怎么用NODE.JS来实现
类似的小程序工具还是很多的。找个小程序开发工具也很容易的。微尘小程序就是很好的小程序开发工具。
发表评论
暂时没有评论,来抢沙发吧~