当前位置: 首页 > news >正文

asp建的网站上传文章温州网站推广优化公司

asp建的网站上传文章,温州网站推广优化公司,网站后台更新,企业营销策划包括哪些内容目录 1 创建用户表2 开发后端接口3 测试接口4 修改登录页面调用后端接口最终效果总结 中后台系统第一个要实现的功能就是登录了#xff0c;我们通常的逻辑是让用户在登录页面输入用户名和密码#xff0c;调用后端接口去验证用户的合法性#xff0c;然后根据接口返回的结果进… 目录 1 创建用户表2 开发后端接口3 测试接口4 修改登录页面调用后端接口最终效果总结 中后台系统第一个要实现的功能就是登录了我们通常的逻辑是让用户在登录页面输入用户名和密码调用后端接口去验证用户的合法性然后根据接口返回的结果进行进一步的路由。本篇我们就介绍一下用户登录功能的开发过程。 1 创建用户表 用户表的话我们设计两个字段用户名和密码建表语句如下 CREATE TABLE users (id int(0) NOT NULL AUTO_INCREMENT,username varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,password varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 7 CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic;2 开发后端接口 后端我们使用express框架把涉及到用户的接口单独拆分到user.js中。打开后端的工程新建一个user.js文件 因为需要给密码加密我们引入一个加密的包在Terminal里输入安装命令 npm install bcryptjs --save在验证用户名和密码都正确后给前端返回一个token我们需要安装支持token的包 npm install jsonwebtoken --save后端接口需要解析json数据需要安装json解析包 npm install body-parser --save包安装好了之后在user.js中贴入如下代码来验证用户名和密码 const express require(express); const router express.Router(); const bcrypt require(bcryptjs); const jwt require(jsonwebtoken); // 创建 MySQL 连接池 const pool require(./database); // 用户登录 router.post(/login, (req, res) {const { username, password } req.body;console.log(username, password)// 检查用户名是否存在pool.query(SELECT * FROM users WHERE username ?, [username], (error, results) {if (error) throw error;console.log(results)if (results.length 0) {res.status(401).json({ code: 401, message: Invalid username or password });} else {const user results[0];// 验证密码是否匹配bcrypt.compare(password, user.password, (err, result) {if (err) throw err;console.log(验证密码, result)if (result) {// 生成 JWT 令牌const token jwt.sign({ id: user.id, username: user.username }, your_secret_key, { expiresIn: 1h });res.status(200).json({ code: 200, message: 登录成功, data: token });} else {res.status(401).json({ code: 401, message: Invalid username or password });}});}}); });module.exports router;然后在index.js里注册用户路由 const express require(express); const app express(); const cors require(cors); const menuROuter require(./menu) const userRoutes require(./user); const bodyParser require(body-parser); // 定义路由 app.use(bodyParser.json()); app.get(/, (req, res) {res.send(Hello, World!); }); app.use(cors({origin: http://localhost:3002,credentials: true })); app.use(/api/get-menu-list,menuROuter); app.use(/api/user,userRoutes); // 启动服务器 app.listen(3000, () {console.log(Server is running on port 3000); });3 测试接口 我们后端接口写好了之后需要进行测试使用postman测试我们的接口 注意这里我们是post请求body要选择json然后按照json的语法去构造参数在Header里要设置我们的格式是json 4 修改登录页面调用后端接口 模板里给的是mock调用我们需要真实的调用后端接口找到store文件夹下的user.ts改造登录方式为调用后端接口 import { defineStore } from pinia;import { usePermissionStore } from /store; import type { UserInfo } from /types/interface; import { login } from /api/login;const InitUserInfo: UserInfo {name: , // 用户名用于展示在页面右上角头像处roles: [], // 前端权限模型使用 如果使用请配置modules/permission-fe.ts使用 };export const useUserStore defineStore(user, {state: () ({token: main_token, // 默认token不走权限userInfo: { ...InitUserInfo },}),getters: {roles: (state) {return state.userInfo?.roles;},},actions: {async login(userInfo: Recordstring, unknown) {const res await login(userInfo.account.toString(),userInfo.password.toString());if (res.code 200) {this.token res.data;} else {throw res;}},async getUserInfo() {const mockRemoteUserInfo async (token: string) {if (token main_token) {return {name: Tencent,roles: [all], // 前端权限模型使用 如果使用请配置modules/permission-fe.ts使用};}return {name: td_dev,roles: [UserIndex, DashboardBase, login], // 前端权限模型使用 如果使用请配置modules/permission-fe.ts使用};};const res await mockRemoteUserInfo(this.token);this.userInfo res;},async logout() {this.token ;this.userInfo { ...InitUserInfo };},},persist: {afterRestore: () {const permissionStore usePermissionStore();permissionStore.initRoutes();},key: user,paths: [token],}, }); 这里将调用后端接口的代码单独封装一下在src/api目录下新建一个login.ts文件输入如下代码 // store/actions.ts import axios, { AxiosRequestConfig, AxiosResponse } from axios;export const login (username: string, password: string): Promiseany {return new Promise((resolve, reject) {const requestConfig: AxiosRequestConfig {url: http://localhost:3000/api/user/login,method: post,data: {username,password,},headers: {Content-Type: application/json,},};axios(requestConfig).then((response: AxiosResponse) {const result response.data;if (result.code 200 result.message 登录成功) {resolve(result);} else {reject(new Error(result.message));}}).catch((error) {reject(error);});}); }; 我们使用axios库去请求后端接口需要先安装一下库 npm install axios --save代码写好之后启动前后端项目 node index.js //启动后端项目命令 npm run dev //启动前端项目命令最终效果 总结 我们本篇讲解了TDesign实现登录的过程需要先创建用户表然后编写后端登录代码编写前端代码调用后端接口。 总体上流程并不复杂主要是要熟悉axios库的用法即可。
http://www.hkea.cn/news/14419434/

相关文章:

  • 网站域名年龄游戏开发需要什么学历
  • 有没有什么免费网站图片免费素材网
  • wordpress网仿站wordpress谷歌插件
  • 深圳网站建设快速排名wordpress主页面
  • 龙游做网站西安百度推广服务公司
  • 百度给做网站公司用别人公司域名做网站
  • 成都网站建设工作哈尔滨地铁爱建站
  • 视频网站砸钱做生态网站建设需求有哪些
  • 许昌市城市建设局网站网站建设服务器是什么
  • 扬中网站建设门户报价3d打印加工平台
  • 怎么装wordpress沈阳网站关键词优化多少钱
  • 网站程序是什么意思长春招聘网智联
  • 建设信用卡积分商城网站爱站网官网关键词查询
  • 临海高端网站设计新感觉建站庙行网站建设
  • 网站开发图片文字wordpress图片防下载
  • 上海网站建设联系黄石做网站联系
  • 网站搭建工具网络建设推广推荐
  • 学校网站推广策划书台州网站建设方案策划
  • 秦皇岛工程建设信息网站wordpress html 代码编辑器
  • 学校网站功能描述网站开发与设计实验报告总结
  • 外贸产品网站建设企业网站服务器选择
  • 成都网站建设服务创建wordpress用户访问数据库
  • 比较好的网站建设网站建材网站建设公司
  • 互联网一二线大厂名单成都网站排名优化公司
  • 国外响应式网站模板h5可视化拖拽生成工具
  • 均安建网站网络营销工具介绍
  • 企业网站开发成都建设网站用的软件
  • 如何做一个好的网站360网站推广官网
  • 餐饮招商加盟网站建设网站加速器怎么开
  • 网站建设云服务器做网站学的什么专业