从 xghmall(云闪付版湘工游)迁移民票模块,改造为微信公众号 H5: - 技术栈沿用 uni-app + Vue2 + uView(含定制版日历组件) - 登录/支付独立成层(common/auth.js、common/pay.js): 一期假登录(测试手机号)+ 模拟支付,后端微信接口就绪后只换这两处 - 登录页重写:短信验证码 + 公众号网页授权(code 换用户信息)预留 - 门票列表页为入口页(进页必须登录),加订单悬浮按钮 - 支付成功页接通:查看订单/继续逛逛 + 订单状态轮询 - 详情页定位导航改用 uni.openLocation + 高德网页兜底 - 出行人页:身份证 18 位格式校验,删除死的删除按钮,修正证件类型回显笔误 - 清理云闪付 SDK、支付宝授权、死页面引用等残留 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
81 lines
2.5 KiB
JavaScript
81 lines
2.5 KiB
JavaScript
/* 配置文件 */
|
||
var cfg = {
|
||
// 出错占位图
|
||
errorImg: null,
|
||
// 过滤器函数
|
||
filter: null,
|
||
// 代码高亮函数
|
||
highlight: null,
|
||
// 文本处理函数
|
||
onText: null,
|
||
// 实体编码列表
|
||
entities: {
|
||
quot: '"',
|
||
apos: "'",
|
||
semi: ';',
|
||
nbsp: '\xA0',
|
||
ensp: '\u2002',
|
||
emsp: '\u2003',
|
||
ndash: '–',
|
||
mdash: '—',
|
||
middot: '·',
|
||
lsquo: '‘',
|
||
rsquo: '’',
|
||
ldquo: '“',
|
||
rdquo: '”',
|
||
bull: '•',
|
||
hellip: '…'
|
||
},
|
||
blankChar: makeMap(' ,\xA0,\t,\r,\n,\f'),
|
||
boolAttrs: makeMap('allowfullscreen,autoplay,autostart,controls,ignore,loop,muted'),
|
||
// 块级标签,将被转为 div
|
||
blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),
|
||
// 将被移除的标签
|
||
ignoreTags: makeMap('area,base,canvas,frame,iframe,input,link,map,meta,param,script,source,style,svg,textarea,title,track,wbr'),
|
||
// 只能被 rich-text 显示的标签
|
||
richOnlyTags: makeMap('a,colgroup,fieldset,legend'),
|
||
// 自闭合的标签
|
||
selfClosingTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),
|
||
// 信任的标签
|
||
trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),
|
||
// 默认的标签样式
|
||
userAgentStyles: {
|
||
address: 'font-style:italic',
|
||
big: 'display:inline;font-size:1.2em',
|
||
blockquote: 'background-color:#f6f6f6;border-left:3px solid #dbdbdb;color:#6c6c6c;padding:5px 0 5px 10px',
|
||
caption: 'display:table-caption;text-align:center',
|
||
center: 'text-align:center',
|
||
cite: 'font-style:italic',
|
||
dd: 'margin-left:40px',
|
||
mark: 'background-color:yellow',
|
||
pre: 'font-family:monospace;white-space:pre;overflow:scroll',
|
||
s: 'text-decoration:line-through',
|
||
small: 'display:inline;font-size:0.8em',
|
||
u: 'text-decoration:underline'
|
||
}
|
||
}
|
||
|
||
function makeMap(str) {
|
||
var map = Object.create(null),
|
||
list = str.split(',');
|
||
for (var i = list.length; i--;)
|
||
map[list[i]] = true;
|
||
return map;
|
||
}
|
||
|
||
// #ifdef MP-WEIXIN
|
||
if (wx.canIUse('editor')) {
|
||
cfg.blockTags.pre = void 0;
|
||
cfg.ignoreTags.rp = true;
|
||
Object.assign(cfg.richOnlyTags, makeMap('bdi,bdo,caption,rt,ruby'));
|
||
Object.assign(cfg.trustTags, makeMap('bdi,bdo,caption,pre,rt,ruby'));
|
||
}
|
||
// #endif
|
||
|
||
// #ifdef APP-PLUS
|
||
cfg.ignoreTags.iframe = void 0;
|
||
Object.assign(cfg.trustTags, makeMap('embed,iframe'));
|
||
// #endif
|
||
|
||
module.exports = cfg;
|