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

怎么样做一家卖东西的网站微官网制作

怎么样做一家卖东西的网站,微官网制作,千牛,百度网站推广外包refer: http://ip-api.com/ 1.首先需要创建一个保存用户历史的登录的表,然后连接go 2.在用户登录的时候,获取用户的IP IP位置,在后端直接处理数据即可(不需要在前端传递数据) (1)增加路由&am…

refer: http://ip-api.com/

1.首先需要创建一个保存用户历史的登录的表,然后连接go

2.在用户登录的时候,获取用户的IP IP位置,在后端直接处理数据即可(不需要在前端传递数据)

(1)增加路由:

apiv1.POST("/history_login_logs", v1.AddHistoryLoginLog)

(2)在model里增加(例如:models/history_login_logs.go)
 

 func AddHistoryLoginLog(user_id int, ip_address string, ip_location string, login_at time.Time) bool {db.Create(&HistoryLoginLogs{UserId:    user_id,IpAddress: ip_address,IpLocation:   ip_location,LoginAt: login_at,})return true}


  (3) 在登录后的方法中增加(需要引入

import("time""io/ioutil""fmt""encoding/json"
)type Location struct {Status      string  `json:"status"`Country     string  `json:"country"`CountryCode string  `json:"countryCode"`Region      string  `json:"region"`RegionName  string  `json:"regionName"`City        string  `json:"city"`Zip         string  `json:"zip"`Lat         float64 `json:"lat"`Lon         float64 `json:"lon"`Timezone    string  `json:"timezone"`Isp         string  `json:"isp"`Org         string  `json:"org"`As          string  `json:"as"`Query       string  `json:"query"`
}...
ipAddress := c.ClientIP()
fmt.Println("== ip_address:", ipAddress)
resp, err := http.Get("http://ip-api.com/json/" + ipAddress + "?lang=zh-CN")
if err != nil {fmt.Println("Error:", err)return
}defer resp.Body.Close()body, err := ioutil.ReadAll(resp.Body)if err != nil {fmt.Println("Error:", err)return}var location Location
err = json.Unmarshal(body, &location)if err != nil {fmt.Println("Error:", err)return}fmt.Println("=== Location:", location)
City := location.CitycurrentTime := time.Now()
models.AddHistoryLoginLog(user.ID, ipAddress, City, currentTime)
...

  (4)增加action (例如:routers/api/v1/history_login_log.go)(需要引入import  "net/http"   "time"  "fmt")
 

type AddHistoryLoginLogRequest struct {UserID     int    `json:"user_id" binding:"required"`IPAddress  string `json:"ip_address" binding:"required"`City string `json:"ip_location" binding:"required"`CurrentTime time.Time `json:"login_at" binding:"required"`}func AddHistoryLoginLog(c *gin.Context) {var request AddHistoryLoginLogRequestif err := c.ShouldBindJSON(&request); err != nil {fmt.Println("== err: ", err)return}models.AddHistoryLoginLog(request.UserID, request.IPAddress, request.City, request.CurrentTime)}

3.在前端写一个展示的列表页面即可。(登录时间写现在的时间即可。)
例如:src/pages/HistoryLoginLog/index.jsx

import React, { Component } from 'react'
import { Table } from 'antd';
import axios from 'axios'
import Config from '@/settings'
import { getToken, removeToken } from '@/utils/auth'const columns = [{title: '登录名',dataIndex: 'user_id',key: 'user_id',render: text => <a>{text}</a>,},{title: '登陆时间',dataIndex: 'login_at',key: 'login_at',// 这里是进行时间的处理,转换为北京时间,格式为:2023/08/16 21:40render: text => {const dateObj = new Date(text);const localizedDate = dateObj.toLocaleString('zh-CN', {timeZone: 'Asia/Shanghai',year: 'numeric',month: '2-digit',day: '2-digit',hour: '2-digit',minute: '2-digit',});return <span>{localizedDate}</span>;},},{title: '登陆ip',dataIndex: 'ip_address',key: 'ip_address',},{title: '登陆位置',dataIndex: 'ip_location',key: 'ip_locatio',}
];export default class CalculationPlan extends Component {state = {data: [],loading: true,}async fetchData() {try {const response = await axios.get(`${Config.BASE_URL}/api/v1/history_login_logs?token=${getToken()}`)if (response.data.message == "ok") {const sortedData = response.data.data.sort((a, b) => new Date(b.id) - new Date(a.id));this.setState({data: sortedData,loading: false,})}} catch (error) {console.error(error)removeToken()window.location.href = '/'}}componentDidMount() {this.fetchData()}render() {const { data, loading } = this.statereturn (<Table columns={columns} dataSource={data} loading={loading} />)}
}

http://www.yayakq.cn/news/256465/

相关文章:

  • 网站建设相关问题黄骅港开发区
  • 做淘宝那样的网站麻烦吗网站运营主要是做什么
  • 网站建设课程下载江苏省建设工程集团
  • 如何在手机上建立自己的网站亚马逊海外版网站
  • 宿州网站建设哪家公司好粮油移动端网页设计素材
  • 娄底网站建设开发办公室装修设计简约
  • 商城网站前台html写出网站建设的基本流程
  • 怎么做wep网站html5网站 欣赏
  • 自己主机域名网站开发山西做网站优势
  • 网站开发运营职位网站的例子
  • 怎么建立自己的站点网站排名提升工具免费
  • 大连庄河网站建设制作app软件工具下载
  • 门户网站制作服务图书馆建设网站注意点
  • 有没有可以做物理实验的网站建站公司兴田德润在哪里
  • wordpress 目录表插件做网站和优化共多少钱
  • 服装网站制作护肤品网站建设分析
  • 网站图片多 如何优化seo的优化技巧和方法
  • 重庆网站建设沛宣网络苏州有哪些好的互联网公司
  • 网站建设中轩网怎么样网页设计图片排版代码
  • 静态网站建设的主要技术青州网站网站建设
  • 手机建设网站制作wordpress 页面属性 父级
  • 湖北网站建设电话国家建设工程信息网官网
  • 网站建设常见的问题dw怎么用模板做网页
  • 如何快速制作一个网站wordpress ip更换域名
  • 400网站建设办公广东广州软件开发公司
  • 广州网页设计网站建设厦门路桥建设集团有限公司网站
  • 墙纸 html 网站模板html5响应式网站建设平台
  • 网站建设合同任包头全网营销网站建设
  • 盘锦网站建设 盘锦建站推广 盘锦建站驻马店做网站优化
  • 东港网站建设温州网站建设公司哪个好