"Có ai cuối năm bận đến mức pin yếu nhưng vẫn chưa có thời gian mang máy đi thay không ạ?"
pin mới 100%
Bảo hành 1 năm
UY TÍN TỪ KINH NGHIỆM – AN TÂM TỪ CAM KẾT
Pin mới 100% – đúng loại, rõ nguồn gốc. Bảo hành 1 năm
Thay pin trực tiếp trước mặt khách
Không thay = không thu tiền
Kiểm tra pin miễn phí, không ép thay – không phát sinh chi phí
Tư vấn đúng - làm đúng. Khách xem toàn bộ quá trình, không tháo linh kiện thừa – không tráo đổi
Bảng giá pin dung lượng cao iphone
Tiếng Anh nâng cao - TA4
TOEIC (600 - 800)
Giảm 10% khi đăng ký từ 2 người
Đăng ký ngay
Học phí: 1.290k
Đăng ký ngay
📌 Giá đã bao gồm chi phí thay tận nơi
Bảo hành 12 tháng thay mới miễn phí 100% các trường hợp ( phồng rộp , dung lượng tổng dưới 80% , pin ảo )
iPhone 6/6s: 350k
6 Plus/6s Plus: 370k
iPhone 7: 350k
iPhone 7 Plus: 370k
iPhone 8: 350k
iPhone 8 Plus: 370k
iPhone X: 450k
iPhone XR: 450k
iPhone XS: 450k
iPhone XS Max: 450k
iPhone 11: 500k
iPhone 11 Pro: 550k
iPhone 11 Pro Max: 700k
iPhone 12/12 Pro: 650k
iPhone 12 Pro Max: 800k
iPhone 13: 700k
iPhone 13 Pro: 800k
iPhone 13 Pro Max: 900k
iPhone 14: 750k
iPhone 14 Pro: 800k
iPhone 14 Pro Max: 900k
iPhone 15: 850k
iPhone 15 Pro: 900k
iPhone 15 Pro Max: 1.100k
Các dòng đời cao từ 15 trở lên khách hàng liên hệ bên em báo giá nhé vì giá pin thay đổi thất thường . Xin cảm ơn !
Ngoài ra bên em còn nhận thay màn zin màn linh kiện tất cả các dòng iphone A
Bảo hành 12 tháng – thay mới 100% nếu pin phồng, dung lượng tổng dưới 80% và % pin báo ảo.
Nhận xét của khách hàng
“Thợ đến đúng giờ, thay pin ngay trước mặt. Làm nhanh, giải thích rõ ràng, rất yên tâm.”
Anh Tuấn
(Đông Vệ, TP Thanh Hóa)
“Mình sợ nhất là tráo linh kiện nhưng ở đây cho xem từ đầu đến cuối. Pin dùng mấy tháng rồi vẫn rất ổn.”
Chị Hương
Quảng Thành
“Thay pin tầm 20 phút là xong. Pin mới dùng mượt, không nóng máy như trước.”
Anh Hoàng
(Phường Trường Thi)
ĐẶT LỊCH THAY PIN IPHONE NGAY
THAY PIN TẬN NƠI TẠI THANH HÓA
THÔNG TIN LIÊN HỆ
Địa chỉ: Thành phố Thanh Hóa
Hotline: 0966458136
ĐẶT LỊCH THAY PIN IPHONE NGAY
Bảng giá pin dung lượng cao iphone
Đăng ký ngay
📌 Giá đã bao gồm chi phí thay tận nơi
Bảo hành 12 tháng thay mới miễn phí 100% các trường hợp ( phồng rộp , dung lượng tổng dưới 80% , pin ảo )
iPhone 6/6s: 350k
6 Plus/6s Plus: 370k
iPhone 7: 350k
iPhone 7 Plus: 370k
iPhone 8: 350k
iPhone 8 Plus: 370k
iPhone X: 450k
iPhone XR: 450k
iPhone XS: 450k
iPhone XS Max: 450k
iPhone 11: 500k
iPhone 11 Pro: 550k
iPhone 11 Pro Max: 700k
iPhone 12/12 Pro: 650k
iPhone 12 Pro Max: 800k
iPhone 13: 700k
iPhone 13 Pro: 800k
iPhone 13 Pro Max: 900k
iPhone 14: 750k
iPhone 14 Pro: 800k
iPhone 14 Pro Max: 900k
iPhone 15: 850k
iPhone 15 Pro: 900k
iPhone 15 Pro Max: 1.100k
Các dòng đời cao từ 15 trở lên khách hàng liên hệ bên em báo giá nhé vì giá pin thay đổi thất thường . Xin cảm ơn !
Ngoài ra bên em còn nhận thay màn zin màn linh kiện tất cả các dòng iphone A
Bảo hành 12 tháng – thay mới 100% nếu pin phồng, dung lượng tổng dưới 80% và % pin báo ảo.
*
* Requires a secure context (https, or localhost while developing): on plain
* http the API exists but every call answers PERMISSION_DENIED. Inside an
* iframe the iframe itself needs allow="geolocation".
*/
(function () {
// true = hiện hộp xin quyền ngay khi mở trang.
// false = lần đầu chỉ hiện nút, bấm mới hỏi quyền. Mặc định là false vì một
// prompt không rõ lý do rất dễ bị bấm "Block", và trình duyệt nhớ
// quyết định đó cho cả domain — sau đó JS không xin lại được nữa.
const ASK_ON_LOAD = true;
// `form.elements` tra theo đúng thuộc tính `name`, kể cả input hidden. Nhiều ô
// trùng name trả về RadioNodeList — lấy ô đầu, vì đó là trường hợp repeater.
const field = (name) => {
const found = form.elements[name];
if (!found) return null;
return typeof found.length === 'number' && !('value' in found) ? found[0] : found;
};
const fields = { lat: field('lat'), lng: field('lng'), accuracy: field('accuracy') };
// Thiếu ô nào thì báo: im lặng bỏ qua còn tệ hơn, vì form sẽ submit thiếu toạ
// độ mà không ai biết.
const missing = Object.keys(fields).filter((name) => !fields[name]);
if (missing.length) {
console.error('[location] không tìm thấy input theo name:', missing.join(', '));
return;
}
const messages = {
1: 'Bạn đã từ chối quyền truy cập vị trí. Mở lại quyền trong cài đặt trình duyệt.',
2: 'Không xác định được vị trí. Kiểm tra GPS/kết nối rồi thử lại.',
3: 'Quá thời gian chờ định vị. Thử lại lần nữa.',
};
if (!('geolocation' in navigator) || !window.isSecureContext) {
status.textContent = 'Trình duyệt không hỗ trợ định vị (hoặc trang không chạy HTTPS).';
return;
}
const showButton = (text) => {
button.hidden = false;
button.disabled = false;
if (text) status.textContent = text;
};
function locate() {
button.disabled = true;
status.textContent = 'Đang lấy vị trí…';
navigator.geolocation.getCurrentPosition(
function (position) {
const { latitude, longitude, accuracy } = position.coords;
// 6 chữ số thập phân ~ 0,1 m: đủ cho một địa chỉ, và không ghi vào form
// cái đuôi float dài vô nghĩa.
fields.lat.value = latitude.toFixed(6);
fields.lng.value = longitude.toFixed(6);
// Lưu kèm sai số: một điểm ±2000 m (định vị bằng IP/Wi-Fi trong nhà)
// không dùng để chỉ đường được, mà chỉ nhìn lat/lng thì không biết.
fields.accuracy.value = Math.round(accuracy);
// Hiện số vừa lấy: toạ độ lệch nửa thành phố chỉ phát hiện được khi nó
// nằm trên màn hình, không phải khi nằm im trong hidden field.
status.textContent =
'Đã lấy vị trí: ' + fields.lat.value + ', ' + fields.lng.value +
' (±' + fields.accuracy.value + ' m)';
// Nút ở lại để lấy lại nếu người dùng đã di chuyển.
button.hidden = false;
button.disabled = false;
button.textContent = 'Lấy lại vị trí';
},
function (error) {
showButton(messages[error.code] || 'Không lấy được vị trí.');
},
// maximumAge: 0 — không nhận vị trí cache, vì thợ vừa di chuyển tới nơi.
{ enableHighAccuracy: true, timeout: 10000, maximumAge: 0 },
);
}
button.addEventListener('click', locate);
// Tab đang ẩn thì prompt bị hoãn và request dễ timeout — đợi tab được xem.
function whenVisible(run) {
if (document.visibilityState === 'visible') {
run();
return;
}
document.addEventListener('visibilitychange', function once() {
if (document.visibilityState !== 'visible') return;
document.removeEventListener('visibilitychange', once);
run();
});
}
async function start() {
// Permissions API cho biết có phải hỏi hay không, nên trang đã được cấp
// quyền lần trước sẽ tự lấy vị trí mà không hiện gì cả. Safari cũ không có
// nó — coi như 'prompt'.
let state = 'prompt';
try {
if (navigator.permissions && navigator.permissions.query) {
const permission = await navigator.permissions.query({ name: 'geolocation' });
state = permission.state;
// Người dùng mở quyền trong thanh địa chỉ giữa lúc đang xem trang.
permission.onchange = function () {
if (permission.state === 'granted') whenVisible(locate);
};
}
} catch (error) {
// Trình duyệt không hỗ trợ query cho 'geolocation' — giữ 'prompt'.
}
if (state === 'granted') {
whenVisible(locate);
return;
}
if (state === 'denied') {
status.textContent = messages[1];
return;
}
if (ASK_ON_LOAD) whenVisible(locate);
else showButton('Bấm để lấy vị trí hiện tại.');
}
start();
})();