| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- var express = require('express');
- var router = express.Router();
- const utils = require('../../libs/utils');
- const config = require('../../config/app');
- const translate = require('../../config/translate');
- // deeplink share 专属页路由
- router.get('/:id', function (req, res, next) {
- (async function () {
- let id = req.params.id;
- utils.validators.validateId(id);
- let lang = utils.lang.ensureLanguage(req.query.lang);
- let host = config.cdnHost ?? config.resHost;
- let imageUrl = `${host}/thumbs/coloring-page/work/480/${id}.webp`;
- let applink = `https://art.pcoloring.com${req.originalUrl}`;
- let downlink = `https://pcoloring.com/anc/`;
- const userAgent = req.headers['user-agent'];
- console.log('User-Agent:', userAgent);
- if (userAgent) {
- const ua = userAgent.toLowerCase();
- if (ua.includes('iphone') || ua.includes('ipad') || ua.includes('ipod')) {
- downlink = 'itms-apps://itunes.apple.com/app/id1575480118';
- } else if (ua.includes('android')) {
- downlink = 'https://play.google.com/store/apps/details?id=com.pcoloring.art.puzzle.color.by.number';
- }
- }
- let data = {
- id,
- imageUrl,
- applink,
- downlink,
- lang,
- translate,
- }
- // 渲染EJS模板到内存中
- res.render('v2/share', data, async (err, html) => {
- if (err) {
- // 如果渲染出错,调用next()传递错误
- return next(err);
- }
- res.send(html);
- });
- })().catch(next);
- });
- module.exports = router;
|