Ltre Oreki 2 年之前
父节点
当前提交
c12b3aca58

+ 1 - 0
交接草稿(编辑中).txt

@@ -32,6 +32,7 @@
 		一键复制并粘贴页游中游戏区服的接口密钥等配置信息,
 		以减轻运营人员的手动粘贴负担。
 	6、按厂商方式接入页游平台(ThirdInfAdapter)
+	7、尝试拉回用户所有角色数据的方法:详见前台actionSyncRolesByUid代码
 	
 鞋:
 	0、杂项

+ 0 - 0
服务器配置/内网开发机(137).md → 其它/开发测试机/内网开发机(137).md


+ 0 - 0
服务器配置/外网测试机(226).md → 其它/开发测试机/外网测试机(226).md


+ 19 - 0
其它/通用评论4.md

@@ -0,0 +1,19 @@
+# **0**
+
+> 源码 svn://svn.webdev.ouj.com/biz/comments4/
+
+> HOST:  
+>> 120.24.73.25 comment-admin.ouj.com
+>> 47.107.140.226 comment-admin.ouj.com
+
+这个没什么好说的,这是为了临时满足坦克盒子评论区的需求,快速开发的简易系统。
+
+其提供了基本的评论列表、回复评论接口、BAN人功能。评论层级简单,只有两层。
+
+特别注意,后台登录的身份,是与发布器(cms.ouj.com)打通的。
+
+打通登录的逻辑在两处:
+
+- 发布器后台:cms.ouj.com/default/LoginTo3rd?appId=comments4
+    > 需要在biz_config.php中,配置好"loginTo3rd"处的评论系统地址和密钥
+- 评论后台:comment-admin.ouj.com/default/loginCallbackByCms

+ 35 - 0
发布器(2019新版)/0、杂项

@@ -0,0 +1,35 @@
+# **盒子广告**
+
+> 管理页:http://cms.ouj.com/i?url=/tools/box-ad-json-201912/code/add_by_simple.php&channel=yxdt
+
+
+盒子广告范例
+
+- 周二 右下小 http://news.ouj.com/yxdt/m/1576333189862.html?channel=yxdt   (页游)
+
+- 周三 右下小 http://news.ouj.com/yxdt/m/1576333189862.html?channel=yxdt   (页游)
+
+- 周四 居中大 http://news.ouj.com/yxdt/m/1583225235474.html?channel=yxdt   (Hi运动商城推广)
+
+- 周* 居中大 http://news.ouj.com/yxdt/m/1636361117917.html?channel=yxdt   (坦克盒子活动)
+
+- 周五 右下小 http://news.ouj.com/yxdt/m/1576333189862.html?channel=yxdt   (页游)
+
+- 周日 居中大 http://news.ouj.com/yxdt/m/1576333920880.html?channel=yxdt   (页游)
+
+
+
+美术需求下单参考的经典范例
+
+- 居中大:615*450
+    > - 示例图:http://news.ouj.com/test/s/default/2020/10/14/093929-569-hexd1.png
+    > - 模板地址例如:news.ouj.com/yxdt/m/1576333920880.html
+    > - 模板位置例如:游戏大厅 专区,搜索模板ID = 1576333920880
+
+- 右下小:300*250
+    > - 示例图:http://news.ouj.com/test/s/default/2020/10/14/093916-556-hex247.png
+    > - 模板地址例如:http://news.ouj.com/yxdt/m/1576333189862.html
+    > - 模板位置例如:游戏大厅 专区,搜索模板ID = 1576333189862
+
+最终作用到:盒子广告数据接口(注意CDN刷新)
+http://tool.ouj.com/postman/content/latest_config.json

+ 117 - 0
发布器(2019新版)/1、服务器配置

@@ -0,0 +1,117 @@
+# **环境需求**
+
+- php 5.5~7.2 (不要用PHP8!会影响smarty 2.5)
+- ffmpeg 任意版本 (用于富文本HTML中的gif转换静音mp4)
+- 其它常规lnmp+redis环境配置
+- 补充资料:
+    - <svn://svn.webdev.ouj.com/biz/cms/doc/生产环境/环境部署-201911.txt>
+    - <svn://svn.webdev.ouj.com/biz/cms/doc/生产环境/nginx-20221111-news.ouj.com-backup.conf>
+    - <svn://svn.webdev.ouj.com/biz/cms/doc/生产环境/nginx-20221111-wot.ouj.com-backup.conf>
+
+# **静态模板及资源目录**
+
+> `/data/cms_data` @ 120.77.43.65 (后台机)
+
+> 该目录是原始目录。
+> 
+> 对于另外两台前端机(47.106.73.57和47.106.163.152)的`/data/cms_data`目录,都是通过`sersync`,由后台机向前端机,执行单向同步。
+
+### 文件分布概要
+
+> - 文章存放:/data/cms_data/article/{专区ID}/{年周}/{文章ID}[_可选页码].html
+> - 标签页存放:/data/cms_data/tag/{专区ID}/{标签ID}.html
+> - 模板最终页存放:/data/cms_data/tpl/{专区ID}/{模板ID}.html
+> - 模板最终页(自定义路径)存放:/data/cms_data/tpl/{专区ID}/diy/{自定义路径}
+> - 文件存放:/data/cms_data/s/{文件路径}
+> - 图片存放:/data/cms_data/s/{图片路径} #这个不一定考虑
+
+
+### 目录树状结构
+- article  //文章最终页
+    - wot 
+        - 2252 //年周,date('yW')
+            - 1641008667882.html
+            - 1641106990833.html
+            - 文章ID.html ……
+        - 1928
+        - ……
+    - yxdt
+    - ceshi
+    - test
+    - 其他专区的channel值 ……
+- s //自定义文件路径上传
+    - wot
+        - external //外部抓取的富文本资源,会放到此目录
+            > 详见 后台 `api/TestMigrateByContent` 页面 和 `/api/MigrateByContent` 接口,核心代码 `ResourceMigrateLog::migrateByContent()`
+
+    - yxdt
+    - 其他专区的channel值 ……
+- tag //标签页模板
+    - wot 
+        - 188.html
+        - 189.html
+        - 标签ID.html ...
+    - yxdt
+- tpl //普通页模板
+    - wot 
+        - 192821021540.html
+        - 1587008388815.html
+        - 模板ID.html ...
+        - diy //自定义URI的模板目录,可随意设定目录层级
+            - a/b/c/12345.html
+            - wwoott/sbbb/hehe.html
+            - ...
+
+    - yxdt
+    - 其他专区的channel值 ……
+
+- 其他专区的channel值 ……
+
+---
+
+<br>
+
+
+
+# **web目录与资源目录软链接配置**
+> /data/cms_data @ 47.106.73.57|47.106.163.152
+
+> 只有这两台前端机做软链,后台的不用
+
+### web目录软链
+
+> 位于 /data/webapps/news.ouj.com
+
+- article -> /data/cms_data/article
+- s -> /data/cms_data/s
+- tag -> /data/cms_data/tag
+- tpl -> /data/cms_data/tpl
+
+
+
+
+
+# **定时任务**
+
+> 机器:120.77.43.65
+
+任务列表(由pm2管理,详见pm2 list和pm2 info 任务ID)
+
+- 定期刷新标签页
+    /usr/local/php/bin/php /data/webapps/cms.ouj.com/cli.php cron/RefreshTagPage >> /tmp/CmsRefreshTagPage.log # 要以www-data身份执行,由PM2管理
+
+- 刷新文章页
+
+    /usr/local/php/bin/php /data/webapps/cms.ouj.com/cli.php cron/RefreshArticlePage >> /tmp/RefreshArticlePage.log # 要以www-data身份执行,由PM2管理
+
+- 页游首页广告推广位点击队列(消费)
+
+     /usr/local/php/bin/php /data/webapps/pgame-admin.ouj.com/cli.php bin/adPosClickConsume # 要以www-data身份执行,由PM2管理
+
+- 同步游戏角色
+
+     /usr/local/php/bin/php /data/webapps/pgame-admin.ouj.com/cli.php bin/syncRoleRelate # 要以www-data身份执行,由PM2管理
+
+- 消费【为及时同步角色数据,专用的游戏登录队列】
+
+    /usr/local/php/bin/php /data/webapps/pgame-admin.ouj.com/cli.php bin/login4RolesQueueConsume # 要以www-data身份执行,由PM2管理

+ 77 - 0
发布器(2019新版)/2、发布器模板

@@ -0,0 +1,77 @@
+# **模板分类**
+> 分类思路与老多玩发布器的基本一致,只是更精简些。
+
+- 普通模板
+
+    > 不含变量的HTML模板,可以直接当最终页使用
+
+- 标签模板
+
+    > 在普通模板的基础上,加入了根据标签遍历文章列表的foreach语法,可能带有列表分页代码,并在页面中加入了跟标签有关的内容。
+
+    > 此类模板,不能直接作为最终页使用,应配合具体的标签ID,才可输出具体的最终页。
+
+- 文章模板
+
+    > 在普通模板的基础上,加入了单篇文章的多个字段数据渲染。
+
+    > 此类模板,不能直接作为最终页使用,应配合具体的文章ID,才可输出具体的最终页。
+
+
+---
+
+<br>
+
+
+# **模板语法**
+
+> 废除了velocity,采用了smarty2.5,并延用了老多玩发布器的部分括号语法。
+
+### 括号语法
+
+- 包含
+
+    > - {[模板=xxx]}
+    > - {[模板=xxx;专区=yyy]}
+    > - {[模板ID=ddddddddddd]}  
+    >   > 新增模板时,将自动把`{[模板]}`换成`{[模板ID]}`格式,保存到数据库,编辑器展示时,恢复为`{[模板]}`格式。
+    >   >
+    >   >(核心代码: Tpl::replaceIncludeGramToHuman()。这点和老多玩发布器不太一样。即便子模板改名,也不影响母模板)
+
+- 分页
+
+    > {[分页数=25]}
+    >
+    > 用法跟老多玩发布器的一样
+
+### 文章及标签模板常用语法
+
+> 详见 <svn://svn.webdev.ouj.com/biz/cms/doc/标签语法.txt>
+
+
+---
+
+<br>
+
+
+# **模板生成**
+
+> 代码位于后台 /tpl/edit 的POST处理分支
+
+### 过程
+
+- 检查模板名、路径格式、专区等基本信息
+- 检查模板语法错误
+- 检查潜在的模板递归嵌套
+    > 代码:Tpl::recurseTpl()
+- 生成模板
+    > 代码:Tpl::genStatic()
+- 提供立即预览支持
+    > 代码:/tpl/preview
+- 保存模板并生成链接
+    > 代码:Tpl::decideFullSavepathAndLink()
+
+---
+
+<br>
+

+ 72 - 0
页游/0、疑难杂项.md

@@ -0,0 +1,72 @@
+# **账号迁移方法**
+
+1、自助迁移:通过 [偶游用户中心](http://account.ouj.com/bind.html) ,由用户自己决定换绑账号。
+
+2、人工协助(针对旧登录方式无法使用的情况):
+
+> 1. 后台登录 [页游管理->用户维护->[通过角色昵称查找](http://admin.ouj.com/#!nodeId=80036)]
+> 2. 输入游戏角色的昵称查询,分析JSON结果,找到合适正确的角色数据块,
+        其中的user_data.uid是其平台UID,
+        user_data.yyuid是其UDBProxy账号系统的YYUID,
+        这样就拿到了其旧登录方式的两个关键信息。
+> 3. 请玩家用新的且长期稳定使用的QQ/微信登录 [偶游用户中心](http://account.ouj.com/bind.html),
+        成功登录后,再点击页面顶部的【[页游信息](https://pgame.ouj.com/user/myinfopage)】,
+        将页面中看到的用户明细数据/角色数据等,通过截屏的方式,发给工作人员。
+> 4. 步骤3中,可以看到玩家用新账号登录后得到的 YYUID/UDB/平台用户ID 等数据,
+        交给技术人员更换 [YYUID <-> 页游平台ID] 绑定关系。
+        至此结束。
+
+缺陷:由于厂商系统只以页游平台UID为身份判别依据,故不能对单个角色迁移,要迁就迁移整个页游账号(平台UID)。
+
+--- 
+
+<br>
+
+# **手动拉取用户的所有区服角色**
+
+> 后台操作:http://admin.ouj.com/#!nodeId=80196
+> 代码:位于前台 cron/SyncRolesByUid
+
+界面给的功能,属于快速拉取。
+
+怀疑用户因游戏合并服找不到角色数据时,就需采用技术手段。
+
+> 登录页游前台服务器,执行 sudo /usr/local/php/bin/php cli.php -ccron -asyncrolesbyuid --get="slow=1&uid=这里待填写页游UID" --host='pgame.ouj.com'。
+
+> 可以看到,命令行方式,多了个slow参数,当设置1时,会以极慢的速度全区服无差别扫描。
+
+---
+
+<br>
+
+# **区服配置复用功能**
+
+> 源码:svn://svn.webdev.ouj.com/biz/page_game/doc/后台DIY系统插入代码备忘/登录配置-剪贴板/copy-paste-loginsetup.html
+
+在页游管理-游戏维护-[登录配置](http://admin.ouj.com/#!nodeId=9036),点击“修改”,会在弹出浮层的右下角,展示复制和粘贴的大按钮,如下图所示:
+
+> ![复制粘贴配置](http://static.ouj.com/oujcms_yxdt/20221116/6fa27907fe02a23d81ae885c87420b3a_size711x473_37158.png)
+
+
+---
+<br>
+
+
+
+# **政府实名接入(202105)**
+
+
+> 代码:svn://svn.webdev.ouj.com/biz/page_game/trunk/api/protected/extensions/GovFcm.php
+
+> 相关文档:svn://svn.webdev.ouj.com/biz/page_game/doc/政府防沉迷接入
+
+> 核心逻辑:GovFcm::checkIdcard()
+
+> 政府接入管理平台账号:svn://svn.webdev.ouj.com/biz/page_game/doc/政府防沉迷接入/政府系统管理账号
+>> 请找之神加入管理员身份,并注意每半年定期更换密钥
+
+- 登录拦截
+    > 代码:GovFcm::loginFilter()
+
+- 支付拦截
+    > 代码:GovFcm::payFilter()