Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新竹市與嘉義市區碼問題? #58

Closed
CoffieLeo opened this issue May 13, 2021 · 9 comments
Closed

新竹市與嘉義市區碼問題? #58

CoffieLeo opened this issue May 13, 2021 · 9 comments
Assignees

Comments

@CoffieLeo
Copy link

不曉得新竹市跟嘉義市的區碼問題有解嗎?
看起來是兩個城市內的區碼都相同,所以下拉選單在選擇時都出現同一個區域

@yyc1217
Copy link
Owner

yyc1217 commented May 13, 2021

你好,這是我當初思慮不周,將重覆的值拿來當id導致。目前思考改成下列方式,並發佈至v.2.0.0,twzipcode-vue也會採用[email protected]版本,預計周末前處理完。

// 新竹市
  { id: 3000, zipcode: 300, county: '新竹市', city: '東區' },
  { id: 3001, zipcode: 300, county: '新竹市', city: '北區' },
  { id: 3002, zipcode: 300, county: '新竹市', city: '香山區' },

// 嘉義市
  { id: 6000, zipcode: 600, county: '嘉義市', city: '西區' },
  { id: 6001, zipcode: 600, county: '嘉義市', city: '東區' },

// 其餘鄉鎮市區 id = zipcode + '0'

@CoffieLeo
Copy link
Author

你好,這是我當初思慮不周,將重覆的值拿來當id導致。目前思考改成下列方式,並發佈至v.2.0.0,twzipcode-vue也會採用[email protected]版本,預計周末前處理完。

// 新竹市
  { id: 3000, zipcode: 300, county: '新竹市', city: '東區' },
  { id: 3001, zipcode: 300, county: '新竹市', city: '北區' },
  { id: 3002, zipcode: 300, county: '新竹市', city: '香山區' },

// 嘉義市
  { id: 6000, zipcode: 600, county: '嘉義市', city: '西區' },
  { id: 6001, zipcode: 600, county: '嘉義市', city: '東區' },

// 其餘鄉鎮區 id == zipcode

不好意思,因為還是新手,不曉得該怎麼改
但又覺得這個下拉選單很讚,只是剛好發現問題所以來詢問看看
辛苦了,感謝!

@ausir0726
Copy link

ausir0726 commented May 14, 2021

@yyc1217 我個人覺得使用 ID 來設計 data 好像不是很妥當
如此造成 [UI] 選擇區域=> [DB] 郵遞區號=(ZIPCODE)300 => [UI] 套回 300 ,這時候用 300 查仍不知道是哪一區
我個人認為 data 的部分應該是沒有問題,現實 ZIPCODE 300 代表三個區也能合理呈現
如果加上 ID,變成 DB 除了存 ZIPCODE 之外,為了能夠重新呈現 select 必須要另外存 ID (3001.. 之類 )
目前我使用 zipcode 儲存方式會是 300,新竹市,東區 三個欄位,並且要呈現時 select value 會用 300-新竹市-東區
而不會單用 ZIPCODE 300
我個人認為應該是單純處理好 zipcode-vue 把選單可以正確 render
並且set value 的時候必須使用 300-新竹市-東區 (或其他,因為還要處理多語)
如真的必須使用 id 應該也是在 vue 那包另外做,因為以 zipcode-data 的概念看,資料上並沒有錯誤
而使用 id 區隔 3 個重複的 zipcode 應該是後續使用 select 應該做的,更有合理性

一點意見

@yyc1217
Copy link
Owner

yyc1217 commented May 14, 2021

@ausir0726 你說的有道理,我再修改vue那邊,這邊不動。

@ausir0726
Copy link

@yyc1217 不好意思
後來看一下現在用的 code 都是用 id 去取 zipcode
如果把ID 改成 四位數 會造成 break change ,就回去修每一個專案改 zipcode
但如果真的發生又不能不改 ,因為之後如果郵遞區號有變會造成無法更新
因此我要建議一下 如果另外要做一個索引
建議保留原本的 id => 100 (zipcode )
要另外做出索引的部分 改 index => 1000 這樣子
當然 data 不改是最好啦

@yyc1217
Copy link
Owner

yyc1217 commented Jun 10, 2021

@yyc1217 不好意思
後來看一下現在用的 code 都是用 id 去取 zipcode
如果把ID 改成 四位數 會造成 break change ,就回去修每一個專案改 zipcode
但如果真的發生又不能不改 ,因為之後如果郵遞區號有變會造成無法更新
因此我要建議一下 如果另外要做一個索引
建議保留原本的 id => 100 (zipcode )
要另外做出索引的部分 改 index => 1000 這樣子
當然 data 不改是最好啦

按照臺灣地區郵遞區號前3碼一覽表 103/12(Excel版) 的內容,原本應該是要:

  ...
    { 'id': 300, 'county': '新竹市', 'city': '全區' },
  ...
    { 'id': 600, 'county': '嘉義市', 'city': '全區' },
  ...

但我當初的想法是讓使用者可以用下列的方式輸入地址

<select>
  <option>100台北市中正區</option>
  ...
</select>

<input>XXX路XXX號</input>

所以才把這兩個市給分開,但當初沒料想到會造成這麼大的問題,也是我過去一個月糾結許久未完成的原因

不過我還是想按照最初的想法,將原本的id移至zipcode,並將id改為「區碼+縣市中文+鄉鎮市區中文」,以便讓中英的資料指向同一個:

    { 'id': '300新竹市東區', 'zipcode': 300, 'county': '新竹市', 'city': '東區' },
    { 'id': '300新竹市北區', 'zipcode': 300, 'county': '新竹市', 'city': '北區' },
    { 'id': '300新竹市香山區', 'zipcode': 300, 'county': '新竹市', 'city': '香山區' },
  ...
    { 'id': '300新竹市東區', 'zipcode': 300, 'county': 'Hsinchu City', 'city': 'East District' },
    { 'id': '300新竹市北區', 'zipcode': 300, 'county': 'Hsinchu City', 'city': 'North District' },
    { 'id': '300新竹市香山區', 'zipcode': 300, 'county': 'Hsinchu City', 'city': 'Xiangshan District' },

這個改變我會放在v2.0.0,而且郵遞區號前三碼應該二、三十年都不會變,因此目前的v1.7.1應足以應付貴專案的需求,只能跟您說聲抱歉了。

然後這次就不給自己期限了🤣

@ausir0726
Copy link

ausir0726 commented Jun 10, 2021

@yyc1217 還是有沒有種可能
索引的欄位用 index
郵遞區號更正為 zipcode
而原來的 id 作為 zipcode 的 alias ( 用程式做,非增加兩筆相同的內容 )
因為這個部分會影響到 VUE 那個套件
因此我就不方便提供 PR 還甚麼的~
只有出意見 抱歉抱歉

整份拿到的結果有點類似

 { 'index': '300新竹市香山區', 'id': 300, 'zipcode': 300, 'county': '新竹市', 'city': '香山區' }

@yyc1217
Copy link
Owner

yyc1217 commented Jun 10, 2021

不會增加index欄位
twzipcode-vue那邊我會一併修正,也會放在v2.0.0版本

@yyc1217
Copy link
Owner

yyc1217 commented Jun 20, 2021

Solved in 477a91b

@yyc1217 yyc1217 closed this as completed Jun 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants