>[info] 承接shop的嵌入代码工作,不说最后一步,虽说只有一个文件,但是也是比较关键的一步,牵涉到统筹全站的IM开关,请仔细操作!
### 视图层
>[success] 目录文件:shop_admin>shop_admin>views>default>ConfigCtl>imApiCtl.php
###### line:44
整个表单域,对的,你没有看错,就是替换 整个表单域,别问我 为什么这么粗暴吗?因为任性~.~
<!--整个Form用来配置IM 参数的 参考页面操作-->
<form method="post" id="im-shop_api-setting-form" name="imSettingForm">
<input type="hidden" name="config_type[]" value="im_api"/>
<div class="ncap-form-default">
<dl class="row">
<dt class="tit">IM状态</dt>
<dd class="opt">
<div class="onoff">
<input id="im_statu1" name="im_api[im_statu]" value="1" type="radio" <?= (@Yf_Registry::get('im_statu') == 1 ? 'checked':'') ?>> <label <?php if ($im_s != 1){ ?>onclick="return false;"<?php } ?> title="开启" class="cb-enable <?= (@(Yf_Registry::get('im_statu') == 1 && $im_s == 1) ? 'selected':'') ?> " for="im_statu1" id="im_statu01">开启</label> <input id="im_statu0" name="im_api[im_statu]" value="0" type="radio"
<?= (@(Yf_Registry::get('im_statu') == 0 || $im_s != 1) ? 'checked':'') ?>> <label <?php if ($im_s != 1){ ?>onclick="return false;"<?php } ?> title="关闭" class="cb-disable <?= (@(Yf_Registry::get('im_statu') == 0 || $im_s != 1) ? 'selected':'') ?>" for="im_statu0" id="im_statu00">关闭</label>
</div>
<p class="notic"></p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="site_name">IM URL</label>
</dt>
<dd class="opt">
<input <?php if ($im_s != 1){ ?>disabled<?php } ?> id="im_url" name="im_api[im_url]" value="<?= @Yf_Registry::get('im_url') ?>" class="w400 ui-input " type="text"/>
<!-- <p class="notic">IM又称大用户中心,是我们开发的用于整合多个子系统用户的独立用户中心系统,实现用户的单点登录和登出,用户的统一化管理。</p>-->
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="site_name">IM App Token</label>
</dt>
<dd class="opt">
<input <?php if ($im_s != 1){ ?>disabled<?php } ?> id="im_api_url" name="im_api[im_api_url]" value="<?= Yf_Registry::get('im_api_url') ?>" class="w400 ui-input " type="text"/>
<!-- <p class="notic">IM又称大用户中心,是我们开发的用于整合多个子系统用户的独立用户中心系统,实现用户的单点登录和登出,用户的统一化管理。</p>-->
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="site_name">IM App Key</label>
</dt>
<dd class="opt">
<input <?php if ($im_s != 1){ ?>disabled<?php } ?> id="im_api_key" name="im_api[im_api_key]" value="<?= Yf_Registry::get('im_api_key') ?>" class="ui-input w400" type="text"/>
<p class="notic">请填写商城系统与IM通讯的Key值,此外的值要与IM后台应用的值保持一致</p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="site_name">IM Secret</label>
</dt>
<dd class="opt">
<input <?php if ($im_s != 1){ ?>disabled<?php } ?> id="im_admin_api_url" name="im_api[im_admin_api_url]" value="<?= Yf_Registry::get('im_admin_api_url') ?>" class="w400 ui-input " type="text"/>
<p class="notic"></p>
</dd>
</dl>
<dl class="row">
<dt class="tit">
<label for="site_name">SNS URL</label>
</dt>
<dd class="opt">
<input <?php if ($im_s != 1){ ?>disabled<?php } ?> id="sns_api_url" name="im_api[sns_api_url]" value="<?= Yf_Registry::get('sns_api_url') ?>" class="w400 ui-input " type="text"/>
<p class="notic"></p>
</dd>
</dl>
<div class="bot">
<a href="javascript:void(0);" <?php if ($im_s != 1){ ?>disabled style="background-color: #96a6a6;border-color: #808b8d;color: #fff;"<?php } ?> class="ui-btn ui-btn-sp im-submit-btn">确认提交</a>
</div>
</div>
</form>
请根据项目需求,决定是否保留 SNS 设置项的代码:
<dl class="row">
<dt class="tit">
<label for="site_name">SNS URL</label>
</dt>
<dd class="opt">
<input <?php if ($im_s != 1){ ?>disabled<?php } ?> id="sns_api_url" name="im_api[sns_api_url]" value="<?= Yf_Registry::get('sns_api_url') ?>" class="w400 ui-input " type="text"/>
<p class="notic"></p>
</dd>
</dl>
然后,你就 可以将 你在 准备工作 阶段 获取的 参数信息数据填写到 表单里,并可以成功提交保存!
IM状态尚未开启,则需要配置 `shop_admin/configs/im_api_ini.php` 或者其生成的类似文件,具体配置可参考 IM配置 的这一小节
如果上述操作还不能让你看到 预期的结果,请直接替换整个文件,记得备份~.~
我在很多地方都提醒你记得备份文件,同样的道理,你也可以备份整个项目...
理论上:嵌入IM的相关代码是不会影响到你项目的业务逻辑功能,除非你本人不慎把 原有的文件...delete了~
这个锅,IM表示不背~
所以,请注意备份文件,甚至项目,谢谢~请继续往下看,你还有WAP端呐~