Trọng Sinh Xong Kết Hôn Cùng Kẻ Thù
Chương 14: Thanh kiếm giấu kín đâm vào tim, thật tĩnh lặng, lại thật lạnh lẽo.

Cập nhật lúc: 2026-06-09 23:35:53 | Lượt xem: 2

Lục Hoa Đình không nói một lời, rời khỏi hàng.

Quyến Tố lo lắng: “Khó khăn lắm mới đứng xếp hàng được nửa ngày, giờ lại không xếp nữa…”

Nhìn thấy Lục Hoa Đình chỉ chuyển sang đứng ở cuối hàng của bàn Phương Yết , Quyến Tố thở phào nhẹ nhõm, nói: “Thằng nhóc này lông còn chưa mọc đủ, làm sao có đủ khả năng chữa bệnh cho Yến vương điện hạ? Vừa rồi ông lão kia trông còn đáng tin hơn.”

“Tiểu Quyến, cậu xem bàn nào kê đơn nhanh, bàn nào có nhiều người xếp hàng?” Lục Hoa Đình cắt ngang với vẻ như cười mà không phải cười.

“Tất nhiên là bàn của thằng nhóc này nhanh hơn…” Quyến Tố ngậm miệng lại.

Vị tiểu lang trung này đón tiếp bệnh nhân rất nhanh, người xếp hàng cũng nhiều, có thể thấy mỗi ngày số người tìm đến cậu ta khám bệnh nhiều hơn hẳn so với các vị lão lang trung. Điều này có khả năng là do vị tiểu lang trung này có tay nghề y thuật cao siêu, được người trong khu vực khen ngợi.

Lục Hoa Đình suy nghĩ nhanh hơn người khác, trong phủ Yến vương ai ai cũng tâm phục khẩu phục.

Phía sau bàn khám, Phương Yết liếc nhìn về phía chiếu, như thể bị dội một gáo nước lạnh, khi tiếp tục bốc thuốc kê đơn, đôi lông mi dài che khuất, biểu cảm rất đỗi thất vọng.

Lục Hoa Đình nhìn cậu, trong mắt thoáng hiện lên một nụ cười lạnh lẽo.

Vị tiểu lang trung này có quen biết với Quần Thanh, và không phải là quen biết bình thường.

Nhìn rõ điều này, Lục Hoa Đình cúi đầu, tiếp tục vuốt phẳng chiếc tay áo dễ nhăn của mình. Ban đầu hắn nghĩ chỉ có hai người là thần phục dưới chân nàng…

Không ngờ bên ngoài cung còn có thêm.

Phương Yết mỗi lúc lại ngẩng đầu nhìn một lần, cuối cùng càng nhìn càng thất vọng, cậu lấy ra vài gói thuốc từ ngăn kéo, giao cho một tiểu đồng giã thuốc bên cạnh, dặn dò vài câu, rồi không ngẩng đầu lên nữa.

Đi ngược dòng người, tiểu đồng cầm túi thuốc đi ra ngoài.



Bình luận
Sắp xếp

Mới nhất
Cũ nhất

    support
    Nhắn tin

    $(“img”).on(“error”, function () {
    $(this).attr(‘src’, ‘/images/no-image.jpg’);
    });
    // window.show_ads = 1;
    var isMobile = (window.innerWidth {
    if (document.querySelector(‘.feedback-container.show’)) {
    return;
    }
    if (document.querySelector(‘.modal.show’)) {
    return;
    }
    if (document.querySelector(‘.stop-pull-to-refresh-when-open.show’)) {
    return;
    }
    await swCLEARCACHE();
    setTimeout(() => {
    window.location.reload();
    }, 200);
    }
    });
    }

    if((!window.jwtInfo?.vip_to || window.jwtInfo?.vip_to <=0) && (!window.jwtInfo?.ads_hidden || window.jwtInfo?.ads_hidden <=0)){
    let srcipt_as = document.createElement('script');
    srcipt_as.src = "/js/as.js?v=20260602_1";
    srcipt_as.setAttribute('id', 'js_as');
    if(!document.getElementById('js_as')){
    srcipt_as.setAttribute('data-no-instant', '');
    document.getElementById('ads_xuyen_trang_bottom').appendChild(srcipt_as);
    }
    }

    var autoPlayEndedHandler;

    function handleAutoPlay(player, videoKey) {
    autoPlayEndedHandler = () => {
    let nextChapter = $(‘.chapter-next’).attr(‘href’);
    localStorage.removeItem(videoKey);
    location.href = nextChapter;
    };
    player.on(‘ended’, autoPlayEndedHandler);
    }
    $(window).resize(function() {
    if (this.resizeTO) clearTimeout(this.resizeTO);
    this.resizeTO = setTimeout(() => {
    if ($(window).width() !== this.prevWidth) {
    $(this).trigger(‘resizeEnd’);
    this.prevWidth = $(window).width();
    }
    }, 500);
    });

    function renderCanvas({ content, fontSize, fontFamily, lineHeightPercent }) {
    if (!content) return;

    // Tạo container và canvas
    const canvas = $(”);
    const dpr = window.devicePixelRatio || 1; // Đảm bảo chất lượng cao hơn
    // const dpr = 1; // Đảm bảo chất lượng cao hơn

    // Lấy kích thước container
    const canvasWidth = Math.floor($(‘.content-chapter>article’).width());
    canvas.attr(‘width’, canvasWidth * dpr);
    canvas.css({
    width: `${canvasWidth}px`,
    height: ‘auto’, // Chiều cao sẽ tự điều chỉnh
    });

    // Thiết lập context
    const ctx = $(canvas)[0].getContext(‘2d’);
    ctx.scale(dpr, dpr);
    ctx.font = `${fontSize}px ${fontFamily}`;
    ctx.fillStyle = ‘#212529’;
    ctx.textAlign = “left”; // Căn lề trái
    ctx.textBaseline = ‘top’;

    // Tính lineHeight
    const baseLineHeight = fontSize;
    const lineHeight = (baseLineHeight * lineHeightPercent) / 100;

    // Thêm khoảng trắng top giống thẻ

    const topPadding = lineHeight * 0.3; // 30% lineHeight làm padding trên

    // Hàm xử lý văn bản
    function processText(content) {
    const parser = new DOMParser();
    const doc = parser.parseFromString(content, ‘text/html’);
    const nodes = doc.body.childNodes;
    const parts = [];

    nodes.forEach((node) => {
    if (node.nodeType === Node.TEXT_NODE) {
    const splitText = node.textContent.split(//);
    splitText.forEach((part, index) => {
    parts.push({ text: part.trim(), bold: false });
    if (index {
    const words = text.split(‘ ‘);
    words.forEach((word) => {
    if (word === ‘n’) {
    context.fillText(currentLine.trim(), x, currentY);
    currentLine = ”;
    currentY += lineHeight;
    } else {
    const testLine = currentLine + word + ‘ ‘;
    context.font = `${italic ? ‘italic ‘ : ”}${bold ? ‘bold ‘ : ”}${fontSize}px ${fontFamily}`;
    const testWidth = context.measureText(testLine).width;

    if (testWidth > maxWidth && currentLine) {
    context.fillText(currentLine.trim(), x, currentY);
    currentLine = word + ‘ ‘;
    currentY += lineHeight;
    } else {
    currentLine = testLine;
    }
    }
    });
    });

    if (currentLine) {
    context.fillText(currentLine.trim(), x, currentY);
    currentY += lineHeight;
    }

    return currentY; // Trả về vị trí Y cuối cùng sau khi render xong
    }

    // Xử lý văn bản để tính chính xác chiều cao
    let yPosition = topPadding;
    const lines = content.split(‘n’);
    let totalHeight = yPosition;

    lines.forEach((line) => {
    const parts = processText(line);
    totalHeight = wrapTextWithFormatting(ctx, parts, 0, yPosition, canvasWidth, lineHeight);
    yPosition = totalHeight;
    });

    // Cập nhật chiều cao canvas chính xác
    canvas.attr(‘height’, totalHeight * dpr);
    canvas.css(‘height’, `${totalHeight}px`);

    // Render lại với đúng chiều cao mới
    const updatedCtx = $(canvas)[0].getContext(‘2d’);
    updatedCtx.scale(dpr, dpr);
    updatedCtx.fillStyle = ‘#212529’;
    updatedCtx.textAlign = ‘left’;
    updatedCtx.textBaseline = ‘top’;

    yPosition = topPadding;
    lines.forEach((line) => {
    const parts = processText(line);
    yPosition = wrapTextWithFormatting(updatedCtx, parts, 0, yPosition, canvasWidth, lineHeight);
    });

    return canvas;
    }

    $(window).bind(‘resizeEnd’, function() {
    if ($(‘.content-chapter>article’).length > 0) {
    window.callSeeMoreContentChapter();
    }
    });

    function handleRenderCanvas(chapterContent) {
    const contentChapterArticle = $(‘.content-chapter>article’);
    contentChapterArticle.empty();
    const fontFamilyId = window.getCookie(‘font_chapter’);
    const fontSize = window.getCookie(‘font_size_chapter’);
    const lineHeight = window.getCookie(‘line_height_chapter’);
    const targetFontConfig = window.objConfigFont.find(item => item.name == fontFamilyId);

    const tempDiv = $(‘

    ‘).html(chapterContent);
    const paragraphs = tempDiv.find(‘p’);

    let parts = [];

    if (paragraphs.length == 0) {
    contentChapterArticle.html(chapterContent);
    return;
    }
    if (paragraphs.length > 5) {
    parts = chapterContent.split(‘n’).filter(item => item.trim() !== ”);
    } else {
    const singleParagraph = paragraphs.last().html();
    parts = singleParagraph.split(//i)
    .filter(item => item.trim() !== ”)
    .map(item => {
    item = item.trim();
    if (!item.startsWith(‘<p') || !item.endsWith('')) {
    return `

    ${item}`;
    }
    return item;
    });
    }
    let startIndex = Math.floor(Math.random() * (parts.length – 5));

    let selectedParagraphs = Array.from(parts).slice(startIndex, startIndex + 5);
    let content = decodeHtmlEntities(selectedParagraphs);
    content = content.join(‘n’);

    if (typeof content === ‘string’) {
    let canvasContainer = renderCanvas({
    content,
    fontSize: fontSize || ($(window).width() <= 992 ? 20 : 16),
    fontFamily: targetFontConfig?.value || "'Roboto Condensed', sans-serif",
    lineHeightPercent: lineHeight || ($(window).width() {
    contentChapterArticle.append(item)
    })
    }else{
    alert(‘Có lỗi hiện nội dung chương’)
    contentChapterArticle.html(chapterContent);
    }
    }
    function decodeHtmlEntities(text) {
    if (!text) {
    return [];
    }
    const parser = new DOMParser();
    const doc = parser.parseFromString(text, ‘text/html’);
    let result = [];
    let currentContent = “”;

    // Duyệt qua tất cả các node con
    doc.body.childNodes.forEach(node => {
    if (node.nodeType === Node.TEXT_NODE && !node.textContent.trim()) {
    return; // Bỏ qua node trống
    }
    if (node.nodeName.toLowerCase() === “p”) {
    // Thêm nội dung của

    vào đoạn hiện tại
    currentContent += (node.innerHTML || node.textContent) + “n”;
    } else {
    // Gặp thẻ khác, lưu đoạn hiện tại và thêm thẻ này vào mảng
    if (currentContent.trim()) {
    result.push(currentContent.trim());
    currentContent = “”; // Reset đoạn hiện tại
    }
    if (node.outerHTML) {
    result.push(node.outerHTML.trim()); // Thêm thẻ nguyên vẹn
    }
    }
    });
    // Đẩy đoạn cuối cùng vào mảng nếu còn
    if (currentContent.trim()) {
    result.push(currentContent.trim());
    }
    return result;
    }

    window.callSeeMoreContentChapter = function (type = 1) {
    $(“#btn-see-more-chapter”).text(“Đang kiểm tra trạng thái…”);
    let chapterContent = $(‘.chapter-content .content-chapter>article’);
    if(!chapterContent.length){
    chapterContent = $(‘.chapter-content .content-chapter’);
    }
    let story_id = $(“#cmt_story_id”).val();
    let chapter_id = $(“#cmt_chapter_id”).val();

    myAjax(“post”, “/api/chapter/get-chapter-content”, {
    story_id: story_id,
    chapter_id: chapter_id,
    },
    function (res) {
    try {
    $(“#loadingItem”).removeClass(“d-flex”);
    chapterContent.html(res?.cont);
    // handleRenderCanvas(res?.cont);
    if (res?.audio_path) {
    $(“.box-chapter-audio”).fadeOut(100, function() {
    $(this).html(`Nghe audio

    `).fadeIn(100);

    setTimeout(function () {
    var audio = document.getElementById(“myAudio”);
    if(audio){
    audio.addEventListener(“play”, function () {
    myAjax(“post”, “/api/chapter/action/nghe_audio”, {
    “story_id”: story_id,
    “chapter_id”: chapter_id
    });
    });
    }
    },1)
    });
    }
    } catch (e) {
    alert(“Có lỗi hiển thị nội dung chương”);
    }

    if (type == 2) { // audio
    // if (!$(‘.audio-content’).length) {
    // chapterContent.append(‘

    ‘)
    // }
    if ($(‘.audio-plyr’).length) {
    var audioKey = `audio_story_${story_id}_chapter_${chapter_id}`;
    let player = {};
    try {
    player = new Plyr(‘.audio-plyr’);
    } catch (e) {
    location.reload();
    }
    let savedTime = localStorage.getItem(audioKey);
    if (savedTime) {
    player.once(‘loadedmetadata’, () => {
    player.currentTime = parseFloat(savedTime);
    });
    }
    player.on(‘timeupdate’, event => {
    var currentTime = player.currentTime;
    localStorage.setItem(audioKey, currentTime);
    });

    let isAutoPlay = localStorage.getItem(‘audio_auto_play’);
    if (isAutoPlay==1) {
    $(‘.audio-plyr’).prop(‘autoplay’, true);
    handleAutoPlay(player, audioKey);
    }
    }
    } else if (type == 3) { // video
    // if (!$(‘.video-content’).length) {
    // chapterContent.append(‘

    ‘)
    // }
    if ($(‘.video-plyr’).length) {
    let videoKey = `video_story_${story_id}_chapter_${chapter_id}`;
    let player = {};
    try {
    player = new Plyr(‘.video-plyr’);
    } catch (e) {
    location.reload();
    }
    let savedTime = localStorage.getItem(videoKey);
    if (savedTime) {
    player.once(‘loadedmetadata’, () => {
    player.currentTime = parseFloat(savedTime);
    });
    }
    player.on(‘timeupdate’, event => {
    var currentTime = player.currentTime;
    localStorage.setItem(videoKey, currentTime);
    });

    let isAutoPlay = localStorage.getItem(‘video_auto_play’);
    if (isAutoPlay==1) {
    $(‘.video-plyr’).prop(‘autoplay’, true);
    handleAutoPlay(player, videoKey);
    }
    }
    }
    },
    function (res) {
    $(“#loadingItem”).removeClass(“d-flex”);
    let msg = res?.responseJSON?.cont || res?.responseJSON?.message;
    if (msg) {
    $(“#btn-see-more-chapter”).text(msg)
    } else {
    $(“#btn-see-more-chapter”).text(“Có lỗi không xác định”)
    }
    })
    };

    $(document).delegate(“#btn-see-more-chapter”, “click”, debounce(function (e) {
    e.preventDefault();
    window.callSeeMoreContentChapter();
    }, 300));

    InstantClick.init(‘mousedown’)

    function handleCredentialResponse(response) {
    let token = response.credential;
    myAjax(‘post’, ‘/api/login/google’, {
    token: token
    }, function (res) {
    handleSocialLogin(res)
    },
    function (error) {
    if (error?.responseJSON?.msg) {
    Swal.fire({
    position: ‘center’,
    icon: ‘error’,
    title: error?.responseJSON?.msg,
    showConfirmButton: false,
    timer: 2000
    })
    }
    });
    }

    window.onload = function () {
    if (!getCookie(‘token’)) {
    google.accounts.id.initialize({
    client_id: “450977676294-pmln91u90rnnmsa8775n79fsa3l14tpa.apps.googleusercontent.com”,
    callback: handleCredentialResponse
    });
    google.accounts.id.prompt();
    }
    };

    function credentialGGConnect(response) {
    let token = response.credential;
    myAjax(‘put’, “/api/profile/connect-social/google”, {token},
    function(res){
    window.TruyenFull.profile = res.profile
    localStorage.setItem(“profile”, JSON.stringify(window.TruyenFull.profile));
    location.reload();
    },
    function(err){
    if (err?.responseJSON?.msg) {
    Swal.fire({
    position: ‘center’,
    icon: ‘error’,
    title: err?.responseJSON?.msg,
    showConfirmButton: false,
    timer: 2000
    })
    }
    } )
    }

    function handleSocialLogin(res) {
    setCookie(“token”, res.token, 30);
    localStorage.setItem(“profile”, JSON.stringify(res.data?.profile));
    localStorage.setItem(“bookmark”, JSON.stringify(res.data?.bookmark));
    localStorage.setItem(“purchasedStory”, JSON.stringify(res.data?.purchasedStory));
    localStorage.setItem(“purchasedChapters”, JSON.stringify(res.data?.purchasedChapters));

    let params = new URLSearchParams(location.search);
    let back_to = params.get(“back”);
    if (back_to) {
    location.href = back_to;
    } else {
    location.reload();
    // location.href = “/profile”
    }
    }

    var editor_config = {
    path_absolute: “/”,
    selector: “textarea.tinymce_content”,
    language: ‘vi’,
    statusbar: false,
    plugins: [
    “advlist autolink lists link image charmap print preview hr anchor pagebreak”,
    “searchreplace wordcount visualblocks visualchars code fullscreen”,
    “insertdatetime media nonbreaking save table contextmenu directionality”,
    “emoticons template paste textcolor colorpicker textpattern”
    ],
    toolbar: “insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent “,
    menu: {
    file: {
    title: ‘File’,
    items: ”
    },
    edit: {
    title: ‘Edit’,
    items: ‘ cut copy paste pastetext | selectall | searchreplace’
    },
    view: {
    title: ‘View’,
    items: ‘preview fullscreen | showcomments’
    },
    insert: {
    title: ‘Insert’,
    items: ‘ charmap emoticons hr | anchor tableofcontents | insertdatetime’
    },
    format: {
    title: ‘Format’,
    items: ‘bold italic underline strikethrough superscript subscript’
    },
    tools: {
    title: ‘Tools’,
    items: ‘wordcount’
    },
    table: {
    title: ‘Table’,
    items: ”
    },
    help: {
    title: ‘Help’,
    items: ”
    }
    },
    setup: function (editor) {
    editor.on(‘paste’, function (event) {
    const clipboardData = event.clipboardData || event.originalEvent.clipboardData;
    if (clipboardData && clipboardData.items) {
    for (let i = 0; i { //nếu bỏ đi thì mỗi lần chuyển trang sẽ có chỗ đựoc thay trước khi dữ liệu đc truyền vào
    tinymce.init(editor_config);
    }, 100);
    });

    $(function () {
    $(“[data-swiper]”).each(function () {
    try {
    let options = $(this).attr(“data-swiper”);
    options = JSON.parse(options);
    if (options) {
    new Swiper(this, options);
    }
    } catch (err) {
    console.error(“Check swiper options”, err);
    }
    });
    });

    $(function () {
    $(“[data-swiper]”).each(function () {
    try {
    let options = $(this).attr(“data-swiper”);
    options = JSON.parse(options);
    if (options) {
    new Swiper(this, options);
    }
    } catch (err) {
    console.error(“Check swiper options”, err);
    }
    });
    });

    $(function () {
    $(“[data-swiper]”).each(function () {
    try {
    let options = $(this).attr(“data-swiper”);
    options = JSON.parse(options);
    if (options) {
    new Swiper(this, options);
    }
    } catch (err) {
    console.error(“Check swiper options”, err);
    }
    });
    });

    var langChapters = “Chương”

    (function() {
    function applyChapterSettings() {
    var font = window.getCookie(‘font_chapter’);
    var fontSize = window.getCookie(‘font_size_chapter’);
    var lineHeight = window.getCookie(‘line_height_chapter’);
    var style = ”;
    if (font || fontSize || lineHeight) {
    style += ‘.chapter-content .content-chapter article, .chapter-content .content-chapter article p, .chapter-content .content-chapter article div {‘;
    if (font) {
    var fontMap = {
    ‘roboto’: “‘Roboto Condensed’, sans-serif”,
    ‘mooli’: “‘Mooli’, sans-serif”,
    ‘patrick_hand’: “‘Patrick Hand’, cursive”
    };
    if (fontMap[font]) style += ‘font-family: ‘ + fontMap[font] + ‘ !important;’;
    }
    if (fontSize) style += ‘font-size: ‘ + fontSize + ‘px !important;’;
    if (lineHeight) style += ‘line-height: ‘ + lineHeight + ‘% !important;’;
    style += ‘}’;
    var styleTag = document.getElementById(‘client-chapter-settings’);
    if (!styleTag) {
    styleTag = document.createElement(‘style’);
    styleTag.id = ‘client-chapter-settings’;
    document.head.appendChild(styleTag);
    }
    styleTag.innerHTML = style;
    }
    }
    applyChapterSettings();
    if (typeof InstantClick !== ‘undefined’) {
    InstantClick.on(‘change’, applyChapterSettings);
    }
    })();

    if (getCookie(‘token’)) {
    $(‘.btn-bookmark’).removeClass(‘d-none’);
    myAjax(“post”, “/api/story-reading”, {
    “story_id”: “112”,
    “chapter_id”: “7128”
    }, function(res) {
    // if (res?.contents && res?.contents?.cont) {
    // $(“.content-chapter>article”).html(”);
    // handleRenderCanvas(res?.contents?.cont);

    // if (res?.contents && res?.contents?.audio_path) {
    // $(“.box-chapter-audio”).fadeOut(100, function() {
    // $(this).html(`Nghe audio
    //

    //

    `).fadeIn(100);
    // setTimeout(function () {
    // var audio = document.getElementById(“myAudio”);
    // if(audio){
    // audio.addEventListener(“play”, function () {
    // myAjax(“post”, “/api/chapter/action/nghe_audio”, {
    // “story_id”: “112”,
    // “chapter_id”: “7128”
    // });
    // });
    // }
    // },1)
    // });
    // }
    // }
    }, function(err) {
    console.log(err)
    });
    $(“.box-chapter-audio”).removeClass(‘d-none’)
    } else {
    $(“.box-chapter-audio”).remove()
    }

    $(function() {
    var elementGroupSeeMore = $(“.group-see-more”);
    var typePayStory = elementGroupSeeMore.attr(‘data-type-pay-story’);
    var typePayChapter = elementGroupSeeMore.attr(‘data-type-pay-chapter’);
    var typeIsLoginChapter = elementGroupSeeMore.attr(‘data-type-is-login-chapter’);

    // var apiCalled = false;
    var bookmark = JSON.parse(localStorage.getItem(“bookmark”));
    var btnXemThemHtml =``;
    var btnDangNhapHtml =`Đăng nhập để xem tiếp`;

    $(‘.btn-bookmark’).addClass(‘btn-info’);
    $(‘.btn-bookmark’).text(‘Lưu bookmark’);
    if (bookmark?.length > 0) {
    bookmark.map((item) => {
    if (item.chapter_id == $(“.btn-bookmark”).attr(“data-chapter-id”)) {
    $(‘.btn-bookmark’).removeClass(‘btn-info’);
    $(‘.btn-bookmark’).addClass(‘btn-danger btn-delete-bookmark’);
    $(‘.btn-bookmark’).text(‘Xóa bookmark’);
    $(‘.btn-bookmark’).removeClass(‘btn-bookmark’)
    }
    })
    }

    // xong
    if (typeIsLoginChapter != 1) {
    // xử lý logic login
    if (typePayStory != 0 || typePayChapter != 0) {
    if (!getCookie(‘token’)) {
    elementGroupSeeMore.html(btnDangNhapHtml)
    } else {
    window.callSeeMoreContentChapter(1);
    }
    }
    } else {
    if (!getCookie(‘token’)) {
    elementGroupSeeMore.html(btnDangNhapHtml)
    } else {
    if (typePayStory == 0 && typePayChapter == 0) {
    elementGroupSeeMore.html(btnXemThemHtml)
    } else {
    // truyện mất tiền, check trả phí
    window.callSeeMoreContentChapter(1);
    }
    }
    }
    });

    $(function() {
    var historyChapterReading = JSON.parse(localStorage.getItem(‘historyChapterReading’)) ?? [];
    if (historyChapterReading.length > 10) {
    historyChapterReading = [];
    return localStorage.setItem(‘historyChapterReading’, JSON.stringify(historyChapterReading))
    }
    if (historyChapterReading.length >= 0) {
    let tim = historyChapterReading.findIndex((item) => item.story_id == “112”);
    if (tim === -1) {
    if (historyChapterReading.length === 10) {
    historyChapterReading.pop()
    }
    historyChapterReading.push({
    story_id: “112”,
    story_name: “Trọng Sinh Xong Kết Hôn Cùng Kẻ Thù”,
    story_link: “/truyen/” + “trong-sinh-xong-ket-hon-cung-ke-thu”,
    chapter_number: “14”,
    chapter_link: “/truyen/trong-sinh-xong-ket-hon-cung-ke-thu/” +
    “chuong-14”,
    time: Date.now(),
    })
    } else {
    historyChapterReading[tim] = {
    story_id: “112”,
    story_name: “Trọng Sinh Xong Kết Hôn Cùng Kẻ Thù”,
    story_link: “/truyen/” + “trong-sinh-xong-ket-hon-cung-ke-thu”,
    chapter_number: “14”,
    chapter_link: “/truyen/trong-sinh-xong-ket-hon-cung-ke-thu/” +
    “chuong-14”,
    time: Date.now(),
    }
    }
    historyChapterReading = historyChapterReading.sort(function(a, b) {
    return b.time – a.time;
    });
    return localStorage.setItem(‘historyChapterReading’, JSON.stringify(historyChapterReading))
    }
    });

    {
    “@context”: “https://schema.org/”,
    “@type”: “BreadcrumbList”,
    “itemListElement”: [{
    “@type”: “ListItem”,
    “position”: 1,
    “name”: “Đọc Truyện”,
    “item”: “https://etruyen.net”
    },{
    “@type”: “ListItem”,
    “position”: 2,
    “name”: “Trọng Sinh Xong Kết Hôn Cùng Kẻ Thù”,
    “item”: “https://etruyen.net/truyen/trong-sinh-xong-ket-hon-cung-ke-thu”
    },{
    “@type”: “ListItem”,
    “position”: 3,
    “name”: “Chương 14: Thanh kiếm giấu kín đâm vào tim, thật tĩnh lặng, lại thật lạnh lẽo.”,
    “item”: “https://etruyen.net/truyen/trong-sinh-xong-ket-hon-cung-ke-thu/chuong-13”
    }]
    }

    Loading…

    /* googleoff: all */
    if(localStorage.getItem(“access_login”)){
    setCookie(“token”, localStorage.getItem(“access_login”), 30);
    localStorage.removeItem(“access_login”);
    }

    var access_login = getCookie(“token”);

    $(window).on(‘load’, function () {
    checkAccessLogin()
    });
    InstantClick.on(‘change’, function () {
    checkAccessLogin();
    if (window.FB) {
    window.FB.XFBML.parse()
    }
    });

    function checkAccessLogin() {
    const urlAllow = [“profile”, “gio-hang”];
    const urlLogin = [“dang-nhap”, “dang-ky”];
    if (!location.href.includes(`profile`)) {
    clearInterval(window.TruyenFull.initIntervalTransaction);
    }
    if (!access_login) {
    urlAllow.map((item) => {
    if (location.href.includes(`${item}`)) {
    location.href = “/dang-nhap”
    }
    })
    } else {
    urlLogin.map((item) => {
    if (location.href.includes(`${item}`)) {
    location.href = “/profile”
    }
    })
    }

    // if (window.location.href != “https://etruyen.net/”) {
    // clearInterval(window.TruyenFull.initIntervalSelectStoriesHot)
    // } else {
    // clearInterval(window.TruyenFull.initIntervalSelectStoriesHot);
    // window.TruyenFull.initIntervalSelectStoriesHot = setInterval(window.initIntervalSelectStoriesHot, 60000);
    // }
    }

    $(function () {
    if (access_login) {
    $(“.hasLogin”).removeClass(“d-none”);
    $(‘.shopping-cart’).removeClass(“d-none”);

    var profile = window.TruyenFull.profile || {};
    if (profile) {
    if (profile.name) {
    $(“.user-name-top”).text(profile.name);
    }else{
    $(“.user-name-top”).text(“Tài khoản”);
    }
    if (profile.avatar) {
    var avatarUrl = profile.avatar;
    if (!avatarUrl.startsWith(‘http’)) {
    avatarUrl = window.TruyenFull.cdnUrl + ‘/’ + avatarUrl;
    }
    $(“.user-avatar-top”).attr(“src”, avatarUrl).removeClass(“d-none”);
    }
    }else{
    $(“.user-name-top”).text(“Tài khoản”);
    }

    $(document).on(“click”, “.logout”, function () {
    removeCookie(“token”);
    localStorage.removeItem(“access_login”);
    localStorage.removeItem(“profile”);
    localStorage.removeItem(“bookmark”);
    localStorage.removeItem(“purchasedStory”);
    localStorage.removeItem(“purchasedChapters”);
    $.ajax({
    type: “get”,
    url: “https://etruyen.net/dang-xuat?user_id=” + window?.TruyenFull?.profile?.id,
    dataType: “json”,
    success: function (response) {
    location.reload()
    }
    });
    });
    $(“.checkout-to-dich-gia”).attr(‘href’, “https://etruyen.net/dang-truyen/dashboard?token=”)
    } else {
    $(“.yetLogin”).removeClass(“d-none”);

    let params = new URLSearchParams(location.search);
    let back_to = params.get(“back”);
    if (back_to) {
    $(“.checkout-to-dich-gia”).attr(‘href’, “/dang-nhap?back=” + back_to)
    } else {
    $(“.checkout-to-dich-gia”).attr(‘href’, “/dang-nhap?back=” + location.href)
    }
    }
    });
    /* googleon: all */

    /* googleoff: all */
    if (window.TruyenFull.profile?.id) {
    let updateTimeActiveCustomer = ()=>{
    myAjax(“post”, “https://etruyen.net/api/ping”, {
    playerId: window.TruyenFull.plugins.one_signal.one_signal_user_id,
    check_as: (window.jwtInfo?.vip_to {
    location.href = “/dang-nhap”;
    })
    }else{
    location.reload();
    }
    // location.href = “/”
    }else if(res?.meta?.token){
    setCookie(“token”, res?.meta?.token, 30);
    location.reload();
    }
    }, function (err) {
    // console.log(“err”,err)
    })
    }
    updateTimeActiveCustomer();
    setInterval(updateTimeActiveCustomer, 60000);

    if (window.EventSource) {
    const sseUrl = “/api/auth/sse-session”;
    const sseSource = new EventSource(sseUrl);

    sseSource.onmessage = function(event) {
    try {
    const data = JSON.parse(event.data);
    if (data.status === ‘session_expired’) {
    sseSource.close();
    if (window.Swal) {
    removeCookie(“token”);
    localStorage.removeItem(“profile”);
    localStorage.removeItem(“bookmark”);
    localStorage.removeItem(“purchasedStory”);
    localStorage.removeItem(“purchasedChapters”);
    Swal.fire({
    title: ‘Thông báo!’,
    text: data.message || ‘Tài khoản của bạn đã được đăng nhập trên một thiết bị khác.’,
    icon: ‘warning’,
    confirmButtonText: ‘Đồng ý’,
    allowOutsideClick: false,
    allowEscapeKey: false,
    timer: 3000
    }).then(() => {
    location.href = “/dang-nhap”;
    })
    } else {
    removeCookie(“token”);
    localStorage.removeItem(“profile”);
    localStorage.removeItem(“bookmark”);
    localStorage.removeItem(“purchasedStory”);
    localStorage.removeItem(“purchasedChapters”);
    alert(data.message || ‘Tài khoản của bạn đã được đăng nhập trên một thiết bị khác.’);
    location.href = “/dang-nhap”;
    }
    }
    } catch (e) {
    console.error(“SSE parse error”, e);
    }
    };

    sseSource.onerror = function(err) {
    console.error(“SSE Session Error”, err);
    };
    }
    }
    /* googleon: all */

    Tùy chỉnh hiển thị

    18px
    1.8