隨著互聯網的普及和移動設備的廣泛使用,越來越多的服務和功能被移植到了線上。其中,樓簽到小程序作為一種便捷的工具,被廣泛應用于樓宇管理、物業服務等領域。本文將詳細介紹如何制作一個樓簽到小程序,從設計到優化,為您提供全面的指導。
設計頁面
首先,我們需要選擇一個合適的模板,并根據具體需求來設計頁面。這個過程主要包括以下步驟:
1.1登錄頁面:添加登錄功能,允許用戶通過微信登錄,簡化注冊流程。
1.2注冊頁面:允許新用戶注冊,并提供找回密碼功能。
1.3樓宇列表頁面:展示所有可用的樓宇,方便用戶查找。
1.4簽到頁面:設計一個簡潔明了的簽到頁面,以便用戶快速完成簽到操作。
2.編寫代碼
接下來,我們需要使用適當的編程語言來編寫簽到小程序的代碼。考慮到微信小程序的平臺特性,建議使用JavaScript、HTML和CSS來完成。
2.1 JavaScript:使用JavaScript編寫邏輯代碼,處理用戶登錄、注冊、查找樓宇及簽到等操作。
2.2 HTML:使用HTML來構建小程序的結構,包括登錄、注冊、樓宇列表和簽到等頁面的布局。
2.3 CSS:使用CSS來美化頁面的外觀,提升用戶體驗。
3.測試效果
完成代碼編寫后,我們需要在微信或瀏覽器中打開簽到小程序,測試其功能和界面顯示是否符合預期。這個階段主要關注以下幾個方面:
3.1功能測試:確保小程序的所有功能都能正常運行,例如登錄、注冊、查找樓宇和簽到等。
3.2界面測試:檢查頁面的布局、顏色、字體等外觀元素是否滿足設計要求。
3.3兼容性測試:確保小程序在不同設備、不同瀏覽器上都能正常運行。
4.優化體驗
根據測試結果,我們可能會發現一些問題或不足之處。這時,我們就需要進行優化,以提升用戶的使用體驗。以下是一些常見的優化方法:
4.1響應速度優化:通過優化代碼和減少不必要的網絡請求,提高小程序的響應速度。
4.2用戶體驗優化:調整界面布局、簡化操作流程,使小程序更易于使用。
4.3功能完善:根據用戶反饋和實際需求,添加或改進一些功能,提高小程序的實用性。
4.4安全性提升:加強小程序的安全防護,防止用戶數據泄露和惡意攻擊。
5.總結
樓簽到小程序的制作并非難事,只需按照設計好的頁面模板,使用合適的編程語言編寫代碼,然后進行必要的測試和優化,就能制作出符合預期的簽到小程序。在實際制作過程中,關注用戶需求和體驗是關鍵,只有不斷優化和完善,才能打造出高質量的小程序應用。
預約角色活動已經持續了近兩個禮拜,相信有很多小伙伴成功到達了100級。不知有沒有小伙伴們察覺到,我們起初建一個角色,只是覺得這個職業帥,技能酷炫,亦或者是幻神職業,很少有玩家為了建立角色而建立角色,基本上近幾年的版本都是吃上版本的老角色的底繼續游戲的。一般的團本活動之類的任務都完成不了,更別說去建立新角色,哪有這個精力呀。
因此不知從何時起,DNF開始興起預約角色這一說,成長型不死鳥武器,傳承/圣物防具,各種副產品(倉庫升級券,背包升級券等)似乎都成了標配。而這次的預約角色相比以往,對于賬號內的角色幫助不大,沒有賬號綁定類獎勵,但是對于本職業的幫助客觀,至少一身的換裝省了不少事。似乎玩家對于預約升級已經成為了常態,不過這里也有很多細節,學問大著呢。
NO1、職業的選擇
在三覺活動的當口,我認為應該建立男女鬼劍士角色,不僅能提前享受到三覺技能的視覺傷害的雙重享受,也可以獲取三覺活動所帶來的福利。具體的大家都知道在這里不再贅述。如果玩家對男女鬼劍士不感冒或者跟我一樣,男女鬼劍士都有了,那么建議選擇奶系職業,因為無論任何版本,奶系職業還是比較吃香,而且預約的過程中也會有升級券,對于奶系職業也是一個幫助,不過需要說明的是,預約活動贈送的換裝對奶不適用,很是浪費,而且95級之后的升級對于奶系職業來說也是比較困難的。
除此之外,玩家也可以根據自己的想法大膽的去建立職業,比如平時想玩但是害怕下水道升級困難提不起勁頭的,這個時候便可以趁著活動熱乎升級體驗,也是一個很好的想法。
比如可以趁機體驗一把下水道三帥……
No2、升級的竅門
對于預約角色升級,我之前在文章里說過,可以結合冒險團的升級券混著來。具體如下:
13級開始吃冒險團升級券到20級;
23級開始吃冒險團升級券到30級;
33級開始吃冒險團升級券到40級;
45級開始吃冒險團升級券到50級;
64級開始吃冒險團升級券到70級;
74級開始吃升級禮盒的升級券升級到75級;
79級開始吃升級禮盒的升級券升級到80級;
83級開始吃一張冒險團升級券升級到84級,然后吃一張升級禮盒的升級券升級到85級,在吃一張冒險團升級券升級到86級;
86級吃升級禮盒以及冒險團升級券升級到90級;
91級吃巴斯泰拖周常地下城的經驗膠囊到92級;
92級吃升級禮盒以及冒險團升級券升級到95級;
這里邊是升級券的使用流程,如果在這個網址https://dnf.qq.com/cp/a20200228video/index.html簽到,會額外獲得兩張升級券以及每天一瓶三倍經驗藥水。如此一來,吃升級券的方式會有略微的調整,影響不大。
對于任務,這里邊有個小建議,我之前說過95級之后的主線任務只有奇數等級才有,而95級之前的主線任務簡直是多如牛毛,因此我的建議是,當角色升級到90級時候點擊“完成過去任務”,然后通過手段升級到95之后,主線任務欄里面的任務等級還是90級左右的任務,這時千萬不要點擊任務完成,經過測試,在三倍藥水的加持下,無論是通關經驗,單個怪物經驗,還是任務經驗與95級的經驗相比,兩者相差無幾,
而95級之后又是奇數等級有主線任務,并且95級之后的地圖難度肯定上升,當你升級到96級沒有主線任務時候,你覺得預約角色的裝備刷得過智慧的引導嗎?我想答案是肯定的,既然我們的目的是為了升級,那就選擇一個最優方案——95級做90級任務,簡單又實惠。
另外,前期的低等級時候升級談話任務如果NPC橫跨距離太遠,而自身又有雙倍藥的加持,為了不浪費時間,可以直接選擇完成任務,畢竟談話的經驗實在是微乎其微。
No3、裝備的選擇
不知道有沒有玩家跟我有一樣的感受,就是前期90級之前,做劇情任務時候,我們預約角色即使是身穿圣物,手持幸運星武器,但依舊是斬荊披棘,所向披靡。不知怎么一到90級之后,感覺耐久大不如以前,以前一個技能過圖,現在是一套技能難死,哎,裝備容易受潮,年輕人,得節制……
咳咳,回歸正題,這是個很嚴重的問題,且不說以后刷智慧的引導,即使是普通的升級都很困難,至少這一關得過去。首先我想到的是哈林史詩,但是上文我說了,我既然選擇做90級主線任務,哈林史詩又從何來?總不能跨界吧?那太沒必要了。別急,我們有別的方案。
我們可以用異形結晶來兌換哈林武器,在紅鼻子那里,900個便可以兌換,雖然說一把武器不能逆天改命,但是武器,絕對是一個職業所有裝備中最舉足輕重的一個。我們在95版本積攢了很多賬號綁定的異形結晶,這時候派上了大用場了。
除此之外,我們還可以跨界100級粉裝,我們都知道,100級的粉裝屬性對小號來說還是很不錯的,我們可以用大號去刷根特皇宮,其中能在圖里爆出,也可以兌換。然后去馬杰洛那里跨界。拿首飾為例,跨界需要140個神器靈魂,
而1個神器靈魂需要15個稀有靈魂兌換,經過測試,100級左右的假紫大概能分解5個稀有靈魂,大致上需要420個假紫才能構成這些個神器靈魂。我們也可以在靈魂之冢分解粉裝武器,
在刷圖中的藍白裝備也可以分解,一個是為了探索活動,一個是為了可以兌換神器靈魂,總之這是一個漫長的過程,不用可以而為之,如果玩家物品欄里的神器靈魂庫存較多,這是個不錯的選擇。
活動贈送的裝備通關時間如下:
在跨界兩件100級粉首飾以及做了一把95級哈林史詩武器后通關時間如下:
怎么樣,明顯快了很多了吧.......嗯?怎么突然感覺哪里不對呢?
大致上總結了對預約角色在升級道路上的一些注意事項,玩家們還有什么需要補充的嗎?趕快在留言區留言吧。
隨著科技的進步,人臉識別技術已經深入到各個領域中。在教育、企業、會議等場合,傳統的簽到方式如手工簽名、刷卡等存在諸多問題,如容易丟失、容易被偽造等。因此,人臉識別簽到系統應運而生,為各類場合提供了更加便捷、高效的簽到方式。這種簽到方式不僅方便快捷,而且安全性更高,能夠有效地避免傳統簽到方式的弊端。基于人臉識別的簽到系統是利用WEB框架做人員管理,注冊錄入相關人員的信息,再利用攝像機采集現成人臉的靜態圖像,并通過定點方式檢測人臉特征中的關鍵信息,把所有信息存儲到數據庫中,最后用QT界面再終端進行人臉識別用同樣的算法識別人臉并和數據庫中的人臉信息進行比對,來判斷參會人員是否為注冊人員。如果識別成功,系統將自動完成簽到操作并將簽到記錄存儲在數據庫中。
后臺:django
前端: html javascript
數據庫:mysql
人臉檢測算法:dlib
人臉模型算法: 卷積神經FACENET(pytorch、tensorflow實現)
用戶表:
簽到記錄表:
話不多說,以下是部分實施過程,篇幅有限,有興趣的朋友可私信找我要項目全部代碼或者根據需要定制你想要的系統:
1.安裝Django。您可以在終端或命令提示符下使用以下命令安裝最新版本的Django:
pip install django
#安裝'pymysql
pip install pymysql
2.創建Django項目。在終端或命令提示符下,轉到要創建項目的目錄,并運行以下命令:
#其中,“HuiChang”是您想要為項目選擇的名稱。
#此命令將創建一個名為“HuiChang”的新目錄,
#并在其中創建一個名為“manage.py”的文件。
django-admin startproject HuiChang
3.創建應用程序。應用程序是Django項目的組成部分,每個應用程序都可以包含特定于該應用程序的視圖、模板和模型。在項目目錄中運行以下命令以創建新的應用程序
#其中,“app_huichang”是您想要為應用程序選擇的名稱。
#此命令將創建一個名為“app_huichang”的新目錄,
#并在其中創建一個名為“models.py”的文件。
python manage.py startapp app_huichang
4.配置mysql數據庫。Django使用默認的SQLite數據庫配置。在“settings.py”文件中,確保DATABASES設置為以下內容:
# mysql 配置
DATABASES={
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'douban',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
'TEST':{
'CHARSET':'utf8',
'COLLATION':'utf8_general_ci'
},
}
}
5.數據庫創建
用戶權限表:
在app_huichang的新目錄里打開models.py,創建一個User、Role、Permission類,分別是用戶信息表、身份表、權限表。定義數據庫相關字段:
# 創建用戶表
class User(models.Model):
name=models.CharField(max_length=32, verbose_name='用戶名稱')
password=models.CharField(verbose_name='密碼',max_length=64,default="")
number=models.IntegerField(default=0)
huichang=models.CharField(max_length=32, verbose_name='會場', default="")
zuowei=models.CharField(max_length=32, verbose_name='座位',default="")
face_encoding=models.CharField(max_length=5000, verbose_name='人臉信息',default="")
# 與身份表的多對多外鍵字段,假設可以跨身份,跨部門
roles=models.ManyToManyField(to='Role')
def __str__(self):
return self.name
# 創建身份表
class Role(models.Model):
title=models.CharField(max_length=32, verbose_name='身份名稱')
# 和權限表的多對多關系字段,一個身份可以有多個權限,一個權限也可以被多個身份擁有
permissions=models.ManyToManyField(to='Permission')
def __str__(self):
return self.title
# 創建權限表
class Permission(models.Model):
name=models.CharField(max_length=32, verbose_name='權限名稱')
url=models.CharField(max_length=32, verbose_name='權限url')
def __str__(self):
return self.name
class Userinfo(models.Model):
first_name=models.CharField(max_length=32, verbose_name='姓')
last_name=models.CharField(max_length=32, verbose_name='名')
phone=models.IntegerField()
addr=models.CharField(max_length=64, verbose_name='住址')
簽到信息表:
class qiandao(models.Model):
name=models.CharField(max_length=32, verbose_name='姓')
number=models.IntegerField(default=0)
huichang=models.CharField(max_length=32, verbose_name='會場', default="")
zuowei=models.CharField(max_length=32, verbose_name='座位', default="")
Time=models.DateTimeField('簽到時間')
biaoshi=models.CharField(max_length=32, verbose_name='遲到標志', default="")
6.在模型文件中定義完類后,需要配置模型,在項目的配置文件setting.py中修改INSTALLED_APPS 中添加應用名稱"app_huichang"
INSTALLED_APPS=[
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
'app_huichang'
]
在admin.py文件中配置在后臺顯示的數據模型字段
admin.site.register(User)
admin.site.register(Role)
admin.site.register(Permission)
7.運行遷移。在終端或命令提示符下,進入項目目錄,并運行以下命令以創建數據庫表格:
python manage.py makemigrations app_huichang
python manage.py migrate
創建超級管理員來修改用戶權限:
8.注冊功能:
<div class="auth-form-light text-left py-5 px-4 px-sm-5">
<div class="brand-logo">
<h1>人臉簽到系統</h1>
</div>
<h4>賬號注冊</h4>
<h6 class="font-weight-light">請輸入相關信息</h6>
<form class="pt-3" action="{% url 'register' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-group">
<input type="text" name="user" class="form-control form-control-lg" id="exampleInputUsername1" placeholder="賬號" value="{% if form1.user.value %} {{ form1.user.value }} {% endif %}">
{{ form1.errors.user.0 }}
</div>
{% if errMsg %}
<h4>{{ errMsg }}</h4>
{% endif %}
<div class="form-group">
<input type="email" name="email" class="form-control form-control-lg" id="exampleInputEmail1" placeholder="郵箱" value="{% if form1.email.value %} {{ form1.email.value }} {% endif %}">
{{ form1.errors.email.0 }}
</div>
<div class="form-group">
<input type="text" name="number" class="form-control form-control-lg" id="exampleInputEmail1" placeholder="參會證號" value="{% if form1.number.value %} {{ form1.number.value }} {% endif %}">
{{ form1.errors.number.0 }}
</div>
{% if errMsg1 %}
<h4>{{ errMsg1 }}</h4>
{% endif %}
<div class="form-group">
<input type="text" name="Class" class="form-control form-control-lg" id="exampleInputEmail1" placeholder="會場名" value="{% if form1.Class.value %} {{ form1.Class.value }} {% endif %}">
{{ form1.errors.Class.0 }}
</div>
<div class="form-group">
<input type="text" name="sushe" class="form-control form-control-lg" id="exampleInputEmail1" placeholder="座位號" value="{% if form1.sushe.value %} {{ form1.sushe.value }} {% endif %}">
{{ form1.errors.sushe.0 }}
</div>
<div class="form-group">
<input type="password" name="password" class="form-control form-control-lg" id="exampleInputPassword1" placeholder="密碼">
{{ form1.errors.password.0 }}
</div>
<div class="form-group">
<input type="password" name="rePassword" class="form-control form-control-lg" id="exampleInputPassword2" placeholder="重復密碼">
{{form1.errors.rePassword.0}}
</div>
<div class="form-group">
<label for="exampleInputConfirmPassword1">上傳人臉照片</label>
<input type="file" name="myfile" class="form-control file-upload-info" placeholder="Upload Image">
{% if err %}
<h4>{{ err }}</h4>
{% endif %}
</div>
{% if error %}
<h3>{{ error }}</h3>
{% endif %}
<div class="mt-3">
<button type="submit" class="btn btn-block btn-primary btn-lg font-weight-medium auth-form-btn">注冊</button>
</div>
<div class="text-center mt-4 font-weight-light">
已有賬號? <a href="/login" class="text-primary">去登陸</a>
</div>
</form>
</div>
8.登錄功能:
<div class="auth-form-light text-left py-5 px-4 px-sm-5">
<div class="brand-logo">
<h2>人臉簽到系統</h2>
</div>
<h4>你好! 歡迎登陸</h4>
<h6 class="font-weight-light"></h6>
<form class="pt-3" action="{% url 'login' %}" method="post">
{% csrf_token %}
<div class="form-group">
<input type="username" name="username" class="form-control form-control-lg" id="exampleInputEmail1" placeholder="賬號">
</div>
<div class="form-group">
<input type="password" name="password" class="form-control form-control-lg" id="exampleInputPassword1" placeholder="密碼">
</div>
{% if errMsg %}
<h4 style="background-color: #fef0f0";>{{ errMsg.error }}</h4>
{% endif %}
<div class="mt-3">
<button type="submit" class="btn btn-block btn-primary btn-lg font-weight-medium auth-form-btn">登陸</button>
</div>
<div class="text-center mt-4 font-weight-light">
沒有賬號? <a href="/register" class="text-primary">去注冊</a>
</div>
</form>
</div>
9.權限分配:
10.主頁面:
普通權限:
管理權限:
11.前端識別程序UI設計:
12.簽到記錄:
12.修改信息頁面:
1.啟動django系統出現報錯:
解決方法:
pip install mysqlclient
安裝失敗:
經過多方查詢,最終解決方法為:
#項目(settings.py同級)目錄中__init__.py中添加
import pymysql
pymysql.install_as_MySQLdb()
2.注冊上傳人臉圖片報錯:
解決方法:更改上傳圖片文件路徑
3.上傳人臉圖片報錯:
原因:CascadeClassifier的文件路徑錯誤
*請認真填寫需求信息,我們會在24小時內與您取得聯系。