加强了多个组件的预览百分比处理。

在 API 中新增了章节专属的预览百分比,并更新了相关模型和处理器。
改进了阅读场景下确定有效预览百分比的逻辑。
更新了小程序配置,加入了新的阅读页面入口。
This commit is contained in:
Alex-larget
2026-03-25 17:21:55 +08:00
parent d8362bc7a9
commit ae7402fafa
9 changed files with 233 additions and 82 deletions

View File

@@ -136,3 +136,13 @@
{"level":"debug","timestamp":"2026-03-22T07:50:38+08:00","caller":"kernel/baseClient.go:459","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 252\r\nCache-Control: no-cache, must-revalidate\r\nConnection: keep-alive\r\nContent-Language: zh-CN\r\nContent-Type: application/json; charset=utf-8\r\nDate: Sat, 21 Mar 2026 23:50:38 GMT\r\nKeep-Alive: timeout=8\r\nRequest-Id: 08CEDDFCCD0610AD0118D681ECAE0120CEAF33288A71-0\r\nServer: nginx\r\nWechatpay-Nonce: e895de036317f70f8a5ef1490b5884ee\r\nWechatpay-Serial: 5F2543BF58239A4EB68FA4433DF1438A88B34B16\r\nWechatpay-Signature: X1OSk9wn/q6XdK6FjA5v1YeLnyzenGPiSs4pMMRgFrNWJInZBG4vmUkq6O06sb7BYJSsTW92d2IE3BLxEC4pvUKKcwmtwB/2viZT6tD7Pb17rsJSCvnDFjp9Y/TGo96wSHO6DOWtDB0xrMJdDTlV0eTWj/HbdFS7SK6aPNn6XEVJ0C7vMfVrVHKyPzPzDpIqr/VSLeDAcVwHm4vF902+5eadg1aHRxUhfgb3SFWhO/isdo52xvEhdzBAdQErz+6ys0D1YKGEOZSG+qQLG4dfG8bCJHeN3SOWbzioWVSVVDyZZdKE4yP7myFefRZbuxlNtQLPkOlBWpL2d0nmXpunxg==\r\nWechatpay-Signature-Type: WECHATPAY2-SHA256-RSA2048\r\nWechatpay-Timestamp: 1774137038\r\nX-Content-Type-Options: nosniff\r\n\r\n{\"amount\":{\"payer_currency\":\"CNY\",\"total\":198000},\"appid\":\"wxb8bbb2b10dec74aa\",\"mchid\":\"1318592501\",\"out_trade_no\":\"MP20260322071744757265\",\"promotion_detail\":[],\"scene_info\":{\"device_id\":\"\"},\"trade_state\":\"NOTPAY\",\"trade_state_desc\":\"订单未支付\"}"}
{"level":"debug","timestamp":"2026-03-22T07:50:38+08:00","caller":"kernel/baseClient.go:457","content":"GET https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/MP20260322071754905280?mchid=1318592501 request header: { Content-Type:application/jsonAuthorization:WECHATPAY2-SHA256-RSA2048 mchid=\"1318592501\",nonce_str=\"JbRwjKfwQUYuQnb5ETPS70hKiLxrv7X8\",timestamp=\"1774137038\",serial_no=\"4A1DB62CD5C9BE0B6FC51C30621D6F99686E75C5\",signature=\"TGLUEBAA4Wz5DEkvYeSFtVhAP1Mq0UiJF/g2wHNU985N++AEoASPmeSr2Q9k9XohoqUBVywm1TgL2hWWP4Nl6Okwi2Y8wm8sJTKeXZdf19MkFqiGk6IuCROV4pv0FBxEAJsqFE46tEwJVYh5mFTId6f4K9ois1IMDE0LtLdJGnZkHSLtILmkQ/8OvyWI1JMOCyJUWwAAoS7kpw9rkOYAZBUHOHZdfT3Za0upxGOGWIXwhHpciFg4biboKTaa0Ez7imOvRzkMopsPWvrjp+HwABMyNv654TvVfivrWT9T8prSUp26Ts8yycyzaR6SxxP8FeuqAJzWMUBm4FVe/i2FhA==\"Accept:*/*} request body:"}
{"level":"debug","timestamp":"2026-03-22T07:50:38+08:00","caller":"kernel/baseClient.go:459","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 252\r\nCache-Control: no-cache, must-revalidate\r\nConnection: keep-alive\r\nContent-Language: zh-CN\r\nContent-Type: application/json; charset=utf-8\r\nDate: Sat, 21 Mar 2026 23:50:38 GMT\r\nKeep-Alive: timeout=8\r\nRequest-Id: 08CEDDFCCD0610F40418C681ECAE0120F4D60E28C1AD03-0\r\nServer: nginx\r\nWechatpay-Nonce: 1b75baf8b8fc4289a9f71eec8fb6657a\r\nWechatpay-Serial: 5F2543BF58239A4EB68FA4433DF1438A88B34B16\r\nWechatpay-Signature: bmr7I8PgmS6OrdYsik56QOvqPnLMD8RMFQb7YpN2ocUsdQhwpYhtWsZWmU1SRoKuQy50vLIgZz5LNWqxOoP9wRChiOKOrTHWpUNtG8ClDLb8EyfM9JH9iP7vF0pcIOu9iWOzdHCo7rYUSTcO0Q75uqaRLdnlmgniaanOqULPvpVQFvgVIfemiGO9ZPljrlxbebwkRo1MBBPxG0ktTqgRpaw6K1/iw/EceuGfXVp2X75t7KC+3SY4HVMMUyTn5LsVZvBPmsCF1z+l72vd8PtSnwIB9GjXsaMnDjaZ3tjx/FrKv1AdKYM6TRYImGtbqdsgBqGOc83tkBOmweh86rfHFw==\r\nWechatpay-Signature-Type: WECHATPAY2-SHA256-RSA2048\r\nWechatpay-Timestamp: 1774137038\r\nX-Content-Type-Options: nosniff\r\n\r\n{\"amount\":{\"payer_currency\":\"CNY\",\"total\":198000},\"appid\":\"wxb8bbb2b10dec74aa\",\"mchid\":\"1318592501\",\"out_trade_no\":\"MP20260322071754905280\",\"promotion_detail\":[],\"scene_info\":{\"device_id\":\"\"},\"trade_state\":\"NOTPAY\",\"trade_state_desc\":\"订单未支付\"}"}
{"level":"debug","timestamp":"2026-03-25T16:30:01+08:00","caller":"kernel/accessToken.go:381","content":"GET https://api.weixin.qq.com/cgi-bin/token?appid=wxb8bbb2b10dec74aa&grant_type=client_credential&neededText=&secret=3c1fb1f63e6e052222bbcead9d07fe0c request header: { Accept:*/*} "}
{"level":"debug","timestamp":"2026-03-25T16:30:01+08:00","caller":"kernel/accessToken.go:383","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 174\r\nConnection: keep-alive\r\nContent-Type: application/json; encoding=utf-8\r\nDate: Wed, 25 Mar 2026 08:30:02 GMT\r\n\r\n{\"access_token\":\"102_1nVe9nouwUQVRneYKgpBAthfO7lK8j0pU5MWSww9YXeSYQZJhdAuT9rFG0RVjeUFOW4WM3NkgKn7IgR0MutKQQGkTayM1LKAa4RSY7eHCSF2FmaSNPZRgNd1Lz0LWMaAGAALB\",\"expires_in\":7200}"}
{"level":"debug","timestamp":"2026-03-25T16:30:01+08:00","caller":"kernel/baseClient.go:457","content":"GET https://api.weixin.qq.com/sns/jscode2session?access_token=102_1nVe9nouwUQVRneYKgpBAthfO7lK8j0pU5MWSww9YXeSYQZJhdAuT9rFG0RVjeUFOW4WM3NkgKn7IgR0MutKQQGkTayM1LKAa4RSY7eHCSF2FmaSNPZRgNd1Lz0LWMaAGAALB&appid=wxb8bbb2b10dec74aa&grant_type=authorization_code&js_code=0f3cMtFa1bTPpL0w9wHa1IoZul2cMtF6&secret=3c1fb1f63e6e052222bbcead9d07fe0c request header: { Accept:*/*} "}
{"level":"debug","timestamp":"2026-03-25T16:30:01+08:00","caller":"kernel/baseClient.go:459","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 82\r\nConnection: keep-alive\r\nContent-Type: text/plain\r\nDate: Wed, 25 Mar 2026 08:30:02 GMT\r\n\r\n{\"session_key\":\"FdEpG3ungTOgwwMCuHAHlw==\",\"openid\":\"ogpTW5fmXRGNpoUbXB3UEqnVe5Tg\"}"}
{"level":"debug","timestamp":"2026-03-25T16:30:02+08:00","caller":"kernel/baseClient.go:457","content":"POST https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi request header: { Content-Type:application/jsonAuthorization:WECHATPAY2-SHA256-RSA2048 mchid=\"1318592501\",nonce_str=\"PQPUqlvtqZBJa7f4OEm2rJigUWQBsMFH\",timestamp=\"1774427402\",serial_no=\"4A1DB62CD5C9BE0B6FC51C30621D6F99686E75C5\",signature=\"AqC8kRxYySQmpJBMFtsVH8bwRdpCoajalW7v4vBbmhkFoZT7w+Bk+aXv6AEN9rNMM+qVmxezzZiC8EnIGMDpIij5aweAvBW5uVAhMiRon7YzC/WiWeTUq3LAiJTuVx33GGsNmuKHaQeNe2nlA0q0Wra6ICXPQnyBPBW0ZDxFzSYhFZTukqAupeU7YHjtFaWtytlbogCyQ8E6FHgML/F0qKgQnpqe3T0TALYpeVJig2MlVnN8Y+l+OpTZ3wlyVHGGZSDNyaifdHoiQtd0k2aanjqV2uC3yRxAdd2o3PF+fUKU48wgnHwpKYyu7rEJzFaARkYGoJ2+niGV6dl2h2ZNHQ==\"Accept:*/*} request body:"}
{"level":"debug","timestamp":"2026-03-25T16:30:02+08:00","caller":"kernel/baseClient.go:459","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 52\r\nCache-Control: no-cache, must-revalidate\r\nConnection: keep-alive\r\nContent-Language: zh-CN\r\nContent-Type: application/json; charset=utf-8\r\nDate: Wed, 25 Mar 2026 08:30:03 GMT\r\nKeep-Alive: timeout=8\r\nRequest-Id: 088BBA8ECE0610EC0218DAD28C5820AEE20728A3D802-0\r\nServer: nginx\r\nWechatpay-Nonce: ce934611f13cac0d6d90aa0d3bb0781d\r\nWechatpay-Serial: 5F2543BF58239A4EB68FA4433DF1438A88B34B16\r\nWechatpay-Signature: w/tqQQPfl4fd1mOKZh1NOuYa5Qg2e1Pn5mMxttHdfRHebaBGdZNkIK/qOoVGEuJj7rMbZtESR6V+HuuBWY0pVFkMjzC+y5s55SEKGGWjC2y31fCMCYUdOT3gATuLaWKiiUDNnko9mSOy9T65wOIWwlI6WsXQTrJ/yDElAquzzp3Ba5QnlA1wveC5346omiorCViWd9vW4SKQylWpqk3jb7JA5CHzlX0U+i2Ug3gY/t+ZJgtyQbumHoFgtPo4dZo6nSzjvgfxc8gRtdvcTktPlCcTe/TQuEvEAn2H6gSXL8U/3rggkiT7vm9dcBL80V7gBKZZl1OUUoe8LdWoI3qAGw==\r\nWechatpay-Signature-Type: WECHATPAY2-SHA256-RSA2048\r\nWechatpay-Timestamp: 1774427403\r\nX-Content-Type-Options: nosniff\r\n\r\n{\"prepay_id\":\"wx25163003573437b216d90c6158f23e0001\"}"}
{"level":"debug","timestamp":"2026-03-25T16:33:45+08:00","caller":"kernel/baseClient.go:457","content":"GET https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/MP20260325163002440000?mchid=1318592501 request header: { Content-Type:application/jsonAuthorization:WECHATPAY2-SHA256-RSA2048 mchid=\"1318592501\",nonce_str=\"ajWu7GhGuFo0buylmPOJSLtfgnCe9XGe\",timestamp=\"1774427625\",serial_no=\"4A1DB62CD5C9BE0B6FC51C30621D6F99686E75C5\",signature=\"Ql6/s2BujcCIWPE910c8Hzxp+KHSKvMFFVUxW5IAHeAGS9XJDfouSAH0Gwbvi5fQaQ+vZiLxD6Z2Rd6TQpqzT3iaugmu81tpCyhqIFX2wajXCOw6RhDXRa07slXLS9uO1ZtGsnwEeC+ok4QQeP8rzPlCZi8E3ehcB/agu070M86PuZ2GpL2Rl8qtLCYW2dlxEJEQSgKWVQsE/MdcwaAdsxqND1Ul83vpr9H1ixvm9WyzqJN33xeAegl85ydOh6WF5RBfcBFcNReaIzO6+pSXP1/+fc3IhNLKmwliGWFI5Dr+KgL5aN7OpblJU/27XvDVry598sCqkYkhN2iROV3EUA==\"Accept:*/*} request body:"}
{"level":"debug","timestamp":"2026-03-25T16:33:45+08:00","caller":"kernel/baseClient.go:459","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 250\r\nCache-Control: no-cache, must-revalidate\r\nConnection: keep-alive\r\nContent-Language: zh-CN\r\nContent-Type: application/json; charset=utf-8\r\nDate: Wed, 25 Mar 2026 08:33:46 GMT\r\nKeep-Alive: timeout=8\r\nRequest-Id: 08EABB8ECE06109F04189082F8AF0120D8D90328CF49-0\r\nServer: nginx\r\nWechatpay-Nonce: b8048d342513c2da6196bba1b71a40ee\r\nWechatpay-Serial: 5F2543BF58239A4EB68FA4433DF1438A88B34B16\r\nWechatpay-Signature: QJ5LpLXHxdHU7s9+ui0+yNZwe3hiYYlia0Phc8t4wHjbA5fxu5HuC6EB7KsfswfL67B+yORhspup6wI23H3IuUK6BP9JZ24zUIs2eoo5ONNmrQIO9vppAA3Q8je/zPKjIlmIkVibiXo4k/OL3Ub1aSRaR4gglKKjpMXZH943y374Z1fY4zyOPwGrg3fMHVtHLHvsJf/7QOfRE1VGlqqEkgvAdE/+hYA0xGFPjauXFTUqmTUnwL9vLMiv9V1HETbhsTfkphZ7dtJTIe087frV8lP/C2mQU4UALc3J2EqNpOE4scMByijkT9dayev5SsaC+DVxkg4NtSHUA2sb9nkMwQ==\r\nWechatpay-Signature-Type: WECHATPAY2-SHA256-RSA2048\r\nWechatpay-Timestamp: 1774427626\r\nX-Content-Type-Options: nosniff\r\n\r\n{\"amount\":{\"payer_currency\":\"CNY\",\"total\":3000},\"appid\":\"wxb8bbb2b10dec74aa\",\"mchid\":\"1318592501\",\"out_trade_no\":\"MP20260325163002440000\",\"promotion_detail\":[],\"scene_info\":{\"device_id\":\"\"},\"trade_state\":\"NOTPAY\",\"trade_state_desc\":\"订单未支付\"}"}
{"level":"debug","timestamp":"2026-03-25T16:38:46+08:00","caller":"kernel/baseClient.go:457","content":"GET https://api.mch.weixin.qq.com/v3/pay/transactions/out-trade-no/MP20260325163002440000?mchid=1318592501 request header: { Content-Type:application/jsonAuthorization:WECHATPAY2-SHA256-RSA2048 mchid=\"1318592501\",nonce_str=\"hkXSXB4Qzr7zDbF1hxMm726B7x8CxPR2\",timestamp=\"1774427925\",serial_no=\"4A1DB62CD5C9BE0B6FC51C30621D6F99686E75C5\",signature=\"LxjtaHJLKqRGnoNqcpkjeGBHaCUs9RUXRp/EQcP4nhDep65UoYVOpFDEWEKMiQtUKL0hPB33NSU9hQeH6WjMvquCbsszExcnIX8INNuXcA3HfKWKqZaZug3GCICCjF8Qz7brY/raeaTT4W5rkgA9Js7G3llTgGVLmHntOdegVIXtDIEjq5a134MmwhjImi5acXp6gfET88Zes+RPIhiuk13Vj+FQH1k4LlqfVh5O68RVB7zEwx1CPbhrwCNiOVNVVYhLIE+kvMIgUmLmod30qfjjW3BW0KKoD53GpdYIvuh1E/iXqeDzB9i0JN1NgGblmxTgtRr4nQnVEZUmyFoKWA==\"Accept:*/*} request body:"}
{"level":"debug","timestamp":"2026-03-25T16:38:46+08:00","caller":"kernel/baseClient.go:459","content":"------------------response content:HTTP/1.1 200 OK\r\nContent-Length: 250\r\nCache-Control: no-cache, must-revalidate\r\nConnection: keep-alive\r\nContent-Language: zh-CN\r\nContent-Type: application/json; charset=utf-8\r\nDate: Wed, 25 Mar 2026 08:38:46 GMT\r\nKeep-Alive: timeout=8\r\nRequest-Id: 0896BE8ECE0610B90418CBC0C05520E0CF1928F0F302-0\r\nServer: nginx\r\nWechatpay-Nonce: b8dc2cedcb145dc63bb4fd1d7944e28a\r\nWechatpay-Serial: 5F2543BF58239A4EB68FA4433DF1438A88B34B16\r\nWechatpay-Signature: IHfBE6FO4cZZk+X1oulmGu+PauZ5BK4Ai7x9TviyzKrZpGGgcV6RE5z1BdI4AGJGiBv0RiecWCdJ1jUSwXAi9QPVgag8qepWaQCD+SYvHyRbU8bQJhRXYfhWOdwpI2qgUx2/mIcTX/kpE+DJVyz/2CpMKnIPy1J1W//37zv0vuUwZJ+OdVZRcOIL6UiuUB34KKWcUtF6g9GahSDsAKziSSu6Qe9Os9Ja/3dc9Xpxc7VbH/Qj1ovvjciiq/KWuh/+eJjoRBaiXC9mIm9AxckxxYSumYmR2jAWXomolrOiTaAAJ7Jc/wYiNa0AXwyonN/RyhggsPwBeqeOW6ShQlCahQ==\r\nWechatpay-Signature-Type: WECHATPAY2-SHA256-RSA2048\r\nWechatpay-Timestamp: 1774427926\r\nX-Content-Type-Options: nosniff\r\n\r\n{\"amount\":{\"payer_currency\":\"CNY\",\"total\":3000},\"appid\":\"wxb8bbb2b10dec74aa\",\"mchid\":\"1318592501\",\"out_trade_no\":\"MP20260325163002440000\",\"promotion_detail\":[],\"scene_info\":{\"device_id\":\"\"},\"trade_state\":\"NOTPAY\",\"trade_state_desc\":\"订单未支付\"}"}