在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 應用軟件教程 > 詳細頁面

24小時開發(fā)陰陽師小程序

24小時開發(fā)陰陽師小程序

更新時間:2025-10-08 文章作者:未知 信息來源:網(wǎng)絡 閱讀次數(shù):

微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一...
微信小程序,簡稱小程序,英文名Mini Program,是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。小程序是一種不用下載就能使用的應用,也是一項門檻非常高的創(chuàng)新,經(jīng)過將近兩年的發(fā)展,已經(jīng)構造了新的小程序開發(fā)環(huán)境和開發(fā)者生態(tài)。
0.序

玩陰陽師的肝帝們都知道,每天早上5點和下午6點會刷新兩次封印任務,每次做任務時最蛋疼的就是找各種怪物對應的副本以及神秘線索。 陰陽師提供了 網(wǎng)易精靈 可以進行一些數(shù)據(jù)查詢,但體驗實在太感人,所以大多數(shù)人選擇使用搜素引擎搜索怪物分布及神秘線索。

而每次使用搜索引擎查找又十分不方便,所以筆者決定寫一個查詢陰陽師妖怪分布的小程序,力求做到使用快捷體驗更快捷,把更多的時間留給狗糧和御魂。

恰好上周末有兩天時間,所以立馬開寫。

1.構思與設計 ( 3小時 )1.1 構思

  • 要做的小程序主要功能就是查詢功能,所以主頁應該像搜索引擎一樣簡潔,搜索框是肯定需要的;

  • 主頁包含熱門搜索,緩存最熱式神的搜索;

  • 搜索支持完整匹配或者單字匹配;

  • 點擊搜索結果直接跳轉到式神詳情頁;53. 式神詳情頁應該包含式神的圖鑒、名稱、稀有度、出沒地點,并且出沒地點按妖怪數(shù)量從多到少排序;

  • 加入數(shù)據(jù)報錯及提建議的功能;

  • 支持用戶個人的搜索歷史;

  • 小程序的名字,綜合考慮小程序的功能最后決定叫做 式神獵手 ( 其實這是最后開發(fā)完成后才想好的 );

1.2 設計

構思好后筆者就開始用筆者半吊子的 PS 水平設計了下草圖,大概是這個樣子:

24小時開發(fā)陰陽師小程序

嗯,最主要的首頁和詳情頁設計好就行,然后就可以開始具體考慮怎么做了!

1.3 技術架構

  • 前端毫無疑問就是微信小程序咯;

  • 后端使用 Django 提供 Restful API 服務;

  • 當前最熱搜索用 redis 做緩存服務器進行緩存;

  • 個人搜索記錄就使用微信小程序提供的 localstorage ;

  • 式神分布信息使用爬蟲爬取清洗,格式化為 json , 入庫前再做人工檢查;

  • 式神圖片及圖標直接爬取官方資料;

  • 自己制作爬不到的式神圖片及圖標;

  • 小程序要求 HTTPS 連接,恰好筆者之前搞過,可以直接看這里 HTTPS 免費部署指南

到此,正式開發(fā)前的準備得當后,我們就可以開始正式開發(fā)了

2. API 服務開發(fā) ( 5小時 )

Django 的 API 服務開發(fā)筆者之前經(jīng)常做,所以有比較完整的解決方案,可以參考這里 django-simple-serializer

之所以花了 5 個小時是因為近 4 個小時在增加 django-simple-serializer 對 Django ManyToManyField 中 through 特性的支持。

簡而言之, through 特性就是可以使多對多關系的中間表增添一些額外的字段或屬性,例如: 怪物副本和怪物之間的多對多關系就需要增加一個儲存每個副本有多少只相應怪物數(shù)量的字段 count。

搞定 through 支持后 API 的構建就很快啦,主要有五個 API :

  • 搜索接口;

  • 式神詳情接口;

  • 式神副本接口;

  • 熱門搜索接口;

  • 反饋接口;

寫好接口后添加一些 mock data 以供測試;

3. 前端開發(fā) ( 8小時 )

前端花了最久的時間。

一方面筆者真的是個后端工程師,前端屬于半路出家,另一方面小程序有一些坑。 當然,最主要的是一直在調(diào)整界面效果,這里花了大量時間。

寫小程序的整體體驗筆者感覺就和寫 vue.js 一摸一樣,只不過一些 html 標簽沒辦法使用,而是需要按小程序官方提供的組件進行書寫, 這里有一點感受就是,小程序本身組件化的設計思路應該是借鑒了 React 而語法之類的應該是借鑒了 vue.js 。

最后前端開發(fā)完畢后主要分為這幾個頁面:

  • 主頁 ( 搜索頁 );

  • 式神詳情頁;

  • 我的頁面 ( 主要是放搜索歷史和免責申明等等東西 );

  • 反饋界面;

  • 聲明界面 ( 為何需要這個界面? 因為所有圖片及一些資源都是直接抓取陰陽師官方的資源,所以這里需要申明只是非盈利性質的使用,版權亂七八糟的都還是陰陽師的 )。

哎,丑媳婦早晚要見公婆,這里不得不放最后開發(fā)出來的界面圖了

24小時開發(fā)陰陽師小程序

對于微信小程序的入門及基礎,筆者就不在這里多講了,相信到現(xiàn)在對微信小程序有關注的開發(fā)者或多或少自己寫個簡單的 demo 肯定是沒問題的,我就主要講一講我在開發(fā)中遇到的坑:

3.1 background-image 屬性

在寫式神詳情頁的時候兩個地方需要用到 background-image 屬性設置背景圖,在微信開發(fā)者工具中一切顯示正常,但一到真機調(diào)試就沒有辦法顯示,最后發(fā)現(xiàn)小程序的 background-image 在真機不支持引用本地資源,解決方案有兩種:

  • 使用網(wǎng)絡圖片: 考慮到背景圖的大小,筆者放棄了這種方案;

  • 使用 base64 編碼圖片。

正常來講,css 中的 background-image 就支持 base64 ,這種方案相當于把圖片直接用 base64 編碼成一段 base64 碼進行儲存,在使用時這樣使用即可:


[CSS] 純文本查看 復制代碼

background-image: url(data:image/image-format;base64,XXXX);

image-format 為圖片本身的格式,而 xxxx 就是圖片經(jīng)過 base64 后得到的編碼。這種方式其實是一種變相引用本地資源的方式,好處在于可以減少請求圖片的次數(shù),而缺點則是會增大 css 文件并使其不是那么好看。

最后筆者選擇第二種方式主要還是考慮到圖片的大小以及 wxss 的增大在可接受范圍內(nèi)。

3.2 template

小程序支持模版,但要注意模板擁有自己的作用域,只能使用data傳入的數(shù)據(jù)。

另外,在傳入數(shù)據(jù)時需要將相關數(shù)據(jù)解構傳入,在模版內(nèi)部是直接以 {{ xxxx }} 的形式進行訪問,而不是像在循環(huán)中 {{ item.xxx }} 這種訪問形式;

關于解構:


[XML] 純文本查看 復制代碼

<template is="xxx" data="{{...object}}"/>

三個 . 就是解構操作;

一般 template 都會放在 單獨的 template 文件中讓其他文件進行調(diào)用,而不會直接寫在正常的 wxml 中。 比如筆者目錄大概是這樣的:


[JavaScript] 純文本查看 復制代碼

├── app.js
├── app.json
├── app.wxss
├── pages
│   ├── feedback
│   ├── index
│   ├── my
│   ├── onmyoji
│   ├── statement
│   └── template
│       ├── template.js
│       ├── template.json
│       ├── template.wxml
│       └── template.wxss
├── static
└── utils

關于其他文件調(diào)用 template,直接使用 import 即可:


[XML] 純文本查看 復制代碼

<import src="../template/template.wxml" />

然后在需要引用模版的地方:


[XML] 純文本查看 復制代碼

<template is="xxx" data="{{...object}}"/>
<!--is 后填寫模版名稱-->

這里遇到另一個問題,template 對應的樣式寫在 template 對應的 wxss 中并沒有作用,需要寫在調(diào)用 template 的文件的 wxss 中,比如 index 需要使用 template 則需要將對應的 css 寫在 my/my.wxss 中。

4. 爬取圖片資源 ( 2小時 )

式神的圖標及形象圖基本上陰陽師官網(wǎng)都有,這里自己做也不現(xiàn)實,所以果斷寫爬蟲爬下來然后存到自己的 cdn 。

大圖和小圖都在 http://yys.163.com/shishen/index.html 這里可以找到。 一開始考慮爬取網(wǎng)頁然后 beautiful soup 提取數(shù)據(jù),后面發(fā)現(xiàn)式神數(shù)據(jù)竟然是異步加載的,那就更簡單了,分析網(wǎng)頁得到 https://g37simulator.webapp.163.com/get_heroid_list 直接返回了式神信息的 json 信息,所以很容易寫個爬蟲就可以搞定了:


[Python] 純文本查看 復制代碼

# coding: utf-8
import json
import requests
import urllib
from xpinyin import Pinyin

url = "https://g37simulator.webapp.163.com/get_heroid_list?callback=jQuery11130959811888616583_1487429691764&rarity=0&page=1&per_page=200&_=1487429691765"
result = requests.get(url).content.replace('jQuery11130959811888616583_1487429691764(', '').replace(')', '')
json_data = json.loads(result)
hellspawn_list = json_data['data']
p = Pinyin()
for k, v in hellspawn_list.iteritems():
    file_name = p.get_pinyin(v.get('name'), '')
    print 'id: {0} name: {1}'.format(k, v.get('name'))
    big_url = "https://yys.res.netease.com/pc/zt/20161108171335/data/shishen_big/{0}.png".format(k)
    urllib.urlretrieve(big_url, filename='big/{0}@big.png'.format(file_name))
    avatar_url = "https://yys.res.netease.com/pc/gw/20160929201016/data/shishen/{0}.png".format(k)
    urllib.urlretrieve(avatar_url, filename='icon/{0}@icon.png'.format(file_name))

然而,爬完數(shù)據(jù)后發(fā)現(xiàn)一個問題,網(wǎng)易官方的圖片都是無碼高清大圖,對于筆者這種窮 ds 大圖放在 cdn 上兩天就得破產(chǎn),所以需要批量將圖片轉成既不太大又能看的過去。嗯,這里就可以用到 ps 的批處理能力了。

  • 打開 ps ,然后選擇爬到的一張圖片;

  • 選擇菜單欄上的“窗口”然后選擇“動作;

  • 在“動作”選項下,新建一個動作;

  • 點擊圓形錄制按鈕開始錄制動作;

  • 按正常處理圖片等順序將一張圖片存為 web 格式;

  • 點擊方形停止按鈕停止錄制動作;

  • 選擇菜單欄上的 文件-自動-批處理-選擇之前錄制的動作-配置好輸入文件夾和輸出文件夾;

  • 點擊確定就可以啦;

等批處理結束,期間刷個御魂啥的應該就好了,然后將得到的所有圖片上傳到靜態(tài)資源服務器,圖片這里就處理完啦。

5. 式神數(shù)據(jù)爬取 ( 4小時 )

式神分布數(shù)據(jù)網(wǎng)上比較雜并且數(shù)據(jù)很多有偏差,所以斟酌再三決定采用半人工半自動的方式,爬到的數(shù)據(jù)輸出為 json:

[JavaScript]

{
    "scene_name": "探索第一章",
    "team_list": [{
        "name": "天邪鬼綠1",
        "index": 1,
        "monsters": [{
            "name": "天邪鬼綠",
            "count": 1
            },{
            "name": "提燈小僧",
            "count": 2
            }]
        },{
        "name": "天邪鬼綠2",
        "index": 2,
        "monsters": [{
            "name": "天邪鬼綠",
            "count": 1
            },{
            "name": "提燈小僧",
            "count": 2
            }]
        },{
        "name": "提燈小僧1",
        "index": 3,
        "monsters": [{
            "name": "天邪鬼綠",
            "count": 2
            },{
            "name": "提燈小僧",
            "count": 1
            }]
        },{
        "name": "提燈小僧2",
        "index": 4,
        "monsters": [{
            "name": "燈籠鬼",
            "count": 2
            },{
            "name": "提燈小僧",
            "count": 1
            }]
        },{
        "name": "首領",
        "index": 5,
        "monsters": [{
            "name": "九命貓",
            "count": 3
            }]
        }]
}

然后再人工檢查一遍,當然還是會有遺漏,所以數(shù)據(jù)報錯的功能就很重要啦。

這一部分實際寫代碼的時間可能只有半個多小時,剩下時間一直在檢查數(shù)據(jù);

一切檢查結束后寫個腳本直接將 json 導入到數(shù)據(jù)庫中,檢查無誤后用 fabric 發(fā)布到線上服務器進行測試;

6. 測試 ( 2小時 )

最后一步基本上就是在手機上體驗查錯,修改一些效果,關閉調(diào)試模式準備提交審核;

此時已經(jīng)是周日,哦,不對,應該是周一早上一點鐘了:

24小時開發(fā)陰陽師小程序

不得不說,小程序團隊審核速度很快啊,周一下午就審核通過了,然后果斷上線。

最后放效果圖:

24小時開發(fā)陰陽師小程序

以上就是24小時開發(fā)陰陽師小程序的詳細內(nèi)容,更多請關注php中文網(wǎng)其它相關文章!


小程序是一種不需要下載安裝即可使用的應用,它實現(xiàn)了應用“觸手可及”的夢想,用戶掃一掃或者搜一下即可打開應用。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 中文字幕精品在线播放| www.xxx麻豆| 欧美一区二区中文字幕| 亚洲一区二区三区观看| 五月婷婷深爱五月| 茄子视频成人免费观看| 国产精品久久久久7777| 久久久天堂国产精品| 青少年xxxxx性开放hg| 日韩不卡一二区| 中文字幕乱码免费| 美女av免费观看| 91网站在线观看免费| 国产日产欧美一区二区| 日韩一级免费看| 男女日批视频在线观看| 欧美三级在线观看视频| 国产黄色一级网站| 亚洲综合色在线观看| 亚洲人视频在线| 在线视频一二三区| 无码人妻aⅴ一区二区三区日本| 日本一本在线视频| 国产女教师bbwbbwbbw| 国产一区二区在线视频播放| 99久久久无码国产精品6| 色综合天天色综合| wwwjizzjizzcom| 国产精品无码av在线播放| 精品久久久久久久无码 | 国产探花在线看| 2025韩国大尺度电影| 国产女教师bbwbbwbbw| 99精品视频在线看| 不卡的在线视频| 六月婷婷在线视频| 孩娇小videos精品| 日韩精品一区二区免费| 五月天婷婷激情视频| 日韩精品手机在线观看| 日本韩国欧美在线观看| 污免费在线观看| 国产美女无遮挡网站| 成人在线观看www| 国产精品视频黄色| 岛国大片在线播放| 国产又粗又猛大又黄又爽| 日日碰狠狠添天天爽超碰97| 五月天六月丁香| 亚洲欧美另类动漫| 久在线观看视频| 特级黄色录像片| 污视频网址在线观看| 国产美女在线一区| 99亚洲精品视频| 免费黄色一级网站| 国产欧美高清在线| 国产亚洲精品网站| 成年人看的毛片| 国产高清不卡无码视频| 日韩av自拍偷拍| 国产小视频精品| 成人黄色一区二区| 国产综合免费视频| 日韩av资源在线| 日韩av一二三四区| 国产av天堂无码一区二区三区| 美女在线免费视频| 50度灰在线观看| 99er在线视频| 欧美日韩dvd| 国产又粗又长又爽视频| 久久综合久久久久| 亚洲熟妇无码一区二区三区| www.avtt| 久久成人免费观看| 午夜视频在线瓜伦| 男女视频在线看| 色婷婷激情视频| 大胆欧美熟妇xx| 久久久久久免费看| 播放灌醉水嫩大学生国内精品| 啊啊啊一区二区| 在线免费观看视频黄| 国产又粗又长又爽又黄的视频| 亚洲欧美天堂在线| 日韩精品久久一区二区| 黄色动漫网站入口| 伊人成人222| 美女av免费观看| 777米奇影视第四色| av片中文字幕| 亚洲黄色片免费| 亚洲人精品午夜射精日韩| 大肉大捧一进一出好爽动态图| 香港日本韩国三级网站| 免费久久久久久| 成人黄色片视频| 国产盗摄视频在线观看| www.av毛片| 午夜av中文字幕| 国产成人精品视频免费看| 中文字幕在线综合| 国产伦精品一区二区三区四区视频_| 成人羞羞国产免费网站| 91手机视频在线| 成人中文字幕av| 国产欧美日韩小视频| 色天使在线观看| 成人亚洲视频在线观看| 成人av在线播放观看| 福利在线一区二区三区| 日本男女交配视频| 久久成年人网站| 成人性视频欧美一区二区三区| 国产日韩欧美大片| 中文字幕在线观看日| 日本久久久精品视频| 青草全福视在线| 午夜av中文字幕| 成人免费在线观看视频网站| 毛片在线视频播放| 成人高清dvd| 色爽爽爽爽爽爽爽爽| 色免费在线视频| 中文字幕av专区| 成年网站在线播放| 国产日韩一区二区在线| 97久久国产亚洲精品超碰热| 依人在线免费视频| 亚洲 中文字幕 日韩 无码| 日本中文字幕网址| 国产乱子伦农村叉叉叉| 青娱乐自拍偷拍| 日韩欧美不卡在线| 9色porny| 鲁一鲁一鲁一鲁一澡| 欧美精品一区免费| 99福利在线观看| 国产一区视频免费观看| 国产福利视频在线播放| 妞干网在线免费视频| 美女喷白浆视频| 91女神在线观看| 国产一区一区三区| 免费的一级黄色片| 久久精品国产精品亚洲色婷婷| 久久久久久久午夜| 国产裸体舞一区二区三区| 一道本视频在线观看| 成年网站免费在线观看| 一道本在线观看视频| 精品国产一区二区三区无码| 成人免费在线网| 成年人小视频网站| 五月天开心婷婷| 日韩精品一区二区免费| 欧美 国产 日本| av中文字幕网址| 妺妺窝人体色777777| 男人日女人下面视频| 黄色片在线免费| 波多野结衣 作品| 国产视频一区二区三区在线播放 | 日韩欧美在线免费观看视频| 男人的天堂最新网址| 日韩中文字幕在线不卡| 免费大片在线观看| 午夜在线视频免费观看| 国产日韩av网站| 中文字幕av专区| 欧美日韩成人免费视频| 亚洲视频一二三四| 日韩在线综合网| 国产乱码一区二区三区四区| 污污视频在线免费| 777久久久精品一区二区三区| 在线免费观看视频黄| 男人天堂a在线| av无码久久久久久不卡网站| 久久九九国产视频| 国产美女作爱全过程免费视频| 日本三区在线观看| 欧美国产综合在线| 无套内谢丰满少妇中文字幕| 日本精品久久久久中文字幕| 国产精品免费看久久久无码| 五月婷婷丁香综合网| 久久久久久免费看| 欧美 亚洲 视频| 欧洲美女亚洲激情| 小泽玛利亚视频在线观看| 黄网站欧美内射| 欧美极品少妇无套实战| 欧美一级免费在线观看| 午夜国产一区二区三区| 青青在线视频观看| 国产真实乱子伦| 成人3d动漫一区二区三区| 欧美a v在线播放|