主頁 > 移動端開發 > squid代理服務器---代理方式---acl訪問控制---sarg日志工具---squid反向代理!!!!

squid代理服務器---代理方式---acl訪問控制---sarg日志工具---squid反向代理!!!!

2020-11-02 22:35:21 移動端開發

個人整理

  • 前言
    • 代理作業機制和好處
    • 代理的基本型別
    • ACL訪問控制
    • 反向代理
  • 一,安裝squlid部署環境:
  • 二,搭建傳統代理服務器
  • 三,搭建透明代理
  • 四,ACL訪問控制
  • 五,squid日志分析,sarg工具
  • 六,squid 反向代理

前言

代理作業機制和好處

  • 快取網頁物件,減少重復請求
  • 訪問速率提高
  • 隱藏客戶機真是ip地址

代理的基本型別

  • 傳統代理
    適用于internet ,需要指定服務端,開啟代理ip地址
  • 透明代理
    客戶機不需要指定代理服務器的地址和埠,而通過默認路由,防火墻策略將web訪問定向給代理服務器處理

ACL訪問控制

  • 控制方式
    根據源地址,目標URL,檔案型別等定義串列

acl 串列名稱 串列型別 串列內容…

再針對定義的串列做限制

http_access allow或deny 串列名

  • 規則優先級
    用戶訪問代理服務器時,squid會從上往下匹配,順序匹配定義所有規則串列,
    一旦匹配成功,立即停止匹配,!!
    相反,如果都不匹配,squid會使用最后一條相反的規則

最后一條是允許,相反:則是拒絕
最后一條是拒絕,相反:則是允許

常用ACL 串列型別

src             源地址
dst              目標地址
port             目標地址
dstdomain         目標域
time             訪問時間
maxconn           最大并發連接
url_regex          目標URL地址 
urlpath_regex      整個目標URL路徑 

反向代理

  • squid反向代理服務器中快取了該請求的資源,則將該請求直接回傳給客戶端;
  • 否則反向代理服務器將向后臺的web服務器請求資源,然后將請求的應答回傳給客戶端,同時也將該應答快取在本地,供下一個請求者使用

squid反向代理服務器:我有我直接給你,我沒有我跟后面web要,我給你,我也留一份,方便給下一個;

  • 作業機制和優點

快取網頁物件,減少重復請求
將外網(互聯網)請求,按照策略輪詢或權重分配到內網web服務器
安全,隱藏,避免用戶直接訪問web服務器;

squid代理服務器20.0.0.16
web20.0.0.17 centos7.4
web220.0.0.18 centos7.4
客戶端20.0.0.1 /192.168.100.10

一,安裝squlid部署環境:

  1. 安裝底層編譯環境
    yum -y install gcc gcc-c++ make

  2. 將軟體包拖到/opt/目錄,

解壓:
tar zxf squid-3.4.6.tar.gz     //解壓到當前目錄下就行了
編譯安裝:
cd squid-3.4.6/               //到軟體目錄下
./configure  --prefix=/usr/local/squid --sysconfdir=/etc   --enable-arp-acl --enable-linux-netfilter --enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnuregex

 make && make install         //編譯有一會時間

編譯安裝的解釋:
1.指定安裝路徑;
2.組態檔存放目錄;
3.啟用acl訪問控制串列;通過客戶端的MAC地址進行管理,防止客戶使用arp欺騙,
4.內核過濾機制
5.支持透明模式功能
6.呼叫I/O執行緒優化
7.報錯提示簡體中文提示
8.url支持下劃線
9.字符設備去驅動中的函式,檔案指標掛載到當前等待佇列
10.支持正則運算式

3.將軟體squid命令能夠被系統命令能識別

//查看squid啟動命令是在那個目錄,是/bin 還是/sbin/
//在/sbin/下面,放到系統可以使用的/sbin/下,或者/bin

ln -s /usr//local/squid/sbin/squid /usr/local/sbin/

4.創建一個程式賬戶;

useradd -M -s /sbin/nologin squid

//更改屬賬戶權限, var目錄下有兩個目錄run,cahe當中都有squid的目錄
chown -R squid.squid /usr/local/squid/var

5.更改組態檔

vim /etc/squid.conf
 56 #http_access deny all
 57 http_access allow all                              //設定為允許所有
 60 http_port 3128
 61 cache_effective_user squid                   //添加主賬戶
 62 cache_effective_group squid                 //添加組賬戶
 68  coredump_dir /usr/local/squid/var/cache/squid      //在第一個快取目錄中保留coredump,容災目錄,出現問題故障可以通過目錄還原;

6.檢查組態檔語法:

[root@as squid]#squid -k parse 
.....省略部分.....
正確的話會顯示很快
[root@as squid]# squid -z
[root@as squid]# 2020/10/30 12:19:23 kid1| Set Current Directory to /usr/local/squid/var/cache/squid
2020/10/30 12:19:23 kid1| Creating missing swap directories
2020/10/30 12:19:23 kid1| No cache_dir stores are configured.
^C
[root@as squid]# squid
[root@as squid]# netstat -antp|grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      55371/(squid-1)     


7.配置squid啟動腳本;


vim   /etc/init.d/squid

#!/bin/bash
#chkconfig: 2345 90 25
PID="/usr/local/squid/var/run/squid.pid"   ##PID檔案行程號
CONF="/etc/squid.conf"                           ##主組態檔
CMD="/usr/local/squid/sbin/squid"           ##啟動命令

case "$1" in
start)
                netstat -ntap | grep squid &> /dev/null
                if [ $? -eq 0 ]
                then
                 echo "squid is running"
                 else
                 echo "正在啟動 squid...." 
                 $CMD
                 echo "啟動完成!"
                fi
                ;;
stop)
                $CMD -k kill &> /dev/null   ##關閉squid
                rm -rf $PID &> /dev/null    ##洗掉PID檔案
                ;;
status)
                [ -f $PID ] &> /dev/null
                 if [ $? -eq 0 ]
                                then
                                 netstat -ntap | grep squid
                                else
                                 echo "squid is not running"
                fi
                ;;
restart)
                $0 stop &> /dev/null
                echo "正在關閉 squid..."
                $0 start &> /dev/null
                echo "正在啟動 squid..."
                ;;
reload)
                $CMD -k reconfigure    ##多載組態檔
                ;;
check)
                $CMD -k parse      ##檢查語法
                ;;
*)
                echo "用法:$0{start|stop|reload|status|check|restart}"
                ;;
esac

驗證腳本:

[root@as init.d]# chmod +x /etc/init.d/squid           //腳本執行權限
[root@as init.d]# chkconfig --add  /etc/init.d/squid   //添加到啟動項
[root@as init.d]# service squid stop
[root@as init.d]# netstat -antp|grep squid
[root@as init.d]# service squid start
正在啟動 squid....
啟動完成!
[root@as init.d]# netstat -antp|grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      56348/(squid-1)     

二,搭建傳統代理服務器

手動指定代理服務器; 指定代理服務器;

  1. 更改squid配置,添加優化
[root@squid init.d]# vim /etc/squid.conf
       http_port 3128
      cache_effective_user squid
      cache_effective_group squid
63 cache_mem 64 MB	'//自定義快取空間大小,容量最好為4的倍數'
64 reply_body_max_size 10 MB	'//允許下載最大檔案大小,以位元組為單位,默認設定0表示不進行限制'
65 maximum_object_size 4096 KB	'  //允許保存到快取空間的最大物件的大小,以KB為單位,超過限制不會快取,直接轉到用戶端的快取'

[root@squid ~]# service squid reload	'//多載服務'
[root@squid ~]# netstat -antp |grep squid
tcp6       0      0 :::3128                 :::*                    LISTEN      56799/(squid-1)   

  1. 防火墻設定

[root@squid ~]# iptables -F ‘//清空防火墻表內容’
[root@squid ~]# iptables -L ‘//查看防火墻表內容’
[root@squid ~]# setenforce 0 ‘//關閉防火墻增強型功能’
[root@squid ~]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT ‘//新增規則,允許3128埠’

  1. (真機或win10虛擬機)瀏覽器驗證:
    使用瀏覽器不同,配置代理服務地址也不同;(我用的是firefox火狐)
    設定-----網路----選擇手動配置代理ip
    在這里插入圖片描述
    第一次:沒配置代理ip前
    第二次:配置代理ip后

web節點查看httpd訪問正確日志: cat /var/log/httpd/access.log

在這里插入圖片描述

問題:
1.如果訪問web網站,頁面顯示錯誤資訊,無法獲取URL資訊,解決方法如下:
//代理服務器組態檔,拒絕了acl訪問策略;
56 #http_access deny all //查看是不是忽略了這個,注釋掉
添加http_access allow all //允許所有,訪問策略

2.防火墻問題,是否關閉firewalld,iptables訪問策略清空,從新添加!!

三,搭建透明代理

關閉傳統代理的,客戶端代理ip

  1. 添加一個網卡ens36 做代理網關;
    識別不到新添加網卡:systemctl start networkmanager 網路管理服務;
cd /etc/sysconfig/network-scripts/
cp ifcfg-ens33  ifcfg-ens36

vim ifcfg-ens36
//檔案之前的ens33改成ens36
//uuid洗掉去掉
//ip地址為192.168.100.1  網關地址

//重啟下網路服務
systemctl restart network
-------------

  1. 做路由轉發
vim  /etc/sysctl.conf 
net.ipv4.ip_forward = 1

[root@squid network-scripts]# sysctl -p
net.ipv4.ip_forward = 1
  1. 更改squid組態檔,改為透明代理模式
vim /etc/squid.conf
60 http_port 192.168.100.1:3128  transparent 
//地址是新建網卡的網關地址;

  1. 重啟服務;
    service squid restart

  2. 防火墻策略設定:

iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128        //定義入口規則 網卡名稱 源地址  協議   http80埠重定向到3128埠
iptables -t nat -I PREROUTING -i ens36 -s 192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128      //定義入口規則 網卡名稱 源地址  協議   https443埠重定向到3128
iptables -I INPUT -p tcp --dport 3218 -j ACCEPT         //新增規則,允許3128埠

  1. web節點、

1.做靜態路由,指向squid代理服務器地址;

[root@web httpd]# route add -net 192.168.100.0/24 gw 20.0.0.16    //添加路由到路由表

[root@web httpd]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         20.0.0.2        0.0.0.0         UG    100    0        0 ens33
20.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.100.0   20.0.0.16       255.255.255.0   UG    0      0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0


  1. 客戶端驗證:
    將之前的網卡更換,與squid代理服務網關網卡一致
    更改為192.168.100.10地址,網關指向代理服務網關192.168.100.1
    在這里插入圖片描述

win10 打開瀏覽器訪問web地址,輸入20.0.0.17
//顯示登陸界面;

  1. web端查看日志檔案
    tail /vat/log/httpd/access.log
    在這里插入圖片描述

四,ACL訪問控制

  1. 修改squid組態檔

vim /etc/squid.conf

acl  mygw    src 192.168.100.0/24             //訪問串列控制原地址某個網段;
acl  localip src 192.168.100.10/32           //訪問串列控制具體地址‘,固定ip地址是32位
acl  desthost   dst  20.0.0.17/32           //訪問串列控制目標地址
acl  mc20    maxconn  20                    //訪問數量,最大訪問
acl  burl    url_regex  -i  ^rtsp://  ^cmule://           //正則運算式,以什么協議為開頭
acl  purl    urlpath_regex -i  \.mp3$  \.mp4$  \.rmvb$   //以什么為結尾
acl  work time  MTWHF  08:30-17:30                        //對某段時間做限制,MTWHF是周一到周五,AC是周六周日



//拒絕localip串列;以上往下的順序
http_access deny localip


  1. acl訪問控制的ip地址,也可以放在一起串列管理
    方便,靈活,減少組態檔的代碼量

mkdi  /etc/squid/              //創建目錄,存放物件地址

vim  /etc/squid/dest.ip        //輸入web目標地址
20.0.0.17
20.0.0.18
.....

  1. 組態檔內
vim /etc/squid.conf

acl  desthost   dst   "/etc/squid/dest.ip"
  1. 重啟squid
    service squid restart

  2. 客戶端訪問

做訪問串列控制前:
在這里插入圖片描述
做訪問串列控制后:
在這里插入圖片描述

五,squid日志分析,sarg工具

  1. 安裝準備環境
    yum -y install gd gd-devel //影像處理擴展庫gd

  2. 創建編譯安裝準備目錄
    mkdir /usr/local/sarg

  3. 將軟體拖到/opt 解壓
    cd /opt
    tar zxvf sarg-2.3.7.tar.gz

  4. 編譯安裝
    cd sarg-2.3.7/
    ./configure --prefix=/usr/local/sarg --sysconfdir=/etc/sarg --enable-extraprotection

//–enable-extraprotection //額外安全防護

make && make install

  1. 將sarg配置備份,修改組態檔
    cd /etc/sarg/
    cp sarg.conf sarg.conf.bak

編輯配置

vim sarg.conf

7 access_log /usr/local/squid/var/logs/access.log
25 title "Squid User Access Reports"
120 output_dir /var/www/html/squid-reports
178 user_ip no
184 topuser_sort_field connect reverse
206 exclude_hosts /usr/local/sarg/noreport
257 overwrite_report no
289 mail_utility mailq.postfix
434 charset UTF-8
518 weekdays 0-6
525 hours 0-23
633 www_document_root /var/www/html

//配置解釋:
7:指定訪問日志檔案
25:網頁標題,可自定義
120:報告輸出目錄,存放目錄
178:使用用戶名顯示
184:top排序中有連接次數,訪問位元組,降序排列,升序是normal
206:不計入排序的站點串列檔案
257:同名日志是否覆寫
289:發送郵件報告命令
434:使用字符集
518:top排序的星期周期
525:top排序的時間周期
633:網頁根目錄

  1. 創建串列檔案
    touch /usr/local/sarg/noreport

  2. 將sarg命令能夠被系統識別

ln -s /usr/local/sarg/bin/sarg /usr/local/bin/

  1. 安裝httpd
    yum -y install httpd

  2. 開啟sarg工具,生成報告

[root@as sarg]# sarg
SARG: 紀錄在檔案: 81, reading: 100.00%
SARG: 成功的生成報告在 /var/www/html/squid-reports/2020Nov01-2020Nov01

  1. 執行每天生成報告
sarg -l  /usr/local/squid/var/logs/access.log  -o /var/www/html/squid-reports/ -z -d $(date -d "1 day ago" +%d/%m/%Y)-$(date +%d/%m/%Y)

前一天的時間 - 今天的時間 = 就是一天的生成報告時間
[root@as squid-reports]# date -d "1 day ago" +%d/%m/%Y
31/10/2020
[root@as squid-reports]# date  +%d/%m/%Y
01/11/2020

六,squid 反向代理

20.0.0.17 網頁檔案修改

vi /var/www/html/index.html

<h1> this  is web1 </h1>
  1. 新添加 web2節點 20.0.0.18

//安裝httpd
yum -y install httpd

//開啟服務,做站點目錄網頁檔案,

vi /var/www/html/index.html

<h1> this  is web2 </h1>

systemctl enable httpd
systemctl start httpd

netstat -antp|grep 80


//添加路由表,靜態路由指向代理服務器ip
route add -net 192.168.100.0/24 gw 20.0.0.16

route -n        //查看路由表

ping 192.168.100.10    測驗客戶端的連通性
  1. squid端 修改squid配置,改為反向代理
vim   /etc/squid.conf
http_port 20.0.0.16:80 accel vhost vport                  //監聽squid代理地址,埠為80
cache_peer 20.0.0.17 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web        //訪問后面web節點服務,重定向,定位到80埠,采用輪詢機制,最大訪問量30 , 權重為1  ,別名web
cache_peer 20.0.0.18 parent 80 0 no-query originserver round-robin max_conn=30 weight=1 name=web2      //訪問后面web節點服務,重定向,定位到80埠,采用輪詢機制,最大訪問量30 , 權重為1  ,別名web
cache_peer_domain web web2 www.as.com       //匹配,如果訪問的域名是www.as.com  就訪問到兩個web節點;



//停止httpd服務;埠沖突
systemctl  stop httpd

//重啟squid服務,過濾埠
[root@squid ~]# service squid restart
正在關閉 squid...
正在啟動 squid...
[root@squid ~]# netstat -antp |grep squid
tcp        0      0 20.0.0.16:80            0.0.0.0:*               LISTEN      60392/(squid-1)  

  1. 防火墻策略
[root@squid ~]# iptables -F             //清除之前的所有規則
[root@squid ~]# iptables -t nat -F    //清除之前表內的所有策略
[root@squid ~]# iptables -I INPUT -p tcp --dport 3128 -j ACCEPT      //新添加入規則,允許埠3128
[root@squid ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:squid

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 


  1. 客戶端
    驗證:
    //開啟代理ip
    在這里插入圖片描述

如果不想做域名,輪詢,可以去掉這個配置,直接通過ip就可以
cache_peer_domain web web2 www.as.com

//做hosts主機映射
C:\Windows\System32\drivers\etc 下的 hosts檔案中-------添加20.0.0.16 www.as.com-----驗證

在這里插入圖片描述

轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/200158.html

標籤:其他

上一篇:Jumpserver#Jumpserver堡壘機部署

下一篇:VMware虛擬機安裝Ubuntu20.10教程(圖文)

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 【從零開始擼一個App】Dagger2

    Dagger2是一個IOC框架,一般用于Android平臺,第一次接觸的朋友,一定會被搞得暈頭轉向。它延續了Java平臺Spring框架代碼碎片化,注解滿天飛的傳統。嘗試將各處代碼片段串聯起來,理清思緒,真不是件容易的事。更不用說還有各版本細微的差別。 與Spring不同的是,Spring是通過反射 ......

    uj5u.com 2020-09-10 06:57:59 more
  • Flutter Weekly Issue 66

    新聞 Flutter 季度調研結果分享 教程 Flutter+FaaS一體化任務編排的思考與設計 詳解Dart中如何通過注解生成代碼 GitHub 用對了嗎?Flutter 團隊分享如何管理大型開源專案 插件 flutter-bubble-tab-indicator A Flutter librar ......

    uj5u.com 2020-09-10 06:58:52 more
  • Proguard 常用規則

    介紹 Proguard 入口,如何查看輸出,如何使用 keep 設定入口以及使用實體,如何配置壓縮,混淆,校驗等規則。

    ......

    uj5u.com 2020-09-10 06:59:00 more
  • Android 開發技術周報 Issue#292

    新聞 Android即將獲得類AirDrop功能:可向附近設備快速分享檔案 谷歌為安卓檔案管理應用引入可安全隱藏資料的Safe Folder功能 Android TV新主界面將顯示電影、電視節目和應用推薦內容 泄露的Android檔案暗示了傳說中的谷歌Pixel 5a與折疊屏新機 谷歌發布Andro ......

    uj5u.com 2020-09-10 07:00:37 more
  • AutoFitTextureView Error inflating class

    報錯: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解決: <com.example.testy2.AutoFitTextureView android: ......

    uj5u.com 2020-09-10 07:00:41 more
  • 根據Uri,Cursor沒有獲取到對應的屬性

    Android: 背景:呼叫攝像頭,拍攝視頻,指定保存的地址,但是回傳的Cursor檔案,只有名稱和大小的屬性,沒有其他諸如時長,連ID屬性都沒有 使用 cursor.getInt(cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DURATIO ......

    uj5u.com 2020-09-10 07:00:44 more
  • Android連載29-持久化技術

    一、持久化技術 我們平時所使用的APP產生的資料,在記憶體中都是瞬時的,會隨著斷電、關機等丟失資料,因此android系統采用了持久化技術,用于存盤這些“瞬時”資料 持久化技術包括:檔案存盤、SharedPreference存盤以及資料庫存盤,還有更復雜的SD卡記憶體儲。 二、檔案存盤 最基本存盤方式, ......

    uj5u.com 2020-09-10 07:00:47 more
  • Android Camera2Video整合到自己專案里

    背景: Android專案里呼叫攝像頭拍攝視頻,原本使用的 MediaStore.ACTION_VIDEO_CAPTURE, 后來因專案需要,改成了camera2 1.Camera2Video 官方demo有點問題,下載后,不能直接整合到專案 問題1.多次拍攝視頻崩潰 問題2.雙擊record按鈕, ......

    uj5u.com 2020-09-10 07:00:50 more
  • Android 開發技術周報 Issue#293

    新聞 谷歌為Android TV開發者提供多種新功能 Android 11將自動填表功能整合到鍵盤輸入建議中 谷歌宣布Android Auto即將支持更多的導航和數字停車應用 谷歌Pixel 5只有XL版本 搭載驍龍765G且將比Pixel 4更便宜 [圖]Wear OS將迎來重磅更新:應用啟動時間 ......

    uj5u.com 2020-09-10 07:01:38 more
  • 海豚星空掃碼投屏 Android 接收端 SDK 集成 六步驟

    掃碼投屏,開放網路,獨占設備,不需要額外下載軟體,微信掃碼,發現設備。支持標準DLNA協議,支持倍速播放。視頻,音頻,圖片投屏。好點意思。還支持自定義基于 DLNA 擴展的操作動作。好像要收費,沒體驗。 這里簡單記錄一下集成程序。 一 跟目錄的build.gradle添加私有mevan倉庫 mave ......

    uj5u.com 2020-09-10 07:01:43 more
最新发布
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:40:31 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:40:11 more
  • 歡迎頁輪播影片

    如圖,引導開始,球從上落下,同時淡入文字,然后文字開始輪播,最后一頁時停止,點擊進入首頁。 在來看看效果圖。 重力球先不講,主要歡迎輪播簡單實作 首先新建一個類 TextTranslationXGuideView,用于影片展示 文本是類似的,最后會有個圖片箭頭影片,布局很簡單,就是一個 TextVi ......

    uj5u.com 2023-04-20 08:39:36 more
  • 【FAQ】關于華為推送服務因營銷訊息頻次管控導致服務通訊類訊息

    一. 問題描述 使用華為推送服務下發IM訊息時,下發訊息請求成功且code碼為80000000,但是手機總是收不到訊息; 在華為推送自助分析(Beta)平臺查看發現,訊息發送觸發了頻控。 二. 問題原因及背景 2023年1月05日起,華為推送服務對咨詢營銷類訊息做了單個設備每日推送數量上限管理,具體 ......

    uj5u.com 2023-04-20 08:39:13 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:16:23 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:16:15 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:15:46 more
  • iOS從UI記憶體地址到讀取成員變數(oc/swift)

    開發除錯時,我們發現bug時常首先是從UI顯示發現例外,下一步才會去定位UI相關連的資料的。XCode有給我們提供一系列debug工具,但是很多人可能還沒有形成一套穩定的除錯流程,因此本文嘗試解決這個問題,順便提出一個暴論:UI顯示例外問題只需要兩個步驟就能完成定位作業的80%: 定位例外 UI 組 ......

    uj5u.com 2023-04-19 09:14:53 more
  • FIDE重磅更新!性能飛躍!體驗有禮!

    FIDE 開發者工具重構升級啦!實作500%性能提升,誠邀體驗! 一直以來不少開發者朋友在社區反饋,在使用 FIDE 工具的程序中,時常會遇到諸如加載不及時、代碼預覽/渲染性能不如意的情況,十分影響開發體驗。 作為技術團隊,我們深知一件趁手的開發工具對開發者的重要性,因此,在2023年開年,FinC ......

    uj5u.com 2023-04-19 09:14:08 more
  • 游戲內嵌社區服務開放,助力開發者提升玩家互動與留存

    華為 HMS Core 游戲內嵌社區服務提供快速訪問華為游戲中心論壇能力,支持玩家直接在游戲內瀏覽帖子和交流互動,助力開發者擴展內容生產和觸達的場景。 一、為什么要游戲內嵌社區? 二、游戲內嵌社區的典型使用場景 1、游戲內打開論壇 您可以在游戲內繪制論壇入口,為玩家提供沉浸式發帖、瀏覽、點贊、回帖、 ......

    uj5u.com 2023-04-19 09:08:34 more